Skip to content

Documentation / @cashconnect-js/core / templates/transaction-builder

InputUnresolved

ts
type InputUnresolved = object;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:18

Properties

outpointTransactionHash

ts
outpointTransactionHash: Uint8Array;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:19

outpointIndex

ts
outpointIndex: number;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:20


InputResolved

ts
type InputResolved = object;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:23

Properties

outpointTransactionHash

ts
outpointTransactionHash: Uint8Array;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:24

outpointIndex

ts
outpointIndex: number;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:25

sequenceNumber

ts
sequenceNumber: number;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:26

unlockingBytecode

ts
unlockingBytecode: 
  | Uint8Array
  | TemplateDirective
  | (compilationContext) => Uint8Array;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:27

sourceOutput

ts
sourceOutput: object;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:31

NameTypeDefined in
lockingBytecodeUint8Array | TemplateDirectivecashconnect-js/packages/core/src/templates/transaction-builder.ts:32
valueSatoshisbigintcashconnect-js/packages/core/src/templates/transaction-builder.ts:33
token?Output["token"]cashconnect-js/packages/core/src/templates/transaction-builder.ts:34

OutputUnresolved

ts
type OutputUnresolved = object;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:38

Properties

valueSatoshis

ts
valueSatoshis: bigint;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:39

token?

ts
optional token: Output["token"];

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:40


OutputResolved

ts
type OutputResolved = object;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:43

Properties

lockingBytecode

ts
lockingBytecode: 
  | Uint8Array
  | TemplateDirective
  | () => Uint8Array;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:44

valueSatoshis

ts
valueSatoshis: bigint;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:45

token?

ts
optional token: Output["token"];

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:46


TransactionTemplate

ts
type TransactionTemplate = object;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:49

Properties

version

ts
version: number;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:50

locktime

ts
locktime: number;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:51

inputs

ts
inputs: (InputResolved | InputUnresolved)[];

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:52

outputs

ts
outputs: (
  | OutputResolved
  | OutputUnresolved)[];

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:53


TransactionTemplatePopulated

ts
type TransactionTemplatePopulated = object;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:56

Properties

version

ts
version: number;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:57

locktime

ts
locktime: number;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:58

inputs

ts
inputs: InputResolved[];

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:59

outputs

ts
outputs: OutputResolved[];

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:60


TransactionBuilder

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:75

Experimental

Transaction Builder that takes a template and can populate appropriate UTXOs.

Remarks

Note that this will only populate required Satoshis and Mutable Tokens.

It is also remarkably INEFFICIENT - but quite robust/accurate with fee calculations.

Constructors

Constructor

ts
new TransactionBuilder(
   template, 
   changeTemplateDirective?, 
   spendableUTXOs?): TransactionBuilder;

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

Experimental

Parameters
ParameterTypeDefault value
templateTransactionTemplateundefined
changeTemplateDirective?ChangeTemplateDirectiveundefined
spendableUTXOs?SpendableUTXO[][]
Returns

TransactionBuilder

Methods

build()

ts
static build(
   txTemplate, 
   changeTemplateDirective, 
   spendableUTXOs): TransactionBuilder;

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

Experimental

Parameters
ParameterTypeDefault value
txTemplatePartial<TransactionTemplate>undefined
changeTemplateDirectiveChangeTemplateDirectiveundefined
spendableUTXOsSpendableUTXO[][]
Returns

TransactionBuilder

compileInput()

ts
static compileInput(input, compilationContext): Input & object;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:524

Experimental

Parameters
ParameterType
inputInputResolved
compilationContextCompilationContextBch
Returns

Input & object

compileOutput()

ts
static compileOutput(output): Output;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:574

Experimental

Parameters
ParameterType
outputOutputResolved
Returns

Output

calculateInputSats()

ts
calculateInputSats(): bigint;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:175

Experimental

Returns

bigint

calculateInputTokens()

ts
calculateInputTokens(): Map<string, bigint>;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:182

Experimental

Returns

Map<string, bigint>

calculateOutputSats()

ts
calculateOutputSats(): bigint;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:210

Experimental

Returns

bigint

calculateOutputTokens()

ts
calculateOutputTokens(): Map<string, bigint>;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:217

Experimental

Returns

Map<string, bigint>

calculateFeeSats()

ts
calculateFeeSats(): bigint;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:234

Experimental

Returns

bigint

calculateRequiredSats()

ts
calculateRequiredSats(): bigint;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:238

Experimental

Returns

bigint

addTokensFromUnspents()

ts
addTokensFromUnspents(): TransactionBuilder;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:246

Experimental

Returns

TransactionBuilder

addSatoshisFromUnspents()

ts
addSatoshisFromUnspents(): TransactionBuilder;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:295

Experimental

Returns

TransactionBuilder

addTokenChangeOutputs()

ts
addTokenChangeOutputs(changeTemplate): TransactionBuilder;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:331

Experimental

Parameters
ParameterType
changeTemplateChangeTemplateDirective
Returns

TransactionBuilder

addSatoshiChangeOutput()

ts
addSatoshiChangeOutput(changeTemplate): TransactionBuilder;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:374

Experimental

Parameters
ParameterType
changeTemplateChangeTemplateDirective
Returns

TransactionBuilder

generateUnsigned()

ts
generateUnsigned(): TransactionBch;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:412

Experimental

Returns

TransactionBch

generate()

ts
generate(): TransactionBch;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:436

Experimental

Returns

TransactionBch

getHash()

ts
getHash(): Uint8Array;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:468

Experimental

Returns

Uint8Array

getChangeUTXOs()

ts
getChangeUTXOs(): SpendableUTXO[];

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:472

Experimental

Returns

SpendableUTXO[]

getSourceOutputs()

ts
getSourceOutputs(): Output[];

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:483

Experimental

Returns

Output[]

toBytes()

ts
toBytes(): Uint8Array;

Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:492

Experimental

Returns

Uint8Array

Properties

PropertyModifierTypeDescriptionDefined in
templatepublicTransactionTemplatePopulatedExperimentalcashconnect-js/packages/core/src/templates/transaction-builder.ts:113
remainingUTXOspublicSpendableUTXO[]Experimentalcashconnect-js/packages/core/src/templates/transaction-builder.ts:114
changeUTXOspublicSpendableUTXO[]Experimentalcashconnect-js/packages/core/src/templates/transaction-builder.ts:115