Skip to content

Documentation / @cashconnect-js/core / templates/types

ActionName ​

ts
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 ​

ts
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 ParameterDefault type
T extends TemplateTemplate
A extends ActionName<T>""

ActionReturns ​

ts
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 ParameterDefault type
T extends TemplateTemplate
A extends ActionName<T>""

ActionPayload ​

ts
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 ​

ts
params: ActionParams<T, A>;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:63

returns ​

ts
returns: ActionReturns<T, A>;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:64


TextSegment ​

ts
type TextSegment = 
  | string
  | {
  value: Uint8Array;
  format: {
     type: string;
     params: (string | Uint8Array)[];
  };
};

Defined in: cashconnect-js/packages/core/src/templates/types.ts:76


TemplateSegment ​

ts
type TemplateSegment = 
  | string
  | {
  value: Uint8Array;
  type: string;
  params: (string | Uint8Array)[];
};

Defined in: cashconnect-js/packages/core/src/templates/types.ts:86


ActionResult ​

ts
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 ​

ts
transactions: TransactionBch[];

Defined in: cashconnect-js/packages/core/src/templates/types.ts:96

data ​

ts
data: ActionReturns<T, A>;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:97

balanceChanges ​

ts
balanceChanges: SpendableUTXOsBalance;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:98

meta? ​

ts
optional meta: object;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:99

NameTypeDefined in
titleTemplateSegment[]cashconnect-js/packages/core/src/templates/types.ts:100
descriptionTemplateSegment[]cashconnect-js/packages/core/src/templates/types.ts:101

instructions ​

ts
instructions: object[];

Defined in: cashconnect-js/packages/core/src/templates/types.ts:103

NameTypeDefined in
bytecodeobjectcashconnect-js/packages/core/src/templates/types.ts:104
transactionsTransactionBch[]cashconnect-js/packages/core/src/templates/types.ts:105
sourceOutputsSourceOutputscashconnect-js/packages/core/src/templates/types.ts:106

SpendableUTXO ​

ts
type SpendableUTXO = object;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:116

Properties ​

outpointIndex ​

ts
outpointIndex: number;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:117

outpointTransactionHash ​

ts
outpointTransactionHash: Uint8Array;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:118

sequenceNumber ​

ts
sequenceNumber: number;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:119

unlockingBytecode ​

ts
unlockingBytecode: TemplateDirective;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:120

sourceOutput ​

ts
sourceOutput: object;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:121

NameTypeDefined in
lockingBytecodeUint8Array | TemplateDirectivecashconnect-js/packages/core/src/templates/types.ts:122
valueSatoshisbigintcashconnect-js/packages/core/src/templates/types.ts:123
token?Output["token"]cashconnect-js/packages/core/src/templates/types.ts:124

SpendableUTXOsBalance ​

ts
type SpendableUTXOsBalance = object;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:128

Index Signature ​

ts
[satsOrCategoryId: string]: bigint

ChangeTemplateDirective ​

ts
type ChangeTemplateDirective = object;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:130

Properties ​

lock ​

ts
lock: TemplateDirective;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:131

unlock ​

ts
unlock: TemplateDirective;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:132

fee ​

ts
fee: bigint;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:133


SourceOutputs ​

ts
type SourceOutputs = Map<string, Output>;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:136


TemplateContext ​

ts
type TemplateContext = object;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:138

Properties ​

getSourceOutput() ​

ts
getSourceOutput: (outpointTransactionHash, outpointIndex) => Promisable<Output>;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:140

Parameters ​
ParameterType
outpointTransactionHashUint8Array
outpointIndexnumber
Returns ​

Promisable<Output>

instantiationData? ​

ts
optional instantiationData: CompilationData;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:145

getSpendableUTXOs()? ​

ts
optional getSpendableUTXOs: () => Promisable<SpendableUTXO[]>;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:147

Returns ​

Promisable<SpendableUTXO[]>

getChangeTemplateDirective()? ​

ts
optional getChangeTemplateDirective: () => Promisable<ChangeTemplateDirective>;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:148

Returns ​

Promisable<ChangeTemplateDirective>


TemplateInstructionState ​

ts
type TemplateInstructionState = object;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:154

Properties ​

bytecode ​

ts
bytecode: object;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:155

Index Signature ​
ts
[name: string]: Uint8Array<ArrayBufferLike>

keys? ​

ts
optional keys: CompilationData["keys"];

Defined in: cashconnect-js/packages/core/src/templates/types.ts:156

hdKeys? ​

ts
optional hdKeys: CompilationData["hdKeys"];

Defined in: cashconnect-js/packages/core/src/templates/types.ts:157

transactions ​

ts
transactions: TransactionBch[];

Defined in: cashconnect-js/packages/core/src/templates/types.ts:158

sourceOutputs ​

ts
sourceOutputs: SourceOutputs;

Defined in: cashconnect-js/packages/core/src/templates/types.ts:159

spendableUTXOs ​

ts
spendableUTXOs: SpendableUTXO[];

Defined in: cashconnect-js/packages/core/src/templates/types.ts:160


TemplateInstructionHandler() ​

ts
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 ​

ParameterType
instructionT
compilerCompiler
stateTemplateInstructionState
context?TemplateContext

Returns ​

Promise<TemplateInstructionState>


TemplateDirective ​

Defined in: cashconnect-js/packages/core/src/templates/types.ts:110

Properties ​

PropertyTypeDefined in
compilerCompilerBchcashconnect-js/packages/core/src/templates/types.ts:111
dataCompilationData<never>cashconnect-js/packages/core/src/templates/types.ts:112
scriptstringcashconnect-js/packages/core/src/templates/types.ts:113