3 import CommonBase from './CommonBase';
4 import * as bindings from '../bindings' // TODO: figure out location
8 export default class ChainMonitor extends CommonBase {
9 constructor(_dummy: object, ptr: number) {
14 protected finalize() {
18 bindings.ChainMonitor_free(this.ptr);
21 public static ChainMonitor constructor_new(Option_FilterZ chain_source, BroadcasterInterface broadcaster, Logger logger, FeeEstimator feeest, Persist persister) {
22 number ret = bindings.ChainMonitor_new(chain_source.ptr, broadcaster == null ? 0 : broadcaster.ptr, logger == null ? 0 : logger.ptr, feeest == null ? 0 : feeest.ptr, persister == null ? 0 : persister.ptr);
23 const ret_hu_conv: ChainMonitor = new ChainMonitor(null, ret);
24 ret_hu_conv.ptrs_to.add(ret_hu_conv);
25 ret_hu_conv.ptrs_to.add(broadcaster);
26 ret_hu_conv.ptrs_to.add(logger);
27 ret_hu_conv.ptrs_to.add(feeest);
28 ret_hu_conv.ptrs_to.add(persister);
32 public Balance[] get_claimable_balances(ChannelDetails[] ignored_channels) {
33 number[] ret = bindings.ChainMonitor_get_claimable_balances(this.ptr, ignored_channels != null ? Arrays.stream(ignored_channels).map(ignored_channels_conv_16 -> ignored_channels_conv_16 == null ? 0 : ignored_channels_conv_16.ptr & ~1).toArray(number[]::new) : null);
34 Balance[] ret_conv_9_arr = new Balance[ret.length];
35 for (int j = 0; j < ret.length; j++) {
36 number ret_conv_9 = ret[j];
37 Balance ret_conv_9_hu_conv = Balance.constr_from_ptr(ret_conv_9);
38 ret_conv_9_hu_conv.ptrs_to.add(this);
39 ret_conv_9_arr[j] = ret_conv_9_hu_conv;
41 return ret_conv_9_arr;
44 public Result_LockedChannelMonitorNoneZ get_monitor(OutPoint funding_txo) {
45 number ret = bindings.ChainMonitor_get_monitor(this.ptr, funding_txo == null ? 0 : funding_txo.ptr & ~1);
46 Result_LockedChannelMonitorNoneZ ret_hu_conv = Result_LockedChannelMonitorNoneZ.constr_from_ptr(ret);
50 public OutPoint[] list_monitors() {
51 number[] ret = bindings.ChainMonitor_list_monitors(this.ptr);
52 OutPoint[] ret_conv_10_arr = new OutPoint[ret.length];
53 for (int k = 0; k < ret.length; k++) {
54 number ret_conv_10 = ret[k];
55 const ret_conv_10_hu_conv: OutPoint = new OutPoint(null, ret_conv_10);
56 ret_conv_10_hu_conv.ptrs_to.add(this);
57 ret_conv_10_arr[k] = ret_conv_10_hu_conv;
59 return ret_conv_10_arr;
62 public Listen as_Listen() {
63 number ret = bindings.ChainMonitor_as_Listen(this.ptr);
64 Listen ret_hu_conv = new Listen(null, ret);
65 ret_hu_conv.ptrs_to.add(this);
69 public Confirm as_Confirm() {
70 number ret = bindings.ChainMonitor_as_Confirm(this.ptr);
71 Confirm ret_hu_conv = new Confirm(null, ret);
72 ret_hu_conv.ptrs_to.add(this);
76 public Watch as_Watch() {
77 number ret = bindings.ChainMonitor_as_Watch(this.ptr);
78 Watch ret_hu_conv = new Watch(null, ret);
79 ret_hu_conv.ptrs_to.add(this);
83 public EventsProvider as_EventsProvider() {
84 number ret = bindings.ChainMonitor_as_EventsProvider(this.ptr);
85 EventsProvider ret_hu_conv = new EventsProvider(null, ret);
86 ret_hu_conv.ptrs_to.add(this);