Update auto-generated bindings
[ldk-java] / ts / structs / Event.ts
1
2 import CommonBase from './CommonBase';
3 import * as bindings from '../bindings' // TODO: figure out location
4
5 export default class Event extends CommonBase {
6         protected constructor(_dummy: object, ptr: number) { super(ptr); }
7         protected finalize() {
8                 super.finalize();
9                 if (this.ptr != 0) { bindings.Event_free(this.ptr); }
10         }
11         static constr_from_ptr(ptr: number): Event {
12                 const raw_val: bindings.LDKEvent = bindings.LDKEvent_ref_from_ptr(ptr);
13                 if (raw_val instanceof bindings.LDKEvent.FundingGenerationReady) {
14                         return new FundingGenerationReady(this.ptr, raw_val);
15                 }
16                 if (raw_val instanceof bindings.LDKEvent.PaymentReceived) {
17                         return new PaymentReceived(this.ptr, raw_val);
18                 }
19                 if (raw_val instanceof bindings.LDKEvent.PaymentSent) {
20                         return new PaymentSent(this.ptr, raw_val);
21                 }
22                 if (raw_val instanceof bindings.LDKEvent.PaymentPathFailed) {
23                         return new PaymentPathFailed(this.ptr, raw_val);
24                 }
25                 if (raw_val instanceof bindings.LDKEvent.PendingHTLCsForwardable) {
26                         return new PendingHTLCsForwardable(this.ptr, raw_val);
27                 }
28                 if (raw_val instanceof bindings.LDKEvent.SpendableOutputs) {
29                         return new SpendableOutputs(this.ptr, raw_val);
30                 }
31                 if (raw_val instanceof bindings.LDKEvent.PaymentForwarded) {
32                         return new PaymentForwarded(this.ptr, raw_val);
33                 }
34                 if (raw_val instanceof bindings.LDKEvent.ChannelClosed) {
35                         return new ChannelClosed(this.ptr, raw_val);
36                 }
37                 if (raw_val instanceof bindings.LDKEvent.DiscardFunding) {
38                         return new DiscardFunding(this.ptr, raw_val);
39                 }
40                 throw new Error('oops, this should be unreachable'); // Unreachable without extending the (internal) bindings interface
41         }
42
43 }
44 export class FundingGenerationReady extends Event {
45         public temporary_channel_id: Uint8Array;
46         public channel_value_satoshis: number;
47         public output_script: Uint8Array;
48         public user_channel_id: number;
49         private constructor(ptr: number, obj: bindings.LDKEvent.FundingGenerationReady) {
50                 super(null, ptr);
51                 this.temporary_channel_id = obj.temporary_channel_id;
52                 this.channel_value_satoshis = obj.channel_value_satoshis;
53                 this.output_script = obj.output_script;
54                 this.user_channel_id = obj.user_channel_id;
55         }
56 }
57 export class PaymentReceived extends Event {
58         public payment_hash: Uint8Array;
59         public amt: number;
60         public purpose: PaymentPurpose;
61         private constructor(ptr: number, obj: bindings.LDKEvent.PaymentReceived) {
62                 super(null, ptr);
63                 this.payment_hash = obj.payment_hash;
64                 this.amt = obj.amt;
65                 const purpose: number = obj.purpose;
66                 PaymentPurpose purpose_hu_conv = PaymentPurpose.constr_from_ptr(purpose);
67                         purpose_hu_conv.ptrs_to.add(this);
68                 this.purpose = purpose_hu_conv;
69         }
70 }
71 export class PaymentSent extends Event {
72         public payment_id: Uint8Array;
73         public payment_preimage: Uint8Array;
74         public payment_hash: Uint8Array;
75         public fee_paid_msat: Option_u64Z;
76         private constructor(ptr: number, obj: bindings.LDKEvent.PaymentSent) {
77                 super(null, ptr);
78                 this.payment_id = obj.payment_id;
79                 this.payment_preimage = obj.payment_preimage;
80                 this.payment_hash = obj.payment_hash;
81                 const fee_paid_msat: number = obj.fee_paid_msat;
82                 Option_u64Z fee_paid_msat_hu_conv = Option_u64Z.constr_from_ptr(fee_paid_msat);
83                         fee_paid_msat_hu_conv.ptrs_to.add(this);
84                 this.fee_paid_msat = fee_paid_msat_hu_conv;
85         }
86 }
87 export class PaymentPathFailed extends Event {
88         public payment_id: Uint8Array;
89         public payment_hash: Uint8Array;
90         public rejected_by_dest: boolean;
91         public network_update: Option_NetworkUpdateZ;
92         public all_paths_failed: boolean;
93         public path: RouteHop[];
94         public short_channel_id: Option_u64Z;
95         public retry: RouteParameters;
96         private constructor(ptr: number, obj: bindings.LDKEvent.PaymentPathFailed) {
97                 super(null, ptr);
98                 this.payment_id = obj.payment_id;
99                 this.payment_hash = obj.payment_hash;
100                 this.rejected_by_dest = obj.rejected_by_dest;
101                 const network_update: number = obj.network_update;
102                 Option_NetworkUpdateZ network_update_hu_conv = Option_NetworkUpdateZ.constr_from_ptr(network_update);
103                         network_update_hu_conv.ptrs_to.add(this);
104                 this.network_update = network_update_hu_conv;
105                 this.all_paths_failed = obj.all_paths_failed;
106                 const path: number[] = obj.path;
107                 RouteHop[] path_conv_10_arr = new RouteHop[path.length];
108                         for (int k = 0; k < path.length; k++) {
109                                 number path_conv_10 = path[k];
110                                 const path_conv_10_hu_conv: RouteHop = new RouteHop(null, path_conv_10);
111                                 path_conv_10_hu_conv.ptrs_to.add(this);
112                                 path_conv_10_arr[k] = path_conv_10_hu_conv;
113                         }
114                 this.path = path_conv_10_arr;
115                 const short_channel_id: number = obj.short_channel_id;
116                 Option_u64Z short_channel_id_hu_conv = Option_u64Z.constr_from_ptr(short_channel_id);
117                         short_channel_id_hu_conv.ptrs_to.add(this);
118                 this.short_channel_id = short_channel_id_hu_conv;
119                 const retry: number = obj.retry;
120                 const retry_hu_conv: RouteParameters = new RouteParameters(null, retry);
121                         retry_hu_conv.ptrs_to.add(this);
122                 this.retry = retry_hu_conv;
123         }
124 }
125 export class PendingHTLCsForwardable extends Event {
126         public time_forwardable: number;
127         private constructor(ptr: number, obj: bindings.LDKEvent.PendingHTLCsForwardable) {
128                 super(null, ptr);
129                 this.time_forwardable = obj.time_forwardable;
130         }
131 }
132 export class SpendableOutputs extends Event {
133         public outputs: SpendableOutputDescriptor[];
134         private constructor(ptr: number, obj: bindings.LDKEvent.SpendableOutputs) {
135                 super(null, ptr);
136                 const outputs: number[] = obj.outputs;
137                 SpendableOutputDescriptor[] outputs_conv_27_arr = new SpendableOutputDescriptor[outputs.length];
138                         for (int b = 0; b < outputs.length; b++) {
139                                 number outputs_conv_27 = outputs[b];
140                                 SpendableOutputDescriptor outputs_conv_27_hu_conv = SpendableOutputDescriptor.constr_from_ptr(outputs_conv_27);
141                                 outputs_conv_27_hu_conv.ptrs_to.add(this);
142                                 outputs_conv_27_arr[b] = outputs_conv_27_hu_conv;
143                         }
144                 this.outputs = outputs_conv_27_arr;
145         }
146 }
147 export class PaymentForwarded extends Event {
148         public fee_earned_msat: Option_u64Z;
149         public claim_from_onchain_tx: boolean;
150         private constructor(ptr: number, obj: bindings.LDKEvent.PaymentForwarded) {
151                 super(null, ptr);
152                 const fee_earned_msat: number = obj.fee_earned_msat;
153                 Option_u64Z fee_earned_msat_hu_conv = Option_u64Z.constr_from_ptr(fee_earned_msat);
154                         fee_earned_msat_hu_conv.ptrs_to.add(this);
155                 this.fee_earned_msat = fee_earned_msat_hu_conv;
156                 this.claim_from_onchain_tx = obj.claim_from_onchain_tx;
157         }
158 }
159 export class ChannelClosed extends Event {
160         public channel_id: Uint8Array;
161         public user_channel_id: number;
162         public reason: ClosureReason;
163         private constructor(ptr: number, obj: bindings.LDKEvent.ChannelClosed) {
164                 super(null, ptr);
165                 this.channel_id = obj.channel_id;
166                 this.user_channel_id = obj.user_channel_id;
167                 const reason: number = obj.reason;
168                 ClosureReason reason_hu_conv = ClosureReason.constr_from_ptr(reason);
169                         reason_hu_conv.ptrs_to.add(this);
170                 this.reason = reason_hu_conv;
171         }
172 }
173 export class DiscardFunding extends Event {
174         public channel_id: Uint8Array;
175         public transaction: Uint8Array;
176         private constructor(ptr: number, obj: bindings.LDKEvent.DiscardFunding) {
177                 super(null, ptr);
178                 this.channel_id = obj.channel_id;
179                 this.transaction = obj.transaction;
180         }
181 }
182         public number clone_ptr() {
183                 number ret = bindings.Event_clone_ptr(this.ptr);
184                 return ret;
185         }
186
187         public Event clone() {
188                 number ret = bindings.Event_clone(this.ptr);
189                 Event ret_hu_conv = Event.constr_from_ptr(ret);
190                 ret_hu_conv.ptrs_to.add(this);
191                 return ret_hu_conv;
192         }
193
194         public static Event constructor_funding_generation_ready(Uint8Array temporary_channel_id, number channel_value_satoshis, Uint8Array output_script, number user_channel_id) {
195                 number ret = bindings.Event_funding_generation_ready(InternalUtils.check_arr_len(temporary_channel_id, 32), channel_value_satoshis, output_script, user_channel_id);
196                 Event ret_hu_conv = Event.constr_from_ptr(ret);
197                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
198                 return ret_hu_conv;
199         }
200
201         public static Event constructor_payment_received(Uint8Array payment_hash, number amt, PaymentPurpose purpose) {
202                 number ret = bindings.Event_payment_received(InternalUtils.check_arr_len(payment_hash, 32), amt, purpose.ptr);
203                 Event ret_hu_conv = Event.constr_from_ptr(ret);
204                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
205                 return ret_hu_conv;
206         }
207
208         public static Event constructor_payment_sent(Uint8Array payment_id, Uint8Array payment_preimage, Uint8Array payment_hash, Option_u64Z fee_paid_msat) {
209                 number ret = bindings.Event_payment_sent(InternalUtils.check_arr_len(payment_id, 32), InternalUtils.check_arr_len(payment_preimage, 32), InternalUtils.check_arr_len(payment_hash, 32), fee_paid_msat.ptr);
210                 Event ret_hu_conv = Event.constr_from_ptr(ret);
211                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
212                 return ret_hu_conv;
213         }
214
215         public static Event constructor_payment_path_failed(Uint8Array payment_id, Uint8Array payment_hash, boolean rejected_by_dest, Option_NetworkUpdateZ network_update, boolean all_paths_failed, RouteHop[] path, Option_u64Z short_channel_id, RouteParameters retry) {
216                 number ret = bindings.Event_payment_path_failed(InternalUtils.check_arr_len(payment_id, 32), InternalUtils.check_arr_len(payment_hash, 32), rejected_by_dest, network_update.ptr, all_paths_failed, path != null ? Arrays.stream(path).map(path_conv_10 -> path_conv_10 == null ? 0 : path_conv_10.ptr & ~1).toArray(number[]::new) : null, short_channel_id.ptr, retry == null ? 0 : retry.ptr & ~1);
217                 Event ret_hu_conv = Event.constr_from_ptr(ret);
218                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
219                 return ret_hu_conv;
220         }
221
222         public static Event constructor_pending_htlcs_forwardable(number time_forwardable) {
223                 number ret = bindings.Event_pending_htlcs_forwardable(time_forwardable);
224                 Event ret_hu_conv = Event.constr_from_ptr(ret);
225                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
226                 return ret_hu_conv;
227         }
228
229         public static Event constructor_spendable_outputs(SpendableOutputDescriptor[] outputs) {
230                 number ret = bindings.Event_spendable_outputs(outputs != null ? Arrays.stream(outputs).map(outputs_conv_27 -> outputs_conv_27.ptr).toArray(number[]::new) : null);
231                 Event ret_hu_conv = Event.constr_from_ptr(ret);
232                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
233                 return ret_hu_conv;
234         }
235
236         public static Event constructor_payment_forwarded(Option_u64Z fee_earned_msat, boolean claim_from_onchain_tx) {
237                 number ret = bindings.Event_payment_forwarded(fee_earned_msat.ptr, claim_from_onchain_tx);
238                 Event ret_hu_conv = Event.constr_from_ptr(ret);
239                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
240                 return ret_hu_conv;
241         }
242
243         public static Event constructor_channel_closed(Uint8Array channel_id, number user_channel_id, ClosureReason reason) {
244                 number ret = bindings.Event_channel_closed(InternalUtils.check_arr_len(channel_id, 32), user_channel_id, reason.ptr);
245                 Event ret_hu_conv = Event.constr_from_ptr(ret);
246                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
247                 return ret_hu_conv;
248         }
249
250         public static Event constructor_discard_funding(Uint8Array channel_id, Uint8Array transaction) {
251                 number ret = bindings.Event_discard_funding(InternalUtils.check_arr_len(channel_id, 32), transaction);
252                 Event ret_hu_conv = Event.constr_from_ptr(ret);
253                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
254                 return ret_hu_conv;
255         }
256
257         public Uint8Array write() {
258                 Uint8Array ret = bindings.Event_write(this.ptr);
259                 return ret;
260         }
261
262 }