if (raw_val instanceof bindings.LDKSpendableOutputDescriptor.StaticOutput) {
return new StaticOutput(this.ptr, raw_val);
}
- if (raw_val instanceof bindings.LDKSpendableOutputDescriptor.DynamicOutputP2WSH) {
- return new DynamicOutputP2WSH(this.ptr, raw_val);
+ if (raw_val instanceof bindings.LDKSpendableOutputDescriptor.DelayedPaymentOutput) {
+ return new DelayedPaymentOutput(this.ptr, raw_val);
}
- if (raw_val instanceof bindings.LDKSpendableOutputDescriptor.StaticOutputCounterpartyPayment) {
- return new StaticOutputCounterpartyPayment(this.ptr, raw_val);
+ if (raw_val instanceof bindings.LDKSpendableOutputDescriptor.StaticPaymentOutput) {
+ return new StaticPaymentOutput(this.ptr, raw_val);
}
throw new Error('oops, this should be unreachable'); // Unreachable without extending the (internal) bindings interface
}
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);
this.output = output_conv;
}
}
-export class DynamicOutputP2WSH extends SpendableOutputDescriptor {
- public outpoint: OutPoint;
- public per_commitment_point: Uint8Array;
- public to_self_delay: number;
- public output: TxOut;
- public key_derivation_params: TwoTuple<Number, Number>;
- public revocation_pubkey: Uint8Array;
- private constructor(ptr: number, obj: bindings.LDKSpendableOutputDescriptor.DynamicOutputP2WSH) {
+export class DelayedPaymentOutput extends SpendableOutputDescriptor {
+ public delayed_payment_output: DelayedPaymentOutputDescriptor;
+ private constructor(ptr: number, obj: bindings.LDKSpendableOutputDescriptor.DelayedPaymentOutput) {
super(null, ptr);
- const outpoint: number = obj.outpoint;
- const outpoint_hu_conv: OutPoint = new OutPoint(null, outpoint);
- this.outpoint = outpoint_hu_conv;
- this.per_commitment_point = obj.per_commitment_point;
- this.to_self_delay = obj.to_self_delay;
- const output: number = obj.output;
- TxOut output_conv = new TxOut(null, output);
- this.output = output_conv;
- 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<Number, Number> key_derivation_params_conv = new TwoTuple<Number, Number>(key_derivation_params_a, key_derivation_params_b);
- this.key_derivation_params = key_derivation_params_conv;
- this.revocation_pubkey = obj.revocation_pubkey;
+ const delayed_payment_output: number = obj.delayed_payment_output;
+ const delayed_payment_output_hu_conv: DelayedPaymentOutputDescriptor = new DelayedPaymentOutputDescriptor(null, delayed_payment_output);
+ delayed_payment_output_hu_conv.ptrs_to.add(this);
+ this.delayed_payment_output = delayed_payment_output_hu_conv;
}
}
-export class StaticOutputCounterpartyPayment extends SpendableOutputDescriptor {
- public outpoint: OutPoint;
- public output: TxOut;
- public key_derivation_params: TwoTuple<Number, Number>;
- private constructor(ptr: number, obj: bindings.LDKSpendableOutputDescriptor.StaticOutputCounterpartyPayment) {
+export class StaticPaymentOutput extends SpendableOutputDescriptor {
+ public static_payment_output: StaticPaymentOutputDescriptor;
+ private constructor(ptr: number, obj: bindings.LDKSpendableOutputDescriptor.StaticPaymentOutput) {
super(null, ptr);
- const outpoint: number = obj.outpoint;
- const outpoint_hu_conv: OutPoint = new OutPoint(null, outpoint);
- this.outpoint = outpoint_hu_conv;
- const output: number = obj.output;
- TxOut output_conv = new TxOut(null, output);
- this.output = output_conv;
- 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<Number, Number> key_derivation_params_conv = new TwoTuple<Number, Number>(key_derivation_params_a, key_derivation_params_b);
- this.key_derivation_params = key_derivation_params_conv;
+ const static_payment_output: number = obj.static_payment_output;
+ const static_payment_output_hu_conv: StaticPaymentOutputDescriptor = new StaticPaymentOutputDescriptor(null, static_payment_output);
+ static_payment_output_hu_conv.ptrs_to.add(this);
+ this.static_payment_output = static_payment_output_hu_conv;
+ }
+}
+ public SpendableOutputDescriptor clone() {
+ number ret = bindings.SpendableOutputDescriptor_clone(this.ptr);
+ SpendableOutputDescriptor ret_hu_conv = SpendableOutputDescriptor.constr_from_ptr(ret);
+ ret_hu_conv.ptrs_to.add(this);
+ return ret_hu_conv;
}
+
+ public Uint8Array write() {
+ Uint8Array ret = bindings.SpendableOutputDescriptor_write(this.ptr);
+ return ret;
+ }
+
+ public static Result_SpendableOutputDescriptorDecodeErrorZ constructor_read(Uint8Array ser) {
+ number ret = bindings.SpendableOutputDescriptor_read(ser);
+ Result_SpendableOutputDescriptorDecodeErrorZ ret_hu_conv = Result_SpendableOutputDescriptorDecodeErrorZ.constr_from_ptr(ret);
+ return ret_hu_conv;
+ }
+
}