TS bindings
[ldk-java] / ts / structs / ChannelManager.ts
1
2 import CommonBase from './CommonBase';
3 import * as bindings from '../bindings' // TODO: figure out location
4
5 public class ChannelManager extends CommonBase {
6         ChannelManager(Object _dummy, long ptr) { super(ptr); }
7         @Override @SuppressWarnings("deprecation")
8         protected void finalize() throws Throwable {
9                 super.finalize();
10                 if (ptr != 0) { bindings.ChannelManager_free(ptr); }
11         }
12
13         public static ChannelManager constructor_new(LDKNetwork network, FeeEstimator fee_est, Watch chain_monitor, BroadcasterInterface tx_broadcaster, Logger logger, KeysInterface keys_manager, UserConfig config, long current_blockchain_height) {
14                 uint32_t ret = bindings.ChannelManager_new(network, fee_est == null ? 0 : fee_est.ptr, chain_monitor == null ? 0 : chain_monitor.ptr, tx_broadcaster == null ? 0 : tx_broadcaster.ptr, logger == null ? 0 : logger.ptr, keys_manager == null ? 0 : keys_manager.ptr, config == null ? 0 : config.ptr & ~1, current_blockchain_height);
15                 ChannelManager ret_hu_conv = new ChannelManager(null, ret);
16                 ret_hu_conv.ptrs_to.add(fee_est);
17                 ret_hu_conv.ptrs_to.add(chain_monitor);
18                 ret_hu_conv.ptrs_to.add(tx_broadcaster);
19                 ret_hu_conv.ptrs_to.add(logger);
20                 ret_hu_conv.ptrs_to.add(keys_manager);
21                 ret_hu_conv.ptrs_to.add(config);
22                 return ret_hu_conv;
23         }
24
25         public Result_NoneAPIErrorZ create_channel(byte[] their_network_key, long channel_value_satoshis, long push_msat, long user_id, UserConfig override_config) {
26                 uint32_t ret = bindings.ChannelManager_create_channel(this.ptr, their_network_key, channel_value_satoshis, push_msat, user_id, override_config == null ? 0 : override_config.ptr & ~1);
27                 Result_NoneAPIErrorZ ret_hu_conv = Result_NoneAPIErrorZ.constr_from_ptr(ret);
28                 this.ptrs_to.add(override_config);
29                 return ret_hu_conv;
30         }
31
32         public ChannelDetails[] list_channels() {
33                 uint32_t[] ret = bindings.ChannelManager_list_channels(this.ptr);
34                 ChannelDetails[] arr_conv_16_arr = new ChannelDetails[ret.length];
35                 for (int q = 0; q < ret.length; q++) {
36                         uint32_t arr_conv_16 = ret[q];
37                         ChannelDetails arr_conv_16_hu_conv = new ChannelDetails(null, arr_conv_16);
38                         arr_conv_16_arr[q] = arr_conv_16_hu_conv;
39                 }
40                 return arr_conv_16_arr;
41         }
42
43         public ChannelDetails[] list_usable_channels() {
44                 uint32_t[] ret = bindings.ChannelManager_list_usable_channels(this.ptr);
45                 ChannelDetails[] arr_conv_16_arr = new ChannelDetails[ret.length];
46                 for (int q = 0; q < ret.length; q++) {
47                         uint32_t arr_conv_16 = ret[q];
48                         ChannelDetails arr_conv_16_hu_conv = new ChannelDetails(null, arr_conv_16);
49                         arr_conv_16_arr[q] = arr_conv_16_hu_conv;
50                 }
51                 return arr_conv_16_arr;
52         }
53
54         public Result_NoneAPIErrorZ close_channel(byte[] channel_id) {
55                 uint32_t ret = bindings.ChannelManager_close_channel(this.ptr, channel_id);
56                 Result_NoneAPIErrorZ ret_hu_conv = Result_NoneAPIErrorZ.constr_from_ptr(ret);
57                 return ret_hu_conv;
58         }
59
60         public void force_close_channel(byte[] channel_id) {
61                 bindings.ChannelManager_force_close_channel(this.ptr, channel_id);
62         }
63
64         public void force_close_all_channels() {
65                 bindings.ChannelManager_force_close_all_channels(this.ptr);
66         }
67
68         public Result_NonePaymentSendFailureZ send_payment(Route route, byte[] payment_hash, byte[] payment_secret) {
69                 uint32_t ret = bindings.ChannelManager_send_payment(this.ptr, route == null ? 0 : route.ptr & ~1, payment_hash, payment_secret);
70                 Result_NonePaymentSendFailureZ ret_hu_conv = Result_NonePaymentSendFailureZ.constr_from_ptr(ret);
71                 this.ptrs_to.add(route);
72                 return ret_hu_conv;
73         }
74
75         public void funding_transaction_generated(byte[] temporary_channel_id, OutPoint funding_txo) {
76                 bindings.ChannelManager_funding_transaction_generated(this.ptr, temporary_channel_id, funding_txo == null ? 0 : funding_txo.ptr & ~1);
77                 this.ptrs_to.add(funding_txo);
78         }
79
80         public void broadcast_node_announcement(byte[] rgb, byte[] alias, NetAddress[] addresses) {
81                 bindings.ChannelManager_broadcast_node_announcement(this.ptr, rgb, alias, (uint32_t[])Arrays.stream(addresses).map(arr_conv_12 -> arr_conv_12.ptr).toArray());
82                 /* TODO 2 NetAddress  */;
83         }
84
85         public void process_pending_htlc_forwards() {
86                 bindings.ChannelManager_process_pending_htlc_forwards(this.ptr);
87         }
88
89         public void timer_chan_freshness_every_min() {
90                 bindings.ChannelManager_timer_chan_freshness_every_min(this.ptr);
91         }
92
93         public boolean fail_htlc_backwards(byte[] payment_hash, byte[] payment_secret) {
94                 boolean ret = bindings.ChannelManager_fail_htlc_backwards(this.ptr, payment_hash, payment_secret);
95                 return ret;
96         }
97
98         public boolean claim_funds(byte[] payment_preimage, byte[] payment_secret, long expected_amount) {
99                 boolean ret = bindings.ChannelManager_claim_funds(this.ptr, payment_preimage, payment_secret, expected_amount);
100                 return ret;
101         }
102
103         public byte[] get_our_node_id() {
104                 byte[] ret = bindings.ChannelManager_get_our_node_id(this.ptr);
105                 return ret;
106         }
107
108         public void channel_monitor_updated(OutPoint funding_txo, long highest_applied_update_id) {
109                 bindings.ChannelManager_channel_monitor_updated(this.ptr, funding_txo == null ? 0 : funding_txo.ptr & ~1, highest_applied_update_id);
110                 this.ptrs_to.add(funding_txo);
111         }
112
113         public MessageSendEventsProvider as_MessageSendEventsProvider() {
114                 uint32_t ret = bindings.ChannelManager_as_MessageSendEventsProvider(this.ptr);
115                 MessageSendEventsProvider ret_hu_conv = new MessageSendEventsProvider(null, ret);
116                 ret_hu_conv.ptrs_to.add(this);
117                 return ret_hu_conv;
118         }
119
120         public EventsProvider as_EventsProvider() {
121                 uint32_t ret = bindings.ChannelManager_as_EventsProvider(this.ptr);
122                 EventsProvider ret_hu_conv = new EventsProvider(null, ret);
123                 ret_hu_conv.ptrs_to.add(this);
124                 return ret_hu_conv;
125         }
126
127         public void block_connected(byte[] header, TwoTuple<Long, byte[]>[] txdata, int height) {
128                 bindings.ChannelManager_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);
129                 /* TODO 2 TwoTuple<Long, byte[]>  */;
130         }
131
132         public void block_disconnected(byte[] header) {
133                 bindings.ChannelManager_block_disconnected(this.ptr, header);
134         }
135
136         public ChannelMessageHandler as_ChannelMessageHandler() {
137                 uint32_t ret = bindings.ChannelManager_as_ChannelMessageHandler(this.ptr);
138                 ChannelMessageHandler ret_hu_conv = new ChannelMessageHandler(null, ret);
139                 ret_hu_conv.ptrs_to.add(this);
140                 return ret_hu_conv;
141         }
142
143         public byte[] write() {
144                 byte[] ret = bindings.ChannelManager_write(this.ptr);
145                 return ret;
146         }
147
148 }