Documentation / @cashconnect-js/core / templates/transaction-builder
InputUnresolved
type InputUnresolved = object;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:18
Properties
outpointTransactionHash
outpointTransactionHash: Uint8Array;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:19
outpointIndex
outpointIndex: number;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:20
InputResolved
type InputResolved = object;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:23
Properties
outpointTransactionHash
outpointTransactionHash: Uint8Array;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:24
outpointIndex
outpointIndex: number;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:25
sequenceNumber
sequenceNumber: number;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:26
unlockingBytecode
unlockingBytecode:
| Uint8Array
| TemplateDirective
| (compilationContext) => Uint8Array;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:27
sourceOutput
sourceOutput: object;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:31
| Name | Type | Defined in |
|---|---|---|
lockingBytecode | Uint8Array | TemplateDirective | cashconnect-js/packages/core/src/templates/transaction-builder.ts:32 |
valueSatoshis | bigint | cashconnect-js/packages/core/src/templates/transaction-builder.ts:33 |
token? | Output["token"] | cashconnect-js/packages/core/src/templates/transaction-builder.ts:34 |
OutputUnresolved
type OutputUnresolved = object;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:38
Properties
valueSatoshis
valueSatoshis: bigint;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:39
token?
optional token: Output["token"];Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:40
OutputResolved
type OutputResolved = object;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:43
Properties
lockingBytecode
lockingBytecode:
| Uint8Array
| TemplateDirective
| () => Uint8Array;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:44
valueSatoshis
valueSatoshis: bigint;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:45
token?
optional token: Output["token"];Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:46
TransactionTemplate
type TransactionTemplate = object;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:49
Properties
version
version: number;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:50
locktime
locktime: number;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:51
inputs
inputs: (InputResolved | InputUnresolved)[];Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:52
outputs
outputs: (
| OutputResolved
| OutputUnresolved)[];Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:53
TransactionTemplatePopulated
type TransactionTemplatePopulated = object;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:56
Properties
version
version: number;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:57
locktime
locktime: number;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:58
inputs
inputs: InputResolved[];Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:59
outputs
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
new TransactionBuilder(
template,
changeTemplateDirective?,
spendableUTXOs?): TransactionBuilder;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:117
Experimental
Parameters
| Parameter | Type | Default value |
|---|---|---|
template | TransactionTemplate | undefined |
changeTemplateDirective? | ChangeTemplateDirective | undefined |
spendableUTXOs? | SpendableUTXO[] | [] |
Returns
Methods
build()
static build(
txTemplate,
changeTemplateDirective,
spendableUTXOs): TransactionBuilder;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:76
Experimental
Parameters
| Parameter | Type | Default value |
|---|---|---|
txTemplate | Partial<TransactionTemplate> | undefined |
changeTemplateDirective | ChangeTemplateDirective | undefined |
spendableUTXOs | SpendableUTXO[] | [] |
Returns
compileInput()
static compileInput(input, compilationContext): Input & object;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:524
Experimental
Parameters
| Parameter | Type |
|---|---|
input | InputResolved |
compilationContext | CompilationContextBch |
Returns
Input & object
compileOutput()
static compileOutput(output): Output;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:574
Experimental
Parameters
| Parameter | Type |
|---|---|
output | OutputResolved |
Returns
Output
calculateInputSats()
calculateInputSats(): bigint;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:175
Experimental
Returns
bigint
calculateInputTokens()
calculateInputTokens(): Map<string, bigint>;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:182
Experimental
Returns
Map<string, bigint>
calculateOutputSats()
calculateOutputSats(): bigint;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:210
Experimental
Returns
bigint
calculateOutputTokens()
calculateOutputTokens(): Map<string, bigint>;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:217
Experimental
Returns
Map<string, bigint>
calculateFeeSats()
calculateFeeSats(): bigint;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:234
Experimental
Returns
bigint
calculateRequiredSats()
calculateRequiredSats(): bigint;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:238
Experimental
Returns
bigint
addTokensFromUnspents()
addTokensFromUnspents(): TransactionBuilder;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:246
Experimental
Returns
addSatoshisFromUnspents()
addSatoshisFromUnspents(): TransactionBuilder;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:295
Experimental
Returns
addTokenChangeOutputs()
addTokenChangeOutputs(changeTemplate): TransactionBuilder;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:331
Experimental
Parameters
| Parameter | Type |
|---|---|
changeTemplate | ChangeTemplateDirective |
Returns
addSatoshiChangeOutput()
addSatoshiChangeOutput(changeTemplate): TransactionBuilder;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:374
Experimental
Parameters
| Parameter | Type |
|---|---|
changeTemplate | ChangeTemplateDirective |
Returns
generateUnsigned()
generateUnsigned(): TransactionBch;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:412
Experimental
Returns
TransactionBch
generate()
generate(): TransactionBch;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:436
Experimental
Returns
TransactionBch
getHash()
getHash(): Uint8Array;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:468
Experimental
Returns
Uint8Array
getChangeUTXOs()
getChangeUTXOs(): SpendableUTXO[];Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:472
Experimental
Returns
getSourceOutputs()
getSourceOutputs(): Output[];Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:483
Experimental
Returns
Output[]
toBytes()
toBytes(): Uint8Array;Defined in: cashconnect-js/packages/core/src/templates/transaction-builder.ts:492
Experimental
Returns
Uint8Array
Properties
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
template | public | TransactionTemplatePopulated | Experimental | cashconnect-js/packages/core/src/templates/transaction-builder.ts:113 |
remainingUTXOs | public | SpendableUTXO[] | Experimental | cashconnect-js/packages/core/src/templates/transaction-builder.ts:114 |
changeUTXOs | public | SpendableUTXO[] | Experimental | cashconnect-js/packages/core/src/templates/transaction-builder.ts:115 |