Documentation / @cashconnect-js/core / templates/types
ActionName
type ActionName<T> = keyof T["actions"] & string;Defined in: cashconnect-js/packages/core/src/templates/types.ts:13
Type Parameters
| Type Parameter |
|---|
T extends Template |
ActionParams
type ActionParams<T, A> = Prettify<{ [K in keyof T["actions"][A]["params"] as T["actions"][A]["params"][K] extends { required: false } ? never : K]: ProcessVariable<T["actions"][A]["params"][K]> } & { [K in keyof T["actions"][A]["params"] as T["actions"][A]["params"][K] extends { required: false } ? K : never]?: ProcessVariable<T["actions"][A]["params"][K]> }>;Defined in: cashconnect-js/packages/core/src/templates/types.ts:23
Type Parameters
| Type Parameter | Default type |
|---|---|
T extends Template | Template |
A extends ActionName<T> | "" |
ActionReturns
type ActionReturns<T, A> = Prettify<{ [K in keyof T["actions"][A]["returns"] as T["actions"][A]["returns"][K] extends { required: false } ? never : K]: ProcessVariable<T["actions"][A]["returns"][K]> } & { [K in keyof T["actions"][A]["returns"] as T["actions"][A]["returns"][K] extends { required: false } ? K : never]?: ProcessVariable<T["actions"][A]["returns"][K]> }>;Defined in: cashconnect-js/packages/core/src/templates/types.ts:43
Type Parameters
| Type Parameter | Default type |
|---|---|
T extends Template | Template |
A extends ActionName<T> | "" |
ActionPayload
type ActionPayload<T, A> = object;Defined in: cashconnect-js/packages/core/src/templates/types.ts:62
Type Parameters
| Type Parameter |
|---|
T extends Template |
A extends ActionName<T> |
Properties
params
params: ActionParams<T, A>;Defined in: cashconnect-js/packages/core/src/templates/types.ts:63
returns
returns: ActionReturns<T, A>;Defined in: cashconnect-js/packages/core/src/templates/types.ts:64
TextSegment
type TextSegment =
| string
| {
value: Uint8Array;
format: {
type: string;
params: (string | Uint8Array)[];
};
};Defined in: cashconnect-js/packages/core/src/templates/types.ts:76
TemplateSegment
type TemplateSegment =
| string
| {
value: Uint8Array;
type: string;
params: (string | Uint8Array)[];
};Defined in: cashconnect-js/packages/core/src/templates/types.ts:86
ActionResult
type ActionResult<T, A> = object;Defined in: cashconnect-js/packages/core/src/templates/types.ts:95
Type Parameters
| Type Parameter |
|---|
T extends Template |
A extends ActionName<T> |
Properties
transactions
transactions: TransactionBch[];Defined in: cashconnect-js/packages/core/src/templates/types.ts:96
data
data: ActionReturns<T, A>;Defined in: cashconnect-js/packages/core/src/templates/types.ts:97
balanceChanges
balanceChanges: SpendableUTXOsBalance;Defined in: cashconnect-js/packages/core/src/templates/types.ts:98
meta?
optional meta: object;Defined in: cashconnect-js/packages/core/src/templates/types.ts:99
| Name | Type | Defined in |
|---|---|---|
title | TemplateSegment[] | cashconnect-js/packages/core/src/templates/types.ts:100 |
description | TemplateSegment[] | cashconnect-js/packages/core/src/templates/types.ts:101 |
instructions
instructions: object[];Defined in: cashconnect-js/packages/core/src/templates/types.ts:103
| Name | Type | Defined in |
|---|---|---|
bytecode | object | cashconnect-js/packages/core/src/templates/types.ts:104 |
transactions | TransactionBch[] | cashconnect-js/packages/core/src/templates/types.ts:105 |
sourceOutputs | SourceOutputs | cashconnect-js/packages/core/src/templates/types.ts:106 |
SpendableUTXO
type SpendableUTXO = object;Defined in: cashconnect-js/packages/core/src/templates/types.ts:116
Properties
outpointIndex
outpointIndex: number;Defined in: cashconnect-js/packages/core/src/templates/types.ts:117
outpointTransactionHash
outpointTransactionHash: Uint8Array;Defined in: cashconnect-js/packages/core/src/templates/types.ts:118
sequenceNumber
sequenceNumber: number;Defined in: cashconnect-js/packages/core/src/templates/types.ts:119
unlockingBytecode
unlockingBytecode: TemplateDirective;Defined in: cashconnect-js/packages/core/src/templates/types.ts:120
sourceOutput
sourceOutput: object;Defined in: cashconnect-js/packages/core/src/templates/types.ts:121
| Name | Type | Defined in |
|---|---|---|
lockingBytecode | Uint8Array | TemplateDirective | cashconnect-js/packages/core/src/templates/types.ts:122 |
valueSatoshis | bigint | cashconnect-js/packages/core/src/templates/types.ts:123 |
token? | Output["token"] | cashconnect-js/packages/core/src/templates/types.ts:124 |
SpendableUTXOsBalance
type SpendableUTXOsBalance = object;Defined in: cashconnect-js/packages/core/src/templates/types.ts:128
Index Signature
[satsOrCategoryId: string]: bigintChangeTemplateDirective
type ChangeTemplateDirective = object;Defined in: cashconnect-js/packages/core/src/templates/types.ts:130
Properties
lock
lock: TemplateDirective;Defined in: cashconnect-js/packages/core/src/templates/types.ts:131
unlock
unlock: TemplateDirective;Defined in: cashconnect-js/packages/core/src/templates/types.ts:132
fee
fee: bigint;Defined in: cashconnect-js/packages/core/src/templates/types.ts:133
SourceOutputs
type SourceOutputs = Map<string, Output>;Defined in: cashconnect-js/packages/core/src/templates/types.ts:136
TemplateContext
type TemplateContext = object;Defined in: cashconnect-js/packages/core/src/templates/types.ts:138
Properties
getSourceOutput()
getSourceOutput: (outpointTransactionHash, outpointIndex) => Promisable<Output>;Defined in: cashconnect-js/packages/core/src/templates/types.ts:140
Parameters
| Parameter | Type |
|---|---|
outpointTransactionHash | Uint8Array |
outpointIndex | number |
Returns
Promisable<Output>
instantiationData?
optional instantiationData: CompilationData;Defined in: cashconnect-js/packages/core/src/templates/types.ts:145
getSpendableUTXOs()?
optional getSpendableUTXOs: () => Promisable<SpendableUTXO[]>;Defined in: cashconnect-js/packages/core/src/templates/types.ts:147
Returns
getChangeTemplateDirective()?
optional getChangeTemplateDirective: () => Promisable<ChangeTemplateDirective>;Defined in: cashconnect-js/packages/core/src/templates/types.ts:148
Returns
Promisable<ChangeTemplateDirective>
TemplateInstructionState
type TemplateInstructionState = object;Defined in: cashconnect-js/packages/core/src/templates/types.ts:154
Properties
bytecode
bytecode: object;Defined in: cashconnect-js/packages/core/src/templates/types.ts:155
Index Signature
[name: string]: Uint8Array<ArrayBufferLike>keys?
optional keys: CompilationData["keys"];Defined in: cashconnect-js/packages/core/src/templates/types.ts:156
hdKeys?
optional hdKeys: CompilationData["hdKeys"];Defined in: cashconnect-js/packages/core/src/templates/types.ts:157
transactions
transactions: TransactionBch[];Defined in: cashconnect-js/packages/core/src/templates/types.ts:158
sourceOutputs
sourceOutputs: SourceOutputs;Defined in: cashconnect-js/packages/core/src/templates/types.ts:159
spendableUTXOs
spendableUTXOs: SpendableUTXO[];Defined in: cashconnect-js/packages/core/src/templates/types.ts:160
TemplateInstructionHandler()
type TemplateInstructionHandler<T> = (instruction, compiler, state, context?) => Promise<TemplateInstructionState>;Defined in: cashconnect-js/packages/core/src/templates/types.ts:164
Type Parameters
| Type Parameter |
|---|
T extends TemplateInstruction |
Parameters
| Parameter | Type |
|---|---|
instruction | T |
compiler | Compiler |
state | TemplateInstructionState |
context? | TemplateContext |
Returns
Promise<TemplateInstructionState>
TemplateDirective
Defined in: cashconnect-js/packages/core/src/templates/types.ts:110
Properties
| Property | Type | Defined in |
|---|---|---|
compiler | CompilerBch | cashconnect-js/packages/core/src/templates/types.ts:111 |
data | CompilationData<never> | cashconnect-js/packages/core/src/templates/types.ts:112 |
script | string | cashconnect-js/packages/core/src/templates/types.ts:113 |