bindings updates
[ldk-java] / ts / structs / ChannelMonitor.ts
index 8baaf1897141c0c97ad929fc4d825284bcf7b22f..ff746a206aa4d6710141f5d54ecf94f242e4c55e 100644 (file)
@@ -51,7 +51,10 @@ import * as bindings from '../bindings' // TODO: figure out location
                const ret_a_hu_conv: OutPoint = new OutPoint(null, ret_a);
                ret_a_hu_conv.ptrs_to.add(this);;
                Uint8Array ret_b = bindings.LDKC2Tuple_OutPointScriptZ_get_b(ret);
-               TwoTuple<OutPoint, Uint8Array> ret_conv = new TwoTuple<OutPoint, Uint8Array>(ret_a_hu_conv, ret_b);
+               TwoTuple<OutPoint, Uint8Array> ret_conv = new TwoTuple<OutPoint, Uint8Array>(ret_a_hu_conv, ret_b, () -> {
+                       bindings.C2Tuple_OutPointScriptZ_free(ret);
+               });
+               ret_a_hu_conv.ptrs_to.add(ret_conv);
                return ret_conv;
        }
 
@@ -98,10 +101,14 @@ import * as bindings from '../bindings' // TODO: figure out location
                                number arr_conv_25_a = bindings.LDKC2Tuple_u32TxOutZ_get_a(arr_conv_25);
                                number arr_conv_25_b = bindings.TxOut_clone(bindings.LDKC2Tuple_u32TxOutZ_get_b(arr_conv_25));
                                TxOut arr_conv_25_b_conv = new TxOut(null, arr_conv_25_b);;
-                               TwoTuple<Number, TxOut> arr_conv_25_conv = new TwoTuple<Number, TxOut>(arr_conv_25_a, arr_conv_25_b_conv);
+                               TwoTuple<Number, TxOut> arr_conv_25_conv = new TwoTuple<Number, TxOut>(arr_conv_25_a, arr_conv_25_b_conv, () -> {
+                                       bindings.C2Tuple_u32TxOutZ_free(arr_conv_25);
+                               });
+                               arr_conv_25_b_conv.ptrs_to.add(arr_conv_25_conv);
                                arr_conv_25_arr[z] = arr_conv_25_conv;
                        };
                        TwoTuple<Uint8Array, TwoTuple<Number, TxOut>[]> arr_conv_49_conv = new TwoTuple<Uint8Array, TwoTuple<Number, TxOut>[]>(arr_conv_49_a, arr_conv_25_arr);
+                       // Warning: We may not free the C tuple object!
                        arr_conv_49_arr[x] = arr_conv_49_conv;
                }
                /* TODO 2 TwoTuple<Number, Uint8Array>  */;