Make genbindings.sh only build one of java/wasm, test wasm in CI
[ldk-java] / ts / structs / Watch.ts
index ea0bdf4b1d8d804f888855247fabfc3effcdcd64..300d856ee11c0980b0da3250603b6ab69bde15ff 100644 (file)
@@ -34,24 +34,27 @@ import * as bindings from '../bindings' // TODO: figure out location
                         // todo: in-line interface filling
                         watch_channel (funding_txo: number, monitor: number): number {
                                                        const funding_txo_hu_conv: OutPoint = new OutPoint(null, funding_txo);
+                               funding_txo_hu_conv.ptrs_to.add(this);
                                                        const monitor_hu_conv: ChannelMonitor = new ChannelMonitor(null, monitor);
+                               monitor_hu_conv.ptrs_to.add(this);
                                                        Result_NoneChannelMonitorUpdateErrZ ret = arg.watch_channel(funding_txo_hu_conv, monitor_hu_conv);
-                               result: number = ret != null ? ret.ptr : 0;
+                               result: number = ret == null ? 0 : ret.clone_ptr();
                                return result;
                                                },
 
                                                update_channel (funding_txo: number, update: number): number {
                                                        const funding_txo_hu_conv: OutPoint = new OutPoint(null, funding_txo);
+                               funding_txo_hu_conv.ptrs_to.add(this);
                                                        const update_hu_conv: ChannelMonitorUpdate = new ChannelMonitorUpdate(null, update);
+                               update_hu_conv.ptrs_to.add(this);
                                                        Result_NoneChannelMonitorUpdateErrZ ret = arg.update_channel(funding_txo_hu_conv, update_hu_conv);
-                               result: number = ret != null ? ret.ptr : 0;
+                               result: number = ret == null ? 0 : ret.clone_ptr();
                                return result;
                                                },
 
                                                release_pending_monitor_events (): number[] {
                                                        MonitorEvent[] ret = arg.release_pending_monitor_events();
-                               result: number[] = (number[])Arrays.stream(ret).map(arr_conv_14 -> arr_conv_14 == null ? 0 : arr_conv_14.ptr & ~1).toArray();
-                               /* TODO 2 MonitorEvent  */;
+                               result: number[] = ret != null ? Arrays.stream(ret).map(ret_conv_14 -> ret_conv_14 == null ? 0 : ret_conv_14.clone_ptr()).toArray(number[]::new) : null;
                                return result;
                                                },
 
@@ -74,28 +77,25 @@ import * as bindings from '../bindings' // TODO: figure out location
        public Result_NoneChannelMonitorUpdateErrZ watch_channel(OutPoint funding_txo, ChannelMonitor monitor) {
                number ret = bindings.Watch_watch_channel(this.ptr, funding_txo == null ? 0 : funding_txo.ptr & ~1, monitor == null ? 0 : monitor.ptr & ~1);
                Result_NoneChannelMonitorUpdateErrZ ret_hu_conv = Result_NoneChannelMonitorUpdateErrZ.constr_from_ptr(ret);
-               this.ptrs_to.add(funding_txo);
-               this.ptrs_to.add(monitor);
                return ret_hu_conv;
        }
 
        public Result_NoneChannelMonitorUpdateErrZ update_channel(OutPoint funding_txo, ChannelMonitorUpdate update) {
                number ret = bindings.Watch_update_channel(this.ptr, funding_txo == null ? 0 : funding_txo.ptr & ~1, update == null ? 0 : update.ptr & ~1);
                Result_NoneChannelMonitorUpdateErrZ ret_hu_conv = Result_NoneChannelMonitorUpdateErrZ.constr_from_ptr(ret);
-               this.ptrs_to.add(funding_txo);
-               this.ptrs_to.add(update);
                return ret_hu_conv;
        }
 
        public MonitorEvent[] release_pending_monitor_events() {
                number[] ret = bindings.Watch_release_pending_monitor_events(this.ptr);
-               MonitorEvent[] arr_conv_14_arr = new MonitorEvent[ret.length];
+               MonitorEvent[] ret_conv_14_arr = new MonitorEvent[ret.length];
                for (int o = 0; o < ret.length; o++) {
-                       number arr_conv_14 = ret[o];
-                       const arr_conv_14_hu_conv: MonitorEvent = new MonitorEvent(null, arr_conv_14);
-                       arr_conv_14_arr[o] = arr_conv_14_hu_conv;
+                       number ret_conv_14 = ret[o];
+                       MonitorEvent ret_conv_14_hu_conv = MonitorEvent.constr_from_ptr(ret_conv_14);
+                       ret_conv_14_hu_conv.ptrs_to.add(this);
+                       ret_conv_14_arr[o] = ret_conv_14_hu_conv;
                }
-               return arr_conv_14_arr;
+               return ret_conv_14_arr;
        }
 
 }