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