+}
+ public number clone_ptr() {
+ number ret = bindings.SpendableOutputDescriptor_clone_ptr(this.ptr);
+ return ret;
+ }
+
+ 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 static SpendableOutputDescriptor constructor_static_output(OutPoint outpoint, TxOut output) {
+ number ret = bindings.SpendableOutputDescriptor_static_output(outpoint == null ? 0 : outpoint.ptr & ~1, output.ptr);
+ SpendableOutputDescriptor ret_hu_conv = SpendableOutputDescriptor.constr_from_ptr(ret);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ return ret_hu_conv;
+ }
+
+ public static SpendableOutputDescriptor constructor_delayed_payment_output(DelayedPaymentOutputDescriptor a) {
+ number ret = bindings.SpendableOutputDescriptor_delayed_payment_output(a == null ? 0 : a.ptr & ~1);
+ SpendableOutputDescriptor ret_hu_conv = SpendableOutputDescriptor.constr_from_ptr(ret);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ return ret_hu_conv;
+ }
+
+ public static SpendableOutputDescriptor constructor_static_payment_output(StaticPaymentOutputDescriptor a) {
+ number ret = bindings.SpendableOutputDescriptor_static_payment_output(a == null ? 0 : a.ptr & ~1);
+ SpendableOutputDescriptor ret_hu_conv = SpendableOutputDescriptor.constr_from_ptr(ret);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ 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;
+ }
+