X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=ts%2Fstructs%2FChainMonitor.ts;h=e65e42be81c56de272c0fb3ca3f733e513971998;hb=f3e670e9341decac613d33fc52febf19cea32f20;hp=41be56f99c117f81d211766f105f184317bc3091;hpb=822471992c6bf6f9985e531cc5940e4cc35e3e4c;p=ldk-java diff --git a/ts/structs/ChainMonitor.ts b/ts/structs/ChainMonitor.ts index 41be56f9..e65e42be 100644 --- a/ts/structs/ChainMonitor.ts +++ b/ts/structs/ChainMonitor.ts @@ -1,27 +1,27 @@ + import CommonBase from './CommonBase'; import * as bindings from '../bindings' // TODO: figure out location -public class ChainMonitor extends CommonBase { - ChainMonitor(Object _dummy, long ptr) { super(ptr); } - @Override @SuppressWarnings("deprecation") - protected void finalize() throws Throwable { - super.finalize(); - if (ptr != 0) { bindings.ChainMonitor_free(ptr); } - } - public void block_connected(byte[] header, TwoTuple[] txdata, int height) { - bindings.ChainMonitor_block_connected(this.ptr, header, (uint32_t[])Arrays.stream(txdata).map(arr_conv_24 -> bindings.C2Tuple_usizeTransactionZ_new(arr_conv_24.a, arr_conv_24.b)).toArray(), height); - /* TODO 2 TwoTuple */; - } - public void block_disconnected(byte[] header, int disconnected_height) { - bindings.ChainMonitor_block_disconnected(this.ptr, header, disconnected_height); - } + export default class ChainMonitor extends CommonBase { + constructor(_dummy: object, ptr: number) { + super(ptr); + } - public static ChainMonitor constructor_new(Filter chain_source, BroadcasterInterface broadcaster, Logger logger, FeeEstimator feeest, Persist persister) { - uint32_t ret = bindings.ChainMonitor_new(chain_source == null ? 0 : chain_source.ptr, broadcaster == null ? 0 : broadcaster.ptr, logger == null ? 0 : logger.ptr, feeest == null ? 0 : feeest.ptr, persister == null ? 0 : persister.ptr); - ChainMonitor ret_hu_conv = new ChainMonitor(null, ret); + + protected finalize() { + super.finalize(); + + if (this.ptr != 0) { + bindings.ChainMonitor_free(this.ptr); + } + } + public static ChainMonitor constructor_new(Option_FilterZ chain_source, BroadcasterInterface broadcaster, Logger logger, FeeEstimator feeest, Persist persister) { + 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); + const ret_hu_conv: ChainMonitor = new ChainMonitor(null, ret); + ret_hu_conv.ptrs_to.add(ret_hu_conv); ret_hu_conv.ptrs_to.add(chain_source); ret_hu_conv.ptrs_to.add(broadcaster); ret_hu_conv.ptrs_to.add(logger); @@ -30,15 +30,65 @@ public class ChainMonitor extends CommonBase { return ret_hu_conv; } + public Balance[] get_claimable_balances(ChannelDetails[] ignored_channels) { + 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); + Balance[] ret_conv_9_arr = new Balance[ret.length]; + for (int j = 0; j < ret.length; j++) { + number ret_conv_9 = ret[j]; + Balance ret_conv_9_hu_conv = Balance.constr_from_ptr(ret_conv_9); + ret_conv_9_hu_conv.ptrs_to.add(this); + ret_conv_9_arr[j] = ret_conv_9_hu_conv; + } + return ret_conv_9_arr; + } + + public Result_LockedChannelMonitorNoneZ get_monitor(OutPoint funding_txo) { + number ret = bindings.ChainMonitor_get_monitor(this.ptr, funding_txo == null ? 0 : funding_txo.ptr & ~1); + Result_LockedChannelMonitorNoneZ ret_hu_conv = Result_LockedChannelMonitorNoneZ.constr_from_ptr(ret); + return ret_hu_conv; + } + + public OutPoint[] list_monitors() { + number[] ret = bindings.ChainMonitor_list_monitors(this.ptr); + OutPoint[] ret_conv_10_arr = new OutPoint[ret.length]; + for (int k = 0; k < ret.length; k++) { + number ret_conv_10 = ret[k]; + const ret_conv_10_hu_conv: OutPoint = new OutPoint(null, ret_conv_10); + ret_conv_10_hu_conv.ptrs_to.add(this); + ret_conv_10_arr[k] = ret_conv_10_hu_conv; + } + return ret_conv_10_arr; + } + + public Result_NoneAPIErrorZ channel_monitor_updated(OutPoint funding_txo, MonitorUpdateId completed_update_id) { + number ret = bindings.ChainMonitor_channel_monitor_updated(this.ptr, funding_txo == null ? 0 : funding_txo.ptr & ~1, completed_update_id == null ? 0 : completed_update_id.ptr & ~1); + Result_NoneAPIErrorZ ret_hu_conv = Result_NoneAPIErrorZ.constr_from_ptr(ret); + return ret_hu_conv; + } + + public Listen as_Listen() { + number ret = bindings.ChainMonitor_as_Listen(this.ptr); + Listen ret_hu_conv = new Listen(null, ret); + ret_hu_conv.ptrs_to.add(this); + return ret_hu_conv; + } + + public Confirm as_Confirm() { + number ret = bindings.ChainMonitor_as_Confirm(this.ptr); + Confirm ret_hu_conv = new Confirm(null, ret); + ret_hu_conv.ptrs_to.add(this); + return ret_hu_conv; + } + public Watch as_Watch() { - uint32_t ret = bindings.ChainMonitor_as_Watch(this.ptr); + number ret = bindings.ChainMonitor_as_Watch(this.ptr); Watch ret_hu_conv = new Watch(null, ret); ret_hu_conv.ptrs_to.add(this); return ret_hu_conv; } public EventsProvider as_EventsProvider() { - uint32_t ret = bindings.ChainMonitor_as_EventsProvider(this.ptr); + number ret = bindings.ChainMonitor_as_EventsProvider(this.ptr); EventsProvider ret_hu_conv = new EventsProvider(null, ret); ret_hu_conv.ptrs_to.add(this); return ret_hu_conv;