X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=ldk-java;a=blobdiff_plain;f=ts%2Fstructs%2FHolderCommitmentTransaction.mts;h=1ed85e21ad215f957c19611bdb1eaf1936a5bb5e;hp=78d9258c4ccd75dce03cc2fe203ba9f88747fb46;hb=c629a01650402c8e2f9b9db8ced9ed63ce687727;hpb=d1d0121c000b713c10fd0bedd249eb8dda2e4db7 diff --git a/ts/structs/HolderCommitmentTransaction.mts b/ts/structs/HolderCommitmentTransaction.mts index 78d9258c..1ed85e21 100644 --- a/ts/structs/HolderCommitmentTransaction.mts +++ b/ts/structs/HolderCommitmentTransaction.mts @@ -281,22 +281,36 @@ import CommonBase from './CommonBase.mjs'; import * as bindings from '../bindings.mjs' +/** + * Information needed to build and sign a holder's commitment transaction. + * + * The transaction is only signed once we are ready to broadcast. + */ export class HolderCommitmentTransaction extends CommonBase { /* @internal */ public constructor(_dummy: object, ptr: number) { super(ptr, bindings.HolderCommitmentTransaction_free); } + /** + * Our counterparty's signature for the transaction + */ public get_counterparty_sig(): Uint8Array { const ret: number = bindings.HolderCommitmentTransaction_get_counterparty_sig(this.ptr); const ret_conv: Uint8Array = bindings.decodeUint8Array(ret); return ret_conv; } + /** + * Our counterparty's signature for the transaction + */ public set_counterparty_sig(val: Uint8Array): void { bindings.HolderCommitmentTransaction_set_counterparty_sig(this.ptr, bindings.encodeUint8Array(bindings.check_arr_len(val, 64))); } + /** + * All non-dust counterparty HTLC signatures, in the order they appear in the transaction + */ public set_counterparty_htlc_sigs(val: Uint8Array[]): void { bindings.HolderCommitmentTransaction_set_counterparty_htlc_sigs(this.ptr, bindings.encodeUint32Array(val != null ? val.map(val_conv_12 => bindings.encodeUint8Array(bindings.check_arr_len(val_conv_12, 64))) : null)); } @@ -306,6 +320,9 @@ export class HolderCommitmentTransaction extends CommonBase { return ret; } + /** + * Creates a copy of the HolderCommitmentTransaction + */ public clone(): HolderCommitmentTransaction { const ret: number = bindings.HolderCommitmentTransaction_clone(this.ptr); const ret_hu_conv: HolderCommitmentTransaction = new HolderCommitmentTransaction(null, ret); @@ -313,18 +330,28 @@ export class HolderCommitmentTransaction extends CommonBase { return ret_hu_conv; } + /** + * Serialize the HolderCommitmentTransaction object into a byte array which can be read by HolderCommitmentTransaction_read + */ public write(): Uint8Array { const ret: number = bindings.HolderCommitmentTransaction_write(this.ptr); const ret_conv: Uint8Array = bindings.decodeUint8Array(ret); return ret_conv; } + /** + * Read a HolderCommitmentTransaction from a byte array, created by HolderCommitmentTransaction_write + */ public static constructor_read(ser: Uint8Array): Result_HolderCommitmentTransactionDecodeErrorZ { const ret: number = bindings.HolderCommitmentTransaction_read(bindings.encodeUint8Array(ser)); const ret_hu_conv: Result_HolderCommitmentTransactionDecodeErrorZ = Result_HolderCommitmentTransactionDecodeErrorZ.constr_from_ptr(ret); return ret_hu_conv; } + /** + * Create a new holder transaction with the given counterparty signatures. + * The funding keys are used to figure out which signature should go first when building the transaction for broadcast. + */ public static constructor_new(commitment_tx: CommitmentTransaction, counterparty_sig: Uint8Array, counterparty_htlc_sigs: Uint8Array[], holder_funding_key: Uint8Array, counterparty_funding_key: Uint8Array): HolderCommitmentTransaction { const ret: number = bindings.HolderCommitmentTransaction_new(commitment_tx == null ? 0 : CommonBase.get_ptr_of(commitment_tx) & ~1, bindings.encodeUint8Array(bindings.check_arr_len(counterparty_sig, 64)), bindings.encodeUint32Array(counterparty_htlc_sigs != null ? counterparty_htlc_sigs.map(counterparty_htlc_sigs_conv_12 => bindings.encodeUint8Array(bindings.check_arr_len(counterparty_htlc_sigs_conv_12, 64))) : null), bindings.encodeUint8Array(bindings.check_arr_len(holder_funding_key, 33)), bindings.encodeUint8Array(bindings.check_arr_len(counterparty_funding_key, 33))); const ret_hu_conv: HolderCommitmentTransaction = new HolderCommitmentTransaction(null, ret);