+ this.outputs = outputs_conv_27_arr;
+ }
+}
+export class PaymentForwarded extends Event {
+ public fee_earned_msat: Option_u64Z;
+ public claim_from_onchain_tx: boolean;
+ private constructor(ptr: number, obj: bindings.LDKEvent.PaymentForwarded) {
+ super(null, ptr);
+ const fee_earned_msat: number = obj.fee_earned_msat;
+ Option_u64Z fee_earned_msat_hu_conv = Option_u64Z.constr_from_ptr(fee_earned_msat);
+ fee_earned_msat_hu_conv.ptrs_to.add(this);
+ this.fee_earned_msat = fee_earned_msat_hu_conv;
+ this.claim_from_onchain_tx = obj.claim_from_onchain_tx;
+ }
+}
+export class ChannelClosed extends Event {
+ public channel_id: Uint8Array;
+ public reason: ClosureReason;
+ private constructor(ptr: number, obj: bindings.LDKEvent.ChannelClosed) {
+ super(null, ptr);
+ this.channel_id = obj.channel_id;
+ const reason: number = obj.reason;
+ ClosureReason reason_hu_conv = ClosureReason.constr_from_ptr(reason);
+ reason_hu_conv.ptrs_to.add(this);
+ this.reason = reason_hu_conv;
+ }
+}
+ public Event clone() {
+ number ret = bindings.Event_clone(this.ptr);
+ Event ret_hu_conv = Event.constr_from_ptr(ret);
+ ret_hu_conv.ptrs_to.add(this);
+ return ret_hu_conv;
+ }
+
+ public static Event constructor_funding_generation_ready(Uint8Array temporary_channel_id, number channel_value_satoshis, Uint8Array output_script, number user_channel_id) {
+ number ret = bindings.Event_funding_generation_ready(temporary_channel_id, channel_value_satoshis, output_script, user_channel_id);
+ Event ret_hu_conv = Event.constr_from_ptr(ret);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ return ret_hu_conv;
+ }
+
+ public static Event constructor_payment_received(Uint8Array payment_hash, number amt, PaymentPurpose purpose) {
+ number ret = bindings.Event_payment_received(payment_hash, amt, purpose.ptr);
+ Event ret_hu_conv = Event.constr_from_ptr(ret);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ return ret_hu_conv;
+ }
+
+ public static Event constructor_payment_sent(Uint8Array payment_preimage) {
+ number ret = bindings.Event_payment_sent(payment_preimage);
+ Event ret_hu_conv = Event.constr_from_ptr(ret);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ return ret_hu_conv;
+ }
+
+ public static Event constructor_payment_path_failed(Uint8Array payment_hash, boolean rejected_by_dest, Option_NetworkUpdateZ network_update, boolean all_paths_failed, RouteHop[] path) {
+ 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);
+ Event ret_hu_conv = Event.constr_from_ptr(ret);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ return ret_hu_conv;
+ }
+
+ public static Event constructor_pending_htlcs_forwardable(number time_forwardable) {
+ number ret = bindings.Event_pending_htlcs_forwardable(time_forwardable);
+ Event ret_hu_conv = Event.constr_from_ptr(ret);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ return ret_hu_conv;