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, Arrays.stream(txdata).map(txdata_conv_30 -> bindings.C2Tuple_usizeTransactionZ_new(txdata_conv_30.a, txdata_conv_30.b)).toArray(number[]::new), height);
23 /* TODO 2 TwoTuple<Number, Uint8Array> */;
26 public void transactions_confirmed(Uint8Array header, TwoTuple<Number, Uint8Array>[] txdata, number height) {
27 bindings.ChainMonitor_transactions_confirmed(this.ptr, header, Arrays.stream(txdata).map(txdata_conv_30 -> bindings.C2Tuple_usizeTransactionZ_new(txdata_conv_30.a, txdata_conv_30.b)).toArray(number[]::new), height);
28 /* TODO 2 TwoTuple<Number, Uint8Array> */;
31 public void update_best_block(Uint8Array header, number height) {
32 bindings.ChainMonitor_update_best_block(this.ptr, header, height);
35 public void block_disconnected(Uint8Array header, number disconnected_height) {
36 bindings.ChainMonitor_block_disconnected(this.ptr, header, disconnected_height);
39 public void transaction_unconfirmed(Uint8Array txid) {
40 bindings.ChainMonitor_transaction_unconfirmed(this.ptr, txid);
43 public Uint8Array[] get_relevant_txids() {
44 Uint8Array[] ret = bindings.ChainMonitor_get_relevant_txids(this.ptr);
48 public static ChainMonitor constructor_new(Filter chain_source, BroadcasterInterface broadcaster, Logger logger, FeeEstimator feeest, Persist persister) {
49 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);
50 const ret_hu_conv: ChainMonitor = new ChainMonitor(null, ret);
51 ret_hu_conv.ptrs_to.add(ret_hu_conv);
52 ret_hu_conv.ptrs_to.add(chain_source);
53 ret_hu_conv.ptrs_to.add(broadcaster);
54 ret_hu_conv.ptrs_to.add(logger);
55 ret_hu_conv.ptrs_to.add(feeest);
56 ret_hu_conv.ptrs_to.add(persister);
60 public Watch as_Watch() {
61 number ret = bindings.ChainMonitor_as_Watch(this.ptr);
62 Watch ret_hu_conv = new Watch(null, ret);
63 ret_hu_conv.ptrs_to.add(this);
67 public EventsProvider as_EventsProvider() {
68 number ret = bindings.ChainMonitor_as_EventsProvider(this.ptr);
69 EventsProvider ret_hu_conv = new EventsProvider(null, ret);
70 ret_hu_conv.ptrs_to.add(this);