Merge pull request #46 from TheBlueMatt/main
[ldk-java] / ts / structs / ChannelMonitor.ts
1
2             
3 import CommonBase from './CommonBase';
4 import * as bindings from '../bindings' // TODO: figure out location
5
6
7
8             export default class ChannelMonitor extends CommonBase {
9                 constructor(_dummy: object, ptr: number) {
10                     super(ptr);
11                 }
12
13                 
14                 protected finalize() {
15                     super.finalize();
16
17                     if (this.ptr != 0) {
18                         bindings.ChannelMonitor_free(this.ptr);
19                     }
20                 }
21         public ChannelMonitor clone() {
22                 number ret = bindings.ChannelMonitor_clone(this.ptr);
23                 const ret_hu_conv: ChannelMonitor = new ChannelMonitor(null, ret);
24                 ret_hu_conv.ptrs_to.add(this);
25                 return ret_hu_conv;
26         }
27
28         public Uint8Array write() {
29                 Uint8Array ret = bindings.ChannelMonitor_write(this.ptr);
30                 return ret;
31         }
32
33         public Result_NoneMonitorUpdateErrorZ update_monitor(ChannelMonitorUpdate updates, BroadcasterInterface broadcaster, FeeEstimator fee_estimator, Logger logger) {
34                 number ret = bindings.ChannelMonitor_update_monitor(this.ptr, updates == null ? 0 : updates.ptr & ~1, broadcaster == null ? 0 : broadcaster.ptr, fee_estimator == null ? 0 : fee_estimator.ptr, logger == null ? 0 : logger.ptr);
35                 Result_NoneMonitorUpdateErrorZ ret_hu_conv = Result_NoneMonitorUpdateErrorZ.constr_from_ptr(ret);
36                 this.ptrs_to.add(updates);
37                 this.ptrs_to.add(broadcaster);
38                 this.ptrs_to.add(fee_estimator);
39                 this.ptrs_to.add(logger);
40                 return ret_hu_conv;
41         }
42
43         public number get_latest_update_id() {
44                 number ret = bindings.ChannelMonitor_get_latest_update_id(this.ptr);
45                 return ret;
46         }
47
48         public TwoTuple_OutPointScriptZ get_funding_txo() {
49                 number ret = bindings.ChannelMonitor_get_funding_txo(this.ptr);
50                 TwoTuple_OutPointScriptZ ret_hu_conv = new TwoTuple_OutPointScriptZ(null, ret);
51                 ret_hu_conv.ptrs_to.add(this);
52                 return ret_hu_conv;
53         }
54
55         public TwoTuple_TxidCVec_C2Tuple_u32ScriptZZZ[] get_outputs_to_watch() {
56                 number[] ret = bindings.ChannelMonitor_get_outputs_to_watch(this.ptr);
57                 TwoTuple_TxidCVec_C2Tuple_u32ScriptZZZ[] ret_conv_40_arr = new TwoTuple_TxidCVec_C2Tuple_u32ScriptZZZ[ret.length];
58                 for (int o = 0; o < ret.length; o++) {
59                         number ret_conv_40 = ret[o];
60                         TwoTuple_TxidCVec_C2Tuple_u32ScriptZZZ ret_conv_40_hu_conv = new TwoTuple_TxidCVec_C2Tuple_u32ScriptZZZ(null, ret_conv_40);
61                         ret_conv_40_hu_conv.ptrs_to.add(this);
62                         ret_conv_40_arr[o] = ret_conv_40_hu_conv;
63                 }
64                 return ret_conv_40_arr;
65         }
66
67         public void load_outputs_to_watch(Filter filter) {
68                 bindings.ChannelMonitor_load_outputs_to_watch(this.ptr, filter == null ? 0 : filter.ptr);
69                 this.ptrs_to.add(filter);
70         }
71
72         public MonitorEvent[] get_and_clear_pending_monitor_events() {
73                 number[] ret = bindings.ChannelMonitor_get_and_clear_pending_monitor_events(this.ptr);
74                 MonitorEvent[] ret_conv_14_arr = new MonitorEvent[ret.length];
75                 for (int o = 0; o < ret.length; o++) {
76                         number ret_conv_14 = ret[o];
77                         MonitorEvent ret_conv_14_hu_conv = MonitorEvent.constr_from_ptr(ret_conv_14);
78                         ret_conv_14_hu_conv.ptrs_to.add(this);
79                         ret_conv_14_arr[o] = ret_conv_14_hu_conv;
80                 }
81                 return ret_conv_14_arr;
82         }
83
84         public Event[] get_and_clear_pending_events() {
85                 number[] ret = bindings.ChannelMonitor_get_and_clear_pending_events(this.ptr);
86                 Event[] ret_conv_7_arr = new Event[ret.length];
87                 for (int h = 0; h < ret.length; h++) {
88                         number ret_conv_7 = ret[h];
89                         Event ret_conv_7_hu_conv = Event.constr_from_ptr(ret_conv_7);
90                         ret_conv_7_hu_conv.ptrs_to.add(this);
91                         ret_conv_7_arr[h] = ret_conv_7_hu_conv;
92                 }
93                 return ret_conv_7_arr;
94         }
95
96         public Uint8Array[] get_latest_holder_commitment_txn(Logger logger) {
97                 Uint8Array[] ret = bindings.ChannelMonitor_get_latest_holder_commitment_txn(this.ptr, logger == null ? 0 : logger.ptr);
98                 this.ptrs_to.add(logger);
99                 return ret;
100         }
101
102         public TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ[] block_connected(Uint8Array header, TwoTuple_usizeTransactionZ[] txdata, number height, BroadcasterInterface broadcaster, FeeEstimator fee_estimator, Logger logger) {
103                 number[] ret = bindings.ChannelMonitor_block_connected(this.ptr, header, txdata != null ? Arrays.stream(txdata).map(txdata_conv_28 -> txdata_conv_28 != null ? txdata_conv_28.ptr : 0).toArray(number[]::new) : null, height, broadcaster == null ? 0 : broadcaster.ptr, fee_estimator == null ? 0 : fee_estimator.ptr, logger == null ? 0 : logger.ptr);
104                 TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ[] ret_conv_39_arr = new TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ[ret.length];
105                 for (int n = 0; n < ret.length; n++) {
106                         number ret_conv_39 = ret[n];
107                         TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ ret_conv_39_hu_conv = new TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ(null, ret_conv_39);
108                         ret_conv_39_hu_conv.ptrs_to.add(this);
109                         ret_conv_39_arr[n] = ret_conv_39_hu_conv;
110                 }
111                 this.ptrs_to.add(broadcaster);
112                 this.ptrs_to.add(fee_estimator);
113                 this.ptrs_to.add(logger);
114                 return ret_conv_39_arr;
115         }
116
117         public void block_disconnected(Uint8Array header, number height, BroadcasterInterface broadcaster, FeeEstimator fee_estimator, Logger logger) {
118                 bindings.ChannelMonitor_block_disconnected(this.ptr, header, height, broadcaster == null ? 0 : broadcaster.ptr, fee_estimator == null ? 0 : fee_estimator.ptr, logger == null ? 0 : logger.ptr);
119                 this.ptrs_to.add(broadcaster);
120                 this.ptrs_to.add(fee_estimator);
121                 this.ptrs_to.add(logger);
122         }
123
124         public TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ[] transactions_confirmed(Uint8Array header, TwoTuple_usizeTransactionZ[] txdata, number height, BroadcasterInterface broadcaster, FeeEstimator fee_estimator, Logger logger) {
125                 number[] ret = bindings.ChannelMonitor_transactions_confirmed(this.ptr, header, txdata != null ? Arrays.stream(txdata).map(txdata_conv_28 -> txdata_conv_28 != null ? txdata_conv_28.ptr : 0).toArray(number[]::new) : null, height, broadcaster == null ? 0 : broadcaster.ptr, fee_estimator == null ? 0 : fee_estimator.ptr, logger == null ? 0 : logger.ptr);
126                 TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ[] ret_conv_39_arr = new TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ[ret.length];
127                 for (int n = 0; n < ret.length; n++) {
128                         number ret_conv_39 = ret[n];
129                         TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ ret_conv_39_hu_conv = new TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ(null, ret_conv_39);
130                         ret_conv_39_hu_conv.ptrs_to.add(this);
131                         ret_conv_39_arr[n] = ret_conv_39_hu_conv;
132                 }
133                 this.ptrs_to.add(broadcaster);
134                 this.ptrs_to.add(fee_estimator);
135                 this.ptrs_to.add(logger);
136                 return ret_conv_39_arr;
137         }
138
139         public void transaction_unconfirmed(Uint8Array txid, BroadcasterInterface broadcaster, FeeEstimator fee_estimator, Logger logger) {
140                 bindings.ChannelMonitor_transaction_unconfirmed(this.ptr, txid, broadcaster == null ? 0 : broadcaster.ptr, fee_estimator == null ? 0 : fee_estimator.ptr, logger == null ? 0 : logger.ptr);
141                 this.ptrs_to.add(broadcaster);
142                 this.ptrs_to.add(fee_estimator);
143                 this.ptrs_to.add(logger);
144         }
145
146         public TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ[] best_block_updated(Uint8Array header, number height, BroadcasterInterface broadcaster, FeeEstimator fee_estimator, Logger logger) {
147                 number[] ret = bindings.ChannelMonitor_best_block_updated(this.ptr, header, height, broadcaster == null ? 0 : broadcaster.ptr, fee_estimator == null ? 0 : fee_estimator.ptr, logger == null ? 0 : logger.ptr);
148                 TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ[] ret_conv_39_arr = new TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ[ret.length];
149                 for (int n = 0; n < ret.length; n++) {
150                         number ret_conv_39 = ret[n];
151                         TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ ret_conv_39_hu_conv = new TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ(null, ret_conv_39);
152                         ret_conv_39_hu_conv.ptrs_to.add(this);
153                         ret_conv_39_arr[n] = ret_conv_39_hu_conv;
154                 }
155                 this.ptrs_to.add(broadcaster);
156                 this.ptrs_to.add(fee_estimator);
157                 this.ptrs_to.add(logger);
158                 return ret_conv_39_arr;
159         }
160
161         public Uint8Array[] get_relevant_txids() {
162                 Uint8Array[] ret = bindings.ChannelMonitor_get_relevant_txids(this.ptr);
163                 return ret;
164         }
165
166         public BestBlock current_best_block() {
167                 number ret = bindings.ChannelMonitor_current_best_block(this.ptr);
168                 const ret_hu_conv: BestBlock = new BestBlock(null, ret);
169                 ret_hu_conv.ptrs_to.add(this);
170                 return ret_hu_conv;
171         }
172
173         public Balance[] get_claimable_balances() {
174                 number[] ret = bindings.ChannelMonitor_get_claimable_balances(this.ptr);
175                 Balance[] ret_conv_9_arr = new Balance[ret.length];
176                 for (int j = 0; j < ret.length; j++) {
177                         number ret_conv_9 = ret[j];
178                         Balance ret_conv_9_hu_conv = Balance.constr_from_ptr(ret_conv_9);
179                         ret_conv_9_hu_conv.ptrs_to.add(this);
180                         ret_conv_9_arr[j] = ret_conv_9_hu_conv;
181                 }
182                 return ret_conv_9_arr;
183         }
184
185 }