Documentation / @cashconnect-js/core / templates/instruction-transaction
InstructionTransactionScript
type InstructionTransactionScript = z.infer<typeof InstructionTransactionScriptSchema>;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:434
InstructionTransactionInput
type InstructionTransactionInput = z.infer<typeof InstructionTransactionInputSchema>;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:438
InstructionTransactionOutput
type InstructionTransactionOutput = z.infer<typeof InstructionTransactionOutputSchema>;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:442
InstructionTransactionPayload
type InstructionTransactionPayload = z.infer<typeof InstructionTransactionPayloadSchema>;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:446
InstructionTransaction
type InstructionTransaction = z.infer<typeof InstructionTransactionSchema>;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:450
InstructionTransactionHandler
Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:28
Constructors
Constructor
new InstructionTransactionHandler(
instruction,
compiler,
state,
context): InstructionTransactionHandler;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:139
Parameters
| Parameter | Type |
|---|---|
instruction | { type: "transaction"; payload: { name: string; version: number; locktime: string | number; inputs: ( | "*" | { outpointTransactionHash: string; outpointIndex: string | number; sequenceNumber: string | number; $if?: string; unlockingBytecode?: | string | { script: string; resolve?: Record<string, string>; }; })[]; outputs: ( | "*" | { valueSatoshis: string | bigint; $if?: string; lockingBytecode?: | string | { script: string; resolve?: Record<string, string>; }; token?: { category: string | Uint8Array<ArrayBuffer>; amount?: string | bigint; nft?: { capability: "none" | "mutable" | "minting"; commitment: string; }; }; })[]; validate: boolean; }; $if?: string; } |
instruction.type | "transaction" |
instruction.payload | { name: string; version: number; locktime: string | number; inputs: ( | "*" | { outpointTransactionHash: string; outpointIndex: string | number; sequenceNumber: string | number; $if?: string; unlockingBytecode?: | string | { script: string; resolve?: Record<string, string>; }; })[]; outputs: ( | "*" | { valueSatoshis: string | bigint; $if?: string; lockingBytecode?: | string | { script: string; resolve?: Record<string, string>; }; token?: { category: string | Uint8Array<ArrayBuffer>; amount?: string | bigint; nft?: { capability: "none" | "mutable" | "minting"; commitment: string; }; }; })[]; validate: boolean; } |
instruction.payload.name | string |
instruction.payload.version | number |
instruction.payload.locktime | string | number |
instruction.payload.inputs | ( | "*" | { outpointTransactionHash: string; outpointIndex: string | number; sequenceNumber: string | number; $if?: string; unlockingBytecode?: | string | { script: string; resolve?: Record<string, string>; }; })[] |
instruction.payload.outputs | ( | "*" | { valueSatoshis: string | bigint; $if?: string; lockingBytecode?: | string | { script: string; resolve?: Record<string, string>; }; token?: { category: string | Uint8Array<ArrayBuffer>; amount?: string | bigint; nft?: { capability: "none" | "mutable" | "minting"; commitment: string; }; }; })[] |
instruction.payload.validate | boolean |
instruction.$if? | string |
compiler | Compiler |
state | TemplateInstructionState |
context | TemplateContext |
Returns
Methods
execute()
static execute(
instruction,
compiler,
state,
context): Promise<TemplateInstructionState>;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:29
Parameters
| Parameter | Type |
|---|---|
instruction | { type: "transaction"; payload: { name: string; version: number; locktime: string | number; inputs: ( | "*" | { outpointTransactionHash: string; outpointIndex: string | number; sequenceNumber: string | number; $if?: string; unlockingBytecode?: | string | { script: string; resolve?: Record<string, string>; }; })[]; outputs: ( | "*" | { valueSatoshis: string | bigint; $if?: string; lockingBytecode?: | string | { script: string; resolve?: Record<string, string>; }; token?: { category: string | Uint8Array<ArrayBuffer>; amount?: string | bigint; nft?: { capability: "none" | "mutable" | "minting"; commitment: string; }; }; })[]; validate: boolean; }; $if?: string; } |
instruction.type | "transaction" |
instruction.payload | { name: string; version: number; locktime: string | number; inputs: ( | "*" | { outpointTransactionHash: string; outpointIndex: string | number; sequenceNumber: string | number; $if?: string; unlockingBytecode?: | string | { script: string; resolve?: Record<string, string>; }; })[]; outputs: ( | "*" | { valueSatoshis: string | bigint; $if?: string; lockingBytecode?: | string | { script: string; resolve?: Record<string, string>; }; token?: { category: string | Uint8Array<ArrayBuffer>; amount?: string | bigint; nft?: { capability: "none" | "mutable" | "minting"; commitment: string; }; }; })[]; validate: boolean; } |
instruction.payload.name | string |
instruction.payload.version | number |
instruction.payload.locktime | string | number |
instruction.payload.inputs | ( | "*" | { outpointTransactionHash: string; outpointIndex: string | number; sequenceNumber: string | number; $if?: string; unlockingBytecode?: | string | { script: string; resolve?: Record<string, string>; }; })[] |
instruction.payload.outputs | ( | "*" | { valueSatoshis: string | bigint; $if?: string; lockingBytecode?: | string | { script: string; resolve?: Record<string, string>; }; token?: { category: string | Uint8Array<ArrayBuffer>; amount?: string | bigint; nft?: { capability: "none" | "mutable" | "minting"; commitment: string; }; }; })[] |
instruction.payload.validate | boolean |
instruction.$if? | string |
compiler | Compiler |
state | TemplateInstructionState |
context | TemplateContext |
Returns
Promise<TemplateInstructionState>
resolveFieldValues()
resolveFieldValues(): Omit<TransactionTemplate, "sourceOutput">;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:146
Returns
Omit<TransactionTemplate, "sourceOutput">
resolveInputValues()
resolveInputValues(input, i): object;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:207
Parameters
| Parameter | Type |
|---|---|
input | { outpointTransactionHash: string; outpointIndex: string | number; sequenceNumber: string | number; $if?: string; unlockingBytecode?: | string | { script: string; resolve?: Record<string, string>; }; } |
input.outpointTransactionHash | string |
input.outpointIndex | string | number |
input.sequenceNumber | string | number |
input.$if? | string |
input.unlockingBytecode? | | string | { script: string; resolve?: Record<string, string>; } |
i | number |
Returns
object
| Name | Type | Defined in |
|---|---|---|
outpointIndex | number | cashconnect-js/packages/core/src/templates/instruction-transaction.ts:233 |
outpointTransactionHash | Uint8Array<ArrayBufferLike> | cashconnect-js/packages/core/src/templates/instruction-transaction.ts:241 |
sequenceNumber | number | cashconnect-js/packages/core/src/templates/instruction-transaction.ts:249 |
unlockingBytecode | | (compilationContext) => Uint8Array<ArrayBufferLike> | undefined | cashconnect-js/packages/core/src/templates/instruction-transaction.ts:257 |
resolveOutputValues()
resolveOutputValues(output, i): object;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:261
Parameters
| Parameter | Type |
|---|---|
output | { valueSatoshis: string | bigint; $if?: string; lockingBytecode?: | string | { script: string; resolve?: Record<string, string>; }; token?: { category: string | Uint8Array<ArrayBuffer>; amount?: string | bigint; nft?: { capability: "none" | "mutable" | "minting"; commitment: string; }; }; } |
output.valueSatoshis | string | bigint |
output.$if? | string |
output.lockingBytecode? | | string | { script: string; resolve?: Record<string, string>; } |
output.token? | { category: string | Uint8Array<ArrayBuffer>; amount?: string | bigint; nft?: { capability: "none" | "mutable" | "minting"; commitment: string; }; } |
output.token.category | string | Uint8Array<ArrayBuffer> |
output.token.amount? | string | bigint |
output.token.nft? | { capability: "none" | "mutable" | "minting"; commitment: string; } |
output.token.nft.capability | "none" | "mutable" | "minting" |
output.token.nft.commitment | string |
i | number |
Returns
object
| Name | Type | Defined in |
|---|---|---|
valueSatoshis | bigint | cashconnect-js/packages/core/src/templates/instruction-transaction.ts:283 |
token | | { category: Uint8Array<ArrayBufferLike>; amount: bigint; nft: | { capability: "none" | "mutable" | "minting"; commitment: Uint8Array<ArrayBufferLike>; } | undefined; } | undefined | cashconnect-js/packages/core/src/templates/instruction-transaction.ts:291 |
lockingBytecode | () => Uint8Array<ArrayBufferLike> | undefined | cashconnect-js/packages/core/src/templates/instruction-transaction.ts:320 |
validateTransaction()
validateTransaction(transaction, sourceOutputs): void;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:324
Parameters
| Parameter | Type |
|---|---|
transaction | TransactionBch |
sourceOutputs | Output[] |
Returns
void
resolveSourceOutputs()
resolveSourceOutputs(transaction, existingSourceOutputs): Promise<TransactionTemplate>;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:346
Parameters
| Parameter | Type |
|---|---|
transaction | Omit<TransactionTemplate, "sourceOutput"> |
existingSourceOutputs | SourceOutputs |
Returns
Promise<TransactionTemplate>
Properties
InstructionTransactionScriptSchema
const InstructionTransactionScriptSchema: ZodUnion<readonly [ZodString, ZodObject<{
script: ZodString;
resolve: ZodOptional<ZodRecord<ZodString, ZodString>>;
}, $strip>]>;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:383
InstructionTransactionInputSchema
const InstructionTransactionInputSchema: ZodObject<{
$if: ZodOptional<ZodString>;
unlockingBytecode: ZodOptional<ZodUnion<readonly [ZodString, ZodObject<{
script: ZodString;
resolve: ZodOptional<ZodRecord<ZodString, ZodString>>;
}, $strip>]>>;
outpointTransactionHash: ZodString;
outpointIndex: ZodUnion<readonly [ZodString, ZodNumber]>;
sequenceNumber: ZodUnion<readonly [ZodString, ZodNumber]>;
}, $strip>;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:391
InstructionTransactionOutputSchema
const InstructionTransactionOutputSchema: ZodObject<{
$if: ZodOptional<ZodString>;
lockingBytecode: ZodOptional<ZodUnion<readonly [ZodString, ZodObject<{
script: ZodString;
resolve: ZodOptional<ZodRecord<ZodString, ZodString>>;
}, $strip>]>>;
valueSatoshis: ZodUnion<readonly [ZodString, ZodBigInt]>;
token: ZodOptional<ZodObject<{
category: ZodUnion<readonly [ZodString, ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>;
amount: ZodOptional<ZodUnion<readonly [ZodString, ZodBigInt]>>;
nft: ZodOptional<ZodObject<{
capability: ZodEnum<{
none: "none";
mutable: "mutable";
minting: "minting";
}>;
commitment: ZodString;
}, $strip>>;
}, $strip>>;
}, $strip>;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:399
InstructionTransactionPayloadSchema
const InstructionTransactionPayloadSchema: ZodObject<{
name: ZodString;
version: ZodNumber;
locktime: ZodUnion<readonly [ZodString, ZodNumber]>;
inputs: ZodArray<ZodUnion<readonly [ZodObject<{
$if: ZodOptional<ZodString>;
unlockingBytecode: ZodOptional<ZodUnion<readonly [ZodString, ZodObject<..., ...>]>>;
outpointTransactionHash: ZodString;
outpointIndex: ZodUnion<readonly [ZodString, ZodNumber]>;
sequenceNumber: ZodUnion<readonly [ZodString, ZodNumber]>;
}, $strip>, ZodLiteral<"*">]>>;
outputs: ZodArray<ZodUnion<readonly [ZodObject<{
$if: ZodOptional<ZodString>;
lockingBytecode: ZodOptional<ZodUnion<readonly [ZodString, ZodObject<..., ...>]>>;
valueSatoshis: ZodUnion<readonly [ZodString, ZodBigInt]>;
token: ZodOptional<ZodObject<{
category: ZodUnion<...>;
amount: ZodOptional<...>;
nft: ZodOptional<...>;
}, $strip>>;
}, $strip>, ZodLiteral<"*">]>>;
validate: ZodDefault<ZodOptional<ZodBoolean>>;
}, $strip>;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:417
InstructionTransactionSchema
const InstructionTransactionSchema: ZodObject<{
type: ZodLiteral<"transaction">;
$if: ZodOptional<ZodString>;
payload: ZodObject<{
name: ZodString;
version: ZodNumber;
locktime: ZodUnion<readonly [ZodString, ZodNumber]>;
inputs: ZodArray<ZodUnion<readonly [ZodObject<{
$if: ZodOptional<ZodString>;
unlockingBytecode: ZodOptional<ZodUnion<...>>;
outpointTransactionHash: ZodString;
outpointIndex: ZodUnion<readonly [..., ...]>;
sequenceNumber: ZodUnion<readonly [..., ...]>;
}, $strip>, ZodLiteral<"*">]>>;
outputs: ZodArray<ZodUnion<readonly [ZodObject<{
$if: ZodOptional<ZodString>;
lockingBytecode: ZodOptional<ZodUnion<...>>;
valueSatoshis: ZodUnion<readonly [..., ...]>;
token: ZodOptional<ZodObject<..., ...>>;
}, $strip>, ZodLiteral<"*">]>>;
validate: ZodDefault<ZodOptional<ZodBoolean>>;
}, $strip>;
}, $strip>;Defined in: cashconnect-js/packages/core/src/templates/instruction-transaction.ts:428