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 void block_connected(Uint8Array header, TwoTuple<Number, Uint8Array>[] txdata, number height) {
22 bindings.ChainMonitor_block_connected(this.ptr, header, (number[])Arrays.stream(txdata).map(arr_conv_30 -> bindings.C2Tuple_usizeTransactionZ_new(arr_conv_30.a, arr_conv_30.b)).toArray(), height);
23 /* TODO 2 TwoTuple<Number, Uint8Array> */;
26 public void block_disconnected(Uint8Array header, number disconnected_height) {
27 bindings.ChainMonitor_block_disconnected(this.ptr, header, disconnected_height);
30 public static ChainMonitor constructor_new(Filter chain_source, BroadcasterInterface broadcaster, Logger logger, FeeEstimator feeest, Persist persister) {
31 number 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);
32 const ret_hu_conv: ChainMonitor = new ChainMonitor(null, ret);
33 ret_hu_conv.ptrs_to.add(chain_source);
34 ret_hu_conv.ptrs_to.add(broadcaster);
35 ret_hu_conv.ptrs_to.add(logger);
36 ret_hu_conv.ptrs_to.add(feeest);
37 ret_hu_conv.ptrs_to.add(persister);
41 public Watch as_Watch() {
42 number ret = bindings.ChainMonitor_as_Watch(this.ptr);
43 Watch ret_hu_conv = new Watch(null, ret);
44 ret_hu_conv.ptrs_to.add(this);
48 public EventsProvider as_EventsProvider() {
49 number ret = bindings.ChainMonitor_as_EventsProvider(this.ptr);
50 EventsProvider ret_hu_conv = new EventsProvider(null, ret);
51 ret_hu_conv.ptrs_to.add(this);