bd9ddd4d1a1da5957bc8765df1840f8741e18efa
[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_preimage: Uint8Array;
73         public payment_hash: Uint8Array;
74         private constructor(ptr: number, obj: bindings.LDKEvent.PaymentSent) {
75                 super(null, ptr);
76                 this.payment_preimage = obj.payment_preimage;
77                 this.payment_hash = obj.payment_hash;
78         }
79 }
80 export class PaymentPathFailed extends Event {
81         public payment_hash: Uint8Array;
82         public rejected_by_dest: boolean;
83         public network_update: Option_NetworkUpdateZ;
84         public all_paths_failed: boolean;
85         public path: RouteHop[];
86         public short_channel_id: Option_u64Z;
87         private constructor(ptr: number, obj: bindings.LDKEvent.PaymentPathFailed) {
88                 super(null, ptr);
89                 this.payment_hash = obj.payment_hash;
90                 this.rejected_by_dest = obj.rejected_by_dest;
91                 const network_update: number = obj.network_update;
92                 Option_NetworkUpdateZ network_update_hu_conv = Option_NetworkUpdateZ.constr_from_ptr(network_update);
93                         network_update_hu_conv.ptrs_to.add(this);
94                 this.network_update = network_update_hu_conv;
95                 this.all_paths_failed = obj.all_paths_failed;
96                 const path: number[] = obj.path;
97                 RouteHop[] path_conv_10_arr = new RouteHop[path.length];
98                         for (int k = 0; k < path.length; k++) {
99                                 number path_conv_10 = path[k];
100                                 const path_conv_10_hu_conv: RouteHop = new RouteHop(null, path_conv_10);
101                                 path_conv_10_hu_conv.ptrs_to.add(this);
102                                 path_conv_10_arr[k] = path_conv_10_hu_conv;
103                         }
104                 this.path = path_conv_10_arr;
105                 const short_channel_id: number = obj.short_channel_id;
106                 Option_u64Z short_channel_id_hu_conv = Option_u64Z.constr_from_ptr(short_channel_id);
107                         short_channel_id_hu_conv.ptrs_to.add(this);
108                 this.short_channel_id = short_channel_id_hu_conv;
109         }
110 }
111 export class PendingHTLCsForwardable extends Event {
112         public time_forwardable: number;
113         private constructor(ptr: number, obj: bindings.LDKEvent.PendingHTLCsForwardable) {
114                 super(null, ptr);
115                 this.time_forwardable = obj.time_forwardable;
116         }
117 }
118 export class SpendableOutputs extends Event {
119         public outputs: SpendableOutputDescriptor[];
120         private constructor(ptr: number, obj: bindings.LDKEvent.SpendableOutputs) {
121                 super(null, ptr);
122                 const outputs: number[] = obj.outputs;
123                 SpendableOutputDescriptor[] outputs_conv_27_arr = new SpendableOutputDescriptor[outputs.length];
124                         for (int b = 0; b < outputs.length; b++) {
125                                 number outputs_conv_27 = outputs[b];
126                                 SpendableOutputDescriptor outputs_conv_27_hu_conv = SpendableOutputDescriptor.constr_from_ptr(outputs_conv_27);
127                                 outputs_conv_27_hu_conv.ptrs_to.add(this);
128                                 outputs_conv_27_arr[b] = outputs_conv_27_hu_conv;
129                         }
130                 this.outputs = outputs_conv_27_arr;
131         }
132 }
133 export class PaymentForwarded extends Event {
134         public fee_earned_msat: Option_u64Z;
135         public claim_from_onchain_tx: boolean;
136         private constructor(ptr: number, obj: bindings.LDKEvent.PaymentForwarded) {
137                 super(null, ptr);
138                 const fee_earned_msat: number = obj.fee_earned_msat;
139                 Option_u64Z fee_earned_msat_hu_conv = Option_u64Z.constr_from_ptr(fee_earned_msat);
140                         fee_earned_msat_hu_conv.ptrs_to.add(this);
141                 this.fee_earned_msat = fee_earned_msat_hu_conv;
142                 this.claim_from_onchain_tx = obj.claim_from_onchain_tx;
143         }
144 }
145 export class ChannelClosed extends Event {
146         public channel_id: Uint8Array;
147         public user_channel_id: number;
148         public reason: ClosureReason;
149         private constructor(ptr: number, obj: bindings.LDKEvent.ChannelClosed) {
150                 super(null, ptr);
151                 this.channel_id = obj.channel_id;
152                 this.user_channel_id = obj.user_channel_id;
153                 const reason: number = obj.reason;
154                 ClosureReason reason_hu_conv = ClosureReason.constr_from_ptr(reason);
155                         reason_hu_conv.ptrs_to.add(this);
156                 this.reason = reason_hu_conv;
157         }
158 }
159 export class DiscardFunding extends Event {
160         public channel_id: Uint8Array;
161         public transaction: Uint8Array;
162         private constructor(ptr: number, obj: bindings.LDKEvent.DiscardFunding) {
163                 super(null, ptr);
164                 this.channel_id = obj.channel_id;
165                 this.transaction = obj.transaction;
166         }
167 }
168         public Event clone() {
169                 number ret = bindings.Event_clone(this.ptr);
170                 Event ret_hu_conv = Event.constr_from_ptr(ret);
171                 ret_hu_conv.ptrs_to.add(this);
172                 return ret_hu_conv;
173         }
174
175         public static Event constructor_funding_generation_ready(Uint8Array temporary_channel_id, number channel_value_satoshis, Uint8Array output_script, number user_channel_id) {
176                 number ret = bindings.Event_funding_generation_ready(temporary_channel_id, channel_value_satoshis, output_script, user_channel_id);
177                 Event ret_hu_conv = Event.constr_from_ptr(ret);
178                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
179                 return ret_hu_conv;
180         }
181
182         public static Event constructor_payment_received(Uint8Array payment_hash, number amt, PaymentPurpose purpose) {
183                 number ret = bindings.Event_payment_received(payment_hash, amt, purpose.ptr);
184                 Event ret_hu_conv = Event.constr_from_ptr(ret);
185                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
186                 return ret_hu_conv;
187         }
188
189         public static Event constructor_payment_sent(Uint8Array payment_preimage, Uint8Array payment_hash) {
190                 number ret = bindings.Event_payment_sent(payment_preimage, payment_hash);
191                 Event ret_hu_conv = Event.constr_from_ptr(ret);
192                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
193                 return ret_hu_conv;
194         }
195
196         public static Event constructor_payment_path_failed(Uint8Array payment_hash, boolean rejected_by_dest, Option_NetworkUpdateZ network_update, boolean all_paths_failed, RouteHop[] path, Option_u64Z short_channel_id) {
197                 number ret = bindings.Event_payment_path_failed(payment_hash, 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);
198                 Event ret_hu_conv = Event.constr_from_ptr(ret);
199                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
200                 return ret_hu_conv;
201         }
202
203         public static Event constructor_pending_htlcs_forwardable(number time_forwardable) {
204                 number ret = bindings.Event_pending_htlcs_forwardable(time_forwardable);
205                 Event ret_hu_conv = Event.constr_from_ptr(ret);
206                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
207                 return ret_hu_conv;
208         }
209
210         public static Event constructor_spendable_outputs(SpendableOutputDescriptor[] outputs) {
211                 number ret = bindings.Event_spendable_outputs(outputs != null ? Arrays.stream(outputs).map(outputs_conv_27 -> outputs_conv_27.ptr).toArray(number[]::new) : null);
212                 Event ret_hu_conv = Event.constr_from_ptr(ret);
213                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
214                 return ret_hu_conv;
215         }
216
217         public static Event constructor_payment_forwarded(Option_u64Z fee_earned_msat, boolean claim_from_onchain_tx) {
218                 number ret = bindings.Event_payment_forwarded(fee_earned_msat.ptr, claim_from_onchain_tx);
219                 Event ret_hu_conv = Event.constr_from_ptr(ret);
220                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
221                 return ret_hu_conv;
222         }
223
224         public static Event constructor_channel_closed(Uint8Array channel_id, number user_channel_id, ClosureReason reason) {
225                 number ret = bindings.Event_channel_closed(channel_id, user_channel_id, reason.ptr);
226                 Event ret_hu_conv = Event.constr_from_ptr(ret);
227                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
228                 return ret_hu_conv;
229         }
230
231         public static Event constructor_discard_funding(Uint8Array channel_id, Uint8Array transaction) {
232                 number ret = bindings.Event_discard_funding(channel_id, transaction);
233                 Event ret_hu_conv = Event.constr_from_ptr(ret);
234                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
235                 return ret_hu_conv;
236         }
237
238         public Uint8Array write() {
239                 Uint8Array ret = bindings.Event_write(this.ptr);
240                 return ret;
241         }
242
243 }