X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=ts%2Fstructs%2FSpendableOutputDescriptor.ts;h=005b9741b6f967c585df9e2ef3c46203ac57381d;hb=3a507eb07003be3e6714e8a87fb397c09b401ce9;hp=3746a1abf22653b40691aed6c89103c9513be795;hpb=acecce750cf1159a51f9d1a4dbfd717520739e92;p=ldk-java diff --git a/ts/structs/SpendableOutputDescriptor.ts b/ts/structs/SpendableOutputDescriptor.ts index 3746a1ab..005b9741 100644 --- a/ts/structs/SpendableOutputDescriptor.ts +++ b/ts/structs/SpendableOutputDescriptor.ts @@ -30,6 +30,7 @@ export class StaticOutput extends SpendableOutputDescriptor { super(null, ptr); const outpoint: number = obj.outpoint; const outpoint_hu_conv: OutPoint = new OutPoint(null, outpoint); + outpoint_hu_conv.ptrs_to.add(this); this.outpoint = outpoint_hu_conv; const output: number = obj.output; TxOut output_conv = new TxOut(null, output); @@ -47,6 +48,7 @@ export class DynamicOutputP2WSH extends SpendableOutputDescriptor { super(null, ptr); const outpoint: number = obj.outpoint; const outpoint_hu_conv: OutPoint = new OutPoint(null, outpoint); + outpoint_hu_conv.ptrs_to.add(this); this.outpoint = outpoint_hu_conv; this.per_commitment_point = obj.per_commitment_point; this.to_self_delay = obj.to_self_delay; @@ -56,7 +58,9 @@ export class DynamicOutputP2WSH extends SpendableOutputDescriptor { const key_derivation_params: number = obj.key_derivation_params; number key_derivation_params_a = bindings.LDKC2Tuple_u64u64Z_get_a(key_derivation_params); number key_derivation_params_b = bindings.LDKC2Tuple_u64u64Z_get_b(key_derivation_params); - TwoTuple key_derivation_params_conv = new TwoTuple(key_derivation_params_a, key_derivation_params_b); + TwoTuple key_derivation_params_conv = new TwoTuple(key_derivation_params_a, key_derivation_params_b, () -> { + bindings.C2Tuple_u64u64Z_free(key_derivation_params); + }); this.key_derivation_params = key_derivation_params_conv; this.revocation_pubkey = obj.revocation_pubkey; } @@ -69,6 +73,7 @@ export class StaticOutputCounterpartyPayment extends SpendableOutputDescriptor { super(null, ptr); const outpoint: number = obj.outpoint; const outpoint_hu_conv: OutPoint = new OutPoint(null, outpoint); + outpoint_hu_conv.ptrs_to.add(this); this.outpoint = outpoint_hu_conv; const output: number = obj.output; TxOut output_conv = new TxOut(null, output); @@ -76,7 +81,9 @@ export class StaticOutputCounterpartyPayment extends SpendableOutputDescriptor { const key_derivation_params: number = obj.key_derivation_params; number key_derivation_params_a = bindings.LDKC2Tuple_u64u64Z_get_a(key_derivation_params); number key_derivation_params_b = bindings.LDKC2Tuple_u64u64Z_get_b(key_derivation_params); - TwoTuple key_derivation_params_conv = new TwoTuple(key_derivation_params_a, key_derivation_params_b); + TwoTuple key_derivation_params_conv = new TwoTuple(key_derivation_params_a, key_derivation_params_b, () -> { + bindings.C2Tuple_u64u64Z_free(key_derivation_params); + }); this.key_derivation_params = key_derivation_params_conv; } }