Update auto-generated bindings
[ldk-java] / ts / bindings.ts
index e10bcd84a8ca02e6fbb6d0a781ca5862cc220b37..045a1f3513866d3c947b4e3485fc6172ddcdd40d 100644 (file)
@@ -151,7 +151,6 @@ public static native long vec_slice_len(long vec);
 public static native long new_empty_slice_vec();
 */
 
-       public static native long LDKCVec_u8Z_new(number[] elems);
        // struct LDKCVec_u8Z TxOut_get_script_pubkey (struct LDKTxOut* thing)
        export function TxOut_get_script_pubkey(thing: number): Uint8Array {
                if(!isWasmInitialized) {
@@ -168,19 +167,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.TxOut_get_value(thing);
                return nativeResponseValue;
        }
-       public static native boolean LDKCResult_SecretKeyErrorZ_result_ok(long arg);
        public static native Uint8Array LDKCResult_SecretKeyErrorZ_get_ok(long arg);
        public static native Secp256k1Error LDKCResult_SecretKeyErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_PublicKeyErrorZ_result_ok(long arg);
        public static native Uint8Array LDKCResult_PublicKeyErrorZ_get_ok(long arg);
        public static native Secp256k1Error LDKCResult_PublicKeyErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_TxCreationKeysDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_TxCreationKeysDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_TxCreationKeysDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ChannelPublicKeysDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ChannelPublicKeysDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ChannelPublicKeysDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_TxCreationKeysErrorZ_result_ok(long arg);
        public static native number LDKCResult_TxCreationKeysErrorZ_get_ok(long arg);
        public static native Secp256k1Error LDKCResult_TxCreationKeysErrorZ_get_err(long arg);
        public static class LDKCOption_u32Z {
@@ -196,49 +190,36 @@ public static native long new_empty_slice_vec();
        }
        static { LDKCOption_u32Z.init(); }
        public static native LDKCOption_u32Z LDKCOption_u32Z_ref_from_ptr(long ptr);
-       public static native boolean LDKCResult_HTLCOutputInCommitmentDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_HTLCOutputInCommitmentDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_HTLCOutputInCommitmentDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_CounterpartyChannelTransactionParametersDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_CounterpartyChannelTransactionParametersDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_CounterpartyChannelTransactionParametersDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ChannelTransactionParametersDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ChannelTransactionParametersDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ChannelTransactionParametersDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_HolderCommitmentTransactionDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_HolderCommitmentTransactionDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_HolderCommitmentTransactionDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_BuiltCommitmentTransactionDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_BuiltCommitmentTransactionDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_BuiltCommitmentTransactionDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_TrustedClosingTransactionNoneZ_result_ok(long arg);
        public static native number LDKCResult_TrustedClosingTransactionNoneZ_get_ok(long arg);
        public static native void LDKCResult_TrustedClosingTransactionNoneZ_get_err(long arg);
-       public static native boolean LDKCResult_CommitmentTransactionDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_CommitmentTransactionDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_CommitmentTransactionDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_TrustedCommitmentTransactionNoneZ_result_ok(long arg);
        public static native number LDKCResult_TrustedCommitmentTransactionNoneZ_get_ok(long arg);
        public static native void LDKCResult_TrustedCommitmentTransactionNoneZ_get_err(long arg);
-       public static native boolean LDKCResult_CVec_SignatureZNoneZ_result_ok(long arg);
        public static native Uint8Array[] LDKCResult_CVec_SignatureZNoneZ_get_ok(long arg);
        public static native void LDKCResult_CVec_SignatureZNoneZ_get_err(long arg);
-       public static native boolean LDKCResult_ShutdownScriptDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ShutdownScriptDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ShutdownScriptDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ShutdownScriptInvalidShutdownScriptZ_result_ok(long arg);
        public static native number LDKCResult_ShutdownScriptInvalidShutdownScriptZ_get_ok(long arg);
        public static native number LDKCResult_ShutdownScriptInvalidShutdownScriptZ_get_err(long arg);
-       public static native boolean LDKCResult_NoneErrorZ_result_ok(long arg);
        public static native void LDKCResult_NoneErrorZ_get_ok(long arg);
        public static native IOError LDKCResult_NoneErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_RouteHopDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_RouteHopDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_RouteHopDecodeErrorZ_get_err(long arg);
-       public static native long LDKCVec_RouteHopZ_new(number[] elems);
-       public static native boolean LDKCResult_RouteDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_RouteDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_RouteDecodeErrorZ_get_err(long arg);
+       public static native number LDKCResult_RouteParametersDecodeErrorZ_get_ok(long arg);
+       public static native number LDKCResult_RouteParametersDecodeErrorZ_get_err(long arg);
        public static class LDKCOption_u64Z {
                private LDKCOption_u64Z() {}
                export class Some extends LDKCOption_u64Z {
@@ -252,15 +233,16 @@ public static native long new_empty_slice_vec();
        }
        static { LDKCOption_u64Z.init(); }
        public static native LDKCOption_u64Z LDKCOption_u64Z_ref_from_ptr(long ptr);
-       public static native long LDKCVec_ChannelDetailsZ_new(number[] elems);
-       public static native long LDKCVec_RouteHintZ_new(number[] elems);
-       public static native boolean LDKCResult_RouteLightningErrorZ_result_ok(long arg);
+       public static native number LDKCResult_PayeeDecodeErrorZ_get_ok(long arg);
+       public static native number LDKCResult_PayeeDecodeErrorZ_get_err(long arg);
+       public static native number LDKCResult_RouteHintDecodeErrorZ_get_ok(long arg);
+       public static native number LDKCResult_RouteHintDecodeErrorZ_get_err(long arg);
+       public static native number LDKCResult_RouteHintHopDecodeErrorZ_get_ok(long arg);
+       public static native number LDKCResult_RouteHintHopDecodeErrorZ_get_err(long arg);
        public static native number LDKCResult_RouteLightningErrorZ_get_ok(long arg);
        public static native number LDKCResult_RouteLightningErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_TxOutAccessErrorZ_result_ok(long arg);
        public static native number LDKCResult_TxOutAccessErrorZ_get_ok(long arg);
        public static native AccessError LDKCResult_TxOutAccessErrorZ_get_err(long arg);
-       public static native long LDKC2Tuple_usizeTransactionZ_new(number a, Uint8Array b);
        // uintptr_t C2Tuple_usizeTransactionZ_get_a(LDKC2Tuple_usizeTransactionZ *NONNULL_PTR tuple);
        export function C2Tuple_usizeTransactionZ_get_a(tuple: number): number {
                if(!isWasmInitialized) {
@@ -277,8 +259,6 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.C2Tuple_usizeTransactionZ_get_b(tuple);
                return decodeArray(nativeResponseValue);
        }
-       public static native long LDKCVec_C2Tuple_usizeTransactionZZ_new(number[] elems);
-       public static native boolean LDKCResult_NoneChannelMonitorUpdateErrZ_result_ok(long arg);
        public static native void LDKCResult_NoneChannelMonitorUpdateErrZ_get_ok(long arg);
        public static native ChannelMonitorUpdateErr LDKCResult_NoneChannelMonitorUpdateErrZ_get_err(long arg);
        public static class LDKMonitorEvent {
@@ -291,11 +271,19 @@ public static native long new_empty_slice_vec();
                        public number commitment_tx_confirmed;
                        CommitmentTxConfirmed(number commitment_tx_confirmed) { this.commitment_tx_confirmed = commitment_tx_confirmed; }
                }
+               export class UpdateCompleted extends LDKMonitorEvent {
+                       public number funding_txo;
+                       public number monitor_update_id;
+                       UpdateCompleted(number funding_txo, number monitor_update_id) { this.funding_txo = funding_txo; this.monitor_update_id = monitor_update_id; }
+               }
+               export class UpdateFailed extends LDKMonitorEvent {
+                       public number update_failed;
+                       UpdateFailed(number update_failed) { this.update_failed = update_failed; }
+               }
                static native void init();
        }
        static { LDKMonitorEvent.init(); }
        public static native LDKMonitorEvent LDKMonitorEvent_ref_from_ptr(long ptr);
-       public static native long LDKCVec_MonitorEventZ_new(number[] elems);
        public static class LDKCOption_C2Tuple_usizeTransactionZZ {
                private LDKCOption_C2Tuple_usizeTransactionZZ() {}
                export class Some extends LDKCOption_C2Tuple_usizeTransactionZZ {
@@ -309,6 +297,50 @@ public static native long new_empty_slice_vec();
        }
        static { LDKCOption_C2Tuple_usizeTransactionZZ.init(); }
        public static native LDKCOption_C2Tuple_usizeTransactionZZ LDKCOption_C2Tuple_usizeTransactionZZ_ref_from_ptr(long ptr);
+       public static class LDKClosureReason {
+               private LDKClosureReason() {}
+               export class CounterpartyForceClosed extends LDKClosureReason {
+                       public String peer_msg;
+                       CounterpartyForceClosed(String peer_msg) { this.peer_msg = peer_msg; }
+               }
+               export class HolderForceClosed extends LDKClosureReason {
+                       HolderForceClosed() { }
+               }
+               export class CooperativeClosure extends LDKClosureReason {
+                       CooperativeClosure() { }
+               }
+               export class CommitmentTxConfirmed extends LDKClosureReason {
+                       CommitmentTxConfirmed() { }
+               }
+               export class ProcessingError extends LDKClosureReason {
+                       public String err;
+                       ProcessingError(String err) { this.err = err; }
+               }
+               export class DisconnectedPeer extends LDKClosureReason {
+                       DisconnectedPeer() { }
+               }
+               export class OutdatedChannelManager extends LDKClosureReason {
+                       OutdatedChannelManager() { }
+               }
+               static native void init();
+       }
+       static { LDKClosureReason.init(); }
+       public static native LDKClosureReason LDKClosureReason_ref_from_ptr(long ptr);
+       public static class LDKCOption_ClosureReasonZ {
+               private LDKCOption_ClosureReasonZ() {}
+               export class Some extends LDKCOption_ClosureReasonZ {
+                       public number some;
+                       Some(number some) { this.some = some; }
+               }
+               export class None extends LDKCOption_ClosureReasonZ {
+                       None() { }
+               }
+               static native void init();
+       }
+       static { LDKCOption_ClosureReasonZ.init(); }
+       public static native LDKCOption_ClosureReasonZ LDKCOption_ClosureReasonZ_ref_from_ptr(long ptr);
+       public static native number LDKCResult_COption_ClosureReasonZDecodeErrorZ_get_ok(long arg);
+       public static native number LDKCResult_COption_ClosureReasonZDecodeErrorZ_get_err(long arg);
        public static class LDKNetworkUpdate {
                private LDKNetworkUpdate() {}
                export class ChannelUpdateMessage extends LDKNetworkUpdate {
@@ -361,7 +393,98 @@ public static native long new_empty_slice_vec();
        }
        static { LDKSpendableOutputDescriptor.init(); }
        public static native LDKSpendableOutputDescriptor LDKSpendableOutputDescriptor_ref_from_ptr(long ptr);
-       public static native long LDKCVec_SpendableOutputDescriptorZ_new(number[] elems);
+       public static class LDKPaymentPurpose {
+               private LDKPaymentPurpose() {}
+               export class InvoicePayment extends LDKPaymentPurpose {
+                       public Uint8Array payment_preimage;
+                       public Uint8Array payment_secret;
+                       public number user_payment_id;
+                       InvoicePayment(Uint8Array payment_preimage, Uint8Array payment_secret, number user_payment_id) { this.payment_preimage = payment_preimage; this.payment_secret = payment_secret; this.user_payment_id = user_payment_id; }
+               }
+               export class SpontaneousPayment extends LDKPaymentPurpose {
+                       public Uint8Array spontaneous_payment;
+                       SpontaneousPayment(Uint8Array spontaneous_payment) { this.spontaneous_payment = spontaneous_payment; }
+               }
+               static native void init();
+       }
+       static { LDKPaymentPurpose.init(); }
+       public static native LDKPaymentPurpose LDKPaymentPurpose_ref_from_ptr(long ptr);
+       public static class LDKEvent {
+               private LDKEvent() {}
+               export class FundingGenerationReady extends LDKEvent {
+                       public Uint8Array temporary_channel_id;
+                       public number channel_value_satoshis;
+                       public Uint8Array output_script;
+                       public number user_channel_id;
+                       FundingGenerationReady(Uint8Array temporary_channel_id, number channel_value_satoshis, Uint8Array output_script, number user_channel_id) { this.temporary_channel_id = temporary_channel_id; this.channel_value_satoshis = channel_value_satoshis; this.output_script = output_script; this.user_channel_id = user_channel_id; }
+               }
+               export class PaymentReceived extends LDKEvent {
+                       public Uint8Array payment_hash;
+                       public number amt;
+                       public number purpose;
+                       PaymentReceived(Uint8Array payment_hash, number amt, number purpose) { this.payment_hash = payment_hash; this.amt = amt; this.purpose = purpose; }
+               }
+               export class PaymentSent extends LDKEvent {
+                       public Uint8Array payment_id;
+                       public Uint8Array payment_preimage;
+                       public Uint8Array payment_hash;
+                       public number fee_paid_msat;
+                       PaymentSent(Uint8Array payment_id, Uint8Array payment_preimage, Uint8Array payment_hash, number fee_paid_msat) { this.payment_id = payment_id; this.payment_preimage = payment_preimage; this.payment_hash = payment_hash; this.fee_paid_msat = fee_paid_msat; }
+               }
+               export class PaymentPathFailed extends LDKEvent {
+                       public Uint8Array payment_id;
+                       public Uint8Array payment_hash;
+                       public boolean rejected_by_dest;
+                       public number network_update;
+                       public boolean all_paths_failed;
+                       public number[] path;
+                       public number short_channel_id;
+                       public number retry;
+                       PaymentPathFailed(Uint8Array payment_id, Uint8Array payment_hash, boolean rejected_by_dest, number network_update, boolean all_paths_failed, number[] path, number short_channel_id, number retry) { this.payment_id = payment_id; this.payment_hash = payment_hash; this.rejected_by_dest = rejected_by_dest; this.network_update = network_update; this.all_paths_failed = all_paths_failed; this.path = path; this.short_channel_id = short_channel_id; this.retry = retry; }
+               }
+               export class PendingHTLCsForwardable extends LDKEvent {
+                       public number time_forwardable;
+                       PendingHTLCsForwardable(number time_forwardable) { this.time_forwardable = time_forwardable; }
+               }
+               export class SpendableOutputs extends LDKEvent {
+                       public number[] outputs;
+                       SpendableOutputs(number[] outputs) { this.outputs = outputs; }
+               }
+               export class PaymentForwarded extends LDKEvent {
+                       public number fee_earned_msat;
+                       public boolean claim_from_onchain_tx;
+                       PaymentForwarded(number fee_earned_msat, boolean claim_from_onchain_tx) { this.fee_earned_msat = fee_earned_msat; this.claim_from_onchain_tx = claim_from_onchain_tx; }
+               }
+               export class ChannelClosed extends LDKEvent {
+                       public Uint8Array channel_id;
+                       public number user_channel_id;
+                       public number reason;
+                       ChannelClosed(Uint8Array channel_id, number user_channel_id, number reason) { this.channel_id = channel_id; this.user_channel_id = user_channel_id; this.reason = reason; }
+               }
+               export class DiscardFunding extends LDKEvent {
+                       public Uint8Array channel_id;
+                       public Uint8Array transaction;
+                       DiscardFunding(Uint8Array channel_id, Uint8Array transaction) { this.channel_id = channel_id; this.transaction = transaction; }
+               }
+               static native void init();
+       }
+       static { LDKEvent.init(); }
+       public static native LDKEvent LDKEvent_ref_from_ptr(long ptr);
+       public static class LDKCOption_EventZ {
+               private LDKCOption_EventZ() {}
+               export class Some extends LDKCOption_EventZ {
+                       public number some;
+                       Some(number some) { this.some = some; }
+               }
+               export class None extends LDKCOption_EventZ {
+                       None() { }
+               }
+               static native void init();
+       }
+       static { LDKCOption_EventZ.init(); }
+       public static native LDKCOption_EventZ LDKCOption_EventZ_ref_from_ptr(long ptr);
+       public static native number LDKCResult_COption_EventZDecodeErrorZ_get_ok(long arg);
+       public static native number LDKCResult_COption_EventZDecodeErrorZ_get_err(long arg);
        public static class LDKErrorAction {
                private LDKErrorAction() {}
                export class DisconnectPeer extends LDKErrorAction {
@@ -482,32 +605,26 @@ public static native long new_empty_slice_vec();
        }
        static { LDKMessageSendEvent.init(); }
        public static native LDKMessageSendEvent LDKMessageSendEvent_ref_from_ptr(long ptr);
-       public static native long LDKCVec_MessageSendEventZ_new(number[] elems);
-       public static native boolean LDKCResult_InitFeaturesDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_InitFeaturesDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_InitFeaturesDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_NodeFeaturesDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_NodeFeaturesDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_NodeFeaturesDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ChannelFeaturesDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ChannelFeaturesDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ChannelFeaturesDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_InvoiceFeaturesDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_InvoiceFeaturesDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_InvoiceFeaturesDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_DelayedPaymentOutputDescriptorDecodeErrorZ_result_ok(long arg);
+       public static native number LDKCResult_ScoringParametersDecodeErrorZ_get_ok(long arg);
+       public static native number LDKCResult_ScoringParametersDecodeErrorZ_get_err(long arg);
+       public static native number LDKCResult_ScorerDecodeErrorZ_get_ok(long arg);
+       public static native number LDKCResult_ScorerDecodeErrorZ_get_err(long arg);
        public static native number LDKCResult_DelayedPaymentOutputDescriptorDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_DelayedPaymentOutputDescriptorDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_StaticPaymentOutputDescriptorDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_StaticPaymentOutputDescriptorDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_StaticPaymentOutputDescriptorDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_SpendableOutputDescriptorDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_SpendableOutputDescriptorDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_SpendableOutputDescriptorDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_NoneNoneZ_result_ok(long arg);
        public static native void LDKCResult_NoneNoneZ_get_ok(long arg);
        public static native void LDKCResult_NoneNoneZ_get_err(long arg);
-       public static native long LDKC2Tuple_SignatureCVec_SignatureZZ_new(Uint8Array a, Uint8Array[] b);
        // struct LDKSignature C2Tuple_SignatureCVec_SignatureZZ_get_a(LDKC2Tuple_SignatureCVec_SignatureZZ *NONNULL_PTR tuple);
        export function C2Tuple_SignatureCVec_SignatureZZ_get_a(tuple: number): Uint8Array {
                if(!isWasmInitialized) {
@@ -524,10 +641,8 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.C2Tuple_SignatureCVec_SignatureZZ_get_b(tuple);
                return nativeResponseValue;
        }
-       public static native boolean LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_result_ok(long arg);
        public static native number LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_get_ok(long arg);
        public static native void LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_get_err(long arg);
-       public static native boolean LDKCResult_SignatureNoneZ_result_ok(long arg);
        public static native Uint8Array LDKCResult_SignatureNoneZ_get_ok(long arg);
        public static native void LDKCResult_SignatureNoneZ_get_err(long arg);
 
@@ -694,23 +809,16 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Sign_write(this_arg);
                return decodeArray(nativeResponseValue);
        }
-       public static native boolean LDKCResult_SignDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_SignDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_SignDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_RecoverableSignatureNoneZ_result_ok(long arg);
        public static native Uint8Array LDKCResult_RecoverableSignatureNoneZ_get_ok(long arg);
        public static native void LDKCResult_RecoverableSignatureNoneZ_get_err(long arg);
-       public static native boolean LDKCResult_CVec_CVec_u8ZZNoneZ_result_ok(long arg);
        public static native Uint8Array[] LDKCResult_CVec_CVec_u8ZZNoneZ_get_ok(long arg);
        public static native void LDKCResult_CVec_CVec_u8ZZNoneZ_get_err(long arg);
-       public static native boolean LDKCResult_InMemorySignerDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_InMemorySignerDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_InMemorySignerDecodeErrorZ_get_err(long arg);
-       public static native long LDKCVec_TxOutZ_new(number[] elems);
-       public static native boolean LDKCResult_TransactionNoneZ_result_ok(long arg);
        public static native Uint8Array LDKCResult_TransactionNoneZ_get_ok(long arg);
        public static native void LDKCResult_TransactionNoneZ_get_err(long arg);
-       public static native long LDKC2Tuple_BlockHashChannelMonitorZ_new(Uint8Array a, number b);
        // struct LDKThirtyTwoBytes C2Tuple_BlockHashChannelMonitorZ_get_a(LDKC2Tuple_BlockHashChannelMonitorZ *NONNULL_PTR tuple);
        export function C2Tuple_BlockHashChannelMonitorZ_get_a(tuple: number): Uint8Array {
                if(!isWasmInitialized) {
@@ -727,8 +835,6 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.C2Tuple_BlockHashChannelMonitorZ_get_b(tuple);
                return nativeResponseValue;
        }
-       public static native long LDKCVec_C2Tuple_BlockHashChannelMonitorZZ_new(number[] elems);
-       public static native boolean LDKCResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_result_ok(long arg);
        public static native number[] LDKCResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_get_ok(long arg);
        public static native IOError LDKCResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_get_err(long arg);
        public static class LDKCOption_u16Z {
@@ -774,11 +880,10 @@ public static native long new_empty_slice_vec();
        }
        static { LDKAPIError.init(); }
        public static native LDKAPIError LDKAPIError_ref_from_ptr(long ptr);
-       public static native boolean LDKCResult_NoneAPIErrorZ_result_ok(long arg);
        public static native void LDKCResult_NoneAPIErrorZ_get_ok(long arg);
        public static native number LDKCResult_NoneAPIErrorZ_get_err(long arg);
-       public static native long LDKCVec_CResult_NoneAPIErrorZZ_new(number[] elems);
-       public static native long LDKCVec_APIErrorZ_new(number[] elems);
+       public static native Uint8Array LDKCResult__u832APIErrorZ_get_ok(long arg);
+       public static native number LDKCResult__u832APIErrorZ_get_err(long arg);
        public static class LDKPaymentSendFailure {
                private LDKPaymentSendFailure() {}
                export class ParameterError extends LDKPaymentSendFailure {
@@ -794,19 +899,37 @@ public static native long new_empty_slice_vec();
                        AllFailedRetrySafe(number[] all_failed_retry_safe) { this.all_failed_retry_safe = all_failed_retry_safe; }
                }
                export class PartialFailure extends LDKPaymentSendFailure {
-                       public number[] partial_failure;
-                       PartialFailure(number[] partial_failure) { this.partial_failure = partial_failure; }
+                       public number[] results;
+                       public number failed_paths_retry;
+                       public Uint8Array payment_id;
+                       PartialFailure(number[] results, number failed_paths_retry, Uint8Array payment_id) { this.results = results; this.failed_paths_retry = failed_paths_retry; this.payment_id = payment_id; }
                }
                static native void init();
        }
        static { LDKPaymentSendFailure.init(); }
        public static native LDKPaymentSendFailure LDKPaymentSendFailure_ref_from_ptr(long ptr);
-       public static native boolean LDKCResult_NonePaymentSendFailureZ_result_ok(long arg);
+       public static native Uint8Array LDKCResult_PaymentIdPaymentSendFailureZ_get_ok(long arg);
+       public static native number LDKCResult_PaymentIdPaymentSendFailureZ_get_err(long arg);
        public static native void LDKCResult_NonePaymentSendFailureZ_get_ok(long arg);
        public static native number LDKCResult_NonePaymentSendFailureZ_get_err(long arg);
-       public static native boolean LDKCResult_PaymentHashPaymentSendFailureZ_result_ok(long arg);
-       public static native Uint8Array LDKCResult_PaymentHashPaymentSendFailureZ_get_ok(long arg);
-       public static native number LDKCResult_PaymentHashPaymentSendFailureZ_get_err(long arg);
+       // struct LDKThirtyTwoBytes C2Tuple_PaymentHashPaymentIdZ_get_a(LDKC2Tuple_PaymentHashPaymentIdZ *NONNULL_PTR tuple);
+       export function C2Tuple_PaymentHashPaymentIdZ_get_a(tuple: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_PaymentHashPaymentIdZ_get_a(tuple);
+               return decodeArray(nativeResponseValue);
+       }
+       // struct LDKThirtyTwoBytes C2Tuple_PaymentHashPaymentIdZ_get_b(LDKC2Tuple_PaymentHashPaymentIdZ *NONNULL_PTR tuple);
+       export function C2Tuple_PaymentHashPaymentIdZ_get_b(tuple: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_PaymentHashPaymentIdZ_get_b(tuple);
+               return decodeArray(nativeResponseValue);
+       }
+       public static native number LDKCResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_get_ok(long arg);
+       public static native number LDKCResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_get_err(long arg);
        public static class LDKNetAddress {
                private LDKNetAddress() {}
                export class IPv4 extends LDKNetAddress {
@@ -835,8 +958,6 @@ public static native long new_empty_slice_vec();
        }
        static { LDKNetAddress.init(); }
        public static native LDKNetAddress LDKNetAddress_ref_from_ptr(long ptr);
-       public static native long LDKCVec_NetAddressZ_new(number[] elems);
-       public static native long LDKC2Tuple_PaymentHashPaymentSecretZ_new(Uint8Array a, Uint8Array b);
        // struct LDKThirtyTwoBytes C2Tuple_PaymentHashPaymentSecretZ_get_a(LDKC2Tuple_PaymentHashPaymentSecretZ *NONNULL_PTR tuple);
        export function C2Tuple_PaymentHashPaymentSecretZ_get_a(tuple: number): Uint8Array {
                if(!isWasmInitialized) {
@@ -853,10 +974,8 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.C2Tuple_PaymentHashPaymentSecretZ_get_b(tuple);
                return decodeArray(nativeResponseValue);
        }
-       public static native boolean LDKCResult_PaymentSecretAPIErrorZ_result_ok(long arg);
        public static native Uint8Array LDKCResult_PaymentSecretAPIErrorZ_get_ok(long arg);
        public static native number LDKCResult_PaymentSecretAPIErrorZ_get_err(long arg);
-       public static native long LDKCVec_ChannelMonitorZ_new(number[] elems);
 
 
 
@@ -1031,7 +1150,7 @@ public static native long new_empty_slice_vec();
 // OUT_TYPESCRIPT_BINDINGS :: MAP_TRAIT :: START
 
                export interface LDKLogger {
-                       log (record: String): void;
+                       log (record: number): void;
                }
 
                export function LDKLogger_new(impl: LDKLogger): number {
@@ -1041,7 +1160,6 @@ public static native long new_empty_slice_vec();
 // OUT_TYPESCRIPT_BINDINGS :: MAP_TRAIT :: END
 
 
-       public static native long LDKC2Tuple_BlockHashChannelManagerZ_new(Uint8Array a, number b);
        // struct LDKThirtyTwoBytes C2Tuple_BlockHashChannelManagerZ_get_a(LDKC2Tuple_BlockHashChannelManagerZ *NONNULL_PTR tuple);
        export function C2Tuple_BlockHashChannelManagerZ_get_a(tuple: number): Uint8Array {
                if(!isWasmInitialized) {
@@ -1058,13 +1176,10 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.C2Tuple_BlockHashChannelManagerZ_get_b(tuple);
                return nativeResponseValue;
        }
-       public static native boolean LDKCResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ChannelConfigDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ChannelConfigDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ChannelConfigDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_OutPointDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_OutPointDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_OutPointDecodeErrorZ_get_err(long arg);
 
@@ -1122,19 +1237,34 @@ public static native long new_empty_slice_vec();
        }
        static { LDKCOption_TypeZ.init(); }
        public static native LDKCOption_TypeZ LDKCOption_TypeZ_ref_from_ptr(long ptr);
-       public static native boolean LDKCResult_COption_TypeZDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_COption_TypeZDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_COption_TypeZDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_SiPrefixNoneZ_result_ok(long arg);
+       public static class LDKPaymentError {
+               private LDKPaymentError() {}
+               export class Invoice extends LDKPaymentError {
+                       public String invoice;
+                       Invoice(String invoice) { this.invoice = invoice; }
+               }
+               export class Routing extends LDKPaymentError {
+                       public number routing;
+                       Routing(number routing) { this.routing = routing; }
+               }
+               export class Sending extends LDKPaymentError {
+                       public number sending;
+                       Sending(number sending) { this.sending = sending; }
+               }
+               static native void init();
+       }
+       static { LDKPaymentError.init(); }
+       public static native LDKPaymentError LDKPaymentError_ref_from_ptr(long ptr);
+       public static native Uint8Array LDKCResult_PaymentIdPaymentErrorZ_get_ok(long arg);
+       public static native number LDKCResult_PaymentIdPaymentErrorZ_get_err(long arg);
        public static native SiPrefix LDKCResult_SiPrefixNoneZ_get_ok(long arg);
        public static native void LDKCResult_SiPrefixNoneZ_get_err(long arg);
-       public static native boolean LDKCResult_InvoiceNoneZ_result_ok(long arg);
        public static native number LDKCResult_InvoiceNoneZ_get_ok(long arg);
        public static native void LDKCResult_InvoiceNoneZ_get_err(long arg);
-       public static native boolean LDKCResult_SignedRawInvoiceNoneZ_result_ok(long arg);
        public static native number LDKCResult_SignedRawInvoiceNoneZ_get_ok(long arg);
        public static native void LDKCResult_SignedRawInvoiceNoneZ_get_err(long arg);
-       public static native long LDKC3Tuple_RawInvoice_u832InvoiceSignatureZ_new(number a, Uint8Array b, number c);
        // struct LDKRawInvoice C3Tuple_RawInvoice_u832InvoiceSignatureZ_get_a(LDKC3Tuple_RawInvoice_u832InvoiceSignatureZ *NONNULL_PTR tuple);
        export function C3Tuple_RawInvoice_u832InvoiceSignatureZ_get_a(tuple: number): number {
                if(!isWasmInitialized) {
@@ -1159,41 +1289,43 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.C3Tuple_RawInvoice_u832InvoiceSignatureZ_get_c(tuple);
                return nativeResponseValue;
        }
-       public static native boolean LDKCResult_PayeePubKeyErrorZ_result_ok(long arg);
        public static native number LDKCResult_PayeePubKeyErrorZ_get_ok(long arg);
        public static native Secp256k1Error LDKCResult_PayeePubKeyErrorZ_get_err(long arg);
-       public static native long LDKCVec_PrivateRouteZ_new(number[] elems);
-       public static native boolean LDKCResult_PositiveTimestampCreationErrorZ_result_ok(long arg);
        public static native number LDKCResult_PositiveTimestampCreationErrorZ_get_ok(long arg);
        public static native CreationError LDKCResult_PositiveTimestampCreationErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_NoneSemanticErrorZ_result_ok(long arg);
        public static native void LDKCResult_NoneSemanticErrorZ_get_ok(long arg);
        public static native SemanticError LDKCResult_NoneSemanticErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_InvoiceSemanticErrorZ_result_ok(long arg);
        public static native number LDKCResult_InvoiceSemanticErrorZ_get_ok(long arg);
        public static native SemanticError LDKCResult_InvoiceSemanticErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_DescriptionCreationErrorZ_result_ok(long arg);
        public static native number LDKCResult_DescriptionCreationErrorZ_get_ok(long arg);
        public static native CreationError LDKCResult_DescriptionCreationErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ExpiryTimeCreationErrorZ_result_ok(long arg);
        public static native number LDKCResult_ExpiryTimeCreationErrorZ_get_ok(long arg);
        public static native CreationError LDKCResult_ExpiryTimeCreationErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_PrivateRouteCreationErrorZ_result_ok(long arg);
        public static native number LDKCResult_PrivateRouteCreationErrorZ_get_ok(long arg);
        public static native CreationError LDKCResult_PrivateRouteCreationErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_StringErrorZ_result_ok(long arg);
        public static native String LDKCResult_StringErrorZ_get_ok(long arg);
        public static native Secp256k1Error LDKCResult_StringErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ChannelMonitorUpdateDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ChannelMonitorUpdateDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ChannelMonitorUpdateDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_HTLCUpdateDecodeErrorZ_result_ok(long arg);
+       public static class LDKCOption_MonitorEventZ {
+               private LDKCOption_MonitorEventZ() {}
+               export class Some extends LDKCOption_MonitorEventZ {
+                       public number some;
+                       Some(number some) { this.some = some; }
+               }
+               export class None extends LDKCOption_MonitorEventZ {
+                       None() { }
+               }
+               static native void init();
+       }
+       static { LDKCOption_MonitorEventZ.init(); }
+       public static native LDKCOption_MonitorEventZ LDKCOption_MonitorEventZ_ref_from_ptr(long ptr);
+       public static native number LDKCResult_COption_MonitorEventZDecodeErrorZ_get_ok(long arg);
+       public static native number LDKCResult_COption_MonitorEventZDecodeErrorZ_get_err(long arg);
        public static native number LDKCResult_HTLCUpdateDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_HTLCUpdateDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_NoneMonitorUpdateErrorZ_result_ok(long arg);
        public static native void LDKCResult_NoneMonitorUpdateErrorZ_get_ok(long arg);
        public static native number LDKCResult_NoneMonitorUpdateErrorZ_get_err(long arg);
-       public static native long LDKC2Tuple_OutPointScriptZ_new(number a, Uint8Array b);
        // struct LDKOutPoint C2Tuple_OutPointScriptZ_get_a(LDKC2Tuple_OutPointScriptZ *NONNULL_PTR tuple);
        export function C2Tuple_OutPointScriptZ_get_a(tuple: number): number {
                if(!isWasmInitialized) {
@@ -1210,7 +1342,6 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.C2Tuple_OutPointScriptZ_get_b(tuple);
                return decodeArray(nativeResponseValue);
        }
-       public static native long LDKC2Tuple_u32ScriptZ_new(number a, Uint8Array b);
        // uint32_t C2Tuple_u32ScriptZ_get_a(LDKC2Tuple_u32ScriptZ *NONNULL_PTR tuple);
        export function C2Tuple_u32ScriptZ_get_a(tuple: number): number {
                if(!isWasmInitialized) {
@@ -1227,8 +1358,6 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.C2Tuple_u32ScriptZ_get_b(tuple);
                return decodeArray(nativeResponseValue);
        }
-       public static native long LDKCVec_C2Tuple_u32ScriptZZ_new(number[] elems);
-       public static native long LDKC2Tuple_TxidCVec_C2Tuple_u32ScriptZZZ_new(Uint8Array a, number[] b);
        // struct LDKThirtyTwoBytes C2Tuple_TxidCVec_C2Tuple_u32ScriptZZZ_get_a(LDKC2Tuple_TxidCVec_C2Tuple_u32ScriptZZZ *NONNULL_PTR tuple);
        export function C2Tuple_TxidCVec_C2Tuple_u32ScriptZZZ_get_a(tuple: number): Uint8Array {
                if(!isWasmInitialized) {
@@ -1245,103 +1374,6 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.C2Tuple_TxidCVec_C2Tuple_u32ScriptZZZ_get_b(tuple);
                return nativeResponseValue;
        }
-       public static native long LDKCVec_C2Tuple_TxidCVec_C2Tuple_u32ScriptZZZZ_new(number[] elems);
-       public static class LDKPaymentPurpose {
-               private LDKPaymentPurpose() {}
-               export class InvoicePayment extends LDKPaymentPurpose {
-                       public Uint8Array payment_preimage;
-                       public Uint8Array payment_secret;
-                       public number user_payment_id;
-                       InvoicePayment(Uint8Array payment_preimage, Uint8Array payment_secret, number user_payment_id) { this.payment_preimage = payment_preimage; this.payment_secret = payment_secret; this.user_payment_id = user_payment_id; }
-               }
-               export class SpontaneousPayment extends LDKPaymentPurpose {
-                       public Uint8Array spontaneous_payment;
-                       SpontaneousPayment(Uint8Array spontaneous_payment) { this.spontaneous_payment = spontaneous_payment; }
-               }
-               static native void init();
-       }
-       static { LDKPaymentPurpose.init(); }
-       public static native LDKPaymentPurpose LDKPaymentPurpose_ref_from_ptr(long ptr);
-       public static class LDKClosureReason {
-               private LDKClosureReason() {}
-               export class CounterpartyForceClosed extends LDKClosureReason {
-                       public String peer_msg;
-                       CounterpartyForceClosed(String peer_msg) { this.peer_msg = peer_msg; }
-               }
-               export class HolderForceClosed extends LDKClosureReason {
-                       HolderForceClosed() { }
-               }
-               export class CooperativeClosure extends LDKClosureReason {
-                       CooperativeClosure() { }
-               }
-               export class CommitmentTxConfirmed extends LDKClosureReason {
-                       CommitmentTxConfirmed() { }
-               }
-               export class ProcessingError extends LDKClosureReason {
-                       public String err;
-                       ProcessingError(String err) { this.err = err; }
-               }
-               export class DisconnectedPeer extends LDKClosureReason {
-                       DisconnectedPeer() { }
-               }
-               export class OutdatedChannelManager extends LDKClosureReason {
-                       OutdatedChannelManager() { }
-               }
-               static native void init();
-       }
-       static { LDKClosureReason.init(); }
-       public static native LDKClosureReason LDKClosureReason_ref_from_ptr(long ptr);
-       public static class LDKEvent {
-               private LDKEvent() {}
-               export class FundingGenerationReady extends LDKEvent {
-                       public Uint8Array temporary_channel_id;
-                       public number channel_value_satoshis;
-                       public Uint8Array output_script;
-                       public number user_channel_id;
-                       FundingGenerationReady(Uint8Array temporary_channel_id, number channel_value_satoshis, Uint8Array output_script, number user_channel_id) { this.temporary_channel_id = temporary_channel_id; this.channel_value_satoshis = channel_value_satoshis; this.output_script = output_script; this.user_channel_id = user_channel_id; }
-               }
-               export class PaymentReceived extends LDKEvent {
-                       public Uint8Array payment_hash;
-                       public number amt;
-                       public number purpose;
-                       PaymentReceived(Uint8Array payment_hash, number amt, number purpose) { this.payment_hash = payment_hash; this.amt = amt; this.purpose = purpose; }
-               }
-               export class PaymentSent extends LDKEvent {
-                       public Uint8Array payment_preimage;
-                       PaymentSent(Uint8Array payment_preimage) { this.payment_preimage = payment_preimage; }
-               }
-               export class PaymentPathFailed extends LDKEvent {
-                       public Uint8Array payment_hash;
-                       public boolean rejected_by_dest;
-                       public number network_update;
-                       public boolean all_paths_failed;
-                       public number[] path;
-                       PaymentPathFailed(Uint8Array payment_hash, boolean rejected_by_dest, number network_update, boolean all_paths_failed, number[] path) { this.payment_hash = payment_hash; this.rejected_by_dest = rejected_by_dest; this.network_update = network_update; this.all_paths_failed = all_paths_failed; this.path = path; }
-               }
-               export class PendingHTLCsForwardable extends LDKEvent {
-                       public number time_forwardable;
-                       PendingHTLCsForwardable(number time_forwardable) { this.time_forwardable = time_forwardable; }
-               }
-               export class SpendableOutputs extends LDKEvent {
-                       public number[] outputs;
-                       SpendableOutputs(number[] outputs) { this.outputs = outputs; }
-               }
-               export class PaymentForwarded extends LDKEvent {
-                       public number fee_earned_msat;
-                       public boolean claim_from_onchain_tx;
-                       PaymentForwarded(number fee_earned_msat, boolean claim_from_onchain_tx) { this.fee_earned_msat = fee_earned_msat; this.claim_from_onchain_tx = claim_from_onchain_tx; }
-               }
-               export class ChannelClosed extends LDKEvent {
-                       public Uint8Array channel_id;
-                       public number reason;
-                       ChannelClosed(Uint8Array channel_id, number reason) { this.channel_id = channel_id; this.reason = reason; }
-               }
-               static native void init();
-       }
-       static { LDKEvent.init(); }
-       public static native LDKEvent LDKEvent_ref_from_ptr(long ptr);
-       public static native long LDKCVec_EventZ_new(number[] elems);
-       public static native long LDKC2Tuple_u32TxOutZ_new(number a, number b);
        // uint32_t C2Tuple_u32TxOutZ_get_a(LDKC2Tuple_u32TxOutZ *NONNULL_PTR tuple);
        export function C2Tuple_u32TxOutZ_get_a(tuple: number): number {
                if(!isWasmInitialized) {
@@ -1358,8 +1390,6 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.C2Tuple_u32TxOutZ_get_b(tuple);
                return nativeResponseValue;
        }
-       public static native long LDKCVec_C2Tuple_u32TxOutZZ_new(number[] elems);
-       public static native long LDKC2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_new(Uint8Array a, number[] b);
        // struct LDKThirtyTwoBytes C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_get_a(LDKC2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ *NONNULL_PTR tuple);
        export function C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_get_a(tuple: number): Uint8Array {
                if(!isWasmInitialized) {
@@ -1376,7 +1406,6 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_get_b(tuple);
                return nativeResponseValue;
        }
-       public static native long LDKCVec_C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZZ_new(number[] elems);
        public static class LDKBalance {
                private LDKBalance() {}
                export class ClaimableOnChannelClose extends LDKBalance {
@@ -1402,14 +1431,10 @@ public static native long new_empty_slice_vec();
        }
        static { LDKBalance.init(); }
        public static native LDKBalance LDKBalance_ref_from_ptr(long ptr);
-       public static native long LDKCVec_BalanceZ_new(number[] elems);
-       public static native boolean LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_NoneLightningErrorZ_result_ok(long arg);
        public static native void LDKCResult_NoneLightningErrorZ_get_ok(long arg);
        public static native number LDKCResult_NoneLightningErrorZ_get_err(long arg);
-       public static native long LDKC2Tuple_PublicKeyTypeZ_new(Uint8Array a, number b);
        // struct LDKPublicKey C2Tuple_PublicKeyTypeZ_get_a(LDKC2Tuple_PublicKeyTypeZ *NONNULL_PTR tuple);
        export function C2Tuple_PublicKeyTypeZ_get_a(tuple: number): Uint8Array {
                if(!isWasmInitialized) {
@@ -1426,11 +1451,8 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.C2Tuple_PublicKeyTypeZ_get_b(tuple);
                return nativeResponseValue;
        }
-       public static native long LDKCVec_C2Tuple_PublicKeyTypeZZ_new(number[] elems);
-       public static native boolean LDKCResult_boolLightningErrorZ_result_ok(long arg);
        public static native boolean LDKCResult_boolLightningErrorZ_get_ok(long arg);
        public static native number LDKCResult_boolLightningErrorZ_get_err(long arg);
-       public static native long LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_new(number a, number b, number c);
        // struct LDKChannelAnnouncement C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_a(LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ *NONNULL_PTR tuple);
        export function C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_a(tuple: number): number {
                if(!isWasmInitialized) {
@@ -1455,17 +1477,16 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_c(tuple);
                return nativeResponseValue;
        }
-       public static native long LDKCVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_new(number[] elems);
-       public static native long LDKCVec_NodeAnnouncementZ_new(number[] elems);
-       public static native boolean LDKCResult_CVec_u8ZPeerHandleErrorZ_result_ok(long arg);
        public static native Uint8Array LDKCResult_CVec_u8ZPeerHandleErrorZ_get_ok(long arg);
        public static native number LDKCResult_CVec_u8ZPeerHandleErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_NonePeerHandleErrorZ_result_ok(long arg);
        public static native void LDKCResult_NonePeerHandleErrorZ_get_ok(long arg);
        public static native number LDKCResult_NonePeerHandleErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_boolPeerHandleErrorZ_result_ok(long arg);
        public static native boolean LDKCResult_boolPeerHandleErrorZ_get_ok(long arg);
        public static native number LDKCResult_boolPeerHandleErrorZ_get_err(long arg);
+       public static native number LDKCResult_NodeIdDecodeErrorZ_get_ok(long arg);
+       public static native number LDKCResult_NodeIdDecodeErrorZ_get_err(long arg);
+       public static native number LDKCResult_COption_NetworkUpdateZDecodeErrorZ_get_ok(long arg);
+       public static native number LDKCResult_COption_NetworkUpdateZDecodeErrorZ_get_err(long arg);
 
 
 
@@ -1503,132 +1524,95 @@ public static native long new_empty_slice_vec();
        }
        static { LDKCOption_AccessZ.init(); }
        public static native LDKCOption_AccessZ LDKCOption_AccessZ_ref_from_ptr(long ptr);
-       public static native boolean LDKCResult_DirectionalChannelInfoDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_DirectionalChannelInfoDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_DirectionalChannelInfoDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ChannelInfoDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ChannelInfoDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ChannelInfoDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_RoutingFeesDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_RoutingFeesDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_RoutingFeesDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_NodeAnnouncementInfoDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_NodeAnnouncementInfoDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_NodeAnnouncementInfoDecodeErrorZ_get_err(long arg);
-       public static native long LDKCVec_u64Z_new(number[] elems);
-       public static native boolean LDKCResult_NodeInfoDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_NodeInfoDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_NodeInfoDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_NetworkGraphDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_NetworkGraphDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_NetworkGraphDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_NetAddressu8Z_result_ok(long arg);
-       public static native number LDKCResult_NetAddressu8Z_get_ok(long arg);
-       public static native number LDKCResult_NetAddressu8Z_get_err(long arg);
-       public static native boolean LDKCResult_CResult_NetAddressu8ZDecodeErrorZ_result_ok(long arg);
-       public static native number LDKCResult_CResult_NetAddressu8ZDecodeErrorZ_get_ok(long arg);
-       public static native number LDKCResult_CResult_NetAddressu8ZDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_NetAddressDecodeErrorZ_result_ok(long arg);
+       public static class LDKCOption_CVec_NetAddressZZ {
+               private LDKCOption_CVec_NetAddressZZ() {}
+               export class Some extends LDKCOption_CVec_NetAddressZZ {
+                       public number[] some;
+                       Some(number[] some) { this.some = some; }
+               }
+               export class None extends LDKCOption_CVec_NetAddressZZ {
+                       None() { }
+               }
+               static native void init();
+       }
+       static { LDKCOption_CVec_NetAddressZZ.init(); }
+       public static native LDKCOption_CVec_NetAddressZZ LDKCOption_CVec_NetAddressZZ_ref_from_ptr(long ptr);
        public static native number LDKCResult_NetAddressDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_NetAddressDecodeErrorZ_get_err(long arg);
-       public static native long LDKCVec_UpdateAddHTLCZ_new(number[] elems);
-       public static native long LDKCVec_UpdateFulfillHTLCZ_new(number[] elems);
-       public static native long LDKCVec_UpdateFailHTLCZ_new(number[] elems);
-       public static native long LDKCVec_UpdateFailMalformedHTLCZ_new(number[] elems);
-       public static native boolean LDKCResult_AcceptChannelDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_AcceptChannelDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_AcceptChannelDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_AnnouncementSignaturesDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_AnnouncementSignaturesDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_AnnouncementSignaturesDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ChannelReestablishDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ChannelReestablishDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ChannelReestablishDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ClosingSignedDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ClosingSignedDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ClosingSignedDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ClosingSignedFeeRangeDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ClosingSignedFeeRangeDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ClosingSignedFeeRangeDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_CommitmentSignedDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_CommitmentSignedDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_CommitmentSignedDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_FundingCreatedDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_FundingCreatedDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_FundingCreatedDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_FundingSignedDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_FundingSignedDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_FundingSignedDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_FundingLockedDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_FundingLockedDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_FundingLockedDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_InitDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_InitDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_InitDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_OpenChannelDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_OpenChannelDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_OpenChannelDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_RevokeAndACKDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_RevokeAndACKDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_RevokeAndACKDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ShutdownDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ShutdownDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ShutdownDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_UpdateFailHTLCDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_UpdateFailHTLCDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_UpdateFailHTLCDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_UpdateFailMalformedHTLCDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_UpdateFailMalformedHTLCDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_UpdateFailMalformedHTLCDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_UpdateFeeDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_UpdateFeeDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_UpdateFeeDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_UpdateFulfillHTLCDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_UpdateFulfillHTLCDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_UpdateFulfillHTLCDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_UpdateAddHTLCDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_UpdateAddHTLCDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_UpdateAddHTLCDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_PingDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_PingDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_PingDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_PongDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_PongDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_PongDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_UnsignedChannelAnnouncementDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_UnsignedChannelAnnouncementDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_UnsignedChannelAnnouncementDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ChannelAnnouncementDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ChannelAnnouncementDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ChannelAnnouncementDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_UnsignedChannelUpdateDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_UnsignedChannelUpdateDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_UnsignedChannelUpdateDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ChannelUpdateDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ChannelUpdateDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ChannelUpdateDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ErrorMessageDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ErrorMessageDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ErrorMessageDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_UnsignedNodeAnnouncementDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_UnsignedNodeAnnouncementDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_UnsignedNodeAnnouncementDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_NodeAnnouncementDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_NodeAnnouncementDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_NodeAnnouncementDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_QueryShortChannelIdsDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_QueryShortChannelIdsDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_QueryShortChannelIdsDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ReplyShortChannelIdsEndDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ReplyShortChannelIdsEndDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ReplyShortChannelIdsEndDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_QueryChannelRangeDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_QueryChannelRangeDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_QueryChannelRangeDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_ReplyChannelRangeDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_ReplyChannelRangeDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_ReplyChannelRangeDecodeErrorZ_get_err(long arg);
-       public static native boolean LDKCResult_GossipTimestampFilterDecodeErrorZ_result_ok(long arg);
        public static native number LDKCResult_GossipTimestampFilterDecodeErrorZ_get_ok(long arg);
        public static native number LDKCResult_GossipTimestampFilterDecodeErrorZ_get_err(long arg);
        public static class LDKSignOrCreationError {
@@ -1644,7 +1628,6 @@ public static native long new_empty_slice_vec();
        }
        static { LDKSignOrCreationError.init(); }
        public static native LDKSignOrCreationError LDKSignOrCreationError_ref_from_ptr(long ptr);
-       public static native boolean LDKCResult_InvoiceSignOrCreationErrorZ_result_ok(long arg);
        public static native number LDKCResult_InvoiceSignOrCreationErrorZ_get_ok(long arg);
        public static native number LDKCResult_InvoiceSignOrCreationErrorZ_get_err(long arg);
 
@@ -1693,6 +1676,8 @@ public static native long new_empty_slice_vec();
        }
        static { LDKCOption_FilterZ.init(); }
        public static native LDKCOption_FilterZ LDKCOption_FilterZ_ref_from_ptr(long ptr);
+       public static native number LDKCResult_LockedChannelMonitorNoneZ_get_ok(long arg);
+       public static native void LDKCResult_LockedChannelMonitorNoneZ_get_err(long arg);
 
 
 
@@ -1855,8 +1840,8 @@ public static native long new_empty_slice_vec();
 // OUT_TYPESCRIPT_BINDINGS :: MAP_TRAIT :: START
 
                export interface LDKPersist {
-                       persist_new_channel (id: number, data: number): number;
-                       update_persisted_channel (id: number, update: number, data: number): number;
+                       persist_new_channel (channel_id: number, data: number, update_id: number): number;
+                       update_persisted_channel (channel_id: number, update: number, data: number, update_id: number): number;
                }
 
                export function LDKPersist_new(impl: LDKPersist): number {
@@ -1866,20 +1851,20 @@ public static native long new_empty_slice_vec();
 // OUT_TYPESCRIPT_BINDINGS :: MAP_TRAIT :: END
 
 
-       // LDKCResult_NoneChannelMonitorUpdateErrZ Persist_persist_new_channel LDKPersist *NONNULL_PTR this_arg, struct LDKOutPoint id, const struct LDKChannelMonitor *NONNULL_PTR data
-       export function Persist_persist_new_channel(this_arg: number, id: number, data: number): number {
+       // LDKCResult_NoneChannelMonitorUpdateErrZ Persist_persist_new_channel LDKPersist *NONNULL_PTR this_arg, struct LDKOutPoint channel_id, const struct LDKChannelMonitor *NONNULL_PTR data, struct LDKMonitorUpdateId update_id
+       export function Persist_persist_new_channel(this_arg: number, channel_id: number, data: number, update_id: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Persist_persist_new_channel(this_arg, id, data);
+               const nativeResponseValue = wasm.Persist_persist_new_channel(this_arg, channel_id, data, update_id);
                return nativeResponseValue;
        }
-       // LDKCResult_NoneChannelMonitorUpdateErrZ Persist_update_persisted_channel LDKPersist *NONNULL_PTR this_arg, struct LDKOutPoint id, const struct LDKChannelMonitorUpdate *NONNULL_PTR update, const struct LDKChannelMonitor *NONNULL_PTR data
-       export function Persist_update_persisted_channel(this_arg: number, id: number, update: number, data: number): number {
+       // LDKCResult_NoneChannelMonitorUpdateErrZ Persist_update_persisted_channel LDKPersist *NONNULL_PTR this_arg, struct LDKOutPoint channel_id, const struct LDKChannelMonitorUpdate *NONNULL_PTR update, const struct LDKChannelMonitor *NONNULL_PTR data, struct LDKMonitorUpdateId update_id
+       export function Persist_update_persisted_channel(this_arg: number, channel_id: number, update: number, data: number, update_id: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Persist_update_persisted_channel(this_arg, id, update, data);
+               const nativeResponseValue = wasm.Persist_update_persisted_channel(this_arg, channel_id, update, data, update_id);
                return nativeResponseValue;
        }
 
@@ -2287,44 +2272,161 @@ public static native long new_empty_slice_vec();
 
 // OUT_TYPESCRIPT_BINDINGS :: MAP_TRAIT :: START
 
-               export interface LDKChannelManagerPersister {
-                       persist_manager (channel_manager: number): number;
+               export interface LDKScore {
+                       channel_penalty_msat (short_channel_id: number, source: number, target: number): number;
+                       payment_path_failed (path: number[], short_channel_id: number): void;
+                       write (): Uint8Array;
                }
 
-               export function LDKChannelManagerPersister_new(impl: LDKChannelManagerPersister): number {
+               export function LDKScore_new(impl: LDKScore): number {
             throw new Error('unimplemented'); // TODO: bind to WASM
         }
 
 // OUT_TYPESCRIPT_BINDINGS :: MAP_TRAIT :: END
 
 
-       // LDKCResult_NoneErrorZ ChannelManagerPersister_persist_manager LDKChannelManagerPersister *NONNULL_PTR this_arg, const struct LDKChannelManager *NONNULL_PTR channel_manager
-       export function ChannelManagerPersister_persist_manager(this_arg: number, channel_manager: number): number {
+       // uint64_t Score_channel_penalty_msat LDKScore *NONNULL_PTR this_arg, uint64_t short_channel_id, const struct LDKNodeId *NONNULL_PTR source, const struct LDKNodeId *NONNULL_PTR target
+       export function Score_channel_penalty_msat(this_arg: number, short_channel_id: number, source: number, target: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelManagerPersister_persist_manager(this_arg, channel_manager);
+               const nativeResponseValue = wasm.Score_channel_penalty_msat(this_arg, short_channel_id, source, target);
                return nativeResponseValue;
        }
-       public static class LDKFallback {
-               private LDKFallback() {}
-               export class SegWitProgram extends LDKFallback {
-                       public number version;
-                       public Uint8Array program;
-                       SegWitProgram(number version, Uint8Array program) { this.version = version; this.program = program; }
-               }
-               export class PubKeyHash extends LDKFallback {
-                       public Uint8Array pub_key_hash;
-                       PubKeyHash(Uint8Array pub_key_hash) { this.pub_key_hash = pub_key_hash; }
-               }
-               export class ScriptHash extends LDKFallback {
-                       public Uint8Array script_hash;
-                       ScriptHash(Uint8Array script_hash) { this.script_hash = script_hash; }
+       // void Score_payment_path_failed LDKScore *NONNULL_PTR this_arg, struct LDKCVec_RouteHopZ path, uint64_t short_channel_id
+       export function Score_payment_path_failed(this_arg: number, path: number[], short_channel_id: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
                }
-               static native void init();
+               const nativeResponseValue = wasm.Score_payment_path_failed(this_arg, path, short_channel_id);
+               // debug statements here
        }
-       static { LDKFallback.init(); }
+       // LDKCVec_u8Z Score_write LDKScore *NONNULL_PTR this_arg
+       export function Score_write(this_arg: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Score_write(this_arg);
+               return decodeArray(nativeResponseValue);
+       }
+
+
+
+// OUT_TYPESCRIPT_BINDINGS :: MAP_TRAIT :: START
+
+               export interface LDKChannelManagerPersister {
+                       persist_manager (channel_manager: number): number;
+               }
+
+               export function LDKChannelManagerPersister_new(impl: LDKChannelManagerPersister): number {
+            throw new Error('unimplemented'); // TODO: bind to WASM
+        }
+
+// OUT_TYPESCRIPT_BINDINGS :: MAP_TRAIT :: END
+
+
+       // LDKCResult_NoneErrorZ ChannelManagerPersister_persist_manager LDKChannelManagerPersister *NONNULL_PTR this_arg, const struct LDKChannelManager *NONNULL_PTR channel_manager
+       export function ChannelManagerPersister_persist_manager(this_arg: number, channel_manager: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelManagerPersister_persist_manager(this_arg, channel_manager);
+               return nativeResponseValue;
+       }
+       public static class LDKFallback {
+               private LDKFallback() {}
+               export class SegWitProgram extends LDKFallback {
+                       public number version;
+                       public Uint8Array program;
+                       SegWitProgram(number version, Uint8Array program) { this.version = version; this.program = program; }
+               }
+               export class PubKeyHash extends LDKFallback {
+                       public Uint8Array pub_key_hash;
+                       PubKeyHash(Uint8Array pub_key_hash) { this.pub_key_hash = pub_key_hash; }
+               }
+               export class ScriptHash extends LDKFallback {
+                       public Uint8Array script_hash;
+                       ScriptHash(Uint8Array script_hash) { this.script_hash = script_hash; }
+               }
+               static native void init();
+       }
+       static { LDKFallback.init(); }
        public static native LDKFallback LDKFallback_ref_from_ptr(long ptr);
+
+
+
+// OUT_TYPESCRIPT_BINDINGS :: MAP_TRAIT :: START
+
+               export interface LDKPayer {
+                       node_id (): Uint8Array;
+                       first_hops (): number[];
+                       send_payment (route: number, payment_hash: Uint8Array, payment_secret: Uint8Array): number;
+                       retry_payment (route: number, payment_id: Uint8Array): number;
+               }
+
+               export function LDKPayer_new(impl: LDKPayer): number {
+            throw new Error('unimplemented'); // TODO: bind to WASM
+        }
+
+// OUT_TYPESCRIPT_BINDINGS :: MAP_TRAIT :: END
+
+
+       // LDKPublicKey Payer_node_id LDKPayer *NONNULL_PTR this_arg
+       export function Payer_node_id(this_arg: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Payer_node_id(this_arg);
+               return decodeArray(nativeResponseValue);
+       }
+       // LDKCVec_ChannelDetailsZ Payer_first_hops LDKPayer *NONNULL_PTR this_arg
+       export function Payer_first_hops(this_arg: number): number[] {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Payer_first_hops(this_arg);
+               return nativeResponseValue;
+       }
+       // LDKCResult_PaymentIdPaymentSendFailureZ Payer_send_payment LDKPayer *NONNULL_PTR this_arg, const struct LDKRoute *NONNULL_PTR route, struct LDKThirtyTwoBytes payment_hash, struct LDKThirtyTwoBytes payment_secret
+       export function Payer_send_payment(this_arg: number, route: number, payment_hash: Uint8Array, payment_secret: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Payer_send_payment(this_arg, route, encodeArray(payment_hash), encodeArray(payment_secret));
+               return nativeResponseValue;
+       }
+       // LDKCResult_NonePaymentSendFailureZ Payer_retry_payment LDKPayer *NONNULL_PTR this_arg, const struct LDKRoute *NONNULL_PTR route, struct LDKThirtyTwoBytes payment_id
+       export function Payer_retry_payment(this_arg: number, route: number, payment_id: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Payer_retry_payment(this_arg, route, encodeArray(payment_id));
+               return nativeResponseValue;
+       }
+
+
+
+// OUT_TYPESCRIPT_BINDINGS :: MAP_TRAIT :: START
+
+               export interface LDKRouter {
+                       find_route (payer: Uint8Array, params: number, first_hops: number[], scorer: number): number;
+               }
+
+               export function LDKRouter_new(impl: LDKRouter): number {
+            throw new Error('unimplemented'); // TODO: bind to WASM
+        }
+
+// OUT_TYPESCRIPT_BINDINGS :: MAP_TRAIT :: END
+
+
+       // LDKCResult_RouteLightningErrorZ Router_find_route LDKRouter *NONNULL_PTR this_arg, struct LDKPublicKey payer, const struct LDKRouteParameters *NONNULL_PTR params, struct LDKCVec_ChannelDetailsZ *first_hops, const struct LDKScore *NONNULL_PTR scorer
+       export function Router_find_route(this_arg: number, payer: Uint8Array, params: number, first_hops: number[], scorer: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Router_find_route(this_arg, encodeArray(payer), params, first_hops, scorer);
+               return nativeResponseValue;
+       }
        // struct LDKStr _ldk_get_compiled_version(void);
        export function _ldk_get_compiled_version(): String {
                if(!isWasmInitialized) {
@@ -2365,6 +2467,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.TxOut_free(_res);
                // debug statements here
        }
+       // uint64_t TxOut_clone_ptr(LDKTxOut *NONNULL_PTR arg);
+       export function TxOut_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.TxOut_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKTxOut TxOut_clone(const struct LDKTxOut *NONNULL_PTR orig);
        export function TxOut_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2397,6 +2507,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_SecretKeyErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_SecretKeyErrorZ_is_ok(const struct LDKCResult_SecretKeyErrorZ *NONNULL_PTR o);
+       export function CResult_SecretKeyErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_SecretKeyErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_SecretKeyErrorZ_free(struct LDKCResult_SecretKeyErrorZ _res);
        export function CResult_SecretKeyErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2421,6 +2539,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_PublicKeyErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_PublicKeyErrorZ_is_ok(const struct LDKCResult_PublicKeyErrorZ *NONNULL_PTR o);
+       export function CResult_PublicKeyErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PublicKeyErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_PublicKeyErrorZ_free(struct LDKCResult_PublicKeyErrorZ _res);
        export function CResult_PublicKeyErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2429,6 +2555,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_PublicKeyErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_PublicKeyErrorZ_clone_ptr(LDKCResult_PublicKeyErrorZ *NONNULL_PTR arg);
+       export function CResult_PublicKeyErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PublicKeyErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_PublicKeyErrorZ CResult_PublicKeyErrorZ_clone(const struct LDKCResult_PublicKeyErrorZ *NONNULL_PTR orig);
        export function CResult_PublicKeyErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2453,6 +2587,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_TxCreationKeysDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_TxCreationKeysDecodeErrorZ_is_ok(const struct LDKCResult_TxCreationKeysDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_TxCreationKeysDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_TxCreationKeysDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_TxCreationKeysDecodeErrorZ_free(struct LDKCResult_TxCreationKeysDecodeErrorZ _res);
        export function CResult_TxCreationKeysDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2461,6 +2603,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_TxCreationKeysDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_TxCreationKeysDecodeErrorZ_clone_ptr(LDKCResult_TxCreationKeysDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_TxCreationKeysDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_TxCreationKeysDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_TxCreationKeysDecodeErrorZ CResult_TxCreationKeysDecodeErrorZ_clone(const struct LDKCResult_TxCreationKeysDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_TxCreationKeysDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2485,6 +2635,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelPublicKeysDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ChannelPublicKeysDecodeErrorZ_is_ok(const struct LDKCResult_ChannelPublicKeysDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ChannelPublicKeysDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelPublicKeysDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ChannelPublicKeysDecodeErrorZ_free(struct LDKCResult_ChannelPublicKeysDecodeErrorZ _res);
        export function CResult_ChannelPublicKeysDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2493,6 +2651,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelPublicKeysDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ChannelPublicKeysDecodeErrorZ_clone_ptr(LDKCResult_ChannelPublicKeysDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ChannelPublicKeysDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelPublicKeysDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ChannelPublicKeysDecodeErrorZ CResult_ChannelPublicKeysDecodeErrorZ_clone(const struct LDKCResult_ChannelPublicKeysDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ChannelPublicKeysDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2517,6 +2683,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_TxCreationKeysErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_TxCreationKeysErrorZ_is_ok(const struct LDKCResult_TxCreationKeysErrorZ *NONNULL_PTR o);
+       export function CResult_TxCreationKeysErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_TxCreationKeysErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_TxCreationKeysErrorZ_free(struct LDKCResult_TxCreationKeysErrorZ _res);
        export function CResult_TxCreationKeysErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2525,6 +2699,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_TxCreationKeysErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_TxCreationKeysErrorZ_clone_ptr(LDKCResult_TxCreationKeysErrorZ *NONNULL_PTR arg);
+       export function CResult_TxCreationKeysErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_TxCreationKeysErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_TxCreationKeysErrorZ CResult_TxCreationKeysErrorZ_clone(const struct LDKCResult_TxCreationKeysErrorZ *NONNULL_PTR orig);
        export function CResult_TxCreationKeysErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2557,6 +2739,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.COption_u32Z_free(_res);
                // debug statements here
        }
+       // uint64_t COption_u32Z_clone_ptr(LDKCOption_u32Z *NONNULL_PTR arg);
+       export function COption_u32Z_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_u32Z_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCOption_u32Z COption_u32Z_clone(const struct LDKCOption_u32Z *NONNULL_PTR orig);
        export function COption_u32Z_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2581,6 +2771,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_HTLCOutputInCommitmentDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_HTLCOutputInCommitmentDecodeErrorZ_is_ok(const struct LDKCResult_HTLCOutputInCommitmentDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_HTLCOutputInCommitmentDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_HTLCOutputInCommitmentDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_HTLCOutputInCommitmentDecodeErrorZ_free(struct LDKCResult_HTLCOutputInCommitmentDecodeErrorZ _res);
        export function CResult_HTLCOutputInCommitmentDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2589,6 +2787,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_HTLCOutputInCommitmentDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_HTLCOutputInCommitmentDecodeErrorZ_clone_ptr(LDKCResult_HTLCOutputInCommitmentDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_HTLCOutputInCommitmentDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_HTLCOutputInCommitmentDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_HTLCOutputInCommitmentDecodeErrorZ CResult_HTLCOutputInCommitmentDecodeErrorZ_clone(const struct LDKCResult_HTLCOutputInCommitmentDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_HTLCOutputInCommitmentDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2613,6 +2819,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_is_ok(const struct LDKCResult_CounterpartyChannelTransactionParametersDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_free(struct LDKCResult_CounterpartyChannelTransactionParametersDecodeErrorZ _res);
        export function CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2621,6 +2835,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_clone_ptr(LDKCResult_CounterpartyChannelTransactionParametersDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_CounterpartyChannelTransactionParametersDecodeErrorZ CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_clone(const struct LDKCResult_CounterpartyChannelTransactionParametersDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_CounterpartyChannelTransactionParametersDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2645,6 +2867,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelTransactionParametersDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ChannelTransactionParametersDecodeErrorZ_is_ok(const struct LDKCResult_ChannelTransactionParametersDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ChannelTransactionParametersDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelTransactionParametersDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ChannelTransactionParametersDecodeErrorZ_free(struct LDKCResult_ChannelTransactionParametersDecodeErrorZ _res);
        export function CResult_ChannelTransactionParametersDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2653,6 +2883,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelTransactionParametersDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ChannelTransactionParametersDecodeErrorZ_clone_ptr(LDKCResult_ChannelTransactionParametersDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ChannelTransactionParametersDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelTransactionParametersDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ChannelTransactionParametersDecodeErrorZ CResult_ChannelTransactionParametersDecodeErrorZ_clone(const struct LDKCResult_ChannelTransactionParametersDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ChannelTransactionParametersDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2685,6 +2923,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_HolderCommitmentTransactionDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_HolderCommitmentTransactionDecodeErrorZ_is_ok(const struct LDKCResult_HolderCommitmentTransactionDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_HolderCommitmentTransactionDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_HolderCommitmentTransactionDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_HolderCommitmentTransactionDecodeErrorZ_free(struct LDKCResult_HolderCommitmentTransactionDecodeErrorZ _res);
        export function CResult_HolderCommitmentTransactionDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2693,6 +2939,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_HolderCommitmentTransactionDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_HolderCommitmentTransactionDecodeErrorZ_clone_ptr(LDKCResult_HolderCommitmentTransactionDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_HolderCommitmentTransactionDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_HolderCommitmentTransactionDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_HolderCommitmentTransactionDecodeErrorZ CResult_HolderCommitmentTransactionDecodeErrorZ_clone(const struct LDKCResult_HolderCommitmentTransactionDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_HolderCommitmentTransactionDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2717,6 +2971,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_BuiltCommitmentTransactionDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_BuiltCommitmentTransactionDecodeErrorZ_is_ok(const struct LDKCResult_BuiltCommitmentTransactionDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_BuiltCommitmentTransactionDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_BuiltCommitmentTransactionDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_BuiltCommitmentTransactionDecodeErrorZ_free(struct LDKCResult_BuiltCommitmentTransactionDecodeErrorZ _res);
        export function CResult_BuiltCommitmentTransactionDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2725,6 +2987,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_BuiltCommitmentTransactionDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_BuiltCommitmentTransactionDecodeErrorZ_clone_ptr(LDKCResult_BuiltCommitmentTransactionDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_BuiltCommitmentTransactionDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_BuiltCommitmentTransactionDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_BuiltCommitmentTransactionDecodeErrorZ CResult_BuiltCommitmentTransactionDecodeErrorZ_clone(const struct LDKCResult_BuiltCommitmentTransactionDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_BuiltCommitmentTransactionDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2749,6 +3019,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_TrustedClosingTransactionNoneZ_err();
                return nativeResponseValue;
        }
+       // bool CResult_TrustedClosingTransactionNoneZ_is_ok(const struct LDKCResult_TrustedClosingTransactionNoneZ *NONNULL_PTR o);
+       export function CResult_TrustedClosingTransactionNoneZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_TrustedClosingTransactionNoneZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_TrustedClosingTransactionNoneZ_free(struct LDKCResult_TrustedClosingTransactionNoneZ _res);
        export function CResult_TrustedClosingTransactionNoneZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2773,6 +3051,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_CommitmentTransactionDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_CommitmentTransactionDecodeErrorZ_is_ok(const struct LDKCResult_CommitmentTransactionDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_CommitmentTransactionDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_CommitmentTransactionDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_CommitmentTransactionDecodeErrorZ_free(struct LDKCResult_CommitmentTransactionDecodeErrorZ _res);
        export function CResult_CommitmentTransactionDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2781,6 +3067,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_CommitmentTransactionDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_CommitmentTransactionDecodeErrorZ_clone_ptr(LDKCResult_CommitmentTransactionDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_CommitmentTransactionDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_CommitmentTransactionDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_CommitmentTransactionDecodeErrorZ CResult_CommitmentTransactionDecodeErrorZ_clone(const struct LDKCResult_CommitmentTransactionDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_CommitmentTransactionDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2805,6 +3099,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_TrustedCommitmentTransactionNoneZ_err();
                return nativeResponseValue;
        }
+       // bool CResult_TrustedCommitmentTransactionNoneZ_is_ok(const struct LDKCResult_TrustedCommitmentTransactionNoneZ *NONNULL_PTR o);
+       export function CResult_TrustedCommitmentTransactionNoneZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_TrustedCommitmentTransactionNoneZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_TrustedCommitmentTransactionNoneZ_free(struct LDKCResult_TrustedCommitmentTransactionNoneZ _res);
        export function CResult_TrustedCommitmentTransactionNoneZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2829,6 +3131,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_CVec_SignatureZNoneZ_err();
                return nativeResponseValue;
        }
+       // bool CResult_CVec_SignatureZNoneZ_is_ok(const struct LDKCResult_CVec_SignatureZNoneZ *NONNULL_PTR o);
+       export function CResult_CVec_SignatureZNoneZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_CVec_SignatureZNoneZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_CVec_SignatureZNoneZ_free(struct LDKCResult_CVec_SignatureZNoneZ _res);
        export function CResult_CVec_SignatureZNoneZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2837,6 +3147,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_CVec_SignatureZNoneZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_CVec_SignatureZNoneZ_clone_ptr(LDKCResult_CVec_SignatureZNoneZ *NONNULL_PTR arg);
+       export function CResult_CVec_SignatureZNoneZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_CVec_SignatureZNoneZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_CVec_SignatureZNoneZ CResult_CVec_SignatureZNoneZ_clone(const struct LDKCResult_CVec_SignatureZNoneZ *NONNULL_PTR orig);
        export function CResult_CVec_SignatureZNoneZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2861,6 +3179,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ShutdownScriptDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ShutdownScriptDecodeErrorZ_is_ok(const struct LDKCResult_ShutdownScriptDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ShutdownScriptDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ShutdownScriptDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ShutdownScriptDecodeErrorZ_free(struct LDKCResult_ShutdownScriptDecodeErrorZ _res);
        export function CResult_ShutdownScriptDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2869,6 +3195,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ShutdownScriptDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ShutdownScriptDecodeErrorZ_clone_ptr(LDKCResult_ShutdownScriptDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ShutdownScriptDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ShutdownScriptDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ShutdownScriptDecodeErrorZ CResult_ShutdownScriptDecodeErrorZ_clone(const struct LDKCResult_ShutdownScriptDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ShutdownScriptDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2893,6 +3227,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ShutdownScriptInvalidShutdownScriptZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ShutdownScriptInvalidShutdownScriptZ_is_ok(const struct LDKCResult_ShutdownScriptInvalidShutdownScriptZ *NONNULL_PTR o);
+       export function CResult_ShutdownScriptInvalidShutdownScriptZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ShutdownScriptInvalidShutdownScriptZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ShutdownScriptInvalidShutdownScriptZ_free(struct LDKCResult_ShutdownScriptInvalidShutdownScriptZ _res);
        export function CResult_ShutdownScriptInvalidShutdownScriptZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2901,30 +3243,62 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ShutdownScriptInvalidShutdownScriptZ_free(_res);
                // debug statements here
        }
-       // struct LDKCResult_NoneErrorZ CResult_NoneErrorZ_ok(void);
-       export function CResult_NoneErrorZ_ok(): number {
+       // uint64_t CResult_ShutdownScriptInvalidShutdownScriptZ_clone_ptr(LDKCResult_ShutdownScriptInvalidShutdownScriptZ *NONNULL_PTR arg);
+       export function CResult_ShutdownScriptInvalidShutdownScriptZ_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_NoneErrorZ_ok();
+               const nativeResponseValue = wasm.CResult_ShutdownScriptInvalidShutdownScriptZ_clone_ptr(arg);
                return nativeResponseValue;
        }
-       // struct LDKCResult_NoneErrorZ CResult_NoneErrorZ_err(enum LDKIOError e);
-       export function CResult_NoneErrorZ_err(e: IOError): number {
+       // struct LDKCResult_ShutdownScriptInvalidShutdownScriptZ CResult_ShutdownScriptInvalidShutdownScriptZ_clone(const struct LDKCResult_ShutdownScriptInvalidShutdownScriptZ *NONNULL_PTR orig);
+       export function CResult_ShutdownScriptInvalidShutdownScriptZ_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_NoneErrorZ_err(e);
+               const nativeResponseValue = wasm.CResult_ShutdownScriptInvalidShutdownScriptZ_clone(orig);
                return nativeResponseValue;
        }
-       // void CResult_NoneErrorZ_free(struct LDKCResult_NoneErrorZ _res);
-       export function CResult_NoneErrorZ_free(_res: number): void {
+       // struct LDKCResult_NoneErrorZ CResult_NoneErrorZ_ok(void);
+       export function CResult_NoneErrorZ_ok(): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneErrorZ_ok();
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_NoneErrorZ CResult_NoneErrorZ_err(enum LDKIOError e);
+       export function CResult_NoneErrorZ_err(e: IOError): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneErrorZ_err(e);
+               return nativeResponseValue;
+       }
+       // bool CResult_NoneErrorZ_is_ok(const struct LDKCResult_NoneErrorZ *NONNULL_PTR o);
+       export function CResult_NoneErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_NoneErrorZ_free(struct LDKCResult_NoneErrorZ _res);
+       export function CResult_NoneErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
                const nativeResponseValue = wasm.CResult_NoneErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_NoneErrorZ_clone_ptr(LDKCResult_NoneErrorZ *NONNULL_PTR arg);
+       export function CResult_NoneErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_NoneErrorZ CResult_NoneErrorZ_clone(const struct LDKCResult_NoneErrorZ *NONNULL_PTR orig);
        export function CResult_NoneErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2949,6 +3323,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_RouteHopDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_RouteHopDecodeErrorZ_is_ok(const struct LDKCResult_RouteHopDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_RouteHopDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteHopDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_RouteHopDecodeErrorZ_free(struct LDKCResult_RouteHopDecodeErrorZ _res);
        export function CResult_RouteHopDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -2957,6 +3339,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_RouteHopDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_RouteHopDecodeErrorZ_clone_ptr(LDKCResult_RouteHopDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_RouteHopDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteHopDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_RouteHopDecodeErrorZ CResult_RouteHopDecodeErrorZ_clone(const struct LDKCResult_RouteHopDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_RouteHopDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -2997,6 +3387,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_RouteDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_RouteDecodeErrorZ_is_ok(const struct LDKCResult_RouteDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_RouteDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_RouteDecodeErrorZ_free(struct LDKCResult_RouteDecodeErrorZ _res);
        export function CResult_RouteDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3005,6 +3403,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_RouteDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_RouteDecodeErrorZ_clone_ptr(LDKCResult_RouteDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_RouteDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_RouteDecodeErrorZ CResult_RouteDecodeErrorZ_clone(const struct LDKCResult_RouteDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_RouteDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3013,6 +3419,62 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_RouteDecodeErrorZ_clone(orig);
                return nativeResponseValue;
        }
+       // struct LDKCResult_RouteParametersDecodeErrorZ CResult_RouteParametersDecodeErrorZ_ok(struct LDKRouteParameters o);
+       export function CResult_RouteParametersDecodeErrorZ_ok(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteParametersDecodeErrorZ_ok(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_RouteParametersDecodeErrorZ CResult_RouteParametersDecodeErrorZ_err(struct LDKDecodeError e);
+       export function CResult_RouteParametersDecodeErrorZ_err(e: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteParametersDecodeErrorZ_err(e);
+               return nativeResponseValue;
+       }
+       // bool CResult_RouteParametersDecodeErrorZ_is_ok(const struct LDKCResult_RouteParametersDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_RouteParametersDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteParametersDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_RouteParametersDecodeErrorZ_free(struct LDKCResult_RouteParametersDecodeErrorZ _res);
+       export function CResult_RouteParametersDecodeErrorZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteParametersDecodeErrorZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t CResult_RouteParametersDecodeErrorZ_clone_ptr(LDKCResult_RouteParametersDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_RouteParametersDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteParametersDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_RouteParametersDecodeErrorZ CResult_RouteParametersDecodeErrorZ_clone(const struct LDKCResult_RouteParametersDecodeErrorZ *NONNULL_PTR orig);
+       export function CResult_RouteParametersDecodeErrorZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteParametersDecodeErrorZ_clone(orig);
+               return nativeResponseValue;
+       }
+       // void CVec_RouteHintZ_free(struct LDKCVec_RouteHintZ _res);
+       export function CVec_RouteHintZ_free(_res: number[]): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CVec_RouteHintZ_free(_res);
+               // debug statements here
+       }
        // struct LDKCOption_u64Z COption_u64Z_some(uint64_t o);
        export function COption_u64Z_some(o: number): number {
                if(!isWasmInitialized) {
@@ -3037,6 +3499,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.COption_u64Z_free(_res);
                // debug statements here
        }
+       // uint64_t COption_u64Z_clone_ptr(LDKCOption_u64Z *NONNULL_PTR arg);
+       export function COption_u64Z_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_u64Z_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCOption_u64Z COption_u64Z_clone(const struct LDKCOption_u64Z *NONNULL_PTR orig);
        export function COption_u64Z_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3045,20 +3515,164 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.COption_u64Z_clone(orig);
                return nativeResponseValue;
        }
-       // void CVec_ChannelDetailsZ_free(struct LDKCVec_ChannelDetailsZ _res);
-       export function CVec_ChannelDetailsZ_free(_res: number[]): void {
+       // struct LDKCResult_PayeeDecodeErrorZ CResult_PayeeDecodeErrorZ_ok(struct LDKPayee o);
+       export function CResult_PayeeDecodeErrorZ_ok(o: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CVec_ChannelDetailsZ_free(_res);
+               const nativeResponseValue = wasm.CResult_PayeeDecodeErrorZ_ok(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_PayeeDecodeErrorZ CResult_PayeeDecodeErrorZ_err(struct LDKDecodeError e);
+       export function CResult_PayeeDecodeErrorZ_err(e: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PayeeDecodeErrorZ_err(e);
+               return nativeResponseValue;
+       }
+       // bool CResult_PayeeDecodeErrorZ_is_ok(const struct LDKCResult_PayeeDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_PayeeDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PayeeDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_PayeeDecodeErrorZ_free(struct LDKCResult_PayeeDecodeErrorZ _res);
+       export function CResult_PayeeDecodeErrorZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PayeeDecodeErrorZ_free(_res);
                // debug statements here
        }
-       // void CVec_RouteHintZ_free(struct LDKCVec_RouteHintZ _res);
-       export function CVec_RouteHintZ_free(_res: number[]): void {
+       // uint64_t CResult_PayeeDecodeErrorZ_clone_ptr(LDKCResult_PayeeDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_PayeeDecodeErrorZ_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CVec_RouteHintZ_free(_res);
+               const nativeResponseValue = wasm.CResult_PayeeDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_PayeeDecodeErrorZ CResult_PayeeDecodeErrorZ_clone(const struct LDKCResult_PayeeDecodeErrorZ *NONNULL_PTR orig);
+       export function CResult_PayeeDecodeErrorZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PayeeDecodeErrorZ_clone(orig);
+               return nativeResponseValue;
+       }
+       // void CVec_RouteHintHopZ_free(struct LDKCVec_RouteHintHopZ _res);
+       export function CVec_RouteHintHopZ_free(_res: number[]): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CVec_RouteHintHopZ_free(_res);
+               // debug statements here
+       }
+       // struct LDKCResult_RouteHintDecodeErrorZ CResult_RouteHintDecodeErrorZ_ok(struct LDKRouteHint o);
+       export function CResult_RouteHintDecodeErrorZ_ok(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteHintDecodeErrorZ_ok(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_RouteHintDecodeErrorZ CResult_RouteHintDecodeErrorZ_err(struct LDKDecodeError e);
+       export function CResult_RouteHintDecodeErrorZ_err(e: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteHintDecodeErrorZ_err(e);
+               return nativeResponseValue;
+       }
+       // bool CResult_RouteHintDecodeErrorZ_is_ok(const struct LDKCResult_RouteHintDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_RouteHintDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteHintDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_RouteHintDecodeErrorZ_free(struct LDKCResult_RouteHintDecodeErrorZ _res);
+       export function CResult_RouteHintDecodeErrorZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteHintDecodeErrorZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t CResult_RouteHintDecodeErrorZ_clone_ptr(LDKCResult_RouteHintDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_RouteHintDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteHintDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_RouteHintDecodeErrorZ CResult_RouteHintDecodeErrorZ_clone(const struct LDKCResult_RouteHintDecodeErrorZ *NONNULL_PTR orig);
+       export function CResult_RouteHintDecodeErrorZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteHintDecodeErrorZ_clone(orig);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_RouteHintHopDecodeErrorZ CResult_RouteHintHopDecodeErrorZ_ok(struct LDKRouteHintHop o);
+       export function CResult_RouteHintHopDecodeErrorZ_ok(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteHintHopDecodeErrorZ_ok(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_RouteHintHopDecodeErrorZ CResult_RouteHintHopDecodeErrorZ_err(struct LDKDecodeError e);
+       export function CResult_RouteHintHopDecodeErrorZ_err(e: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteHintHopDecodeErrorZ_err(e);
+               return nativeResponseValue;
+       }
+       // bool CResult_RouteHintHopDecodeErrorZ_is_ok(const struct LDKCResult_RouteHintHopDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_RouteHintHopDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteHintHopDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_RouteHintHopDecodeErrorZ_free(struct LDKCResult_RouteHintHopDecodeErrorZ _res);
+       export function CResult_RouteHintHopDecodeErrorZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteHintHopDecodeErrorZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t CResult_RouteHintHopDecodeErrorZ_clone_ptr(LDKCResult_RouteHintHopDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_RouteHintHopDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteHintHopDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_RouteHintHopDecodeErrorZ CResult_RouteHintHopDecodeErrorZ_clone(const struct LDKCResult_RouteHintHopDecodeErrorZ *NONNULL_PTR orig);
+       export function CResult_RouteHintHopDecodeErrorZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteHintHopDecodeErrorZ_clone(orig);
+               return nativeResponseValue;
+       }
+       // void CVec_ChannelDetailsZ_free(struct LDKCVec_ChannelDetailsZ _res);
+       export function CVec_ChannelDetailsZ_free(_res: number[]): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CVec_ChannelDetailsZ_free(_res);
                // debug statements here
        }
        // struct LDKCResult_RouteLightningErrorZ CResult_RouteLightningErrorZ_ok(struct LDKRoute o);
@@ -3077,6 +3691,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_RouteLightningErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_RouteLightningErrorZ_is_ok(const struct LDKCResult_RouteLightningErrorZ *NONNULL_PTR o);
+       export function CResult_RouteLightningErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteLightningErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_RouteLightningErrorZ_free(struct LDKCResult_RouteLightningErrorZ _res);
        export function CResult_RouteLightningErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3085,6 +3707,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_RouteLightningErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_RouteLightningErrorZ_clone_ptr(LDKCResult_RouteLightningErrorZ *NONNULL_PTR arg);
+       export function CResult_RouteLightningErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RouteLightningErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_RouteLightningErrorZ CResult_RouteLightningErrorZ_clone(const struct LDKCResult_RouteLightningErrorZ *NONNULL_PTR orig);
        export function CResult_RouteLightningErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3109,6 +3739,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_TxOutAccessErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_TxOutAccessErrorZ_is_ok(const struct LDKCResult_TxOutAccessErrorZ *NONNULL_PTR o);
+       export function CResult_TxOutAccessErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_TxOutAccessErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_TxOutAccessErrorZ_free(struct LDKCResult_TxOutAccessErrorZ _res);
        export function CResult_TxOutAccessErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3117,6 +3755,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_TxOutAccessErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_TxOutAccessErrorZ_clone_ptr(LDKCResult_TxOutAccessErrorZ *NONNULL_PTR arg);
+       export function CResult_TxOutAccessErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_TxOutAccessErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_TxOutAccessErrorZ CResult_TxOutAccessErrorZ_clone(const struct LDKCResult_TxOutAccessErrorZ *NONNULL_PTR orig);
        export function CResult_TxOutAccessErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3125,6 +3771,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_TxOutAccessErrorZ_clone(orig);
                return nativeResponseValue;
        }
+       // uint64_t C2Tuple_usizeTransactionZ_clone_ptr(LDKC2Tuple_usizeTransactionZ *NONNULL_PTR arg);
+       export function C2Tuple_usizeTransactionZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_usizeTransactionZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKC2Tuple_usizeTransactionZ C2Tuple_usizeTransactionZ_clone(const struct LDKC2Tuple_usizeTransactionZ *NONNULL_PTR orig);
        export function C2Tuple_usizeTransactionZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3181,6 +3835,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneChannelMonitorUpdateErrZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_NoneChannelMonitorUpdateErrZ_is_ok(const struct LDKCResult_NoneChannelMonitorUpdateErrZ *NONNULL_PTR o);
+       export function CResult_NoneChannelMonitorUpdateErrZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneChannelMonitorUpdateErrZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_NoneChannelMonitorUpdateErrZ_free(struct LDKCResult_NoneChannelMonitorUpdateErrZ _res);
        export function CResult_NoneChannelMonitorUpdateErrZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3189,6 +3851,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneChannelMonitorUpdateErrZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_NoneChannelMonitorUpdateErrZ_clone_ptr(LDKCResult_NoneChannelMonitorUpdateErrZ *NONNULL_PTR arg);
+       export function CResult_NoneChannelMonitorUpdateErrZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneChannelMonitorUpdateErrZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_NoneChannelMonitorUpdateErrZ CResult_NoneChannelMonitorUpdateErrZ_clone(const struct LDKCResult_NoneChannelMonitorUpdateErrZ *NONNULL_PTR orig);
        export function CResult_NoneChannelMonitorUpdateErrZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3229,6 +3899,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.COption_C2Tuple_usizeTransactionZZ_free(_res);
                // debug statements here
        }
+       // uint64_t COption_C2Tuple_usizeTransactionZZ_clone_ptr(LDKCOption_C2Tuple_usizeTransactionZZ *NONNULL_PTR arg);
+       export function COption_C2Tuple_usizeTransactionZZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_C2Tuple_usizeTransactionZZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCOption_C2Tuple_usizeTransactionZZ COption_C2Tuple_usizeTransactionZZ_clone(const struct LDKCOption_C2Tuple_usizeTransactionZZ *NONNULL_PTR orig);
        export function COption_C2Tuple_usizeTransactionZZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3237,63 +3915,247 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.COption_C2Tuple_usizeTransactionZZ_clone(orig);
                return nativeResponseValue;
        }
-       // struct LDKCOption_NetworkUpdateZ COption_NetworkUpdateZ_some(struct LDKNetworkUpdate o);
-       export function COption_NetworkUpdateZ_some(o: number): number {
+       // struct LDKCOption_ClosureReasonZ COption_ClosureReasonZ_some(struct LDKClosureReason o);
+       export function COption_ClosureReasonZ_some(o: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.COption_NetworkUpdateZ_some(o);
+               const nativeResponseValue = wasm.COption_ClosureReasonZ_some(o);
                return nativeResponseValue;
        }
-       // struct LDKCOption_NetworkUpdateZ COption_NetworkUpdateZ_none(void);
-       export function COption_NetworkUpdateZ_none(): number {
+       // struct LDKCOption_ClosureReasonZ COption_ClosureReasonZ_none(void);
+       export function COption_ClosureReasonZ_none(): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.COption_NetworkUpdateZ_none();
+               const nativeResponseValue = wasm.COption_ClosureReasonZ_none();
                return nativeResponseValue;
        }
-       // void COption_NetworkUpdateZ_free(struct LDKCOption_NetworkUpdateZ _res);
-       export function COption_NetworkUpdateZ_free(_res: number): void {
+       // void COption_ClosureReasonZ_free(struct LDKCOption_ClosureReasonZ _res);
+       export function COption_ClosureReasonZ_free(_res: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.COption_NetworkUpdateZ_free(_res);
+               const nativeResponseValue = wasm.COption_ClosureReasonZ_free(_res);
                // debug statements here
        }
-       // struct LDKCOption_NetworkUpdateZ COption_NetworkUpdateZ_clone(const struct LDKCOption_NetworkUpdateZ *NONNULL_PTR orig);
-       export function COption_NetworkUpdateZ_clone(orig: number): number {
+       // uint64_t COption_ClosureReasonZ_clone_ptr(LDKCOption_ClosureReasonZ *NONNULL_PTR arg);
+       export function COption_ClosureReasonZ_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.COption_NetworkUpdateZ_clone(orig);
+               const nativeResponseValue = wasm.COption_ClosureReasonZ_clone_ptr(arg);
                return nativeResponseValue;
        }
-       // void CVec_SpendableOutputDescriptorZ_free(struct LDKCVec_SpendableOutputDescriptorZ _res);
-       export function CVec_SpendableOutputDescriptorZ_free(_res: number[]): void {
+       // struct LDKCOption_ClosureReasonZ COption_ClosureReasonZ_clone(const struct LDKCOption_ClosureReasonZ *NONNULL_PTR orig);
+       export function COption_ClosureReasonZ_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CVec_SpendableOutputDescriptorZ_free(_res);
-               // debug statements here
+               const nativeResponseValue = wasm.COption_ClosureReasonZ_clone(orig);
+               return nativeResponseValue;
        }
-       // void CVec_MessageSendEventZ_free(struct LDKCVec_MessageSendEventZ _res);
-       export function CVec_MessageSendEventZ_free(_res: number[]): void {
+       // struct LDKCResult_COption_ClosureReasonZDecodeErrorZ CResult_COption_ClosureReasonZDecodeErrorZ_ok(struct LDKCOption_ClosureReasonZ o);
+       export function CResult_COption_ClosureReasonZDecodeErrorZ_ok(o: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CVec_MessageSendEventZ_free(_res);
-               // debug statements here
+               const nativeResponseValue = wasm.CResult_COption_ClosureReasonZDecodeErrorZ_ok(o);
+               return nativeResponseValue;
        }
-       // struct LDKCResult_InitFeaturesDecodeErrorZ CResult_InitFeaturesDecodeErrorZ_ok(struct LDKInitFeatures o);
-       export function CResult_InitFeaturesDecodeErrorZ_ok(o: number): number {
+       // struct LDKCResult_COption_ClosureReasonZDecodeErrorZ CResult_COption_ClosureReasonZDecodeErrorZ_err(struct LDKDecodeError e);
+       export function CResult_COption_ClosureReasonZDecodeErrorZ_err(e: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_InitFeaturesDecodeErrorZ_ok(o);
+               const nativeResponseValue = wasm.CResult_COption_ClosureReasonZDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
-       // struct LDKCResult_InitFeaturesDecodeErrorZ CResult_InitFeaturesDecodeErrorZ_err(struct LDKDecodeError e);
+       // bool CResult_COption_ClosureReasonZDecodeErrorZ_is_ok(const struct LDKCResult_COption_ClosureReasonZDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_COption_ClosureReasonZDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_ClosureReasonZDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_COption_ClosureReasonZDecodeErrorZ_free(struct LDKCResult_COption_ClosureReasonZDecodeErrorZ _res);
+       export function CResult_COption_ClosureReasonZDecodeErrorZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_ClosureReasonZDecodeErrorZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t CResult_COption_ClosureReasonZDecodeErrorZ_clone_ptr(LDKCResult_COption_ClosureReasonZDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_COption_ClosureReasonZDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_ClosureReasonZDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_COption_ClosureReasonZDecodeErrorZ CResult_COption_ClosureReasonZDecodeErrorZ_clone(const struct LDKCResult_COption_ClosureReasonZDecodeErrorZ *NONNULL_PTR orig);
+       export function CResult_COption_ClosureReasonZDecodeErrorZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_ClosureReasonZDecodeErrorZ_clone(orig);
+               return nativeResponseValue;
+       }
+       // struct LDKCOption_NetworkUpdateZ COption_NetworkUpdateZ_some(struct LDKNetworkUpdate o);
+       export function COption_NetworkUpdateZ_some(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_NetworkUpdateZ_some(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCOption_NetworkUpdateZ COption_NetworkUpdateZ_none(void);
+       export function COption_NetworkUpdateZ_none(): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_NetworkUpdateZ_none();
+               return nativeResponseValue;
+       }
+       // void COption_NetworkUpdateZ_free(struct LDKCOption_NetworkUpdateZ _res);
+       export function COption_NetworkUpdateZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_NetworkUpdateZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t COption_NetworkUpdateZ_clone_ptr(LDKCOption_NetworkUpdateZ *NONNULL_PTR arg);
+       export function COption_NetworkUpdateZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_NetworkUpdateZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCOption_NetworkUpdateZ COption_NetworkUpdateZ_clone(const struct LDKCOption_NetworkUpdateZ *NONNULL_PTR orig);
+       export function COption_NetworkUpdateZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_NetworkUpdateZ_clone(orig);
+               return nativeResponseValue;
+       }
+       // void CVec_SpendableOutputDescriptorZ_free(struct LDKCVec_SpendableOutputDescriptorZ _res);
+       export function CVec_SpendableOutputDescriptorZ_free(_res: number[]): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CVec_SpendableOutputDescriptorZ_free(_res);
+               // debug statements here
+       }
+       // struct LDKCOption_EventZ COption_EventZ_some(struct LDKEvent o);
+       export function COption_EventZ_some(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_EventZ_some(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCOption_EventZ COption_EventZ_none(void);
+       export function COption_EventZ_none(): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_EventZ_none();
+               return nativeResponseValue;
+       }
+       // void COption_EventZ_free(struct LDKCOption_EventZ _res);
+       export function COption_EventZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_EventZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t COption_EventZ_clone_ptr(LDKCOption_EventZ *NONNULL_PTR arg);
+       export function COption_EventZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_EventZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCOption_EventZ COption_EventZ_clone(const struct LDKCOption_EventZ *NONNULL_PTR orig);
+       export function COption_EventZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_EventZ_clone(orig);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_COption_EventZDecodeErrorZ CResult_COption_EventZDecodeErrorZ_ok(struct LDKCOption_EventZ o);
+       export function CResult_COption_EventZDecodeErrorZ_ok(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_EventZDecodeErrorZ_ok(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_COption_EventZDecodeErrorZ CResult_COption_EventZDecodeErrorZ_err(struct LDKDecodeError e);
+       export function CResult_COption_EventZDecodeErrorZ_err(e: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_EventZDecodeErrorZ_err(e);
+               return nativeResponseValue;
+       }
+       // bool CResult_COption_EventZDecodeErrorZ_is_ok(const struct LDKCResult_COption_EventZDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_COption_EventZDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_EventZDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_COption_EventZDecodeErrorZ_free(struct LDKCResult_COption_EventZDecodeErrorZ _res);
+       export function CResult_COption_EventZDecodeErrorZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_EventZDecodeErrorZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t CResult_COption_EventZDecodeErrorZ_clone_ptr(LDKCResult_COption_EventZDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_COption_EventZDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_EventZDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_COption_EventZDecodeErrorZ CResult_COption_EventZDecodeErrorZ_clone(const struct LDKCResult_COption_EventZDecodeErrorZ *NONNULL_PTR orig);
+       export function CResult_COption_EventZDecodeErrorZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_EventZDecodeErrorZ_clone(orig);
+               return nativeResponseValue;
+       }
+       // void CVec_MessageSendEventZ_free(struct LDKCVec_MessageSendEventZ _res);
+       export function CVec_MessageSendEventZ_free(_res: number[]): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CVec_MessageSendEventZ_free(_res);
+               // debug statements here
+       }
+       // struct LDKCResult_InitFeaturesDecodeErrorZ CResult_InitFeaturesDecodeErrorZ_ok(struct LDKInitFeatures o);
+       export function CResult_InitFeaturesDecodeErrorZ_ok(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_InitFeaturesDecodeErrorZ_ok(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_InitFeaturesDecodeErrorZ CResult_InitFeaturesDecodeErrorZ_err(struct LDKDecodeError e);
        export function CResult_InitFeaturesDecodeErrorZ_err(e: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
@@ -3301,6 +4163,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_InitFeaturesDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_InitFeaturesDecodeErrorZ_is_ok(const struct LDKCResult_InitFeaturesDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_InitFeaturesDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_InitFeaturesDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_InitFeaturesDecodeErrorZ_free(struct LDKCResult_InitFeaturesDecodeErrorZ _res);
        export function CResult_InitFeaturesDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3325,6 +4195,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NodeFeaturesDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_NodeFeaturesDecodeErrorZ_is_ok(const struct LDKCResult_NodeFeaturesDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_NodeFeaturesDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NodeFeaturesDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_NodeFeaturesDecodeErrorZ_free(struct LDKCResult_NodeFeaturesDecodeErrorZ _res);
        export function CResult_NodeFeaturesDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3349,6 +4227,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelFeaturesDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ChannelFeaturesDecodeErrorZ_is_ok(const struct LDKCResult_ChannelFeaturesDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ChannelFeaturesDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelFeaturesDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ChannelFeaturesDecodeErrorZ_free(struct LDKCResult_ChannelFeaturesDecodeErrorZ _res);
        export function CResult_ChannelFeaturesDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3373,6 +4259,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_InvoiceFeaturesDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_InvoiceFeaturesDecodeErrorZ_is_ok(const struct LDKCResult_InvoiceFeaturesDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_InvoiceFeaturesDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_InvoiceFeaturesDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_InvoiceFeaturesDecodeErrorZ_free(struct LDKCResult_InvoiceFeaturesDecodeErrorZ _res);
        export function CResult_InvoiceFeaturesDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3381,6 +4275,70 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_InvoiceFeaturesDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // struct LDKCResult_ScoringParametersDecodeErrorZ CResult_ScoringParametersDecodeErrorZ_ok(struct LDKScoringParameters o);
+       export function CResult_ScoringParametersDecodeErrorZ_ok(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ScoringParametersDecodeErrorZ_ok(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_ScoringParametersDecodeErrorZ CResult_ScoringParametersDecodeErrorZ_err(struct LDKDecodeError e);
+       export function CResult_ScoringParametersDecodeErrorZ_err(e: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ScoringParametersDecodeErrorZ_err(e);
+               return nativeResponseValue;
+       }
+       // bool CResult_ScoringParametersDecodeErrorZ_is_ok(const struct LDKCResult_ScoringParametersDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ScoringParametersDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ScoringParametersDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_ScoringParametersDecodeErrorZ_free(struct LDKCResult_ScoringParametersDecodeErrorZ _res);
+       export function CResult_ScoringParametersDecodeErrorZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ScoringParametersDecodeErrorZ_free(_res);
+               // debug statements here
+       }
+       // struct LDKCResult_ScorerDecodeErrorZ CResult_ScorerDecodeErrorZ_ok(struct LDKScorer o);
+       export function CResult_ScorerDecodeErrorZ_ok(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ScorerDecodeErrorZ_ok(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_ScorerDecodeErrorZ CResult_ScorerDecodeErrorZ_err(struct LDKDecodeError e);
+       export function CResult_ScorerDecodeErrorZ_err(e: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ScorerDecodeErrorZ_err(e);
+               return nativeResponseValue;
+       }
+       // bool CResult_ScorerDecodeErrorZ_is_ok(const struct LDKCResult_ScorerDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ScorerDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ScorerDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_ScorerDecodeErrorZ_free(struct LDKCResult_ScorerDecodeErrorZ _res);
+       export function CResult_ScorerDecodeErrorZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ScorerDecodeErrorZ_free(_res);
+               // debug statements here
+       }
        // struct LDKCResult_DelayedPaymentOutputDescriptorDecodeErrorZ CResult_DelayedPaymentOutputDescriptorDecodeErrorZ_ok(struct LDKDelayedPaymentOutputDescriptor o);
        export function CResult_DelayedPaymentOutputDescriptorDecodeErrorZ_ok(o: number): number {
                if(!isWasmInitialized) {
@@ -3397,6 +4355,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_DelayedPaymentOutputDescriptorDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_DelayedPaymentOutputDescriptorDecodeErrorZ_is_ok(const struct LDKCResult_DelayedPaymentOutputDescriptorDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_DelayedPaymentOutputDescriptorDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_DelayedPaymentOutputDescriptorDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_DelayedPaymentOutputDescriptorDecodeErrorZ_free(struct LDKCResult_DelayedPaymentOutputDescriptorDecodeErrorZ _res);
        export function CResult_DelayedPaymentOutputDescriptorDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3405,6 +4371,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_DelayedPaymentOutputDescriptorDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_DelayedPaymentOutputDescriptorDecodeErrorZ_clone_ptr(LDKCResult_DelayedPaymentOutputDescriptorDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_DelayedPaymentOutputDescriptorDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_DelayedPaymentOutputDescriptorDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_DelayedPaymentOutputDescriptorDecodeErrorZ CResult_DelayedPaymentOutputDescriptorDecodeErrorZ_clone(const struct LDKCResult_DelayedPaymentOutputDescriptorDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_DelayedPaymentOutputDescriptorDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3429,6 +4403,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_StaticPaymentOutputDescriptorDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_StaticPaymentOutputDescriptorDecodeErrorZ_is_ok(const struct LDKCResult_StaticPaymentOutputDescriptorDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_StaticPaymentOutputDescriptorDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_StaticPaymentOutputDescriptorDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_StaticPaymentOutputDescriptorDecodeErrorZ_free(struct LDKCResult_StaticPaymentOutputDescriptorDecodeErrorZ _res);
        export function CResult_StaticPaymentOutputDescriptorDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3437,6 +4419,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_StaticPaymentOutputDescriptorDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_StaticPaymentOutputDescriptorDecodeErrorZ_clone_ptr(LDKCResult_StaticPaymentOutputDescriptorDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_StaticPaymentOutputDescriptorDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_StaticPaymentOutputDescriptorDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_StaticPaymentOutputDescriptorDecodeErrorZ CResult_StaticPaymentOutputDescriptorDecodeErrorZ_clone(const struct LDKCResult_StaticPaymentOutputDescriptorDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_StaticPaymentOutputDescriptorDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3461,6 +4451,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_SpendableOutputDescriptorDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_SpendableOutputDescriptorDecodeErrorZ_is_ok(const struct LDKCResult_SpendableOutputDescriptorDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_SpendableOutputDescriptorDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_SpendableOutputDescriptorDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_SpendableOutputDescriptorDecodeErrorZ_free(struct LDKCResult_SpendableOutputDescriptorDecodeErrorZ _res);
        export function CResult_SpendableOutputDescriptorDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3469,6 +4467,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_SpendableOutputDescriptorDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_SpendableOutputDescriptorDecodeErrorZ_clone_ptr(LDKCResult_SpendableOutputDescriptorDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_SpendableOutputDescriptorDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_SpendableOutputDescriptorDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_SpendableOutputDescriptorDecodeErrorZ CResult_SpendableOutputDescriptorDecodeErrorZ_clone(const struct LDKCResult_SpendableOutputDescriptorDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_SpendableOutputDescriptorDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3493,6 +4499,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneNoneZ_err();
                return nativeResponseValue;
        }
+       // bool CResult_NoneNoneZ_is_ok(const struct LDKCResult_NoneNoneZ *NONNULL_PTR o);
+       export function CResult_NoneNoneZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneNoneZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_NoneNoneZ_free(struct LDKCResult_NoneNoneZ _res);
        export function CResult_NoneNoneZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3501,6 +4515,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneNoneZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_NoneNoneZ_clone_ptr(LDKCResult_NoneNoneZ *NONNULL_PTR arg);
+       export function CResult_NoneNoneZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneNoneZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_NoneNoneZ CResult_NoneNoneZ_clone(const struct LDKCResult_NoneNoneZ *NONNULL_PTR orig);
        export function CResult_NoneNoneZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3509,6 +4531,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneNoneZ_clone(orig);
                return nativeResponseValue;
        }
+       // uint64_t C2Tuple_SignatureCVec_SignatureZZ_clone_ptr(LDKC2Tuple_SignatureCVec_SignatureZZ *NONNULL_PTR arg);
+       export function C2Tuple_SignatureCVec_SignatureZZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_SignatureCVec_SignatureZZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKC2Tuple_SignatureCVec_SignatureZZ C2Tuple_SignatureCVec_SignatureZZ_clone(const struct LDKC2Tuple_SignatureCVec_SignatureZZ *NONNULL_PTR orig);
        export function C2Tuple_SignatureCVec_SignatureZZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3549,6 +4579,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_err();
                return nativeResponseValue;
        }
+       // bool CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_is_ok(const struct LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ *NONNULL_PTR o);
+       export function CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_free(struct LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ _res);
        export function CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3557,6 +4595,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_clone_ptr(LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ *NONNULL_PTR arg);
+       export function CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_clone(const struct LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ *NONNULL_PTR orig);
        export function CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3581,13 +4627,29 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_SignatureNoneZ_err();
                return nativeResponseValue;
        }
-       // void CResult_SignatureNoneZ_free(struct LDKCResult_SignatureNoneZ _res);
-       export function CResult_SignatureNoneZ_free(_res: number): void {
+       // bool CResult_SignatureNoneZ_is_ok(const struct LDKCResult_SignatureNoneZ *NONNULL_PTR o);
+       export function CResult_SignatureNoneZ_is_ok(o: number): boolean {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_SignatureNoneZ_free(_res);
-               // debug statements here
+               const nativeResponseValue = wasm.CResult_SignatureNoneZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_SignatureNoneZ_free(struct LDKCResult_SignatureNoneZ _res);
+       export function CResult_SignatureNoneZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_SignatureNoneZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t CResult_SignatureNoneZ_clone_ptr(LDKCResult_SignatureNoneZ *NONNULL_PTR arg);
+       export function CResult_SignatureNoneZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_SignatureNoneZ_clone_ptr(arg);
+               return nativeResponseValue;
        }
        // struct LDKCResult_SignatureNoneZ CResult_SignatureNoneZ_clone(const struct LDKCResult_SignatureNoneZ *NONNULL_PTR orig);
        export function CResult_SignatureNoneZ_clone(orig: number): number {
@@ -3613,6 +4675,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_SignDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_SignDecodeErrorZ_is_ok(const struct LDKCResult_SignDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_SignDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_SignDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_SignDecodeErrorZ_free(struct LDKCResult_SignDecodeErrorZ _res);
        export function CResult_SignDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3621,6 +4691,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_SignDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_SignDecodeErrorZ_clone_ptr(LDKCResult_SignDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_SignDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_SignDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_SignDecodeErrorZ CResult_SignDecodeErrorZ_clone(const struct LDKCResult_SignDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_SignDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3653,6 +4731,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_RecoverableSignatureNoneZ_err();
                return nativeResponseValue;
        }
+       // bool CResult_RecoverableSignatureNoneZ_is_ok(const struct LDKCResult_RecoverableSignatureNoneZ *NONNULL_PTR o);
+       export function CResult_RecoverableSignatureNoneZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RecoverableSignatureNoneZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_RecoverableSignatureNoneZ_free(struct LDKCResult_RecoverableSignatureNoneZ _res);
        export function CResult_RecoverableSignatureNoneZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3661,6 +4747,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_RecoverableSignatureNoneZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_RecoverableSignatureNoneZ_clone_ptr(LDKCResult_RecoverableSignatureNoneZ *NONNULL_PTR arg);
+       export function CResult_RecoverableSignatureNoneZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RecoverableSignatureNoneZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_RecoverableSignatureNoneZ CResult_RecoverableSignatureNoneZ_clone(const struct LDKCResult_RecoverableSignatureNoneZ *NONNULL_PTR orig);
        export function CResult_RecoverableSignatureNoneZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3693,6 +4787,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_CVec_CVec_u8ZZNoneZ_err();
                return nativeResponseValue;
        }
+       // bool CResult_CVec_CVec_u8ZZNoneZ_is_ok(const struct LDKCResult_CVec_CVec_u8ZZNoneZ *NONNULL_PTR o);
+       export function CResult_CVec_CVec_u8ZZNoneZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_CVec_CVec_u8ZZNoneZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_CVec_CVec_u8ZZNoneZ_free(struct LDKCResult_CVec_CVec_u8ZZNoneZ _res);
        export function CResult_CVec_CVec_u8ZZNoneZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3701,6 +4803,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_CVec_CVec_u8ZZNoneZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_CVec_CVec_u8ZZNoneZ_clone_ptr(LDKCResult_CVec_CVec_u8ZZNoneZ *NONNULL_PTR arg);
+       export function CResult_CVec_CVec_u8ZZNoneZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_CVec_CVec_u8ZZNoneZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_CVec_CVec_u8ZZNoneZ CResult_CVec_CVec_u8ZZNoneZ_clone(const struct LDKCResult_CVec_CVec_u8ZZNoneZ *NONNULL_PTR orig);
        export function CResult_CVec_CVec_u8ZZNoneZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3725,6 +4835,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_InMemorySignerDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_InMemorySignerDecodeErrorZ_is_ok(const struct LDKCResult_InMemorySignerDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_InMemorySignerDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_InMemorySignerDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_InMemorySignerDecodeErrorZ_free(struct LDKCResult_InMemorySignerDecodeErrorZ _res);
        export function CResult_InMemorySignerDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3733,6 +4851,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_InMemorySignerDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_InMemorySignerDecodeErrorZ_clone_ptr(LDKCResult_InMemorySignerDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_InMemorySignerDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_InMemorySignerDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_InMemorySignerDecodeErrorZ CResult_InMemorySignerDecodeErrorZ_clone(const struct LDKCResult_InMemorySignerDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_InMemorySignerDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3765,6 +4891,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_TransactionNoneZ_err();
                return nativeResponseValue;
        }
+       // bool CResult_TransactionNoneZ_is_ok(const struct LDKCResult_TransactionNoneZ *NONNULL_PTR o);
+       export function CResult_TransactionNoneZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_TransactionNoneZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_TransactionNoneZ_free(struct LDKCResult_TransactionNoneZ _res);
        export function CResult_TransactionNoneZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3773,6 +4907,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_TransactionNoneZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_TransactionNoneZ_clone_ptr(LDKCResult_TransactionNoneZ *NONNULL_PTR arg);
+       export function CResult_TransactionNoneZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_TransactionNoneZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_TransactionNoneZ CResult_TransactionNoneZ_clone(const struct LDKCResult_TransactionNoneZ *NONNULL_PTR orig);
        export function CResult_TransactionNoneZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3781,6 +4923,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_TransactionNoneZ_clone(orig);
                return nativeResponseValue;
        }
+       // uint64_t C2Tuple_BlockHashChannelMonitorZ_clone_ptr(LDKC2Tuple_BlockHashChannelMonitorZ *NONNULL_PTR arg);
+       export function C2Tuple_BlockHashChannelMonitorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_BlockHashChannelMonitorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKC2Tuple_BlockHashChannelMonitorZ C2Tuple_BlockHashChannelMonitorZ_clone(const struct LDKC2Tuple_BlockHashChannelMonitorZ *NONNULL_PTR orig);
        export function C2Tuple_BlockHashChannelMonitorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3829,6 +4979,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_is_ok(const struct LDKCResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ *NONNULL_PTR o);
+       export function CResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_free(struct LDKCResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ _res);
        export function CResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3837,6 +4995,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_clone_ptr(LDKCResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ *NONNULL_PTR arg);
+       export function CResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ CResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_clone(const struct LDKCResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ *NONNULL_PTR orig);
        export function CResult_CVec_C2Tuple_BlockHashChannelMonitorZZErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3869,6 +5035,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.COption_u16Z_free(_res);
                // debug statements here
        }
+       // uint64_t COption_u16Z_clone_ptr(LDKCOption_u16Z *NONNULL_PTR arg);
+       export function COption_u16Z_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_u16Z_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCOption_u16Z COption_u16Z_clone(const struct LDKCOption_u16Z *NONNULL_PTR orig);
        export function COption_u16Z_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3893,6 +5067,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneAPIErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_NoneAPIErrorZ_is_ok(const struct LDKCResult_NoneAPIErrorZ *NONNULL_PTR o);
+       export function CResult_NoneAPIErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneAPIErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_NoneAPIErrorZ_free(struct LDKCResult_NoneAPIErrorZ _res);
        export function CResult_NoneAPIErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3901,6 +5083,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneAPIErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_NoneAPIErrorZ_clone_ptr(LDKCResult_NoneAPIErrorZ *NONNULL_PTR arg);
+       export function CResult_NoneAPIErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneAPIErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_NoneAPIErrorZ CResult_NoneAPIErrorZ_clone(const struct LDKCResult_NoneAPIErrorZ *NONNULL_PTR orig);
        export function CResult_NoneAPIErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3925,6 +5115,102 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CVec_APIErrorZ_free(_res);
                // debug statements here
        }
+       // struct LDKCResult__u832APIErrorZ CResult__u832APIErrorZ_ok(struct LDKThirtyTwoBytes o);
+       export function CResult__u832APIErrorZ_ok(o: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult__u832APIErrorZ_ok(encodeArray(o));
+               return nativeResponseValue;
+       }
+       // struct LDKCResult__u832APIErrorZ CResult__u832APIErrorZ_err(struct LDKAPIError e);
+       export function CResult__u832APIErrorZ_err(e: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult__u832APIErrorZ_err(e);
+               return nativeResponseValue;
+       }
+       // bool CResult__u832APIErrorZ_is_ok(const struct LDKCResult__u832APIErrorZ *NONNULL_PTR o);
+       export function CResult__u832APIErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult__u832APIErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult__u832APIErrorZ_free(struct LDKCResult__u832APIErrorZ _res);
+       export function CResult__u832APIErrorZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult__u832APIErrorZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t CResult__u832APIErrorZ_clone_ptr(LDKCResult__u832APIErrorZ *NONNULL_PTR arg);
+       export function CResult__u832APIErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult__u832APIErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult__u832APIErrorZ CResult__u832APIErrorZ_clone(const struct LDKCResult__u832APIErrorZ *NONNULL_PTR orig);
+       export function CResult__u832APIErrorZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult__u832APIErrorZ_clone(orig);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_PaymentIdPaymentSendFailureZ CResult_PaymentIdPaymentSendFailureZ_ok(struct LDKThirtyTwoBytes o);
+       export function CResult_PaymentIdPaymentSendFailureZ_ok(o: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PaymentIdPaymentSendFailureZ_ok(encodeArray(o));
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_PaymentIdPaymentSendFailureZ CResult_PaymentIdPaymentSendFailureZ_err(struct LDKPaymentSendFailure e);
+       export function CResult_PaymentIdPaymentSendFailureZ_err(e: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PaymentIdPaymentSendFailureZ_err(e);
+               return nativeResponseValue;
+       }
+       // bool CResult_PaymentIdPaymentSendFailureZ_is_ok(const struct LDKCResult_PaymentIdPaymentSendFailureZ *NONNULL_PTR o);
+       export function CResult_PaymentIdPaymentSendFailureZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PaymentIdPaymentSendFailureZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_PaymentIdPaymentSendFailureZ_free(struct LDKCResult_PaymentIdPaymentSendFailureZ _res);
+       export function CResult_PaymentIdPaymentSendFailureZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PaymentIdPaymentSendFailureZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t CResult_PaymentIdPaymentSendFailureZ_clone_ptr(LDKCResult_PaymentIdPaymentSendFailureZ *NONNULL_PTR arg);
+       export function CResult_PaymentIdPaymentSendFailureZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PaymentIdPaymentSendFailureZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_PaymentIdPaymentSendFailureZ CResult_PaymentIdPaymentSendFailureZ_clone(const struct LDKCResult_PaymentIdPaymentSendFailureZ *NONNULL_PTR orig);
+       export function CResult_PaymentIdPaymentSendFailureZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PaymentIdPaymentSendFailureZ_clone(orig);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_NonePaymentSendFailureZ CResult_NonePaymentSendFailureZ_ok(void);
        export function CResult_NonePaymentSendFailureZ_ok(): number {
                if(!isWasmInitialized) {
@@ -3941,6 +5227,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NonePaymentSendFailureZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_NonePaymentSendFailureZ_is_ok(const struct LDKCResult_NonePaymentSendFailureZ *NONNULL_PTR o);
+       export function CResult_NonePaymentSendFailureZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NonePaymentSendFailureZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_NonePaymentSendFailureZ_free(struct LDKCResult_NonePaymentSendFailureZ _res);
        export function CResult_NonePaymentSendFailureZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -3949,6 +5243,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NonePaymentSendFailureZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_NonePaymentSendFailureZ_clone_ptr(LDKCResult_NonePaymentSendFailureZ *NONNULL_PTR arg);
+       export function CResult_NonePaymentSendFailureZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NonePaymentSendFailureZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_NonePaymentSendFailureZ CResult_NonePaymentSendFailureZ_clone(const struct LDKCResult_NonePaymentSendFailureZ *NONNULL_PTR orig);
        export function CResult_NonePaymentSendFailureZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -3957,36 +5259,84 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NonePaymentSendFailureZ_clone(orig);
                return nativeResponseValue;
        }
-       // struct LDKCResult_PaymentHashPaymentSendFailureZ CResult_PaymentHashPaymentSendFailureZ_ok(struct LDKThirtyTwoBytes o);
-       export function CResult_PaymentHashPaymentSendFailureZ_ok(o: Uint8Array): number {
+       // uint64_t C2Tuple_PaymentHashPaymentIdZ_clone_ptr(LDKC2Tuple_PaymentHashPaymentIdZ *NONNULL_PTR arg);
+       export function C2Tuple_PaymentHashPaymentIdZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_PaymentHashPaymentIdZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKC2Tuple_PaymentHashPaymentIdZ C2Tuple_PaymentHashPaymentIdZ_clone(const struct LDKC2Tuple_PaymentHashPaymentIdZ *NONNULL_PTR orig);
+       export function C2Tuple_PaymentHashPaymentIdZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_PaymentHashPaymentIdZ_clone(orig);
+               return nativeResponseValue;
+       }
+       // struct LDKC2Tuple_PaymentHashPaymentIdZ C2Tuple_PaymentHashPaymentIdZ_new(struct LDKThirtyTwoBytes a, struct LDKThirtyTwoBytes b);
+       export function C2Tuple_PaymentHashPaymentIdZ_new(a: Uint8Array, b: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_PaymentHashPaymentIdZ_new(encodeArray(a), encodeArray(b));
+               return nativeResponseValue;
+       }
+       // void C2Tuple_PaymentHashPaymentIdZ_free(struct LDKC2Tuple_PaymentHashPaymentIdZ _res);
+       export function C2Tuple_PaymentHashPaymentIdZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_PaymentHashPaymentIdZ_free(_res);
+               // debug statements here
+       }
+       // struct LDKCResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_ok(struct LDKC2Tuple_PaymentHashPaymentIdZ o);
+       export function CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_ok(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_ok(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_err(struct LDKPaymentSendFailure e);
+       export function CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_err(e: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_PaymentHashPaymentSendFailureZ_ok(encodeArray(o));
+               const nativeResponseValue = wasm.CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_err(e);
                return nativeResponseValue;
        }
-       // struct LDKCResult_PaymentHashPaymentSendFailureZ CResult_PaymentHashPaymentSendFailureZ_err(struct LDKPaymentSendFailure e);
-       export function CResult_PaymentHashPaymentSendFailureZ_err(e: number): number {
+       // bool CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_is_ok(const struct LDKCResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ *NONNULL_PTR o);
+       export function CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_is_ok(o: number): boolean {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_PaymentHashPaymentSendFailureZ_err(e);
+               const nativeResponseValue = wasm.CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_is_ok(o);
                return nativeResponseValue;
        }
-       // void CResult_PaymentHashPaymentSendFailureZ_free(struct LDKCResult_PaymentHashPaymentSendFailureZ _res);
-       export function CResult_PaymentHashPaymentSendFailureZ_free(_res: number): void {
+       // void CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_free(struct LDKCResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ _res);
+       export function CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_free(_res: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_PaymentHashPaymentSendFailureZ_free(_res);
+               const nativeResponseValue = wasm.CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_free(_res);
                // debug statements here
        }
-       // struct LDKCResult_PaymentHashPaymentSendFailureZ CResult_PaymentHashPaymentSendFailureZ_clone(const struct LDKCResult_PaymentHashPaymentSendFailureZ *NONNULL_PTR orig);
-       export function CResult_PaymentHashPaymentSendFailureZ_clone(orig: number): number {
+       // uint64_t CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_clone_ptr(LDKCResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ *NONNULL_PTR arg);
+       export function CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_clone(const struct LDKCResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ *NONNULL_PTR orig);
+       export function CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_PaymentHashPaymentSendFailureZ_clone(orig);
+               const nativeResponseValue = wasm.CResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ_clone(orig);
                return nativeResponseValue;
        }
        // void CVec_NetAddressZ_free(struct LDKCVec_NetAddressZ _res);
@@ -3997,6 +5347,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CVec_NetAddressZ_free(_res);
                // debug statements here
        }
+       // uint64_t C2Tuple_PaymentHashPaymentSecretZ_clone_ptr(LDKC2Tuple_PaymentHashPaymentSecretZ *NONNULL_PTR arg);
+       export function C2Tuple_PaymentHashPaymentSecretZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_PaymentHashPaymentSecretZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKC2Tuple_PaymentHashPaymentSecretZ C2Tuple_PaymentHashPaymentSecretZ_clone(const struct LDKC2Tuple_PaymentHashPaymentSecretZ *NONNULL_PTR orig);
        export function C2Tuple_PaymentHashPaymentSecretZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4037,6 +5395,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_PaymentSecretAPIErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_PaymentSecretAPIErrorZ_is_ok(const struct LDKCResult_PaymentSecretAPIErrorZ *NONNULL_PTR o);
+       export function CResult_PaymentSecretAPIErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PaymentSecretAPIErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_PaymentSecretAPIErrorZ_free(struct LDKCResult_PaymentSecretAPIErrorZ _res);
        export function CResult_PaymentSecretAPIErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4045,6 +5411,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_PaymentSecretAPIErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_PaymentSecretAPIErrorZ_clone_ptr(LDKCResult_PaymentSecretAPIErrorZ *NONNULL_PTR arg);
+       export function CResult_PaymentSecretAPIErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PaymentSecretAPIErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_PaymentSecretAPIErrorZ CResult_PaymentSecretAPIErrorZ_clone(const struct LDKCResult_PaymentSecretAPIErrorZ *NONNULL_PTR orig);
        export function CResult_PaymentSecretAPIErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4093,6 +5467,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ_is_ok(const struct LDKCResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ_free(struct LDKCResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ _res);
        export function CResult_C2Tuple_BlockHashChannelManagerZDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4117,6 +5499,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelConfigDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ChannelConfigDecodeErrorZ_is_ok(const struct LDKCResult_ChannelConfigDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ChannelConfigDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelConfigDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ChannelConfigDecodeErrorZ_free(struct LDKCResult_ChannelConfigDecodeErrorZ _res);
        export function CResult_ChannelConfigDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4125,6 +5515,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelConfigDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ChannelConfigDecodeErrorZ_clone_ptr(LDKCResult_ChannelConfigDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ChannelConfigDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelConfigDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ChannelConfigDecodeErrorZ CResult_ChannelConfigDecodeErrorZ_clone(const struct LDKCResult_ChannelConfigDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ChannelConfigDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4149,6 +5547,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_OutPointDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_OutPointDecodeErrorZ_is_ok(const struct LDKCResult_OutPointDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_OutPointDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_OutPointDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_OutPointDecodeErrorZ_free(struct LDKCResult_OutPointDecodeErrorZ _res);
        export function CResult_OutPointDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4157,6 +5563,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_OutPointDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_OutPointDecodeErrorZ_clone_ptr(LDKCResult_OutPointDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_OutPointDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_OutPointDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_OutPointDecodeErrorZ CResult_OutPointDecodeErrorZ_clone(const struct LDKCResult_OutPointDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_OutPointDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4189,6 +5603,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.COption_TypeZ_free(_res);
                // debug statements here
        }
+       // uint64_t COption_TypeZ_clone_ptr(LDKCOption_TypeZ *NONNULL_PTR arg);
+       export function COption_TypeZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_TypeZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCOption_TypeZ COption_TypeZ_clone(const struct LDKCOption_TypeZ *NONNULL_PTR orig);
        export function COption_TypeZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4213,6 +5635,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_COption_TypeZDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_COption_TypeZDecodeErrorZ_is_ok(const struct LDKCResult_COption_TypeZDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_COption_TypeZDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_TypeZDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_COption_TypeZDecodeErrorZ_free(struct LDKCResult_COption_TypeZDecodeErrorZ _res);
        export function CResult_COption_TypeZDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4221,6 +5651,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_COption_TypeZDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_COption_TypeZDecodeErrorZ_clone_ptr(LDKCResult_COption_TypeZDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_COption_TypeZDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_TypeZDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_COption_TypeZDecodeErrorZ CResult_COption_TypeZDecodeErrorZ_clone(const struct LDKCResult_COption_TypeZDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_COption_TypeZDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4229,23 +5667,79 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_COption_TypeZDecodeErrorZ_clone(orig);
                return nativeResponseValue;
        }
-       // struct LDKCResult_SiPrefixNoneZ CResult_SiPrefixNoneZ_ok(enum LDKSiPrefix o);
-       export function CResult_SiPrefixNoneZ_ok(o: SiPrefix): number {
+       // struct LDKCResult_PaymentIdPaymentErrorZ CResult_PaymentIdPaymentErrorZ_ok(struct LDKThirtyTwoBytes o);
+       export function CResult_PaymentIdPaymentErrorZ_ok(o: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_SiPrefixNoneZ_ok(o);
+               const nativeResponseValue = wasm.CResult_PaymentIdPaymentErrorZ_ok(encodeArray(o));
                return nativeResponseValue;
        }
-       // struct LDKCResult_SiPrefixNoneZ CResult_SiPrefixNoneZ_err(void);
-       export function CResult_SiPrefixNoneZ_err(): number {
+       // struct LDKCResult_PaymentIdPaymentErrorZ CResult_PaymentIdPaymentErrorZ_err(struct LDKPaymentError e);
+       export function CResult_PaymentIdPaymentErrorZ_err(e: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_SiPrefixNoneZ_err();
+               const nativeResponseValue = wasm.CResult_PaymentIdPaymentErrorZ_err(e);
                return nativeResponseValue;
        }
-       // void CResult_SiPrefixNoneZ_free(struct LDKCResult_SiPrefixNoneZ _res);
+       // bool CResult_PaymentIdPaymentErrorZ_is_ok(const struct LDKCResult_PaymentIdPaymentErrorZ *NONNULL_PTR o);
+       export function CResult_PaymentIdPaymentErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PaymentIdPaymentErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_PaymentIdPaymentErrorZ_free(struct LDKCResult_PaymentIdPaymentErrorZ _res);
+       export function CResult_PaymentIdPaymentErrorZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PaymentIdPaymentErrorZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t CResult_PaymentIdPaymentErrorZ_clone_ptr(LDKCResult_PaymentIdPaymentErrorZ *NONNULL_PTR arg);
+       export function CResult_PaymentIdPaymentErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PaymentIdPaymentErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_PaymentIdPaymentErrorZ CResult_PaymentIdPaymentErrorZ_clone(const struct LDKCResult_PaymentIdPaymentErrorZ *NONNULL_PTR orig);
+       export function CResult_PaymentIdPaymentErrorZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PaymentIdPaymentErrorZ_clone(orig);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_SiPrefixNoneZ CResult_SiPrefixNoneZ_ok(enum LDKSiPrefix o);
+       export function CResult_SiPrefixNoneZ_ok(o: SiPrefix): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_SiPrefixNoneZ_ok(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_SiPrefixNoneZ CResult_SiPrefixNoneZ_err(void);
+       export function CResult_SiPrefixNoneZ_err(): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_SiPrefixNoneZ_err();
+               return nativeResponseValue;
+       }
+       // bool CResult_SiPrefixNoneZ_is_ok(const struct LDKCResult_SiPrefixNoneZ *NONNULL_PTR o);
+       export function CResult_SiPrefixNoneZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_SiPrefixNoneZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_SiPrefixNoneZ_free(struct LDKCResult_SiPrefixNoneZ _res);
        export function CResult_SiPrefixNoneZ_free(_res: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
@@ -4253,6 +5747,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_SiPrefixNoneZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_SiPrefixNoneZ_clone_ptr(LDKCResult_SiPrefixNoneZ *NONNULL_PTR arg);
+       export function CResult_SiPrefixNoneZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_SiPrefixNoneZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_SiPrefixNoneZ CResult_SiPrefixNoneZ_clone(const struct LDKCResult_SiPrefixNoneZ *NONNULL_PTR orig);
        export function CResult_SiPrefixNoneZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4277,6 +5779,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_InvoiceNoneZ_err();
                return nativeResponseValue;
        }
+       // bool CResult_InvoiceNoneZ_is_ok(const struct LDKCResult_InvoiceNoneZ *NONNULL_PTR o);
+       export function CResult_InvoiceNoneZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_InvoiceNoneZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_InvoiceNoneZ_free(struct LDKCResult_InvoiceNoneZ _res);
        export function CResult_InvoiceNoneZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4285,6 +5795,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_InvoiceNoneZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_InvoiceNoneZ_clone_ptr(LDKCResult_InvoiceNoneZ *NONNULL_PTR arg);
+       export function CResult_InvoiceNoneZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_InvoiceNoneZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_InvoiceNoneZ CResult_InvoiceNoneZ_clone(const struct LDKCResult_InvoiceNoneZ *NONNULL_PTR orig);
        export function CResult_InvoiceNoneZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4309,6 +5827,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_SignedRawInvoiceNoneZ_err();
                return nativeResponseValue;
        }
+       // bool CResult_SignedRawInvoiceNoneZ_is_ok(const struct LDKCResult_SignedRawInvoiceNoneZ *NONNULL_PTR o);
+       export function CResult_SignedRawInvoiceNoneZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_SignedRawInvoiceNoneZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_SignedRawInvoiceNoneZ_free(struct LDKCResult_SignedRawInvoiceNoneZ _res);
        export function CResult_SignedRawInvoiceNoneZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4317,6 +5843,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_SignedRawInvoiceNoneZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_SignedRawInvoiceNoneZ_clone_ptr(LDKCResult_SignedRawInvoiceNoneZ *NONNULL_PTR arg);
+       export function CResult_SignedRawInvoiceNoneZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_SignedRawInvoiceNoneZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_SignedRawInvoiceNoneZ CResult_SignedRawInvoiceNoneZ_clone(const struct LDKCResult_SignedRawInvoiceNoneZ *NONNULL_PTR orig);
        export function CResult_SignedRawInvoiceNoneZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4325,6 +5859,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_SignedRawInvoiceNoneZ_clone(orig);
                return nativeResponseValue;
        }
+       // uint64_t C3Tuple_RawInvoice_u832InvoiceSignatureZ_clone_ptr(LDKC3Tuple_RawInvoice_u832InvoiceSignatureZ *NONNULL_PTR arg);
+       export function C3Tuple_RawInvoice_u832InvoiceSignatureZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C3Tuple_RawInvoice_u832InvoiceSignatureZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKC3Tuple_RawInvoice_u832InvoiceSignatureZ C3Tuple_RawInvoice_u832InvoiceSignatureZ_clone(const struct LDKC3Tuple_RawInvoice_u832InvoiceSignatureZ *NONNULL_PTR orig);
        export function C3Tuple_RawInvoice_u832InvoiceSignatureZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4365,6 +5907,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_PayeePubKeyErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_PayeePubKeyErrorZ_is_ok(const struct LDKCResult_PayeePubKeyErrorZ *NONNULL_PTR o);
+       export function CResult_PayeePubKeyErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PayeePubKeyErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_PayeePubKeyErrorZ_free(struct LDKCResult_PayeePubKeyErrorZ _res);
        export function CResult_PayeePubKeyErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4373,6 +5923,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_PayeePubKeyErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_PayeePubKeyErrorZ_clone_ptr(LDKCResult_PayeePubKeyErrorZ *NONNULL_PTR arg);
+       export function CResult_PayeePubKeyErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PayeePubKeyErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_PayeePubKeyErrorZ CResult_PayeePubKeyErrorZ_clone(const struct LDKCResult_PayeePubKeyErrorZ *NONNULL_PTR orig);
        export function CResult_PayeePubKeyErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4405,6 +5963,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_PositiveTimestampCreationErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_PositiveTimestampCreationErrorZ_is_ok(const struct LDKCResult_PositiveTimestampCreationErrorZ *NONNULL_PTR o);
+       export function CResult_PositiveTimestampCreationErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PositiveTimestampCreationErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_PositiveTimestampCreationErrorZ_free(struct LDKCResult_PositiveTimestampCreationErrorZ _res);
        export function CResult_PositiveTimestampCreationErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4413,6 +5979,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_PositiveTimestampCreationErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_PositiveTimestampCreationErrorZ_clone_ptr(LDKCResult_PositiveTimestampCreationErrorZ *NONNULL_PTR arg);
+       export function CResult_PositiveTimestampCreationErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PositiveTimestampCreationErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_PositiveTimestampCreationErrorZ CResult_PositiveTimestampCreationErrorZ_clone(const struct LDKCResult_PositiveTimestampCreationErrorZ *NONNULL_PTR orig);
        export function CResult_PositiveTimestampCreationErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4437,6 +6011,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneSemanticErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_NoneSemanticErrorZ_is_ok(const struct LDKCResult_NoneSemanticErrorZ *NONNULL_PTR o);
+       export function CResult_NoneSemanticErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneSemanticErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_NoneSemanticErrorZ_free(struct LDKCResult_NoneSemanticErrorZ _res);
        export function CResult_NoneSemanticErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4445,6 +6027,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneSemanticErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_NoneSemanticErrorZ_clone_ptr(LDKCResult_NoneSemanticErrorZ *NONNULL_PTR arg);
+       export function CResult_NoneSemanticErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneSemanticErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_NoneSemanticErrorZ CResult_NoneSemanticErrorZ_clone(const struct LDKCResult_NoneSemanticErrorZ *NONNULL_PTR orig);
        export function CResult_NoneSemanticErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4469,6 +6059,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_InvoiceSemanticErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_InvoiceSemanticErrorZ_is_ok(const struct LDKCResult_InvoiceSemanticErrorZ *NONNULL_PTR o);
+       export function CResult_InvoiceSemanticErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_InvoiceSemanticErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_InvoiceSemanticErrorZ_free(struct LDKCResult_InvoiceSemanticErrorZ _res);
        export function CResult_InvoiceSemanticErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4477,6 +6075,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_InvoiceSemanticErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_InvoiceSemanticErrorZ_clone_ptr(LDKCResult_InvoiceSemanticErrorZ *NONNULL_PTR arg);
+       export function CResult_InvoiceSemanticErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_InvoiceSemanticErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_InvoiceSemanticErrorZ CResult_InvoiceSemanticErrorZ_clone(const struct LDKCResult_InvoiceSemanticErrorZ *NONNULL_PTR orig);
        export function CResult_InvoiceSemanticErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4501,6 +6107,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_DescriptionCreationErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_DescriptionCreationErrorZ_is_ok(const struct LDKCResult_DescriptionCreationErrorZ *NONNULL_PTR o);
+       export function CResult_DescriptionCreationErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_DescriptionCreationErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_DescriptionCreationErrorZ_free(struct LDKCResult_DescriptionCreationErrorZ _res);
        export function CResult_DescriptionCreationErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4509,6 +6123,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_DescriptionCreationErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_DescriptionCreationErrorZ_clone_ptr(LDKCResult_DescriptionCreationErrorZ *NONNULL_PTR arg);
+       export function CResult_DescriptionCreationErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_DescriptionCreationErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_DescriptionCreationErrorZ CResult_DescriptionCreationErrorZ_clone(const struct LDKCResult_DescriptionCreationErrorZ *NONNULL_PTR orig);
        export function CResult_DescriptionCreationErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4533,6 +6155,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ExpiryTimeCreationErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ExpiryTimeCreationErrorZ_is_ok(const struct LDKCResult_ExpiryTimeCreationErrorZ *NONNULL_PTR o);
+       export function CResult_ExpiryTimeCreationErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ExpiryTimeCreationErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ExpiryTimeCreationErrorZ_free(struct LDKCResult_ExpiryTimeCreationErrorZ _res);
        export function CResult_ExpiryTimeCreationErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4541,6 +6171,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ExpiryTimeCreationErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ExpiryTimeCreationErrorZ_clone_ptr(LDKCResult_ExpiryTimeCreationErrorZ *NONNULL_PTR arg);
+       export function CResult_ExpiryTimeCreationErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ExpiryTimeCreationErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ExpiryTimeCreationErrorZ CResult_ExpiryTimeCreationErrorZ_clone(const struct LDKCResult_ExpiryTimeCreationErrorZ *NONNULL_PTR orig);
        export function CResult_ExpiryTimeCreationErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4565,6 +6203,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_PrivateRouteCreationErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_PrivateRouteCreationErrorZ_is_ok(const struct LDKCResult_PrivateRouteCreationErrorZ *NONNULL_PTR o);
+       export function CResult_PrivateRouteCreationErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PrivateRouteCreationErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_PrivateRouteCreationErrorZ_free(struct LDKCResult_PrivateRouteCreationErrorZ _res);
        export function CResult_PrivateRouteCreationErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4573,6 +6219,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_PrivateRouteCreationErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_PrivateRouteCreationErrorZ_clone_ptr(LDKCResult_PrivateRouteCreationErrorZ *NONNULL_PTR arg);
+       export function CResult_PrivateRouteCreationErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PrivateRouteCreationErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_PrivateRouteCreationErrorZ CResult_PrivateRouteCreationErrorZ_clone(const struct LDKCResult_PrivateRouteCreationErrorZ *NONNULL_PTR orig);
        export function CResult_PrivateRouteCreationErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4597,6 +6251,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_StringErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_StringErrorZ_is_ok(const struct LDKCResult_StringErrorZ *NONNULL_PTR o);
+       export function CResult_StringErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_StringErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_StringErrorZ_free(struct LDKCResult_StringErrorZ _res);
        export function CResult_StringErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4621,6 +6283,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelMonitorUpdateDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ChannelMonitorUpdateDecodeErrorZ_is_ok(const struct LDKCResult_ChannelMonitorUpdateDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ChannelMonitorUpdateDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelMonitorUpdateDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ChannelMonitorUpdateDecodeErrorZ_free(struct LDKCResult_ChannelMonitorUpdateDecodeErrorZ _res);
        export function CResult_ChannelMonitorUpdateDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4629,6 +6299,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelMonitorUpdateDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ChannelMonitorUpdateDecodeErrorZ_clone_ptr(LDKCResult_ChannelMonitorUpdateDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ChannelMonitorUpdateDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelMonitorUpdateDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ChannelMonitorUpdateDecodeErrorZ CResult_ChannelMonitorUpdateDecodeErrorZ_clone(const struct LDKCResult_ChannelMonitorUpdateDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ChannelMonitorUpdateDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4637,6 +6315,94 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelMonitorUpdateDecodeErrorZ_clone(orig);
                return nativeResponseValue;
        }
+       // struct LDKCOption_MonitorEventZ COption_MonitorEventZ_some(struct LDKMonitorEvent o);
+       export function COption_MonitorEventZ_some(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_MonitorEventZ_some(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCOption_MonitorEventZ COption_MonitorEventZ_none(void);
+       export function COption_MonitorEventZ_none(): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_MonitorEventZ_none();
+               return nativeResponseValue;
+       }
+       // void COption_MonitorEventZ_free(struct LDKCOption_MonitorEventZ _res);
+       export function COption_MonitorEventZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_MonitorEventZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t COption_MonitorEventZ_clone_ptr(LDKCOption_MonitorEventZ *NONNULL_PTR arg);
+       export function COption_MonitorEventZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_MonitorEventZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCOption_MonitorEventZ COption_MonitorEventZ_clone(const struct LDKCOption_MonitorEventZ *NONNULL_PTR orig);
+       export function COption_MonitorEventZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.COption_MonitorEventZ_clone(orig);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_COption_MonitorEventZDecodeErrorZ CResult_COption_MonitorEventZDecodeErrorZ_ok(struct LDKCOption_MonitorEventZ o);
+       export function CResult_COption_MonitorEventZDecodeErrorZ_ok(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_MonitorEventZDecodeErrorZ_ok(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_COption_MonitorEventZDecodeErrorZ CResult_COption_MonitorEventZDecodeErrorZ_err(struct LDKDecodeError e);
+       export function CResult_COption_MonitorEventZDecodeErrorZ_err(e: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_MonitorEventZDecodeErrorZ_err(e);
+               return nativeResponseValue;
+       }
+       // bool CResult_COption_MonitorEventZDecodeErrorZ_is_ok(const struct LDKCResult_COption_MonitorEventZDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_COption_MonitorEventZDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_MonitorEventZDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_COption_MonitorEventZDecodeErrorZ_free(struct LDKCResult_COption_MonitorEventZDecodeErrorZ _res);
+       export function CResult_COption_MonitorEventZDecodeErrorZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_MonitorEventZDecodeErrorZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t CResult_COption_MonitorEventZDecodeErrorZ_clone_ptr(LDKCResult_COption_MonitorEventZDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_COption_MonitorEventZDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_MonitorEventZDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_COption_MonitorEventZDecodeErrorZ CResult_COption_MonitorEventZDecodeErrorZ_clone(const struct LDKCResult_COption_MonitorEventZDecodeErrorZ *NONNULL_PTR orig);
+       export function CResult_COption_MonitorEventZDecodeErrorZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_MonitorEventZDecodeErrorZ_clone(orig);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_HTLCUpdateDecodeErrorZ CResult_HTLCUpdateDecodeErrorZ_ok(struct LDKHTLCUpdate o);
        export function CResult_HTLCUpdateDecodeErrorZ_ok(o: number): number {
                if(!isWasmInitialized) {
@@ -4653,6 +6419,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_HTLCUpdateDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_HTLCUpdateDecodeErrorZ_is_ok(const struct LDKCResult_HTLCUpdateDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_HTLCUpdateDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_HTLCUpdateDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_HTLCUpdateDecodeErrorZ_free(struct LDKCResult_HTLCUpdateDecodeErrorZ _res);
        export function CResult_HTLCUpdateDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4661,6 +6435,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_HTLCUpdateDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_HTLCUpdateDecodeErrorZ_clone_ptr(LDKCResult_HTLCUpdateDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_HTLCUpdateDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_HTLCUpdateDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_HTLCUpdateDecodeErrorZ CResult_HTLCUpdateDecodeErrorZ_clone(const struct LDKCResult_HTLCUpdateDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_HTLCUpdateDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4685,6 +6467,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneMonitorUpdateErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_NoneMonitorUpdateErrorZ_is_ok(const struct LDKCResult_NoneMonitorUpdateErrorZ *NONNULL_PTR o);
+       export function CResult_NoneMonitorUpdateErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneMonitorUpdateErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_NoneMonitorUpdateErrorZ_free(struct LDKCResult_NoneMonitorUpdateErrorZ _res);
        export function CResult_NoneMonitorUpdateErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4693,6 +6483,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneMonitorUpdateErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_NoneMonitorUpdateErrorZ_clone_ptr(LDKCResult_NoneMonitorUpdateErrorZ *NONNULL_PTR arg);
+       export function CResult_NoneMonitorUpdateErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneMonitorUpdateErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_NoneMonitorUpdateErrorZ CResult_NoneMonitorUpdateErrorZ_clone(const struct LDKCResult_NoneMonitorUpdateErrorZ *NONNULL_PTR orig);
        export function CResult_NoneMonitorUpdateErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4701,6 +6499,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneMonitorUpdateErrorZ_clone(orig);
                return nativeResponseValue;
        }
+       // uint64_t C2Tuple_OutPointScriptZ_clone_ptr(LDKC2Tuple_OutPointScriptZ *NONNULL_PTR arg);
+       export function C2Tuple_OutPointScriptZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_OutPointScriptZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKC2Tuple_OutPointScriptZ C2Tuple_OutPointScriptZ_clone(const struct LDKC2Tuple_OutPointScriptZ *NONNULL_PTR orig);
        export function C2Tuple_OutPointScriptZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4725,6 +6531,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.C2Tuple_OutPointScriptZ_free(_res);
                // debug statements here
        }
+       // uint64_t C2Tuple_u32ScriptZ_clone_ptr(LDKC2Tuple_u32ScriptZ *NONNULL_PTR arg);
+       export function C2Tuple_u32ScriptZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_u32ScriptZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKC2Tuple_u32ScriptZ C2Tuple_u32ScriptZ_clone(const struct LDKC2Tuple_u32ScriptZ *NONNULL_PTR orig);
        export function C2Tuple_u32ScriptZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4757,6 +6571,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CVec_C2Tuple_u32ScriptZZ_free(_res);
                // debug statements here
        }
+       // uint64_t C2Tuple_TxidCVec_C2Tuple_u32ScriptZZZ_clone_ptr(LDKC2Tuple_TxidCVec_C2Tuple_u32ScriptZZZ *NONNULL_PTR arg);
+       export function C2Tuple_TxidCVec_C2Tuple_u32ScriptZZZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_TxidCVec_C2Tuple_u32ScriptZZZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKC2Tuple_TxidCVec_C2Tuple_u32ScriptZZZ C2Tuple_TxidCVec_C2Tuple_u32ScriptZZZ_clone(const struct LDKC2Tuple_TxidCVec_C2Tuple_u32ScriptZZZ *NONNULL_PTR orig);
        export function C2Tuple_TxidCVec_C2Tuple_u32ScriptZZZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4805,6 +6627,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CVec_TransactionZ_free(_res);
                // debug statements here
        }
+       // uint64_t C2Tuple_u32TxOutZ_clone_ptr(LDKC2Tuple_u32TxOutZ *NONNULL_PTR arg);
+       export function C2Tuple_u32TxOutZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_u32TxOutZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKC2Tuple_u32TxOutZ C2Tuple_u32TxOutZ_clone(const struct LDKC2Tuple_u32TxOutZ *NONNULL_PTR orig);
        export function C2Tuple_u32TxOutZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4837,15 +6667,23 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CVec_C2Tuple_u32TxOutZZ_free(_res);
                // debug statements here
        }
-       // struct LDKC2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_clone(const struct LDKC2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ *NONNULL_PTR orig);
-       export function C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_clone(orig: number): number {
+       // uint64_t C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_clone_ptr(LDKC2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ *NONNULL_PTR arg);
+       export function C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_clone(orig);
+               const nativeResponseValue = wasm.C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_clone_ptr(arg);
                return nativeResponseValue;
        }
-       // struct LDKC2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_new(struct LDKThirtyTwoBytes a, struct LDKCVec_C2Tuple_u32TxOutZZ b);
+       // struct LDKC2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_clone(const struct LDKC2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ *NONNULL_PTR orig);
+       export function C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_clone(orig);
+               return nativeResponseValue;
+       }
+       // struct LDKC2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_new(struct LDKThirtyTwoBytes a, struct LDKCVec_C2Tuple_u32TxOutZZ b);
        export function C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_new(a: Uint8Array, b: number[]): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
@@ -4893,6 +6731,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_is_ok(const struct LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_free(struct LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ _res);
        export function CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4901,6 +6747,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_clone_ptr(LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_clone(const struct LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4925,6 +6779,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneLightningErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_NoneLightningErrorZ_is_ok(const struct LDKCResult_NoneLightningErrorZ *NONNULL_PTR o);
+       export function CResult_NoneLightningErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneLightningErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_NoneLightningErrorZ_free(struct LDKCResult_NoneLightningErrorZ _res);
        export function CResult_NoneLightningErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4933,6 +6795,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneLightningErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_NoneLightningErrorZ_clone_ptr(LDKCResult_NoneLightningErrorZ *NONNULL_PTR arg);
+       export function CResult_NoneLightningErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NoneLightningErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_NoneLightningErrorZ CResult_NoneLightningErrorZ_clone(const struct LDKCResult_NoneLightningErrorZ *NONNULL_PTR orig);
        export function CResult_NoneLightningErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4941,6 +6811,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NoneLightningErrorZ_clone(orig);
                return nativeResponseValue;
        }
+       // uint64_t C2Tuple_PublicKeyTypeZ_clone_ptr(LDKC2Tuple_PublicKeyTypeZ *NONNULL_PTR arg);
+       export function C2Tuple_PublicKeyTypeZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C2Tuple_PublicKeyTypeZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKC2Tuple_PublicKeyTypeZ C2Tuple_PublicKeyTypeZ_clone(const struct LDKC2Tuple_PublicKeyTypeZ *NONNULL_PTR orig);
        export function C2Tuple_PublicKeyTypeZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -4989,6 +6867,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_boolLightningErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_boolLightningErrorZ_is_ok(const struct LDKCResult_boolLightningErrorZ *NONNULL_PTR o);
+       export function CResult_boolLightningErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_boolLightningErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_boolLightningErrorZ_free(struct LDKCResult_boolLightningErrorZ _res);
        export function CResult_boolLightningErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -4997,6 +6883,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_boolLightningErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_boolLightningErrorZ_clone_ptr(LDKCResult_boolLightningErrorZ *NONNULL_PTR arg);
+       export function CResult_boolLightningErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_boolLightningErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_boolLightningErrorZ CResult_boolLightningErrorZ_clone(const struct LDKCResult_boolLightningErrorZ *NONNULL_PTR orig);
        export function CResult_boolLightningErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5005,6 +6899,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_boolLightningErrorZ_clone(orig);
                return nativeResponseValue;
        }
+       // uint64_t C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_clone_ptr(LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ *NONNULL_PTR arg);
+       export function C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_clone(const struct LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ *NONNULL_PTR orig);
        export function C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5069,6 +6971,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_CVec_u8ZPeerHandleErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_CVec_u8ZPeerHandleErrorZ_is_ok(const struct LDKCResult_CVec_u8ZPeerHandleErrorZ *NONNULL_PTR o);
+       export function CResult_CVec_u8ZPeerHandleErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_CVec_u8ZPeerHandleErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_CVec_u8ZPeerHandleErrorZ_free(struct LDKCResult_CVec_u8ZPeerHandleErrorZ _res);
        export function CResult_CVec_u8ZPeerHandleErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5077,6 +6987,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_CVec_u8ZPeerHandleErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_CVec_u8ZPeerHandleErrorZ_clone_ptr(LDKCResult_CVec_u8ZPeerHandleErrorZ *NONNULL_PTR arg);
+       export function CResult_CVec_u8ZPeerHandleErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_CVec_u8ZPeerHandleErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_CVec_u8ZPeerHandleErrorZ CResult_CVec_u8ZPeerHandleErrorZ_clone(const struct LDKCResult_CVec_u8ZPeerHandleErrorZ *NONNULL_PTR orig);
        export function CResult_CVec_u8ZPeerHandleErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5101,6 +7019,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NonePeerHandleErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_NonePeerHandleErrorZ_is_ok(const struct LDKCResult_NonePeerHandleErrorZ *NONNULL_PTR o);
+       export function CResult_NonePeerHandleErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NonePeerHandleErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_NonePeerHandleErrorZ_free(struct LDKCResult_NonePeerHandleErrorZ _res);
        export function CResult_NonePeerHandleErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5109,6 +7035,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NonePeerHandleErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_NonePeerHandleErrorZ_clone_ptr(LDKCResult_NonePeerHandleErrorZ *NONNULL_PTR arg);
+       export function CResult_NonePeerHandleErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NonePeerHandleErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_NonePeerHandleErrorZ CResult_NonePeerHandleErrorZ_clone(const struct LDKCResult_NonePeerHandleErrorZ *NONNULL_PTR orig);
        export function CResult_NonePeerHandleErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5133,6 +7067,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_boolPeerHandleErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_boolPeerHandleErrorZ_is_ok(const struct LDKCResult_boolPeerHandleErrorZ *NONNULL_PTR o);
+       export function CResult_boolPeerHandleErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_boolPeerHandleErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_boolPeerHandleErrorZ_free(struct LDKCResult_boolPeerHandleErrorZ _res);
        export function CResult_boolPeerHandleErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5141,6 +7083,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_boolPeerHandleErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_boolPeerHandleErrorZ_clone_ptr(LDKCResult_boolPeerHandleErrorZ *NONNULL_PTR arg);
+       export function CResult_boolPeerHandleErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_boolPeerHandleErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_boolPeerHandleErrorZ CResult_boolPeerHandleErrorZ_clone(const struct LDKCResult_boolPeerHandleErrorZ *NONNULL_PTR orig);
        export function CResult_boolPeerHandleErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5149,6 +7099,102 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_boolPeerHandleErrorZ_clone(orig);
                return nativeResponseValue;
        }
+       // struct LDKCResult_NodeIdDecodeErrorZ CResult_NodeIdDecodeErrorZ_ok(struct LDKNodeId o);
+       export function CResult_NodeIdDecodeErrorZ_ok(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NodeIdDecodeErrorZ_ok(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_NodeIdDecodeErrorZ CResult_NodeIdDecodeErrorZ_err(struct LDKDecodeError e);
+       export function CResult_NodeIdDecodeErrorZ_err(e: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NodeIdDecodeErrorZ_err(e);
+               return nativeResponseValue;
+       }
+       // bool CResult_NodeIdDecodeErrorZ_is_ok(const struct LDKCResult_NodeIdDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_NodeIdDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NodeIdDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_NodeIdDecodeErrorZ_free(struct LDKCResult_NodeIdDecodeErrorZ _res);
+       export function CResult_NodeIdDecodeErrorZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NodeIdDecodeErrorZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t CResult_NodeIdDecodeErrorZ_clone_ptr(LDKCResult_NodeIdDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_NodeIdDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NodeIdDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_NodeIdDecodeErrorZ CResult_NodeIdDecodeErrorZ_clone(const struct LDKCResult_NodeIdDecodeErrorZ *NONNULL_PTR orig);
+       export function CResult_NodeIdDecodeErrorZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NodeIdDecodeErrorZ_clone(orig);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_COption_NetworkUpdateZDecodeErrorZ CResult_COption_NetworkUpdateZDecodeErrorZ_ok(struct LDKCOption_NetworkUpdateZ o);
+       export function CResult_COption_NetworkUpdateZDecodeErrorZ_ok(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_NetworkUpdateZDecodeErrorZ_ok(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_COption_NetworkUpdateZDecodeErrorZ CResult_COption_NetworkUpdateZDecodeErrorZ_err(struct LDKDecodeError e);
+       export function CResult_COption_NetworkUpdateZDecodeErrorZ_err(e: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_NetworkUpdateZDecodeErrorZ_err(e);
+               return nativeResponseValue;
+       }
+       // bool CResult_COption_NetworkUpdateZDecodeErrorZ_is_ok(const struct LDKCResult_COption_NetworkUpdateZDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_COption_NetworkUpdateZDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_NetworkUpdateZDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_COption_NetworkUpdateZDecodeErrorZ_free(struct LDKCResult_COption_NetworkUpdateZDecodeErrorZ _res);
+       export function CResult_COption_NetworkUpdateZDecodeErrorZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_NetworkUpdateZDecodeErrorZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t CResult_COption_NetworkUpdateZDecodeErrorZ_clone_ptr(LDKCResult_COption_NetworkUpdateZDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_COption_NetworkUpdateZDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_NetworkUpdateZDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_COption_NetworkUpdateZDecodeErrorZ CResult_COption_NetworkUpdateZDecodeErrorZ_clone(const struct LDKCResult_COption_NetworkUpdateZDecodeErrorZ *NONNULL_PTR orig);
+       export function CResult_COption_NetworkUpdateZDecodeErrorZ_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_COption_NetworkUpdateZDecodeErrorZ_clone(orig);
+               return nativeResponseValue;
+       }
        // struct LDKCOption_AccessZ COption_AccessZ_some(struct LDKAccess o);
        export function COption_AccessZ_some(o: number): number {
                if(!isWasmInitialized) {
@@ -5189,6 +7235,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_DirectionalChannelInfoDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_DirectionalChannelInfoDecodeErrorZ_is_ok(const struct LDKCResult_DirectionalChannelInfoDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_DirectionalChannelInfoDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_DirectionalChannelInfoDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_DirectionalChannelInfoDecodeErrorZ_free(struct LDKCResult_DirectionalChannelInfoDecodeErrorZ _res);
        export function CResult_DirectionalChannelInfoDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5197,6 +7251,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_DirectionalChannelInfoDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_DirectionalChannelInfoDecodeErrorZ_clone_ptr(LDKCResult_DirectionalChannelInfoDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_DirectionalChannelInfoDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_DirectionalChannelInfoDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_DirectionalChannelInfoDecodeErrorZ CResult_DirectionalChannelInfoDecodeErrorZ_clone(const struct LDKCResult_DirectionalChannelInfoDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_DirectionalChannelInfoDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5221,6 +7283,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelInfoDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ChannelInfoDecodeErrorZ_is_ok(const struct LDKCResult_ChannelInfoDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ChannelInfoDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelInfoDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ChannelInfoDecodeErrorZ_free(struct LDKCResult_ChannelInfoDecodeErrorZ _res);
        export function CResult_ChannelInfoDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5229,6 +7299,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelInfoDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ChannelInfoDecodeErrorZ_clone_ptr(LDKCResult_ChannelInfoDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ChannelInfoDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelInfoDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ChannelInfoDecodeErrorZ CResult_ChannelInfoDecodeErrorZ_clone(const struct LDKCResult_ChannelInfoDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ChannelInfoDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5253,6 +7331,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_RoutingFeesDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_RoutingFeesDecodeErrorZ_is_ok(const struct LDKCResult_RoutingFeesDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_RoutingFeesDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RoutingFeesDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_RoutingFeesDecodeErrorZ_free(struct LDKCResult_RoutingFeesDecodeErrorZ _res);
        export function CResult_RoutingFeesDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5261,6 +7347,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_RoutingFeesDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_RoutingFeesDecodeErrorZ_clone_ptr(LDKCResult_RoutingFeesDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_RoutingFeesDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RoutingFeesDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_RoutingFeesDecodeErrorZ CResult_RoutingFeesDecodeErrorZ_clone(const struct LDKCResult_RoutingFeesDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_RoutingFeesDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5285,6 +7379,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NodeAnnouncementInfoDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_NodeAnnouncementInfoDecodeErrorZ_is_ok(const struct LDKCResult_NodeAnnouncementInfoDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_NodeAnnouncementInfoDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NodeAnnouncementInfoDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_NodeAnnouncementInfoDecodeErrorZ_free(struct LDKCResult_NodeAnnouncementInfoDecodeErrorZ _res);
        export function CResult_NodeAnnouncementInfoDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5293,6 +7395,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NodeAnnouncementInfoDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_NodeAnnouncementInfoDecodeErrorZ_clone_ptr(LDKCResult_NodeAnnouncementInfoDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_NodeAnnouncementInfoDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NodeAnnouncementInfoDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_NodeAnnouncementInfoDecodeErrorZ CResult_NodeAnnouncementInfoDecodeErrorZ_clone(const struct LDKCResult_NodeAnnouncementInfoDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_NodeAnnouncementInfoDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5325,6 +7435,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NodeInfoDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_NodeInfoDecodeErrorZ_is_ok(const struct LDKCResult_NodeInfoDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_NodeInfoDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NodeInfoDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_NodeInfoDecodeErrorZ_free(struct LDKCResult_NodeInfoDecodeErrorZ _res);
        export function CResult_NodeInfoDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5333,6 +7451,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NodeInfoDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_NodeInfoDecodeErrorZ_clone_ptr(LDKCResult_NodeInfoDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_NodeInfoDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NodeInfoDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_NodeInfoDecodeErrorZ CResult_NodeInfoDecodeErrorZ_clone(const struct LDKCResult_NodeInfoDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_NodeInfoDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5357,6 +7483,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NetworkGraphDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_NetworkGraphDecodeErrorZ_is_ok(const struct LDKCResult_NetworkGraphDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_NetworkGraphDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NetworkGraphDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_NetworkGraphDecodeErrorZ_free(struct LDKCResult_NetworkGraphDecodeErrorZ _res);
        export function CResult_NetworkGraphDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5365,76 +7499,60 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NetworkGraphDecodeErrorZ_free(_res);
                // debug statements here
        }
-       // struct LDKCResult_NetworkGraphDecodeErrorZ CResult_NetworkGraphDecodeErrorZ_clone(const struct LDKCResult_NetworkGraphDecodeErrorZ *NONNULL_PTR orig);
-       export function CResult_NetworkGraphDecodeErrorZ_clone(orig: number): number {
+       // uint64_t CResult_NetworkGraphDecodeErrorZ_clone_ptr(LDKCResult_NetworkGraphDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_NetworkGraphDecodeErrorZ_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_NetworkGraphDecodeErrorZ_clone(orig);
+               const nativeResponseValue = wasm.CResult_NetworkGraphDecodeErrorZ_clone_ptr(arg);
                return nativeResponseValue;
        }
-       // struct LDKCResult_NetAddressu8Z CResult_NetAddressu8Z_ok(struct LDKNetAddress o);
-       export function CResult_NetAddressu8Z_ok(o: number): number {
+       // struct LDKCResult_NetworkGraphDecodeErrorZ CResult_NetworkGraphDecodeErrorZ_clone(const struct LDKCResult_NetworkGraphDecodeErrorZ *NONNULL_PTR orig);
+       export function CResult_NetworkGraphDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_NetAddressu8Z_ok(o);
+               const nativeResponseValue = wasm.CResult_NetworkGraphDecodeErrorZ_clone(orig);
                return nativeResponseValue;
        }
-       // struct LDKCResult_NetAddressu8Z CResult_NetAddressu8Z_err(uint8_t e);
-       export function CResult_NetAddressu8Z_err(e: number): number {
+       // struct LDKCOption_CVec_NetAddressZZ COption_CVec_NetAddressZZ_some(struct LDKCVec_NetAddressZ o);
+       export function COption_CVec_NetAddressZZ_some(o: number[]): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_NetAddressu8Z_err(e);
+               const nativeResponseValue = wasm.COption_CVec_NetAddressZZ_some(o);
                return nativeResponseValue;
        }
-       // void CResult_NetAddressu8Z_free(struct LDKCResult_NetAddressu8Z _res);
-       export function CResult_NetAddressu8Z_free(_res: number): void {
+       // struct LDKCOption_CVec_NetAddressZZ COption_CVec_NetAddressZZ_none(void);
+       export function COption_CVec_NetAddressZZ_none(): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_NetAddressu8Z_free(_res);
-               // debug statements here
-       }
-       // struct LDKCResult_NetAddressu8Z CResult_NetAddressu8Z_clone(const struct LDKCResult_NetAddressu8Z *NONNULL_PTR orig);
-       export function CResult_NetAddressu8Z_clone(orig: number): number {
-               if(!isWasmInitialized) {
-                       throw new Error("initializeWasm() must be awaited first!");
-               }
-               const nativeResponseValue = wasm.CResult_NetAddressu8Z_clone(orig);
+               const nativeResponseValue = wasm.COption_CVec_NetAddressZZ_none();
                return nativeResponseValue;
        }
-       // struct LDKCResult_CResult_NetAddressu8ZDecodeErrorZ CResult_CResult_NetAddressu8ZDecodeErrorZ_ok(struct LDKCResult_NetAddressu8Z o);
-       export function CResult_CResult_NetAddressu8ZDecodeErrorZ_ok(o: number): number {
+       // void COption_CVec_NetAddressZZ_free(struct LDKCOption_CVec_NetAddressZZ _res);
+       export function COption_CVec_NetAddressZZ_free(_res: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_CResult_NetAddressu8ZDecodeErrorZ_ok(o);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.COption_CVec_NetAddressZZ_free(_res);
+               // debug statements here
        }
-       // struct LDKCResult_CResult_NetAddressu8ZDecodeErrorZ CResult_CResult_NetAddressu8ZDecodeErrorZ_err(struct LDKDecodeError e);
-       export function CResult_CResult_NetAddressu8ZDecodeErrorZ_err(e: number): number {
+       // uint64_t COption_CVec_NetAddressZZ_clone_ptr(LDKCOption_CVec_NetAddressZZ *NONNULL_PTR arg);
+       export function COption_CVec_NetAddressZZ_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_CResult_NetAddressu8ZDecodeErrorZ_err(e);
+               const nativeResponseValue = wasm.COption_CVec_NetAddressZZ_clone_ptr(arg);
                return nativeResponseValue;
        }
-       // void CResult_CResult_NetAddressu8ZDecodeErrorZ_free(struct LDKCResult_CResult_NetAddressu8ZDecodeErrorZ _res);
-       export function CResult_CResult_NetAddressu8ZDecodeErrorZ_free(_res: number): void {
-               if(!isWasmInitialized) {
-                       throw new Error("initializeWasm() must be awaited first!");
-               }
-               const nativeResponseValue = wasm.CResult_CResult_NetAddressu8ZDecodeErrorZ_free(_res);
-               // debug statements here
-       }
-       // struct LDKCResult_CResult_NetAddressu8ZDecodeErrorZ CResult_CResult_NetAddressu8ZDecodeErrorZ_clone(const struct LDKCResult_CResult_NetAddressu8ZDecodeErrorZ *NONNULL_PTR orig);
-       export function CResult_CResult_NetAddressu8ZDecodeErrorZ_clone(orig: number): number {
+       // struct LDKCOption_CVec_NetAddressZZ COption_CVec_NetAddressZZ_clone(const struct LDKCOption_CVec_NetAddressZZ *NONNULL_PTR orig);
+       export function COption_CVec_NetAddressZZ_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_CResult_NetAddressu8ZDecodeErrorZ_clone(orig);
+               const nativeResponseValue = wasm.COption_CVec_NetAddressZZ_clone(orig);
                return nativeResponseValue;
        }
        // struct LDKCResult_NetAddressDecodeErrorZ CResult_NetAddressDecodeErrorZ_ok(struct LDKNetAddress o);
@@ -5453,6 +7571,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NetAddressDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_NetAddressDecodeErrorZ_is_ok(const struct LDKCResult_NetAddressDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_NetAddressDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NetAddressDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_NetAddressDecodeErrorZ_free(struct LDKCResult_NetAddressDecodeErrorZ _res);
        export function CResult_NetAddressDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5461,6 +7587,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NetAddressDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_NetAddressDecodeErrorZ_clone_ptr(LDKCResult_NetAddressDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_NetAddressDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NetAddressDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_NetAddressDecodeErrorZ CResult_NetAddressDecodeErrorZ_clone(const struct LDKCResult_NetAddressDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_NetAddressDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5517,6 +7651,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_AcceptChannelDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_AcceptChannelDecodeErrorZ_is_ok(const struct LDKCResult_AcceptChannelDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_AcceptChannelDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_AcceptChannelDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_AcceptChannelDecodeErrorZ_free(struct LDKCResult_AcceptChannelDecodeErrorZ _res);
        export function CResult_AcceptChannelDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5525,6 +7667,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_AcceptChannelDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_AcceptChannelDecodeErrorZ_clone_ptr(LDKCResult_AcceptChannelDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_AcceptChannelDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_AcceptChannelDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_AcceptChannelDecodeErrorZ CResult_AcceptChannelDecodeErrorZ_clone(const struct LDKCResult_AcceptChannelDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_AcceptChannelDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5549,6 +7699,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_AnnouncementSignaturesDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_AnnouncementSignaturesDecodeErrorZ_is_ok(const struct LDKCResult_AnnouncementSignaturesDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_AnnouncementSignaturesDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_AnnouncementSignaturesDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_AnnouncementSignaturesDecodeErrorZ_free(struct LDKCResult_AnnouncementSignaturesDecodeErrorZ _res);
        export function CResult_AnnouncementSignaturesDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5557,6 +7715,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_AnnouncementSignaturesDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_AnnouncementSignaturesDecodeErrorZ_clone_ptr(LDKCResult_AnnouncementSignaturesDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_AnnouncementSignaturesDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_AnnouncementSignaturesDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_AnnouncementSignaturesDecodeErrorZ CResult_AnnouncementSignaturesDecodeErrorZ_clone(const struct LDKCResult_AnnouncementSignaturesDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_AnnouncementSignaturesDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5581,6 +7747,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelReestablishDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ChannelReestablishDecodeErrorZ_is_ok(const struct LDKCResult_ChannelReestablishDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ChannelReestablishDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelReestablishDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ChannelReestablishDecodeErrorZ_free(struct LDKCResult_ChannelReestablishDecodeErrorZ _res);
        export function CResult_ChannelReestablishDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5589,6 +7763,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelReestablishDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ChannelReestablishDecodeErrorZ_clone_ptr(LDKCResult_ChannelReestablishDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ChannelReestablishDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelReestablishDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ChannelReestablishDecodeErrorZ CResult_ChannelReestablishDecodeErrorZ_clone(const struct LDKCResult_ChannelReestablishDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ChannelReestablishDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5613,13 +7795,29 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ClosingSignedDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
-       // void CResult_ClosingSignedDecodeErrorZ_free(struct LDKCResult_ClosingSignedDecodeErrorZ _res);
-       export function CResult_ClosingSignedDecodeErrorZ_free(_res: number): void {
+       // bool CResult_ClosingSignedDecodeErrorZ_is_ok(const struct LDKCResult_ClosingSignedDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ClosingSignedDecodeErrorZ_is_ok(o: number): boolean {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.CResult_ClosingSignedDecodeErrorZ_free(_res);
-               // debug statements here
+               const nativeResponseValue = wasm.CResult_ClosingSignedDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_ClosingSignedDecodeErrorZ_free(struct LDKCResult_ClosingSignedDecodeErrorZ _res);
+       export function CResult_ClosingSignedDecodeErrorZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ClosingSignedDecodeErrorZ_free(_res);
+               // debug statements here
+       }
+       // uint64_t CResult_ClosingSignedDecodeErrorZ_clone_ptr(LDKCResult_ClosingSignedDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ClosingSignedDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ClosingSignedDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
        }
        // struct LDKCResult_ClosingSignedDecodeErrorZ CResult_ClosingSignedDecodeErrorZ_clone(const struct LDKCResult_ClosingSignedDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ClosingSignedDecodeErrorZ_clone(orig: number): number {
@@ -5645,6 +7843,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ClosingSignedFeeRangeDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ClosingSignedFeeRangeDecodeErrorZ_is_ok(const struct LDKCResult_ClosingSignedFeeRangeDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ClosingSignedFeeRangeDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ClosingSignedFeeRangeDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ClosingSignedFeeRangeDecodeErrorZ_free(struct LDKCResult_ClosingSignedFeeRangeDecodeErrorZ _res);
        export function CResult_ClosingSignedFeeRangeDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5653,6 +7859,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ClosingSignedFeeRangeDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ClosingSignedFeeRangeDecodeErrorZ_clone_ptr(LDKCResult_ClosingSignedFeeRangeDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ClosingSignedFeeRangeDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ClosingSignedFeeRangeDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ClosingSignedFeeRangeDecodeErrorZ CResult_ClosingSignedFeeRangeDecodeErrorZ_clone(const struct LDKCResult_ClosingSignedFeeRangeDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ClosingSignedFeeRangeDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5677,6 +7891,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_CommitmentSignedDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_CommitmentSignedDecodeErrorZ_is_ok(const struct LDKCResult_CommitmentSignedDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_CommitmentSignedDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_CommitmentSignedDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_CommitmentSignedDecodeErrorZ_free(struct LDKCResult_CommitmentSignedDecodeErrorZ _res);
        export function CResult_CommitmentSignedDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5685,6 +7907,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_CommitmentSignedDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_CommitmentSignedDecodeErrorZ_clone_ptr(LDKCResult_CommitmentSignedDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_CommitmentSignedDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_CommitmentSignedDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_CommitmentSignedDecodeErrorZ CResult_CommitmentSignedDecodeErrorZ_clone(const struct LDKCResult_CommitmentSignedDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_CommitmentSignedDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5709,6 +7939,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_FundingCreatedDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_FundingCreatedDecodeErrorZ_is_ok(const struct LDKCResult_FundingCreatedDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_FundingCreatedDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_FundingCreatedDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_FundingCreatedDecodeErrorZ_free(struct LDKCResult_FundingCreatedDecodeErrorZ _res);
        export function CResult_FundingCreatedDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5717,6 +7955,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_FundingCreatedDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_FundingCreatedDecodeErrorZ_clone_ptr(LDKCResult_FundingCreatedDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_FundingCreatedDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_FundingCreatedDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_FundingCreatedDecodeErrorZ CResult_FundingCreatedDecodeErrorZ_clone(const struct LDKCResult_FundingCreatedDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_FundingCreatedDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5741,6 +7987,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_FundingSignedDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_FundingSignedDecodeErrorZ_is_ok(const struct LDKCResult_FundingSignedDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_FundingSignedDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_FundingSignedDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_FundingSignedDecodeErrorZ_free(struct LDKCResult_FundingSignedDecodeErrorZ _res);
        export function CResult_FundingSignedDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5749,6 +8003,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_FundingSignedDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_FundingSignedDecodeErrorZ_clone_ptr(LDKCResult_FundingSignedDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_FundingSignedDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_FundingSignedDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_FundingSignedDecodeErrorZ CResult_FundingSignedDecodeErrorZ_clone(const struct LDKCResult_FundingSignedDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_FundingSignedDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5773,6 +8035,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_FundingLockedDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_FundingLockedDecodeErrorZ_is_ok(const struct LDKCResult_FundingLockedDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_FundingLockedDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_FundingLockedDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_FundingLockedDecodeErrorZ_free(struct LDKCResult_FundingLockedDecodeErrorZ _res);
        export function CResult_FundingLockedDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5781,6 +8051,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_FundingLockedDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_FundingLockedDecodeErrorZ_clone_ptr(LDKCResult_FundingLockedDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_FundingLockedDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_FundingLockedDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_FundingLockedDecodeErrorZ CResult_FundingLockedDecodeErrorZ_clone(const struct LDKCResult_FundingLockedDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_FundingLockedDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5805,6 +8083,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_InitDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_InitDecodeErrorZ_is_ok(const struct LDKCResult_InitDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_InitDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_InitDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_InitDecodeErrorZ_free(struct LDKCResult_InitDecodeErrorZ _res);
        export function CResult_InitDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5813,6 +8099,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_InitDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_InitDecodeErrorZ_clone_ptr(LDKCResult_InitDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_InitDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_InitDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_InitDecodeErrorZ CResult_InitDecodeErrorZ_clone(const struct LDKCResult_InitDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_InitDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5837,6 +8131,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_OpenChannelDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_OpenChannelDecodeErrorZ_is_ok(const struct LDKCResult_OpenChannelDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_OpenChannelDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_OpenChannelDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_OpenChannelDecodeErrorZ_free(struct LDKCResult_OpenChannelDecodeErrorZ _res);
        export function CResult_OpenChannelDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5845,6 +8147,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_OpenChannelDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_OpenChannelDecodeErrorZ_clone_ptr(LDKCResult_OpenChannelDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_OpenChannelDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_OpenChannelDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_OpenChannelDecodeErrorZ CResult_OpenChannelDecodeErrorZ_clone(const struct LDKCResult_OpenChannelDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_OpenChannelDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5869,6 +8179,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_RevokeAndACKDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_RevokeAndACKDecodeErrorZ_is_ok(const struct LDKCResult_RevokeAndACKDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_RevokeAndACKDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RevokeAndACKDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_RevokeAndACKDecodeErrorZ_free(struct LDKCResult_RevokeAndACKDecodeErrorZ _res);
        export function CResult_RevokeAndACKDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5877,6 +8195,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_RevokeAndACKDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_RevokeAndACKDecodeErrorZ_clone_ptr(LDKCResult_RevokeAndACKDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_RevokeAndACKDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_RevokeAndACKDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_RevokeAndACKDecodeErrorZ CResult_RevokeAndACKDecodeErrorZ_clone(const struct LDKCResult_RevokeAndACKDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_RevokeAndACKDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5901,6 +8227,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ShutdownDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ShutdownDecodeErrorZ_is_ok(const struct LDKCResult_ShutdownDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ShutdownDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ShutdownDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ShutdownDecodeErrorZ_free(struct LDKCResult_ShutdownDecodeErrorZ _res);
        export function CResult_ShutdownDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5909,6 +8243,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ShutdownDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ShutdownDecodeErrorZ_clone_ptr(LDKCResult_ShutdownDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ShutdownDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ShutdownDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ShutdownDecodeErrorZ CResult_ShutdownDecodeErrorZ_clone(const struct LDKCResult_ShutdownDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ShutdownDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5933,6 +8275,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UpdateFailHTLCDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_UpdateFailHTLCDecodeErrorZ_is_ok(const struct LDKCResult_UpdateFailHTLCDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_UpdateFailHTLCDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UpdateFailHTLCDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_UpdateFailHTLCDecodeErrorZ_free(struct LDKCResult_UpdateFailHTLCDecodeErrorZ _res);
        export function CResult_UpdateFailHTLCDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5941,6 +8291,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UpdateFailHTLCDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_UpdateFailHTLCDecodeErrorZ_clone_ptr(LDKCResult_UpdateFailHTLCDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_UpdateFailHTLCDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UpdateFailHTLCDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_UpdateFailHTLCDecodeErrorZ CResult_UpdateFailHTLCDecodeErrorZ_clone(const struct LDKCResult_UpdateFailHTLCDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_UpdateFailHTLCDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5965,6 +8323,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UpdateFailMalformedHTLCDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_UpdateFailMalformedHTLCDecodeErrorZ_is_ok(const struct LDKCResult_UpdateFailMalformedHTLCDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_UpdateFailMalformedHTLCDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UpdateFailMalformedHTLCDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_UpdateFailMalformedHTLCDecodeErrorZ_free(struct LDKCResult_UpdateFailMalformedHTLCDecodeErrorZ _res);
        export function CResult_UpdateFailMalformedHTLCDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -5973,6 +8339,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UpdateFailMalformedHTLCDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_UpdateFailMalformedHTLCDecodeErrorZ_clone_ptr(LDKCResult_UpdateFailMalformedHTLCDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_UpdateFailMalformedHTLCDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UpdateFailMalformedHTLCDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_UpdateFailMalformedHTLCDecodeErrorZ CResult_UpdateFailMalformedHTLCDecodeErrorZ_clone(const struct LDKCResult_UpdateFailMalformedHTLCDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_UpdateFailMalformedHTLCDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -5997,6 +8371,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UpdateFeeDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_UpdateFeeDecodeErrorZ_is_ok(const struct LDKCResult_UpdateFeeDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_UpdateFeeDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UpdateFeeDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_UpdateFeeDecodeErrorZ_free(struct LDKCResult_UpdateFeeDecodeErrorZ _res);
        export function CResult_UpdateFeeDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6005,6 +8387,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UpdateFeeDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_UpdateFeeDecodeErrorZ_clone_ptr(LDKCResult_UpdateFeeDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_UpdateFeeDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UpdateFeeDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_UpdateFeeDecodeErrorZ CResult_UpdateFeeDecodeErrorZ_clone(const struct LDKCResult_UpdateFeeDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_UpdateFeeDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6029,6 +8419,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UpdateFulfillHTLCDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_UpdateFulfillHTLCDecodeErrorZ_is_ok(const struct LDKCResult_UpdateFulfillHTLCDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_UpdateFulfillHTLCDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UpdateFulfillHTLCDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_UpdateFulfillHTLCDecodeErrorZ_free(struct LDKCResult_UpdateFulfillHTLCDecodeErrorZ _res);
        export function CResult_UpdateFulfillHTLCDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6037,6 +8435,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UpdateFulfillHTLCDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_UpdateFulfillHTLCDecodeErrorZ_clone_ptr(LDKCResult_UpdateFulfillHTLCDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_UpdateFulfillHTLCDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UpdateFulfillHTLCDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_UpdateFulfillHTLCDecodeErrorZ CResult_UpdateFulfillHTLCDecodeErrorZ_clone(const struct LDKCResult_UpdateFulfillHTLCDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_UpdateFulfillHTLCDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6061,6 +8467,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UpdateAddHTLCDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_UpdateAddHTLCDecodeErrorZ_is_ok(const struct LDKCResult_UpdateAddHTLCDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_UpdateAddHTLCDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UpdateAddHTLCDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_UpdateAddHTLCDecodeErrorZ_free(struct LDKCResult_UpdateAddHTLCDecodeErrorZ _res);
        export function CResult_UpdateAddHTLCDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6069,6 +8483,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UpdateAddHTLCDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_UpdateAddHTLCDecodeErrorZ_clone_ptr(LDKCResult_UpdateAddHTLCDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_UpdateAddHTLCDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UpdateAddHTLCDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_UpdateAddHTLCDecodeErrorZ CResult_UpdateAddHTLCDecodeErrorZ_clone(const struct LDKCResult_UpdateAddHTLCDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_UpdateAddHTLCDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6093,6 +8515,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_PingDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_PingDecodeErrorZ_is_ok(const struct LDKCResult_PingDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_PingDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PingDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_PingDecodeErrorZ_free(struct LDKCResult_PingDecodeErrorZ _res);
        export function CResult_PingDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6101,6 +8531,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_PingDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_PingDecodeErrorZ_clone_ptr(LDKCResult_PingDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_PingDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PingDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_PingDecodeErrorZ CResult_PingDecodeErrorZ_clone(const struct LDKCResult_PingDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_PingDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6125,6 +8563,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_PongDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_PongDecodeErrorZ_is_ok(const struct LDKCResult_PongDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_PongDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PongDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_PongDecodeErrorZ_free(struct LDKCResult_PongDecodeErrorZ _res);
        export function CResult_PongDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6133,6 +8579,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_PongDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_PongDecodeErrorZ_clone_ptr(LDKCResult_PongDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_PongDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_PongDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_PongDecodeErrorZ CResult_PongDecodeErrorZ_clone(const struct LDKCResult_PongDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_PongDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6157,6 +8611,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UnsignedChannelAnnouncementDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_UnsignedChannelAnnouncementDecodeErrorZ_is_ok(const struct LDKCResult_UnsignedChannelAnnouncementDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_UnsignedChannelAnnouncementDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UnsignedChannelAnnouncementDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_UnsignedChannelAnnouncementDecodeErrorZ_free(struct LDKCResult_UnsignedChannelAnnouncementDecodeErrorZ _res);
        export function CResult_UnsignedChannelAnnouncementDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6165,6 +8627,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UnsignedChannelAnnouncementDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_UnsignedChannelAnnouncementDecodeErrorZ_clone_ptr(LDKCResult_UnsignedChannelAnnouncementDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_UnsignedChannelAnnouncementDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UnsignedChannelAnnouncementDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_UnsignedChannelAnnouncementDecodeErrorZ CResult_UnsignedChannelAnnouncementDecodeErrorZ_clone(const struct LDKCResult_UnsignedChannelAnnouncementDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_UnsignedChannelAnnouncementDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6189,6 +8659,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelAnnouncementDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ChannelAnnouncementDecodeErrorZ_is_ok(const struct LDKCResult_ChannelAnnouncementDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ChannelAnnouncementDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelAnnouncementDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ChannelAnnouncementDecodeErrorZ_free(struct LDKCResult_ChannelAnnouncementDecodeErrorZ _res);
        export function CResult_ChannelAnnouncementDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6197,6 +8675,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelAnnouncementDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ChannelAnnouncementDecodeErrorZ_clone_ptr(LDKCResult_ChannelAnnouncementDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ChannelAnnouncementDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelAnnouncementDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ChannelAnnouncementDecodeErrorZ CResult_ChannelAnnouncementDecodeErrorZ_clone(const struct LDKCResult_ChannelAnnouncementDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ChannelAnnouncementDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6221,6 +8707,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UnsignedChannelUpdateDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_UnsignedChannelUpdateDecodeErrorZ_is_ok(const struct LDKCResult_UnsignedChannelUpdateDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_UnsignedChannelUpdateDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UnsignedChannelUpdateDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_UnsignedChannelUpdateDecodeErrorZ_free(struct LDKCResult_UnsignedChannelUpdateDecodeErrorZ _res);
        export function CResult_UnsignedChannelUpdateDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6229,6 +8723,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UnsignedChannelUpdateDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_UnsignedChannelUpdateDecodeErrorZ_clone_ptr(LDKCResult_UnsignedChannelUpdateDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_UnsignedChannelUpdateDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UnsignedChannelUpdateDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_UnsignedChannelUpdateDecodeErrorZ CResult_UnsignedChannelUpdateDecodeErrorZ_clone(const struct LDKCResult_UnsignedChannelUpdateDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_UnsignedChannelUpdateDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6253,6 +8755,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelUpdateDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ChannelUpdateDecodeErrorZ_is_ok(const struct LDKCResult_ChannelUpdateDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ChannelUpdateDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelUpdateDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ChannelUpdateDecodeErrorZ_free(struct LDKCResult_ChannelUpdateDecodeErrorZ _res);
        export function CResult_ChannelUpdateDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6261,6 +8771,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ChannelUpdateDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ChannelUpdateDecodeErrorZ_clone_ptr(LDKCResult_ChannelUpdateDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ChannelUpdateDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ChannelUpdateDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ChannelUpdateDecodeErrorZ CResult_ChannelUpdateDecodeErrorZ_clone(const struct LDKCResult_ChannelUpdateDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ChannelUpdateDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6285,6 +8803,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ErrorMessageDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ErrorMessageDecodeErrorZ_is_ok(const struct LDKCResult_ErrorMessageDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ErrorMessageDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ErrorMessageDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ErrorMessageDecodeErrorZ_free(struct LDKCResult_ErrorMessageDecodeErrorZ _res);
        export function CResult_ErrorMessageDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6293,6 +8819,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ErrorMessageDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ErrorMessageDecodeErrorZ_clone_ptr(LDKCResult_ErrorMessageDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ErrorMessageDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ErrorMessageDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ErrorMessageDecodeErrorZ CResult_ErrorMessageDecodeErrorZ_clone(const struct LDKCResult_ErrorMessageDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ErrorMessageDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6317,6 +8851,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UnsignedNodeAnnouncementDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_UnsignedNodeAnnouncementDecodeErrorZ_is_ok(const struct LDKCResult_UnsignedNodeAnnouncementDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_UnsignedNodeAnnouncementDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UnsignedNodeAnnouncementDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_UnsignedNodeAnnouncementDecodeErrorZ_free(struct LDKCResult_UnsignedNodeAnnouncementDecodeErrorZ _res);
        export function CResult_UnsignedNodeAnnouncementDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6325,6 +8867,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_UnsignedNodeAnnouncementDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_UnsignedNodeAnnouncementDecodeErrorZ_clone_ptr(LDKCResult_UnsignedNodeAnnouncementDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_UnsignedNodeAnnouncementDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_UnsignedNodeAnnouncementDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_UnsignedNodeAnnouncementDecodeErrorZ CResult_UnsignedNodeAnnouncementDecodeErrorZ_clone(const struct LDKCResult_UnsignedNodeAnnouncementDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_UnsignedNodeAnnouncementDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6349,6 +8899,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NodeAnnouncementDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_NodeAnnouncementDecodeErrorZ_is_ok(const struct LDKCResult_NodeAnnouncementDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_NodeAnnouncementDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NodeAnnouncementDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_NodeAnnouncementDecodeErrorZ_free(struct LDKCResult_NodeAnnouncementDecodeErrorZ _res);
        export function CResult_NodeAnnouncementDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6357,6 +8915,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_NodeAnnouncementDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_NodeAnnouncementDecodeErrorZ_clone_ptr(LDKCResult_NodeAnnouncementDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_NodeAnnouncementDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_NodeAnnouncementDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_NodeAnnouncementDecodeErrorZ CResult_NodeAnnouncementDecodeErrorZ_clone(const struct LDKCResult_NodeAnnouncementDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_NodeAnnouncementDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6381,6 +8947,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_QueryShortChannelIdsDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_QueryShortChannelIdsDecodeErrorZ_is_ok(const struct LDKCResult_QueryShortChannelIdsDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_QueryShortChannelIdsDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_QueryShortChannelIdsDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_QueryShortChannelIdsDecodeErrorZ_free(struct LDKCResult_QueryShortChannelIdsDecodeErrorZ _res);
        export function CResult_QueryShortChannelIdsDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6389,6 +8963,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_QueryShortChannelIdsDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_QueryShortChannelIdsDecodeErrorZ_clone_ptr(LDKCResult_QueryShortChannelIdsDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_QueryShortChannelIdsDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_QueryShortChannelIdsDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_QueryShortChannelIdsDecodeErrorZ CResult_QueryShortChannelIdsDecodeErrorZ_clone(const struct LDKCResult_QueryShortChannelIdsDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_QueryShortChannelIdsDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6413,14 +8995,30 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ReplyShortChannelIdsEndDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
-       // void CResult_ReplyShortChannelIdsEndDecodeErrorZ_free(struct LDKCResult_ReplyShortChannelIdsEndDecodeErrorZ _res);
-       export function CResult_ReplyShortChannelIdsEndDecodeErrorZ_free(_res: number): void {
+       // bool CResult_ReplyShortChannelIdsEndDecodeErrorZ_is_ok(const struct LDKCResult_ReplyShortChannelIdsEndDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ReplyShortChannelIdsEndDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ReplyShortChannelIdsEndDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_ReplyShortChannelIdsEndDecodeErrorZ_free(struct LDKCResult_ReplyShortChannelIdsEndDecodeErrorZ _res);
+       export function CResult_ReplyShortChannelIdsEndDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
                const nativeResponseValue = wasm.CResult_ReplyShortChannelIdsEndDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ReplyShortChannelIdsEndDecodeErrorZ_clone_ptr(LDKCResult_ReplyShortChannelIdsEndDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ReplyShortChannelIdsEndDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ReplyShortChannelIdsEndDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ReplyShortChannelIdsEndDecodeErrorZ CResult_ReplyShortChannelIdsEndDecodeErrorZ_clone(const struct LDKCResult_ReplyShortChannelIdsEndDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ReplyShortChannelIdsEndDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6445,6 +9043,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_QueryChannelRangeDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_QueryChannelRangeDecodeErrorZ_is_ok(const struct LDKCResult_QueryChannelRangeDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_QueryChannelRangeDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_QueryChannelRangeDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_QueryChannelRangeDecodeErrorZ_free(struct LDKCResult_QueryChannelRangeDecodeErrorZ _res);
        export function CResult_QueryChannelRangeDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6453,6 +9059,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_QueryChannelRangeDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_QueryChannelRangeDecodeErrorZ_clone_ptr(LDKCResult_QueryChannelRangeDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_QueryChannelRangeDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_QueryChannelRangeDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_QueryChannelRangeDecodeErrorZ CResult_QueryChannelRangeDecodeErrorZ_clone(const struct LDKCResult_QueryChannelRangeDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_QueryChannelRangeDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6477,6 +9091,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ReplyChannelRangeDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_ReplyChannelRangeDecodeErrorZ_is_ok(const struct LDKCResult_ReplyChannelRangeDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_ReplyChannelRangeDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ReplyChannelRangeDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_ReplyChannelRangeDecodeErrorZ_free(struct LDKCResult_ReplyChannelRangeDecodeErrorZ _res);
        export function CResult_ReplyChannelRangeDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6485,6 +9107,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_ReplyChannelRangeDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_ReplyChannelRangeDecodeErrorZ_clone_ptr(LDKCResult_ReplyChannelRangeDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_ReplyChannelRangeDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_ReplyChannelRangeDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_ReplyChannelRangeDecodeErrorZ CResult_ReplyChannelRangeDecodeErrorZ_clone(const struct LDKCResult_ReplyChannelRangeDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_ReplyChannelRangeDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6509,6 +9139,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_GossipTimestampFilterDecodeErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_GossipTimestampFilterDecodeErrorZ_is_ok(const struct LDKCResult_GossipTimestampFilterDecodeErrorZ *NONNULL_PTR o);
+       export function CResult_GossipTimestampFilterDecodeErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_GossipTimestampFilterDecodeErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_GossipTimestampFilterDecodeErrorZ_free(struct LDKCResult_GossipTimestampFilterDecodeErrorZ _res);
        export function CResult_GossipTimestampFilterDecodeErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6517,6 +9155,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_GossipTimestampFilterDecodeErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_GossipTimestampFilterDecodeErrorZ_clone_ptr(LDKCResult_GossipTimestampFilterDecodeErrorZ *NONNULL_PTR arg);
+       export function CResult_GossipTimestampFilterDecodeErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_GossipTimestampFilterDecodeErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_GossipTimestampFilterDecodeErrorZ CResult_GossipTimestampFilterDecodeErrorZ_clone(const struct LDKCResult_GossipTimestampFilterDecodeErrorZ *NONNULL_PTR orig);
        export function CResult_GossipTimestampFilterDecodeErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6541,6 +9187,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_InvoiceSignOrCreationErrorZ_err(e);
                return nativeResponseValue;
        }
+       // bool CResult_InvoiceSignOrCreationErrorZ_is_ok(const struct LDKCResult_InvoiceSignOrCreationErrorZ *NONNULL_PTR o);
+       export function CResult_InvoiceSignOrCreationErrorZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_InvoiceSignOrCreationErrorZ_is_ok(o);
+               return nativeResponseValue;
+       }
        // void CResult_InvoiceSignOrCreationErrorZ_free(struct LDKCResult_InvoiceSignOrCreationErrorZ _res);
        export function CResult_InvoiceSignOrCreationErrorZ_free(_res: number): void {
                if(!isWasmInitialized) {
@@ -6549,6 +9203,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CResult_InvoiceSignOrCreationErrorZ_free(_res);
                // debug statements here
        }
+       // uint64_t CResult_InvoiceSignOrCreationErrorZ_clone_ptr(LDKCResult_InvoiceSignOrCreationErrorZ *NONNULL_PTR arg);
+       export function CResult_InvoiceSignOrCreationErrorZ_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_InvoiceSignOrCreationErrorZ_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_InvoiceSignOrCreationErrorZ CResult_InvoiceSignOrCreationErrorZ_clone(const struct LDKCResult_InvoiceSignOrCreationErrorZ *NONNULL_PTR orig);
        export function CResult_InvoiceSignOrCreationErrorZ_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6581,6 +9243,46 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.COption_FilterZ_free(_res);
                // debug statements here
        }
+       // struct LDKCResult_LockedChannelMonitorNoneZ CResult_LockedChannelMonitorNoneZ_ok(struct LDKLockedChannelMonitor o);
+       export function CResult_LockedChannelMonitorNoneZ_ok(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_LockedChannelMonitorNoneZ_ok(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCResult_LockedChannelMonitorNoneZ CResult_LockedChannelMonitorNoneZ_err(void);
+       export function CResult_LockedChannelMonitorNoneZ_err(): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_LockedChannelMonitorNoneZ_err();
+               return nativeResponseValue;
+       }
+       // bool CResult_LockedChannelMonitorNoneZ_is_ok(const struct LDKCResult_LockedChannelMonitorNoneZ *NONNULL_PTR o);
+       export function CResult_LockedChannelMonitorNoneZ_is_ok(o: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_LockedChannelMonitorNoneZ_is_ok(o);
+               return nativeResponseValue;
+       }
+       // void CResult_LockedChannelMonitorNoneZ_free(struct LDKCResult_LockedChannelMonitorNoneZ _res);
+       export function CResult_LockedChannelMonitorNoneZ_free(_res: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CResult_LockedChannelMonitorNoneZ_free(_res);
+               // debug statements here
+       }
+       // void CVec_OutPointZ_free(struct LDKCVec_OutPointZ _res);
+       export function CVec_OutPointZ_free(_res: number[]): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CVec_OutPointZ_free(_res);
+               // debug statements here
+       }
        // void PaymentPurpose_free(struct LDKPaymentPurpose this_ptr);
        export function PaymentPurpose_free(this_ptr: number): void {
                if(!isWasmInitialized) {
@@ -6589,6 +9291,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.PaymentPurpose_free(this_ptr);
                // debug statements here
        }
+       // uint64_t PaymentPurpose_clone_ptr(LDKPaymentPurpose *NONNULL_PTR arg);
+       export function PaymentPurpose_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PaymentPurpose_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKPaymentPurpose PaymentPurpose_clone(const struct LDKPaymentPurpose *NONNULL_PTR orig);
        export function PaymentPurpose_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6621,6 +9331,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ClosureReason_free(this_ptr);
                // debug statements here
        }
+       // uint64_t ClosureReason_clone_ptr(LDKClosureReason *NONNULL_PTR arg);
+       export function ClosureReason_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ClosureReason_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKClosureReason ClosureReason_clone(const struct LDKClosureReason *NONNULL_PTR orig);
        export function ClosureReason_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6693,6 +9411,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ClosureReason_write(obj);
                return decodeArray(nativeResponseValue);
        }
+       // struct LDKCResult_COption_ClosureReasonZDecodeErrorZ ClosureReason_read(struct LDKu8slice ser);
+       export function ClosureReason_read(ser: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ClosureReason_read(encodeArray(ser));
+               return nativeResponseValue;
+       }
        // void Event_free(struct LDKEvent this_ptr);
        export function Event_free(this_ptr: number): void {
                if(!isWasmInitialized) {
@@ -6701,6 +9427,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Event_free(this_ptr);
                // debug statements here
        }
+       // uint64_t Event_clone_ptr(LDKEvent *NONNULL_PTR arg);
+       export function Event_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Event_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKEvent Event_clone(const struct LDKEvent *NONNULL_PTR orig);
        export function Event_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6725,20 +9459,20 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Event_payment_received(encodeArray(payment_hash), amt, purpose);
                return nativeResponseValue;
        }
-       // struct LDKEvent Event_payment_sent(struct LDKThirtyTwoBytes payment_preimage);
-       export function Event_payment_sent(payment_preimage: Uint8Array): number {
+       // struct LDKEvent Event_payment_sent(struct LDKThirtyTwoBytes payment_id, struct LDKThirtyTwoBytes payment_preimage, struct LDKThirtyTwoBytes payment_hash, struct LDKCOption_u64Z fee_paid_msat);
+       export function Event_payment_sent(payment_id: Uint8Array, payment_preimage: Uint8Array, payment_hash: Uint8Array, fee_paid_msat: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Event_payment_sent(encodeArray(payment_preimage));
+               const nativeResponseValue = wasm.Event_payment_sent(encodeArray(payment_id), encodeArray(payment_preimage), encodeArray(payment_hash), fee_paid_msat);
                return nativeResponseValue;
        }
-       // struct LDKEvent Event_payment_path_failed(struct LDKThirtyTwoBytes payment_hash, bool rejected_by_dest, struct LDKCOption_NetworkUpdateZ network_update, bool all_paths_failed, struct LDKCVec_RouteHopZ path);
-       export function Event_payment_path_failed(payment_hash: Uint8Array, rejected_by_dest: boolean, network_update: number, all_paths_failed: boolean, path: number[]): number {
+       // struct LDKEvent Event_payment_path_failed(struct LDKThirtyTwoBytes payment_id, struct LDKThirtyTwoBytes payment_hash, bool rejected_by_dest, struct LDKCOption_NetworkUpdateZ network_update, bool all_paths_failed, struct LDKCVec_RouteHopZ path, struct LDKCOption_u64Z short_channel_id, struct LDKRouteParameters retry);
+       export function Event_payment_path_failed(payment_id: Uint8Array, payment_hash: Uint8Array, rejected_by_dest: boolean, network_update: number, all_paths_failed: boolean, path: number[], short_channel_id: number, retry: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Event_payment_path_failed(encodeArray(payment_hash), rejected_by_dest, network_update, all_paths_failed, path);
+               const nativeResponseValue = wasm.Event_payment_path_failed(encodeArray(payment_id), encodeArray(payment_hash), rejected_by_dest, network_update, all_paths_failed, path, short_channel_id, retry);
                return nativeResponseValue;
        }
        // struct LDKEvent Event_pending_htlcs_forwardable(uint64_t time_forwardable);
@@ -6765,12 +9499,20 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Event_payment_forwarded(fee_earned_msat, claim_from_onchain_tx);
                return nativeResponseValue;
        }
-       // struct LDKEvent Event_channel_closed(struct LDKThirtyTwoBytes channel_id, struct LDKClosureReason reason);
-       export function Event_channel_closed(channel_id: Uint8Array, reason: number): number {
+       // struct LDKEvent Event_channel_closed(struct LDKThirtyTwoBytes channel_id, uint64_t user_channel_id, struct LDKClosureReason reason);
+       export function Event_channel_closed(channel_id: Uint8Array, user_channel_id: number, reason: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Event_channel_closed(encodeArray(channel_id), user_channel_id, reason);
+               return nativeResponseValue;
+       }
+       // struct LDKEvent Event_discard_funding(struct LDKThirtyTwoBytes channel_id, struct LDKTransaction transaction);
+       export function Event_discard_funding(channel_id: Uint8Array, transaction: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Event_channel_closed(encodeArray(channel_id), reason);
+               const nativeResponseValue = wasm.Event_discard_funding(encodeArray(channel_id), encodeArray(transaction));
                return nativeResponseValue;
        }
        // struct LDKCVec_u8Z Event_write(const struct LDKEvent *NONNULL_PTR obj);
@@ -6781,6 +9523,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Event_write(obj);
                return decodeArray(nativeResponseValue);
        }
+       // struct LDKCResult_COption_EventZDecodeErrorZ Event_read(struct LDKu8slice ser);
+       export function Event_read(ser: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Event_read(encodeArray(ser));
+               return nativeResponseValue;
+       }
        // void MessageSendEvent_free(struct LDKMessageSendEvent this_ptr);
        export function MessageSendEvent_free(this_ptr: number): void {
                if(!isWasmInitialized) {
@@ -6789,6 +9539,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.MessageSendEvent_free(this_ptr);
                // debug statements here
        }
+       // uint64_t MessageSendEvent_clone_ptr(LDKMessageSendEvent *NONNULL_PTR arg);
+       export function MessageSendEvent_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.MessageSendEvent_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKMessageSendEvent MessageSendEvent_clone(const struct LDKMessageSendEvent *NONNULL_PTR orig);
        export function MessageSendEvent_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -6981,6 +9739,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.APIError_free(this_ptr);
                // debug statements here
        }
+       // uint64_t APIError_clone_ptr(LDKAPIError *NONNULL_PTR arg);
+       export function APIError_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.APIError_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKAPIError APIError_clone(const struct LDKAPIError *NONNULL_PTR orig);
        export function APIError_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -7133,6 +9899,110 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Level_max();
                return nativeResponseValue;
        }
+       // void Record_free(struct LDKRecord this_obj);
+       export function Record_free(this_obj: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Record_free(this_obj);
+               // debug statements here
+       }
+       // enum LDKLevel Record_get_level(const struct LDKRecord *NONNULL_PTR this_ptr);
+       export function Record_get_level(this_ptr: number): Level {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Record_get_level(this_ptr);
+               return nativeResponseValue;
+       }
+       // void Record_set_level(struct LDKRecord *NONNULL_PTR this_ptr, enum LDKLevel val);
+       export function Record_set_level(this_ptr: number, val: Level): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Record_set_level(this_ptr, val);
+               // debug statements here
+       }
+       // struct LDKStr Record_get_args(const struct LDKRecord *NONNULL_PTR this_ptr);
+       export function Record_get_args(this_ptr: number): String {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Record_get_args(this_ptr);
+               return nativeResponseValue;
+       }
+       // void Record_set_args(struct LDKRecord *NONNULL_PTR this_ptr, struct LDKStr val);
+       export function Record_set_args(this_ptr: number, val: String): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Record_set_args(this_ptr, val);
+               // debug statements here
+       }
+       // struct LDKStr Record_get_module_path(const struct LDKRecord *NONNULL_PTR this_ptr);
+       export function Record_get_module_path(this_ptr: number): String {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Record_get_module_path(this_ptr);
+               return nativeResponseValue;
+       }
+       // void Record_set_module_path(struct LDKRecord *NONNULL_PTR this_ptr, struct LDKStr val);
+       export function Record_set_module_path(this_ptr: number, val: String): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Record_set_module_path(this_ptr, val);
+               // debug statements here
+       }
+       // struct LDKStr Record_get_file(const struct LDKRecord *NONNULL_PTR this_ptr);
+       export function Record_get_file(this_ptr: number): String {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Record_get_file(this_ptr);
+               return nativeResponseValue;
+       }
+       // void Record_set_file(struct LDKRecord *NONNULL_PTR this_ptr, struct LDKStr val);
+       export function Record_set_file(this_ptr: number, val: String): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Record_set_file(this_ptr, val);
+               // debug statements here
+       }
+       // uint32_t Record_get_line(const struct LDKRecord *NONNULL_PTR this_ptr);
+       export function Record_get_line(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Record_get_line(this_ptr);
+               return nativeResponseValue;
+       }
+       // void Record_set_line(struct LDKRecord *NONNULL_PTR this_ptr, uint32_t val);
+       export function Record_set_line(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Record_set_line(this_ptr, val);
+               // debug statements here
+       }
+       // uint64_t Record_clone_ptr(LDKRecord *NONNULL_PTR arg);
+       export function Record_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Record_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKRecord Record_clone(const struct LDKRecord *NONNULL_PTR orig);
+       export function Record_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Record_clone(orig);
+               return nativeResponseValue;
+       }
        // void Logger_free(struct LDKLogger this_ptr);
        export function Logger_free(this_ptr: number): void {
                if(!isWasmInitialized) {
@@ -7205,6 +10075,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelHandshakeConfig_new(minimum_depth_arg, our_to_self_delay_arg, our_htlc_minimum_msat_arg);
                return nativeResponseValue;
        }
+       // uint64_t ChannelHandshakeConfig_clone_ptr(LDKChannelHandshakeConfig *NONNULL_PTR arg);
+       export function ChannelHandshakeConfig_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelHandshakeConfig_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKChannelHandshakeConfig ChannelHandshakeConfig_clone(const struct LDKChannelHandshakeConfig *NONNULL_PTR orig);
        export function ChannelHandshakeConfig_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -7365,6 +10243,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelHandshakeLimits_new(min_funding_satoshis_arg, max_htlc_minimum_msat_arg, min_max_htlc_value_in_flight_msat_arg, max_channel_reserve_satoshis_arg, min_max_accepted_htlcs_arg, max_minimum_depth_arg, force_announced_channel_preference_arg, their_to_self_delay_arg);
                return nativeResponseValue;
        }
+       // uint64_t ChannelHandshakeLimits_clone_ptr(LDKChannelHandshakeLimits *NONNULL_PTR arg);
+       export function ChannelHandshakeLimits_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelHandshakeLimits_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKChannelHandshakeLimits ChannelHandshakeLimits_clone(const struct LDKChannelHandshakeLimits *NONNULL_PTR orig);
        export function ChannelHandshakeLimits_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -7509,6 +10395,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelConfig_new(forwarding_fee_proportional_millionths_arg, forwarding_fee_base_msat_arg, cltv_expiry_delta_arg, announced_channel_arg, commit_upfront_shutdown_pubkey_arg, max_dust_htlc_exposure_msat_arg, force_close_avoidance_max_fee_satoshis_arg);
                return nativeResponseValue;
        }
+       // uint64_t ChannelConfig_clone_ptr(LDKChannelConfig *NONNULL_PTR arg);
+       export function ChannelConfig_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelConfig_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKChannelConfig ChannelConfig_clone(const struct LDKChannelConfig *NONNULL_PTR orig);
        export function ChannelConfig_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -7621,6 +10515,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.UserConfig_new(own_channel_config_arg, peer_channel_config_limits_arg, channel_options_arg, accept_forwards_to_priv_channels_arg);
                return nativeResponseValue;
        }
+       // uint64_t UserConfig_clone_ptr(LDKUserConfig *NONNULL_PTR arg);
+       export function UserConfig_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.UserConfig_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKUserConfig UserConfig_clone(const struct LDKUserConfig *NONNULL_PTR orig);
        export function UserConfig_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -7645,6 +10547,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.BestBlock_free(this_obj);
                // debug statements here
        }
+       // uint64_t BestBlock_clone_ptr(LDKBestBlock *NONNULL_PTR arg);
+       export function BestBlock_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.BestBlock_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKBestBlock BestBlock_clone(const struct LDKBestBlock *NONNULL_PTR orig);
        export function BestBlock_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -7733,6 +10643,30 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Confirm_free(this_ptr);
                // debug statements here
        }
+       // enum LDKChannelMonitorUpdateErr ChannelMonitorUpdateErr_clone(const enum LDKChannelMonitorUpdateErr *NONNULL_PTR orig);
+       export function ChannelMonitorUpdateErr_clone(orig: number): ChannelMonitorUpdateErr {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelMonitorUpdateErr_clone(orig);
+               return nativeResponseValue;
+       }
+       // enum LDKChannelMonitorUpdateErr ChannelMonitorUpdateErr_temporary_failure(void);
+       export function ChannelMonitorUpdateErr_temporary_failure(): ChannelMonitorUpdateErr {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelMonitorUpdateErr_temporary_failure();
+               return nativeResponseValue;
+       }
+       // enum LDKChannelMonitorUpdateErr ChannelMonitorUpdateErr_permanent_failure(void);
+       export function ChannelMonitorUpdateErr_permanent_failure(): ChannelMonitorUpdateErr {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelMonitorUpdateErr_permanent_failure();
+               return nativeResponseValue;
+       }
        // void Watch_free(struct LDKWatch this_ptr);
        export function Watch_free(this_ptr: number): void {
                if(!isWasmInitialized) {
@@ -7813,6 +10747,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.WatchedOutput_new(encodeArray(block_hash_arg), outpoint_arg, encodeArray(script_pubkey_arg));
                return nativeResponseValue;
        }
+       // uint64_t WatchedOutput_clone_ptr(LDKWatchedOutput *NONNULL_PTR arg);
+       export function WatchedOutput_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.WatchedOutput_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKWatchedOutput WatchedOutput_clone(const struct LDKWatchedOutput *NONNULL_PTR orig);
        export function WatchedOutput_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -7885,52 +10827,132 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.FeeEstimator_free(this_ptr);
                // debug statements here
        }
-       // void ChainMonitor_free(struct LDKChainMonitor this_obj);
-       export function ChainMonitor_free(this_obj: number): void {
+       // void MonitorUpdateId_free(struct LDKMonitorUpdateId this_obj);
+       export function MonitorUpdateId_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChainMonitor_free(this_obj);
+               const nativeResponseValue = wasm.MonitorUpdateId_free(this_obj);
                // debug statements here
        }
-       // MUST_USE_RES struct LDKChainMonitor ChainMonitor_new(struct LDKCOption_FilterZ chain_source, struct LDKBroadcasterInterface broadcaster, struct LDKLogger logger, struct LDKFeeEstimator feeest, struct LDKPersist persister);
-       export function ChainMonitor_new(chain_source: number, broadcaster: number, logger: number, feeest: number, persister: number): number {
+       // uint64_t MonitorUpdateId_clone_ptr(LDKMonitorUpdateId *NONNULL_PTR arg);
+       export function MonitorUpdateId_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChainMonitor_new(chain_source, broadcaster, logger, feeest, persister);
+               const nativeResponseValue = wasm.MonitorUpdateId_clone_ptr(arg);
                return nativeResponseValue;
        }
-       // MUST_USE_RES struct LDKCVec_BalanceZ ChainMonitor_get_claimable_balances(const struct LDKChainMonitor *NONNULL_PTR this_arg, struct LDKCVec_ChannelDetailsZ ignored_channels);
-       export function ChainMonitor_get_claimable_balances(this_arg: number, ignored_channels: number[]): number[] {
+       // struct LDKMonitorUpdateId MonitorUpdateId_clone(const struct LDKMonitorUpdateId *NONNULL_PTR orig);
+       export function MonitorUpdateId_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChainMonitor_get_claimable_balances(this_arg, ignored_channels);
+               const nativeResponseValue = wasm.MonitorUpdateId_clone(orig);
                return nativeResponseValue;
        }
-       // struct LDKListen ChainMonitor_as_Listen(const struct LDKChainMonitor *NONNULL_PTR this_arg);
-       export function ChainMonitor_as_Listen(this_arg: number): number {
+       // uint64_t MonitorUpdateId_hash(const struct LDKMonitorUpdateId *NONNULL_PTR o);
+       export function MonitorUpdateId_hash(o: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChainMonitor_as_Listen(this_arg);
+               const nativeResponseValue = wasm.MonitorUpdateId_hash(o);
                return nativeResponseValue;
        }
-       // struct LDKConfirm ChainMonitor_as_Confirm(const struct LDKChainMonitor *NONNULL_PTR this_arg);
-       export function ChainMonitor_as_Confirm(this_arg: number): number {
+       // bool MonitorUpdateId_eq(const struct LDKMonitorUpdateId *NONNULL_PTR a, const struct LDKMonitorUpdateId *NONNULL_PTR b);
+       export function MonitorUpdateId_eq(a: number, b: number): boolean {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChainMonitor_as_Confirm(this_arg);
+               const nativeResponseValue = wasm.MonitorUpdateId_eq(a, b);
                return nativeResponseValue;
        }
-       // struct LDKWatch ChainMonitor_as_Watch(const struct LDKChainMonitor *NONNULL_PTR this_arg);
-       export function ChainMonitor_as_Watch(this_arg: number): number {
+       // void Persist_free(struct LDKPersist this_ptr);
+       export function Persist_free(this_ptr: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChainMonitor_as_Watch(this_arg);
+               const nativeResponseValue = wasm.Persist_free(this_ptr);
+               // debug statements here
+       }
+       // void LockedChannelMonitor_free(struct LDKLockedChannelMonitor this_obj);
+       export function LockedChannelMonitor_free(this_obj: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.LockedChannelMonitor_free(this_obj);
+               // debug statements here
+       }
+       // void ChainMonitor_free(struct LDKChainMonitor this_obj);
+       export function ChainMonitor_free(this_obj: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChainMonitor_free(this_obj);
+               // debug statements here
+       }
+       // MUST_USE_RES struct LDKChainMonitor ChainMonitor_new(struct LDKCOption_FilterZ chain_source, struct LDKBroadcasterInterface broadcaster, struct LDKLogger logger, struct LDKFeeEstimator feeest, struct LDKPersist persister);
+       export function ChainMonitor_new(chain_source: number, broadcaster: number, logger: number, feeest: number, persister: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChainMonitor_new(chain_source, broadcaster, logger, feeest, persister);
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKCVec_BalanceZ ChainMonitor_get_claimable_balances(const struct LDKChainMonitor *NONNULL_PTR this_arg, struct LDKCVec_ChannelDetailsZ ignored_channels);
+       export function ChainMonitor_get_claimable_balances(this_arg: number, ignored_channels: number[]): number[] {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChainMonitor_get_claimable_balances(this_arg, ignored_channels);
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKCResult_LockedChannelMonitorNoneZ ChainMonitor_get_monitor(const struct LDKChainMonitor *NONNULL_PTR this_arg, struct LDKOutPoint funding_txo);
+       export function ChainMonitor_get_monitor(this_arg: number, funding_txo: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChainMonitor_get_monitor(this_arg, funding_txo);
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKCVec_OutPointZ ChainMonitor_list_monitors(const struct LDKChainMonitor *NONNULL_PTR this_arg);
+       export function ChainMonitor_list_monitors(this_arg: number): number[] {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChainMonitor_list_monitors(this_arg);
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKCResult_NoneAPIErrorZ ChainMonitor_channel_monitor_updated(const struct LDKChainMonitor *NONNULL_PTR this_arg, struct LDKOutPoint funding_txo, struct LDKMonitorUpdateId completed_update_id);
+       export function ChainMonitor_channel_monitor_updated(this_arg: number, funding_txo: number, completed_update_id: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChainMonitor_channel_monitor_updated(this_arg, funding_txo, completed_update_id);
+               return nativeResponseValue;
+       }
+       // struct LDKListen ChainMonitor_as_Listen(const struct LDKChainMonitor *NONNULL_PTR this_arg);
+       export function ChainMonitor_as_Listen(this_arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChainMonitor_as_Listen(this_arg);
+               return nativeResponseValue;
+       }
+       // struct LDKConfirm ChainMonitor_as_Confirm(const struct LDKChainMonitor *NONNULL_PTR this_arg);
+       export function ChainMonitor_as_Confirm(this_arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChainMonitor_as_Confirm(this_arg);
+               return nativeResponseValue;
+       }
+       // struct LDKWatch ChainMonitor_as_Watch(const struct LDKChainMonitor *NONNULL_PTR this_arg);
+       export function ChainMonitor_as_Watch(this_arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChainMonitor_as_Watch(this_arg);
                return nativeResponseValue;
        }
        // struct LDKEventsProvider ChainMonitor_as_EventsProvider(const struct LDKChainMonitor *NONNULL_PTR this_arg);
@@ -7965,6 +10987,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelMonitorUpdate_set_update_id(this_ptr, val);
                // debug statements here
        }
+       // uint64_t ChannelMonitorUpdate_clone_ptr(LDKChannelMonitorUpdate *NONNULL_PTR arg);
+       export function ChannelMonitorUpdate_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelMonitorUpdate_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKChannelMonitorUpdate ChannelMonitorUpdate_clone(const struct LDKChannelMonitorUpdate *NONNULL_PTR orig);
        export function ChannelMonitorUpdate_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -7989,37 +11019,45 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelMonitorUpdate_read(encodeArray(ser));
                return nativeResponseValue;
        }
-       // enum LDKChannelMonitorUpdateErr ChannelMonitorUpdateErr_clone(const enum LDKChannelMonitorUpdateErr *NONNULL_PTR orig);
-       export function ChannelMonitorUpdateErr_clone(orig: number): ChannelMonitorUpdateErr {
+       // void MonitorUpdateError_free(struct LDKMonitorUpdateError this_obj);
+       export function MonitorUpdateError_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelMonitorUpdateErr_clone(orig);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.MonitorUpdateError_free(this_obj);
+               // debug statements here
        }
-       // enum LDKChannelMonitorUpdateErr ChannelMonitorUpdateErr_temporary_failure(void);
-       export function ChannelMonitorUpdateErr_temporary_failure(): ChannelMonitorUpdateErr {
+       // struct LDKStr MonitorUpdateError_get_a(const struct LDKMonitorUpdateError *NONNULL_PTR this_ptr);
+       export function MonitorUpdateError_get_a(this_ptr: number): String {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelMonitorUpdateErr_temporary_failure();
+               const nativeResponseValue = wasm.MonitorUpdateError_get_a(this_ptr);
                return nativeResponseValue;
        }
-       // enum LDKChannelMonitorUpdateErr ChannelMonitorUpdateErr_permanent_failure(void);
-       export function ChannelMonitorUpdateErr_permanent_failure(): ChannelMonitorUpdateErr {
+       // void MonitorUpdateError_set_a(struct LDKMonitorUpdateError *NONNULL_PTR this_ptr, struct LDKStr val);
+       export function MonitorUpdateError_set_a(this_ptr: number, val: String): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelMonitorUpdateErr_permanent_failure();
+               const nativeResponseValue = wasm.MonitorUpdateError_set_a(this_ptr, val);
+               // debug statements here
+       }
+       // MUST_USE_RES struct LDKMonitorUpdateError MonitorUpdateError_new(struct LDKStr a_arg);
+       export function MonitorUpdateError_new(a_arg: String): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.MonitorUpdateError_new(a_arg);
                return nativeResponseValue;
        }
-       // void MonitorUpdateError_free(struct LDKMonitorUpdateError this_obj);
-       export function MonitorUpdateError_free(this_obj: number): void {
+       // uint64_t MonitorUpdateError_clone_ptr(LDKMonitorUpdateError *NONNULL_PTR arg);
+       export function MonitorUpdateError_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.MonitorUpdateError_free(this_obj);
-               // debug statements here
+               const nativeResponseValue = wasm.MonitorUpdateError_clone_ptr(arg);
+               return nativeResponseValue;
        }
        // struct LDKMonitorUpdateError MonitorUpdateError_clone(const struct LDKMonitorUpdateError *NONNULL_PTR orig);
        export function MonitorUpdateError_clone(orig: number): number {
@@ -8037,6 +11075,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.MonitorEvent_free(this_ptr);
                // debug statements here
        }
+       // uint64_t MonitorEvent_clone_ptr(LDKMonitorEvent *NONNULL_PTR arg);
+       export function MonitorEvent_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.MonitorEvent_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKMonitorEvent MonitorEvent_clone(const struct LDKMonitorEvent *NONNULL_PTR orig);
        export function MonitorEvent_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -8061,6 +11107,38 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.MonitorEvent_commitment_tx_confirmed(a);
                return nativeResponseValue;
        }
+       // struct LDKMonitorEvent MonitorEvent_update_completed(struct LDKOutPoint funding_txo, uint64_t monitor_update_id);
+       export function MonitorEvent_update_completed(funding_txo: number, monitor_update_id: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.MonitorEvent_update_completed(funding_txo, monitor_update_id);
+               return nativeResponseValue;
+       }
+       // struct LDKMonitorEvent MonitorEvent_update_failed(struct LDKOutPoint a);
+       export function MonitorEvent_update_failed(a: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.MonitorEvent_update_failed(a);
+               return nativeResponseValue;
+       }
+       // struct LDKCVec_u8Z MonitorEvent_write(const struct LDKMonitorEvent *NONNULL_PTR obj);
+       export function MonitorEvent_write(obj: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.MonitorEvent_write(obj);
+               return decodeArray(nativeResponseValue);
+       }
+       // struct LDKCResult_COption_MonitorEventZDecodeErrorZ MonitorEvent_read(struct LDKu8slice ser);
+       export function MonitorEvent_read(ser: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.MonitorEvent_read(encodeArray(ser));
+               return nativeResponseValue;
+       }
        // void HTLCUpdate_free(struct LDKHTLCUpdate this_obj);
        export function HTLCUpdate_free(this_obj: number): void {
                if(!isWasmInitialized) {
@@ -8069,6 +11147,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.HTLCUpdate_free(this_obj);
                // debug statements here
        }
+       // uint64_t HTLCUpdate_clone_ptr(LDKHTLCUpdate *NONNULL_PTR arg);
+       export function HTLCUpdate_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.HTLCUpdate_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKHTLCUpdate HTLCUpdate_clone(const struct LDKHTLCUpdate *NONNULL_PTR orig);
        export function HTLCUpdate_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -8101,6 +11187,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Balance_free(this_ptr);
                // debug statements here
        }
+       // uint64_t Balance_clone_ptr(LDKBalance *NONNULL_PTR arg);
+       export function Balance_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Balance_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKBalance Balance_clone(const struct LDKBalance *NONNULL_PTR orig);
        export function Balance_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -8157,6 +11251,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelMonitor_free(this_obj);
                // debug statements here
        }
+       // uint64_t ChannelMonitor_clone_ptr(LDKChannelMonitor *NONNULL_PTR arg);
+       export function ChannelMonitor_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelMonitor_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKChannelMonitor ChannelMonitor_clone(const struct LDKChannelMonitor *NONNULL_PTR orig);
        export function ChannelMonitor_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -8301,14 +11403,6 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelMonitor_get_claimable_balances(this_arg);
                return nativeResponseValue;
        }
-       // void Persist_free(struct LDKPersist this_ptr);
-       export function Persist_free(this_ptr: number): void {
-               if(!isWasmInitialized) {
-                       throw new Error("initializeWasm() must be awaited first!");
-               }
-               const nativeResponseValue = wasm.Persist_free(this_ptr);
-               // debug statements here
-       }
        // struct LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ C2Tuple_BlockHashChannelMonitorZ_read(struct LDKu8slice ser, const struct LDKKeysInterface *NONNULL_PTR arg);
        export function C2Tuple_BlockHashChannelMonitorZ_read(ser: Uint8Array, arg: number): number {
                if(!isWasmInitialized) {
@@ -8365,6 +11459,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.OutPoint_new(encodeArray(txid_arg), index_arg);
                return nativeResponseValue;
        }
+       // uint64_t OutPoint_clone_ptr(LDKOutPoint *NONNULL_PTR arg);
+       export function OutPoint_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.OutPoint_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKOutPoint OutPoint_clone(const struct LDKOutPoint *NONNULL_PTR orig);
        export function OutPoint_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -8533,6 +11635,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.DelayedPaymentOutputDescriptor_new(outpoint_arg, encodeArray(per_commitment_point_arg), to_self_delay_arg, output_arg, encodeArray(revocation_pubkey_arg), encodeArray(channel_keys_id_arg), channel_value_satoshis_arg);
                return nativeResponseValue;
        }
+       // uint64_t DelayedPaymentOutputDescriptor_clone_ptr(LDKDelayedPaymentOutputDescriptor *NONNULL_PTR arg);
+       export function DelayedPaymentOutputDescriptor_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.DelayedPaymentOutputDescriptor_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKDelayedPaymentOutputDescriptor DelayedPaymentOutputDescriptor_clone(const struct LDKDelayedPaymentOutputDescriptor *NONNULL_PTR orig);
        export function DelayedPaymentOutputDescriptor_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -8629,6 +11739,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.StaticPaymentOutputDescriptor_new(outpoint_arg, output_arg, encodeArray(channel_keys_id_arg), channel_value_satoshis_arg);
                return nativeResponseValue;
        }
+       // uint64_t StaticPaymentOutputDescriptor_clone_ptr(LDKStaticPaymentOutputDescriptor *NONNULL_PTR arg);
+       export function StaticPaymentOutputDescriptor_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.StaticPaymentOutputDescriptor_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKStaticPaymentOutputDescriptor StaticPaymentOutputDescriptor_clone(const struct LDKStaticPaymentOutputDescriptor *NONNULL_PTR orig);
        export function StaticPaymentOutputDescriptor_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -8661,6 +11779,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.SpendableOutputDescriptor_free(this_ptr);
                // debug statements here
        }
+       // uint64_t SpendableOutputDescriptor_clone_ptr(LDKSpendableOutputDescriptor *NONNULL_PTR arg);
+       export function SpendableOutputDescriptor_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.SpendableOutputDescriptor_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKSpendableOutputDescriptor SpendableOutputDescriptor_clone(const struct LDKSpendableOutputDescriptor *NONNULL_PTR orig);
        export function SpendableOutputDescriptor_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -8717,6 +11843,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.BaseSign_free(this_ptr);
                // debug statements here
        }
+       // uint64_t Sign_clone_ptr(LDKSign *NONNULL_PTR arg);
+       export function Sign_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Sign_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKSign Sign_clone(const struct LDKSign *NONNULL_PTR orig);
        export function Sign_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -8845,6 +11979,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.InMemorySigner_set_commitment_seed(this_ptr, encodeArray(val));
                // debug statements here
        }
+       // uint64_t InMemorySigner_clone_ptr(LDKInMemorySigner *NONNULL_PTR arg);
+       export function InMemorySigner_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.InMemorySigner_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKInMemorySigner InMemorySigner_clone(const struct LDKInMemorySigner *NONNULL_PTR orig);
        export function InMemorySigner_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -9053,6 +12195,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChainParameters_new(network_arg, best_block_arg);
                return nativeResponseValue;
        }
+       // uint64_t ChainParameters_clone_ptr(LDKChainParameters *NONNULL_PTR arg);
+       export function ChainParameters_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChainParameters_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKChainParameters ChainParameters_clone(const struct LDKChainParameters *NONNULL_PTR orig);
        export function ChainParameters_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -9125,6 +12275,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CounterpartyForwardingInfo_new(fee_base_msat_arg, fee_proportional_millionths_arg, cltv_expiry_delta_arg);
                return nativeResponseValue;
        }
+       // uint64_t CounterpartyForwardingInfo_clone_ptr(LDKCounterpartyForwardingInfo *NONNULL_PTR arg);
+       export function CounterpartyForwardingInfo_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CounterpartyForwardingInfo_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCounterpartyForwardingInfo CounterpartyForwardingInfo_clone(const struct LDKCounterpartyForwardingInfo *NONNULL_PTR orig);
        export function CounterpartyForwardingInfo_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -9213,6 +12371,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelCounterparty_new(encodeArray(node_id_arg), features_arg, unspendable_punishment_reserve_arg, forwarding_info_arg);
                return nativeResponseValue;
        }
+       // uint64_t ChannelCounterparty_clone_ptr(LDKChannelCounterparty *NONNULL_PTR arg);
+       export function ChannelCounterparty_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelCounterparty_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKChannelCounterparty ChannelCounterparty_clone(const struct LDKChannelCounterparty *NONNULL_PTR orig);
        export function ChannelCounterparty_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -9325,20 +12491,20 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelDetails_set_unspendable_punishment_reserve(this_ptr, val);
                // debug statements here
        }
-       // uint64_t ChannelDetails_get_user_id(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       export function ChannelDetails_get_user_id(this_ptr: number): number {
+       // uint64_t ChannelDetails_get_user_channel_id(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       export function ChannelDetails_get_user_channel_id(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelDetails_get_user_id(this_ptr);
+               const nativeResponseValue = wasm.ChannelDetails_get_user_channel_id(this_ptr);
                return nativeResponseValue;
        }
-       // void ChannelDetails_set_user_id(struct LDKChannelDetails *NONNULL_PTR this_ptr, uint64_t val);
-       export function ChannelDetails_set_user_id(this_ptr: number, val: number): void {
+       // void ChannelDetails_set_user_channel_id(struct LDKChannelDetails *NONNULL_PTR this_ptr, uint64_t val);
+       export function ChannelDetails_set_user_channel_id(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelDetails_set_user_id(this_ptr, val);
+               const nativeResponseValue = wasm.ChannelDetails_set_user_channel_id(this_ptr, val);
                // debug statements here
        }
        // uint64_t ChannelDetails_get_outbound_capacity_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
@@ -9469,12 +12635,20 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelDetails_set_is_public(this_ptr, val);
                // debug statements here
        }
-       // MUST_USE_RES struct LDKChannelDetails ChannelDetails_new(struct LDKThirtyTwoBytes channel_id_arg, struct LDKChannelCounterparty counterparty_arg, struct LDKOutPoint funding_txo_arg, struct LDKCOption_u64Z short_channel_id_arg, uint64_t channel_value_satoshis_arg, struct LDKCOption_u64Z unspendable_punishment_reserve_arg, uint64_t user_id_arg, uint64_t outbound_capacity_msat_arg, uint64_t inbound_capacity_msat_arg, struct LDKCOption_u32Z confirmations_required_arg, struct LDKCOption_u16Z force_close_spend_delay_arg, bool is_outbound_arg, bool is_funding_locked_arg, bool is_usable_arg, bool is_public_arg);
-       export function ChannelDetails_new(channel_id_arg: Uint8Array, counterparty_arg: number, funding_txo_arg: number, short_channel_id_arg: number, channel_value_satoshis_arg: number, unspendable_punishment_reserve_arg: number, user_id_arg: number, outbound_capacity_msat_arg: number, inbound_capacity_msat_arg: number, confirmations_required_arg: number, force_close_spend_delay_arg: number, is_outbound_arg: boolean, is_funding_locked_arg: boolean, is_usable_arg: boolean, is_public_arg: boolean): number {
+       // MUST_USE_RES struct LDKChannelDetails ChannelDetails_new(struct LDKThirtyTwoBytes channel_id_arg, struct LDKChannelCounterparty counterparty_arg, struct LDKOutPoint funding_txo_arg, struct LDKCOption_u64Z short_channel_id_arg, uint64_t channel_value_satoshis_arg, struct LDKCOption_u64Z unspendable_punishment_reserve_arg, uint64_t user_channel_id_arg, uint64_t outbound_capacity_msat_arg, uint64_t inbound_capacity_msat_arg, struct LDKCOption_u32Z confirmations_required_arg, struct LDKCOption_u16Z force_close_spend_delay_arg, bool is_outbound_arg, bool is_funding_locked_arg, bool is_usable_arg, bool is_public_arg);
+       export function ChannelDetails_new(channel_id_arg: Uint8Array, counterparty_arg: number, funding_txo_arg: number, short_channel_id_arg: number, channel_value_satoshis_arg: number, unspendable_punishment_reserve_arg: number, user_channel_id_arg: number, outbound_capacity_msat_arg: number, inbound_capacity_msat_arg: number, confirmations_required_arg: number, force_close_spend_delay_arg: number, is_outbound_arg: boolean, is_funding_locked_arg: boolean, is_usable_arg: boolean, is_public_arg: boolean): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelDetails_new(encodeArray(channel_id_arg), counterparty_arg, funding_txo_arg, short_channel_id_arg, channel_value_satoshis_arg, unspendable_punishment_reserve_arg, user_channel_id_arg, outbound_capacity_msat_arg, inbound_capacity_msat_arg, confirmations_required_arg, force_close_spend_delay_arg, is_outbound_arg, is_funding_locked_arg, is_usable_arg, is_public_arg);
+               return nativeResponseValue;
+       }
+       // uint64_t ChannelDetails_clone_ptr(LDKChannelDetails *NONNULL_PTR arg);
+       export function ChannelDetails_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelDetails_new(encodeArray(channel_id_arg), counterparty_arg, funding_txo_arg, short_channel_id_arg, channel_value_satoshis_arg, unspendable_punishment_reserve_arg, user_id_arg, outbound_capacity_msat_arg, inbound_capacity_msat_arg, confirmations_required_arg, force_close_spend_delay_arg, is_outbound_arg, is_funding_locked_arg, is_usable_arg, is_public_arg);
+               const nativeResponseValue = wasm.ChannelDetails_clone_ptr(arg);
                return nativeResponseValue;
        }
        // struct LDKChannelDetails ChannelDetails_clone(const struct LDKChannelDetails *NONNULL_PTR orig);
@@ -9493,6 +12667,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.PaymentSendFailure_free(this_ptr);
                // debug statements here
        }
+       // uint64_t PaymentSendFailure_clone_ptr(LDKPaymentSendFailure *NONNULL_PTR arg);
+       export function PaymentSendFailure_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PaymentSendFailure_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKPaymentSendFailure PaymentSendFailure_clone(const struct LDKPaymentSendFailure *NONNULL_PTR orig);
        export function PaymentSendFailure_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -9525,12 +12707,12 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.PaymentSendFailure_all_failed_retry_safe(a);
                return nativeResponseValue;
        }
-       // struct LDKPaymentSendFailure PaymentSendFailure_partial_failure(struct LDKCVec_CResult_NoneAPIErrorZZ a);
-       export function PaymentSendFailure_partial_failure(a: number[]): number {
+       // struct LDKPaymentSendFailure PaymentSendFailure_partial_failure(struct LDKCVec_CResult_NoneAPIErrorZZ results, struct LDKRouteParameters failed_paths_retry, struct LDKThirtyTwoBytes payment_id);
+       export function PaymentSendFailure_partial_failure(results: number[], failed_paths_retry: number, payment_id: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.PaymentSendFailure_partial_failure(a);
+               const nativeResponseValue = wasm.PaymentSendFailure_partial_failure(results, failed_paths_retry, encodeArray(payment_id));
                return nativeResponseValue;
        }
        // MUST_USE_RES struct LDKChannelManager ChannelManager_new(struct LDKFeeEstimator fee_est, struct LDKWatch chain_monitor, struct LDKBroadcasterInterface tx_broadcaster, struct LDKLogger logger, struct LDKKeysInterface keys_manager, struct LDKUserConfig config, struct LDKChainParameters params);
@@ -9549,12 +12731,12 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelManager_get_current_default_configuration(this_arg);
                return nativeResponseValue;
        }
-       // MUST_USE_RES struct LDKCResult_NoneAPIErrorZ ChannelManager_create_channel(const struct LDKChannelManager *NONNULL_PTR this_arg, struct LDKPublicKey their_network_key, uint64_t channel_value_satoshis, uint64_t push_msat, uint64_t user_id, struct LDKUserConfig override_config);
-       export function ChannelManager_create_channel(this_arg: number, their_network_key: Uint8Array, channel_value_satoshis: number, push_msat: number, user_id: number, override_config: number): number {
+       // MUST_USE_RES struct LDKCResult__u832APIErrorZ ChannelManager_create_channel(const struct LDKChannelManager *NONNULL_PTR this_arg, struct LDKPublicKey their_network_key, uint64_t channel_value_satoshis, uint64_t push_msat, uint64_t user_channel_id, struct LDKUserConfig override_config);
+       export function ChannelManager_create_channel(this_arg: number, their_network_key: Uint8Array, channel_value_satoshis: number, push_msat: number, user_channel_id: number, override_config: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelManager_create_channel(this_arg, encodeArray(their_network_key), channel_value_satoshis, push_msat, user_id, override_config);
+               const nativeResponseValue = wasm.ChannelManager_create_channel(this_arg, encodeArray(their_network_key), channel_value_satoshis, push_msat, user_channel_id, override_config);
                return nativeResponseValue;
        }
        // MUST_USE_RES struct LDKCVec_ChannelDetailsZ ChannelManager_list_channels(const struct LDKChannelManager *NONNULL_PTR this_arg);
@@ -9605,7 +12787,7 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelManager_force_close_all_channels(this_arg);
                // debug statements here
        }
-       // MUST_USE_RES struct LDKCResult_NonePaymentSendFailureZ ChannelManager_send_payment(const struct LDKChannelManager *NONNULL_PTR this_arg, const struct LDKRoute *NONNULL_PTR route, struct LDKThirtyTwoBytes payment_hash, struct LDKThirtyTwoBytes payment_secret);
+       // MUST_USE_RES struct LDKCResult_PaymentIdPaymentSendFailureZ ChannelManager_send_payment(const struct LDKChannelManager *NONNULL_PTR this_arg, const struct LDKRoute *NONNULL_PTR route, struct LDKThirtyTwoBytes payment_hash, struct LDKThirtyTwoBytes payment_secret);
        export function ChannelManager_send_payment(this_arg: number, route: number, payment_hash: Uint8Array, payment_secret: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
@@ -9613,7 +12795,15 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelManager_send_payment(this_arg, route, encodeArray(payment_hash), encodeArray(payment_secret));
                return nativeResponseValue;
        }
-       // MUST_USE_RES struct LDKCResult_PaymentHashPaymentSendFailureZ ChannelManager_send_spontaneous_payment(const struct LDKChannelManager *NONNULL_PTR this_arg, const struct LDKRoute *NONNULL_PTR route, struct LDKThirtyTwoBytes payment_preimage);
+       // MUST_USE_RES struct LDKCResult_NonePaymentSendFailureZ ChannelManager_retry_payment(const struct LDKChannelManager *NONNULL_PTR this_arg, const struct LDKRoute *NONNULL_PTR route, struct LDKThirtyTwoBytes payment_id);
+       export function ChannelManager_retry_payment(this_arg: number, route: number, payment_id: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelManager_retry_payment(this_arg, route, encodeArray(payment_id));
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKCResult_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ ChannelManager_send_spontaneous_payment(const struct LDKChannelManager *NONNULL_PTR this_arg, const struct LDKRoute *NONNULL_PTR route, struct LDKThirtyTwoBytes payment_preimage);
        export function ChannelManager_send_spontaneous_payment(this_arg: number, route: number, payment_preimage: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
@@ -9677,14 +12867,6 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelManager_get_our_node_id(this_arg);
                return decodeArray(nativeResponseValue);
        }
-       // void ChannelManager_channel_monitor_updated(const struct LDKChannelManager *NONNULL_PTR this_arg, const struct LDKOutPoint *NONNULL_PTR funding_txo, uint64_t highest_applied_update_id);
-       export function ChannelManager_channel_monitor_updated(this_arg: number, funding_txo: number, highest_applied_update_id: number): void {
-               if(!isWasmInitialized) {
-                       throw new Error("initializeWasm() must be awaited first!");
-               }
-               const nativeResponseValue = wasm.ChannelManager_channel_monitor_updated(this_arg, funding_txo, highest_applied_update_id);
-               // debug statements here
-       }
        // MUST_USE_RES struct LDKC2Tuple_PaymentHashPaymentSecretZ ChannelManager_create_inbound_payment(const struct LDKChannelManager *NONNULL_PTR this_arg, struct LDKCOption_u64Z min_value_msat, uint32_t invoice_expiry_delta_secs, uint64_t user_payment_id);
        export function ChannelManager_create_inbound_payment(this_arg: number, min_value_msat: number, invoice_expiry_delta_secs: number, user_payment_id: number): number {
                if(!isWasmInitialized) {
@@ -9901,6 +13083,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.DecodeError_free(this_obj);
                // debug statements here
        }
+       // uint64_t DecodeError_clone_ptr(LDKDecodeError *NONNULL_PTR arg);
+       export function DecodeError_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.DecodeError_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKDecodeError DecodeError_clone(const struct LDKDecodeError *NONNULL_PTR orig);
        export function DecodeError_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -9941,6 +13131,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Init_new(features_arg);
                return nativeResponseValue;
        }
+       // uint64_t Init_clone_ptr(LDKInit *NONNULL_PTR arg);
+       export function Init_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Init_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKInit Init_clone(const struct LDKInit *NONNULL_PTR orig);
        export function Init_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -9997,6 +13195,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ErrorMessage_new(encodeArray(channel_id_arg), data_arg);
                return nativeResponseValue;
        }
+       // uint64_t ErrorMessage_clone_ptr(LDKErrorMessage *NONNULL_PTR arg);
+       export function ErrorMessage_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ErrorMessage_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKErrorMessage ErrorMessage_clone(const struct LDKErrorMessage *NONNULL_PTR orig);
        export function ErrorMessage_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -10053,6 +13259,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Ping_new(ponglen_arg, byteslen_arg);
                return nativeResponseValue;
        }
+       // uint64_t Ping_clone_ptr(LDKPing *NONNULL_PTR arg);
+       export function Ping_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Ping_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKPing Ping_clone(const struct LDKPing *NONNULL_PTR orig);
        export function Ping_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -10093,6 +13307,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Pong_new(byteslen_arg);
                return nativeResponseValue;
        }
+       // uint64_t Pong_clone_ptr(LDKPong *NONNULL_PTR arg);
+       export function Pong_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Pong_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKPong Pong_clone(const struct LDKPong *NONNULL_PTR orig);
        export function Pong_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -10397,6 +13619,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.OpenChannel_set_channel_flags(this_ptr, val);
                // debug statements here
        }
+       // uint64_t OpenChannel_clone_ptr(LDKOpenChannel *NONNULL_PTR arg);
+       export function OpenChannel_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.OpenChannel_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKOpenChannel OpenChannel_clone(const struct LDKOpenChannel *NONNULL_PTR orig);
        export function OpenChannel_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -10637,6 +13867,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.AcceptChannel_set_first_per_commitment_point(this_ptr, encodeArray(val));
                // debug statements here
        }
+       // uint64_t AcceptChannel_clone_ptr(LDKAcceptChannel *NONNULL_PTR arg);
+       export function AcceptChannel_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.AcceptChannel_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKAcceptChannel AcceptChannel_clone(const struct LDKAcceptChannel *NONNULL_PTR orig);
        export function AcceptChannel_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -10725,6 +13963,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.FundingCreated_new(encodeArray(temporary_channel_id_arg), encodeArray(funding_txid_arg), funding_output_index_arg, encodeArray(signature_arg));
                return nativeResponseValue;
        }
+       // uint64_t FundingCreated_clone_ptr(LDKFundingCreated *NONNULL_PTR arg);
+       export function FundingCreated_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.FundingCreated_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKFundingCreated FundingCreated_clone(const struct LDKFundingCreated *NONNULL_PTR orig);
        export function FundingCreated_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -10781,6 +14027,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.FundingSigned_new(encodeArray(channel_id_arg), encodeArray(signature_arg));
                return nativeResponseValue;
        }
+       // uint64_t FundingSigned_clone_ptr(LDKFundingSigned *NONNULL_PTR arg);
+       export function FundingSigned_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.FundingSigned_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKFundingSigned FundingSigned_clone(const struct LDKFundingSigned *NONNULL_PTR orig);
        export function FundingSigned_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -10837,6 +14091,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.FundingLocked_new(encodeArray(channel_id_arg), encodeArray(next_per_commitment_point_arg));
                return nativeResponseValue;
        }
+       // uint64_t FundingLocked_clone_ptr(LDKFundingLocked *NONNULL_PTR arg);
+       export function FundingLocked_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.FundingLocked_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKFundingLocked FundingLocked_clone(const struct LDKFundingLocked *NONNULL_PTR orig);
        export function FundingLocked_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -10893,6 +14155,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Shutdown_new(encodeArray(channel_id_arg), encodeArray(scriptpubkey_arg));
                return nativeResponseValue;
        }
+       // uint64_t Shutdown_clone_ptr(LDKShutdown *NONNULL_PTR arg);
+       export function Shutdown_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Shutdown_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKShutdown Shutdown_clone(const struct LDKShutdown *NONNULL_PTR orig);
        export function Shutdown_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -10949,6 +14219,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ClosingSignedFeeRange_new(min_fee_satoshis_arg, max_fee_satoshis_arg);
                return nativeResponseValue;
        }
+       // uint64_t ClosingSignedFeeRange_clone_ptr(LDKClosingSignedFeeRange *NONNULL_PTR arg);
+       export function ClosingSignedFeeRange_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ClosingSignedFeeRange_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKClosingSignedFeeRange ClosingSignedFeeRange_clone(const struct LDKClosingSignedFeeRange *NONNULL_PTR orig);
        export function ClosingSignedFeeRange_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -11037,6 +14315,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ClosingSigned_new(encodeArray(channel_id_arg), fee_satoshis_arg, encodeArray(signature_arg), fee_range_arg);
                return nativeResponseValue;
        }
+       // uint64_t ClosingSigned_clone_ptr(LDKClosingSigned *NONNULL_PTR arg);
+       export function ClosingSigned_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ClosingSigned_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKClosingSigned ClosingSigned_clone(const struct LDKClosingSigned *NONNULL_PTR orig);
        export function ClosingSigned_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -11133,6 +14419,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.UpdateAddHTLC_set_cltv_expiry(this_ptr, val);
                // debug statements here
        }
+       // uint64_t UpdateAddHTLC_clone_ptr(LDKUpdateAddHTLC *NONNULL_PTR arg);
+       export function UpdateAddHTLC_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.UpdateAddHTLC_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKUpdateAddHTLC UpdateAddHTLC_clone(const struct LDKUpdateAddHTLC *NONNULL_PTR orig);
        export function UpdateAddHTLC_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -11205,6 +14499,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.UpdateFulfillHTLC_new(encodeArray(channel_id_arg), htlc_id_arg, encodeArray(payment_preimage_arg));
                return nativeResponseValue;
        }
+       // uint64_t UpdateFulfillHTLC_clone_ptr(LDKUpdateFulfillHTLC *NONNULL_PTR arg);
+       export function UpdateFulfillHTLC_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.UpdateFulfillHTLC_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKUpdateFulfillHTLC UpdateFulfillHTLC_clone(const struct LDKUpdateFulfillHTLC *NONNULL_PTR orig);
        export function UpdateFulfillHTLC_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -11253,6 +14555,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.UpdateFailHTLC_set_htlc_id(this_ptr, val);
                // debug statements here
        }
+       // uint64_t UpdateFailHTLC_clone_ptr(LDKUpdateFailHTLC *NONNULL_PTR arg);
+       export function UpdateFailHTLC_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.UpdateFailHTLC_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKUpdateFailHTLC UpdateFailHTLC_clone(const struct LDKUpdateFailHTLC *NONNULL_PTR orig);
        export function UpdateFailHTLC_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -11317,6 +14627,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.UpdateFailMalformedHTLC_set_failure_code(this_ptr, val);
                // debug statements here
        }
+       // uint64_t UpdateFailMalformedHTLC_clone_ptr(LDKUpdateFailMalformedHTLC *NONNULL_PTR arg);
+       export function UpdateFailMalformedHTLC_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.UpdateFailMalformedHTLC_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKUpdateFailMalformedHTLC UpdateFailMalformedHTLC_clone(const struct LDKUpdateFailMalformedHTLC *NONNULL_PTR orig);
        export function UpdateFailMalformedHTLC_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -11381,6 +14699,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CommitmentSigned_new(encodeArray(channel_id_arg), encodeArray(signature_arg), htlc_signatures_arg);
                return nativeResponseValue;
        }
+       // uint64_t CommitmentSigned_clone_ptr(LDKCommitmentSigned *NONNULL_PTR arg);
+       export function CommitmentSigned_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CommitmentSigned_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCommitmentSigned CommitmentSigned_clone(const struct LDKCommitmentSigned *NONNULL_PTR orig);
        export function CommitmentSigned_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -11453,6 +14779,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.RevokeAndACK_new(encodeArray(channel_id_arg), encodeArray(per_commitment_secret_arg), encodeArray(next_per_commitment_point_arg));
                return nativeResponseValue;
        }
+       // uint64_t RevokeAndACK_clone_ptr(LDKRevokeAndACK *NONNULL_PTR arg);
+       export function RevokeAndACK_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RevokeAndACK_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKRevokeAndACK RevokeAndACK_clone(const struct LDKRevokeAndACK *NONNULL_PTR orig);
        export function RevokeAndACK_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -11509,6 +14843,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.UpdateFee_new(encodeArray(channel_id_arg), feerate_per_kw_arg);
                return nativeResponseValue;
        }
+       // uint64_t UpdateFee_clone_ptr(LDKUpdateFee *NONNULL_PTR arg);
+       export function UpdateFee_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.UpdateFee_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKUpdateFee UpdateFee_clone(const struct LDKUpdateFee *NONNULL_PTR orig);
        export function UpdateFee_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -11565,6 +14907,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.DataLossProtect_new(encodeArray(your_last_per_commitment_secret_arg), encodeArray(my_current_per_commitment_point_arg));
                return nativeResponseValue;
        }
+       // uint64_t DataLossProtect_clone_ptr(LDKDataLossProtect *NONNULL_PTR arg);
+       export function DataLossProtect_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.DataLossProtect_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKDataLossProtect DataLossProtect_clone(const struct LDKDataLossProtect *NONNULL_PTR orig);
        export function DataLossProtect_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -11629,6 +14979,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelReestablish_set_next_remote_commitment_number(this_ptr, val);
                // debug statements here
        }
+       // uint64_t ChannelReestablish_clone_ptr(LDKChannelReestablish *NONNULL_PTR arg);
+       export function ChannelReestablish_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelReestablish_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKChannelReestablish ChannelReestablish_clone(const struct LDKChannelReestablish *NONNULL_PTR orig);
        export function ChannelReestablish_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -11717,6 +15075,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.AnnouncementSignatures_new(encodeArray(channel_id_arg), short_channel_id_arg, encodeArray(node_signature_arg), encodeArray(bitcoin_signature_arg));
                return nativeResponseValue;
        }
+       // uint64_t AnnouncementSignatures_clone_ptr(LDKAnnouncementSignatures *NONNULL_PTR arg);
+       export function AnnouncementSignatures_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.AnnouncementSignatures_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKAnnouncementSignatures AnnouncementSignatures_clone(const struct LDKAnnouncementSignatures *NONNULL_PTR orig);
        export function AnnouncementSignatures_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -11733,6 +15099,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.NetAddress_free(this_ptr);
                // debug statements here
        }
+       // uint64_t NetAddress_clone_ptr(LDKNetAddress *NONNULL_PTR arg);
+       export function NetAddress_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NetAddress_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKNetAddress NetAddress_clone(const struct LDKNetAddress *NONNULL_PTR orig);
        export function NetAddress_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -11781,14 +15155,6 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.NetAddress_write(obj);
                return decodeArray(nativeResponseValue);
        }
-       // struct LDKCResult_CResult_NetAddressu8ZDecodeErrorZ Result_read(struct LDKu8slice ser);
-       export function Result_read(ser: Uint8Array): number {
-               if(!isWasmInitialized) {
-                       throw new Error("initializeWasm() must be awaited first!");
-               }
-               const nativeResponseValue = wasm.Result_read(encodeArray(ser));
-               return nativeResponseValue;
-       }
        // struct LDKCResult_NetAddressDecodeErrorZ NetAddress_read(struct LDKu8slice ser);
        export function NetAddress_read(ser: Uint8Array): number {
                if(!isWasmInitialized) {
@@ -11893,6 +15259,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.UnsignedNodeAnnouncement_set_addresses(this_ptr, val);
                // debug statements here
        }
+       // uint64_t UnsignedNodeAnnouncement_clone_ptr(LDKUnsignedNodeAnnouncement *NONNULL_PTR arg);
+       export function UnsignedNodeAnnouncement_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.UnsignedNodeAnnouncement_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKUnsignedNodeAnnouncement UnsignedNodeAnnouncement_clone(const struct LDKUnsignedNodeAnnouncement *NONNULL_PTR orig);
        export function UnsignedNodeAnnouncement_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -11949,6 +15323,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.NodeAnnouncement_new(encodeArray(signature_arg), contents_arg);
                return nativeResponseValue;
        }
+       // uint64_t NodeAnnouncement_clone_ptr(LDKNodeAnnouncement *NONNULL_PTR arg);
+       export function NodeAnnouncement_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncement_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKNodeAnnouncement NodeAnnouncement_clone(const struct LDKNodeAnnouncement *NONNULL_PTR orig);
        export function NodeAnnouncement_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -12077,6 +15459,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.UnsignedChannelAnnouncement_set_bitcoin_key_2(this_ptr, encodeArray(val));
                // debug statements here
        }
+       // uint64_t UnsignedChannelAnnouncement_clone_ptr(LDKUnsignedChannelAnnouncement *NONNULL_PTR arg);
+       export function UnsignedChannelAnnouncement_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.UnsignedChannelAnnouncement_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKUnsignedChannelAnnouncement UnsignedChannelAnnouncement_clone(const struct LDKUnsignedChannelAnnouncement *NONNULL_PTR orig);
        export function UnsignedChannelAnnouncement_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -12181,6 +15571,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelAnnouncement_new(encodeArray(node_signature_1_arg), encodeArray(node_signature_2_arg), encodeArray(bitcoin_signature_1_arg), encodeArray(bitcoin_signature_2_arg), contents_arg);
                return nativeResponseValue;
        }
+       // uint64_t ChannelAnnouncement_clone_ptr(LDKChannelAnnouncement *NONNULL_PTR arg);
+       export function ChannelAnnouncement_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelAnnouncement_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKChannelAnnouncement ChannelAnnouncement_clone(const struct LDKChannelAnnouncement *NONNULL_PTR orig);
        export function ChannelAnnouncement_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -12325,6 +15723,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.UnsignedChannelUpdate_set_fee_proportional_millionths(this_ptr, val);
                // debug statements here
        }
+       // uint64_t UnsignedChannelUpdate_clone_ptr(LDKUnsignedChannelUpdate *NONNULL_PTR arg);
+       export function UnsignedChannelUpdate_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.UnsignedChannelUpdate_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKUnsignedChannelUpdate UnsignedChannelUpdate_clone(const struct LDKUnsignedChannelUpdate *NONNULL_PTR orig);
        export function UnsignedChannelUpdate_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -12381,6 +15787,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelUpdate_new(encodeArray(signature_arg), contents_arg);
                return nativeResponseValue;
        }
+       // uint64_t ChannelUpdate_clone_ptr(LDKChannelUpdate *NONNULL_PTR arg);
+       export function ChannelUpdate_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelUpdate_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKChannelUpdate ChannelUpdate_clone(const struct LDKChannelUpdate *NONNULL_PTR orig);
        export function ChannelUpdate_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -12453,6 +15867,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.QueryChannelRange_new(encodeArray(chain_hash_arg), first_blocknum_arg, number_of_blocks_arg);
                return nativeResponseValue;
        }
+       // uint64_t QueryChannelRange_clone_ptr(LDKQueryChannelRange *NONNULL_PTR arg);
+       export function QueryChannelRange_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.QueryChannelRange_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKQueryChannelRange QueryChannelRange_clone(const struct LDKQueryChannelRange *NONNULL_PTR orig);
        export function QueryChannelRange_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -12549,6 +15971,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ReplyChannelRange_new(encodeArray(chain_hash_arg), first_blocknum_arg, number_of_blocks_arg, sync_complete_arg, short_channel_ids_arg);
                return nativeResponseValue;
        }
+       // uint64_t ReplyChannelRange_clone_ptr(LDKReplyChannelRange *NONNULL_PTR arg);
+       export function ReplyChannelRange_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ReplyChannelRange_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKReplyChannelRange ReplyChannelRange_clone(const struct LDKReplyChannelRange *NONNULL_PTR orig);
        export function ReplyChannelRange_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -12597,6 +16027,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.QueryShortChannelIds_new(encodeArray(chain_hash_arg), short_channel_ids_arg);
                return nativeResponseValue;
        }
+       // uint64_t QueryShortChannelIds_clone_ptr(LDKQueryShortChannelIds *NONNULL_PTR arg);
+       export function QueryShortChannelIds_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.QueryShortChannelIds_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKQueryShortChannelIds QueryShortChannelIds_clone(const struct LDKQueryShortChannelIds *NONNULL_PTR orig);
        export function QueryShortChannelIds_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -12653,6 +16091,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ReplyShortChannelIdsEnd_new(encodeArray(chain_hash_arg), full_information_arg);
                return nativeResponseValue;
        }
+       // uint64_t ReplyShortChannelIdsEnd_clone_ptr(LDKReplyShortChannelIdsEnd *NONNULL_PTR arg);
+       export function ReplyShortChannelIdsEnd_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ReplyShortChannelIdsEnd_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKReplyShortChannelIdsEnd ReplyShortChannelIdsEnd_clone(const struct LDKReplyShortChannelIdsEnd *NONNULL_PTR orig);
        export function ReplyShortChannelIdsEnd_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -12725,6 +16171,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.GossipTimestampFilter_new(encodeArray(chain_hash_arg), first_timestamp_arg, timestamp_range_arg);
                return nativeResponseValue;
        }
+       // uint64_t GossipTimestampFilter_clone_ptr(LDKGossipTimestampFilter *NONNULL_PTR arg);
+       export function GossipTimestampFilter_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.GossipTimestampFilter_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKGossipTimestampFilter GossipTimestampFilter_clone(const struct LDKGossipTimestampFilter *NONNULL_PTR orig);
        export function GossipTimestampFilter_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -12741,6 +16195,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ErrorAction_free(this_ptr);
                // debug statements here
        }
+       // uint64_t ErrorAction_clone_ptr(LDKErrorAction *NONNULL_PTR arg);
+       export function ErrorAction_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ErrorAction_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKErrorAction ErrorAction_clone(const struct LDKErrorAction *NONNULL_PTR orig);
        export function ErrorAction_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -12829,6 +16291,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.LightningError_new(err_arg, action_arg);
                return nativeResponseValue;
        }
+       // uint64_t LightningError_clone_ptr(LDKLightningError *NONNULL_PTR arg);
+       export function LightningError_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.LightningError_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKLightningError LightningError_clone(const struct LDKLightningError *NONNULL_PTR orig);
        export function LightningError_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -12949,6 +16419,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CommitmentUpdate_new(update_add_htlcs_arg, update_fulfill_htlcs_arg, update_fail_htlcs_arg, update_fail_malformed_htlcs_arg, update_fee_arg, commitment_signed_arg);
                return nativeResponseValue;
        }
+       // uint64_t CommitmentUpdate_clone_ptr(LDKCommitmentUpdate *NONNULL_PTR arg);
+       export function CommitmentUpdate_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CommitmentUpdate_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCommitmentUpdate CommitmentUpdate_clone(const struct LDKCommitmentUpdate *NONNULL_PTR orig);
        export function CommitmentUpdate_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -13629,6 +17107,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.MessageHandler_new(chan_handler_arg, route_handler_arg);
                return nativeResponseValue;
        }
+       // uint64_t SocketDescriptor_clone_ptr(LDKSocketDescriptor *NONNULL_PTR arg);
+       export function SocketDescriptor_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.SocketDescriptor_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKSocketDescriptor SocketDescriptor_clone(const struct LDKSocketDescriptor *NONNULL_PTR orig);
        export function SocketDescriptor_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -13677,6 +17163,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.PeerHandleError_new(no_connection_possible_arg);
                return nativeResponseValue;
        }
+       // uint64_t PeerHandleError_clone_ptr(LDKPeerHandleError *NONNULL_PTR arg);
+       export function PeerHandleError_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PeerHandleError_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKPeerHandleError PeerHandleError_clone(const struct LDKPeerHandleError *NONNULL_PTR orig);
        export function PeerHandleError_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -13765,6 +17259,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.PeerManager_disconnect_by_node_id(this_arg, encodeArray(node_id), no_connection_possible);
                // debug statements here
        }
+       // void PeerManager_disconnect_all_peers(const struct LDKPeerManager *NONNULL_PTR this_arg);
+       export function PeerManager_disconnect_all_peers(this_arg: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PeerManager_disconnect_all_peers(this_arg);
+               // debug statements here
+       }
        // void PeerManager_timer_tick_occurred(const struct LDKPeerManager *NONNULL_PTR this_arg);
        export function PeerManager_timer_tick_occurred(this_arg: number): void {
                if(!isWasmInitialized) {
@@ -13917,6 +17419,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.TxCreationKeys_new(encodeArray(per_commitment_point_arg), encodeArray(revocation_key_arg), encodeArray(broadcaster_htlc_key_arg), encodeArray(countersignatory_htlc_key_arg), encodeArray(broadcaster_delayed_payment_key_arg));
                return nativeResponseValue;
        }
+       // uint64_t TxCreationKeys_clone_ptr(LDKTxCreationKeys *NONNULL_PTR arg);
+       export function TxCreationKeys_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.TxCreationKeys_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKTxCreationKeys TxCreationKeys_clone(const struct LDKTxCreationKeys *NONNULL_PTR orig);
        export function TxCreationKeys_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -14037,6 +17547,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelPublicKeys_new(encodeArray(funding_pubkey_arg), encodeArray(revocation_basepoint_arg), encodeArray(payment_point_arg), encodeArray(delayed_payment_basepoint_arg), encodeArray(htlc_basepoint_arg));
                return nativeResponseValue;
        }
+       // uint64_t ChannelPublicKeys_clone_ptr(LDKChannelPublicKeys *NONNULL_PTR arg);
+       export function ChannelPublicKeys_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelPublicKeys_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKChannelPublicKeys ChannelPublicKeys_clone(const struct LDKChannelPublicKeys *NONNULL_PTR orig);
        export function ChannelPublicKeys_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -14181,6 +17699,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.HTLCOutputInCommitment_new(offered_arg, amount_msat_arg, cltv_expiry_arg, encodeArray(payment_hash_arg), transaction_output_index_arg);
                return nativeResponseValue;
        }
+       // uint64_t HTLCOutputInCommitment_clone_ptr(LDKHTLCOutputInCommitment *NONNULL_PTR arg);
+       export function HTLCOutputInCommitment_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.HTLCOutputInCommitment_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKHTLCOutputInCommitment HTLCOutputInCommitment_clone(const struct LDKHTLCOutputInCommitment *NONNULL_PTR orig);
        export function HTLCOutputInCommitment_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -14325,6 +17851,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelTransactionParameters_new(holder_pubkeys_arg, holder_selected_contest_delay_arg, is_outbound_from_holder_arg, counterparty_parameters_arg, funding_outpoint_arg);
                return nativeResponseValue;
        }
+       // uint64_t ChannelTransactionParameters_clone_ptr(LDKChannelTransactionParameters *NONNULL_PTR arg);
+       export function ChannelTransactionParameters_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelTransactionParameters_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKChannelTransactionParameters ChannelTransactionParameters_clone(const struct LDKChannelTransactionParameters *NONNULL_PTR orig);
        export function ChannelTransactionParameters_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -14381,6 +17915,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CounterpartyChannelTransactionParameters_new(pubkeys_arg, selected_contest_delay_arg);
                return nativeResponseValue;
        }
+       // uint64_t CounterpartyChannelTransactionParameters_clone_ptr(LDKCounterpartyChannelTransactionParameters *NONNULL_PTR arg);
+       export function CounterpartyChannelTransactionParameters_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CounterpartyChannelTransactionParameters_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCounterpartyChannelTransactionParameters CounterpartyChannelTransactionParameters_clone(const struct LDKCounterpartyChannelTransactionParameters *NONNULL_PTR orig);
        export function CounterpartyChannelTransactionParameters_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -14525,6 +18067,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.HolderCommitmentTransaction_set_counterparty_htlc_sigs(this_ptr, val);
                // debug statements here
        }
+       // uint64_t HolderCommitmentTransaction_clone_ptr(LDKHolderCommitmentTransaction *NONNULL_PTR arg);
+       export function HolderCommitmentTransaction_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.HolderCommitmentTransaction_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKHolderCommitmentTransaction HolderCommitmentTransaction_clone(const struct LDKHolderCommitmentTransaction *NONNULL_PTR orig);
        export function HolderCommitmentTransaction_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -14605,6 +18155,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.BuiltCommitmentTransaction_new(encodeArray(transaction_arg), encodeArray(txid_arg));
                return nativeResponseValue;
        }
+       // uint64_t BuiltCommitmentTransaction_clone_ptr(LDKBuiltCommitmentTransaction *NONNULL_PTR arg);
+       export function BuiltCommitmentTransaction_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.BuiltCommitmentTransaction_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKBuiltCommitmentTransaction BuiltCommitmentTransaction_clone(const struct LDKBuiltCommitmentTransaction *NONNULL_PTR orig);
        export function BuiltCommitmentTransaction_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -14653,6 +18211,30 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ClosingTransaction_free(this_obj);
                // debug statements here
        }
+       // uint64_t ClosingTransaction_clone_ptr(LDKClosingTransaction *NONNULL_PTR arg);
+       export function ClosingTransaction_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ClosingTransaction_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKClosingTransaction ClosingTransaction_clone(const struct LDKClosingTransaction *NONNULL_PTR orig);
+       export function ClosingTransaction_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ClosingTransaction_clone(orig);
+               return nativeResponseValue;
+       }
+       // uint64_t ClosingTransaction_hash(const struct LDKClosingTransaction *NONNULL_PTR o);
+       export function ClosingTransaction_hash(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ClosingTransaction_hash(o);
+               return nativeResponseValue;
+       }
        // MUST_USE_RES struct LDKClosingTransaction ClosingTransaction_new(uint64_t to_holder_value_sat, uint64_t to_counterparty_value_sat, struct LDKCVec_u8Z to_holder_script, struct LDKCVec_u8Z to_counterparty_script, struct LDKOutPoint funding_outpoint);
        export function ClosingTransaction_new(to_holder_value_sat: number, to_counterparty_value_sat: number, to_holder_script: Uint8Array, to_counterparty_script: Uint8Array, funding_outpoint: number): number {
                if(!isWasmInitialized) {
@@ -14749,6 +18331,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CommitmentTransaction_free(this_obj);
                // debug statements here
        }
+       // uint64_t CommitmentTransaction_clone_ptr(LDKCommitmentTransaction *NONNULL_PTR arg);
+       export function CommitmentTransaction_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.CommitmentTransaction_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKCommitmentTransaction CommitmentTransaction_clone(const struct LDKCommitmentTransaction *NONNULL_PTR orig);
        export function CommitmentTransaction_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -14901,6 +18491,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.InvoiceFeatures_eq(a, b);
                return nativeResponseValue;
        }
+       // uint64_t InitFeatures_clone_ptr(LDKInitFeatures *NONNULL_PTR arg);
+       export function InitFeatures_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.InitFeatures_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKInitFeatures InitFeatures_clone(const struct LDKInitFeatures *NONNULL_PTR orig);
        export function InitFeatures_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -14909,6 +18507,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.InitFeatures_clone(orig);
                return nativeResponseValue;
        }
+       // uint64_t NodeFeatures_clone_ptr(LDKNodeFeatures *NONNULL_PTR arg);
+       export function NodeFeatures_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeFeatures_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKNodeFeatures NodeFeatures_clone(const struct LDKNodeFeatures *NONNULL_PTR orig);
        export function NodeFeatures_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -14917,6 +18523,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.NodeFeatures_clone(orig);
                return nativeResponseValue;
        }
+       // uint64_t ChannelFeatures_clone_ptr(LDKChannelFeatures *NONNULL_PTR arg);
+       export function ChannelFeatures_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelFeatures_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKChannelFeatures ChannelFeatures_clone(const struct LDKChannelFeatures *NONNULL_PTR orig);
        export function ChannelFeatures_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -14925,6 +18539,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ChannelFeatures_clone(orig);
                return nativeResponseValue;
        }
+       // uint64_t InvoiceFeatures_clone_ptr(LDKInvoiceFeatures *NONNULL_PTR arg);
+       export function InvoiceFeatures_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.InvoiceFeatures_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKInvoiceFeatures InvoiceFeatures_clone(const struct LDKInvoiceFeatures *NONNULL_PTR orig);
        export function InvoiceFeatures_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -15157,6 +18779,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ShutdownScript_free(this_obj);
                // debug statements here
        }
+       // uint64_t ShutdownScript_clone_ptr(LDKShutdownScript *NONNULL_PTR arg);
+       export function ShutdownScript_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ShutdownScript_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKShutdownScript ShutdownScript_clone(const struct LDKShutdownScript *NONNULL_PTR orig);
        export function ShutdownScript_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -15197,6 +18827,22 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.InvalidShutdownScript_new(encodeArray(script_arg));
                return nativeResponseValue;
        }
+       // uint64_t InvalidShutdownScript_clone_ptr(LDKInvalidShutdownScript *NONNULL_PTR arg);
+       export function InvalidShutdownScript_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.InvalidShutdownScript_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKInvalidShutdownScript InvalidShutdownScript_clone(const struct LDKInvalidShutdownScript *NONNULL_PTR orig);
+       export function InvalidShutdownScript_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.InvalidShutdownScript_clone(orig);
+               return nativeResponseValue;
+       }
        // struct LDKCVec_u8Z ShutdownScript_write(const struct LDKShutdownScript *NONNULL_PTR obj);
        export function ShutdownScript_write(obj: number): Uint8Array {
                if(!isWasmInitialized) {
@@ -15213,22 +18859,6 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ShutdownScript_read(encodeArray(ser));
                return nativeResponseValue;
        }
-       // MUST_USE_RES struct LDKShutdownScript ShutdownScript_new_p2pkh(const uint8_t (*pubkey_hash)[20]);
-       export function ShutdownScript_new_p2pkh(pubkey_hash: Uint8Array): number {
-               if(!isWasmInitialized) {
-                       throw new Error("initializeWasm() must be awaited first!");
-               }
-               const nativeResponseValue = wasm.ShutdownScript_new_p2pkh(encodeArray(pubkey_hash));
-               return nativeResponseValue;
-       }
-       // MUST_USE_RES struct LDKShutdownScript ShutdownScript_new_p2sh(const uint8_t (*script_hash)[20]);
-       export function ShutdownScript_new_p2sh(script_hash: Uint8Array): number {
-               if(!isWasmInitialized) {
-                       throw new Error("initializeWasm() must be awaited first!");
-               }
-               const nativeResponseValue = wasm.ShutdownScript_new_p2sh(encodeArray(script_hash));
-               return nativeResponseValue;
-       }
        // MUST_USE_RES struct LDKShutdownScript ShutdownScript_new_p2wpkh(const uint8_t (*pubkey_hash)[20]);
        export function ShutdownScript_new_p2wpkh(pubkey_hash: Uint8Array): number {
                if(!isWasmInitialized) {
@@ -15285,6 +18915,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.CustomMessageReader_free(this_ptr);
                // debug statements here
        }
+       // uint64_t Type_clone_ptr(LDKType *NONNULL_PTR arg);
+       export function Type_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Type_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKType Type_clone(const struct LDKType *NONNULL_PTR orig);
        export function Type_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -15301,1260 +18939,1884 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Type_free(this_ptr);
                // debug statements here
        }
-       // void RouteHop_free(struct LDKRouteHop this_obj);
-       export function RouteHop_free(this_obj: number): void {
+       // void Score_free(struct LDKScore this_ptr);
+       export function Score_free(this_ptr: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_free(this_obj);
+               const nativeResponseValue = wasm.Score_free(this_ptr);
                // debug statements here
        }
-       // struct LDKPublicKey RouteHop_get_pubkey(const struct LDKRouteHop *NONNULL_PTR this_ptr);
-       export function RouteHop_get_pubkey(this_ptr: number): Uint8Array {
+       // void LockableScore_free(struct LDKLockableScore this_obj);
+       export function LockableScore_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_get_pubkey(this_ptr);
-               return decodeArray(nativeResponseValue);
+               const nativeResponseValue = wasm.LockableScore_free(this_obj);
+               // debug statements here
        }
-       // void RouteHop_set_pubkey(struct LDKRouteHop *NONNULL_PTR this_ptr, struct LDKPublicKey val);
-       export function RouteHop_set_pubkey(this_ptr: number, val: Uint8Array): void {
+       // MUST_USE_RES struct LDKLockableScore LockableScore_new(struct LDKScore score);
+       export function LockableScore_new(score: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_set_pubkey(this_ptr, encodeArray(val));
-               // debug statements here
+               const nativeResponseValue = wasm.LockableScore_new(score);
+               return nativeResponseValue;
        }
-       // struct LDKNodeFeatures RouteHop_get_node_features(const struct LDKRouteHop *NONNULL_PTR this_ptr);
-       export function RouteHop_get_node_features(this_ptr: number): number {
+       // struct LDKCVec_u8Z LockableScore_write(const struct LDKLockableScore *NONNULL_PTR obj);
+       export function LockableScore_write(obj: number): Uint8Array {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_get_node_features(this_ptr);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.LockableScore_write(obj);
+               return decodeArray(nativeResponseValue);
        }
-       // void RouteHop_set_node_features(struct LDKRouteHop *NONNULL_PTR this_ptr, struct LDKNodeFeatures val);
-       export function RouteHop_set_node_features(this_ptr: number, val: number): void {
+       // void NodeId_free(struct LDKNodeId this_obj);
+       export function NodeId_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_set_node_features(this_ptr, val);
+               const nativeResponseValue = wasm.NodeId_free(this_obj);
                // debug statements here
        }
-       // uint64_t RouteHop_get_short_channel_id(const struct LDKRouteHop *NONNULL_PTR this_ptr);
-       export function RouteHop_get_short_channel_id(this_ptr: number): number {
+       // uint64_t NodeId_clone_ptr(LDKNodeId *NONNULL_PTR arg);
+       export function NodeId_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_get_short_channel_id(this_ptr);
+               const nativeResponseValue = wasm.NodeId_clone_ptr(arg);
                return nativeResponseValue;
        }
-       // void RouteHop_set_short_channel_id(struct LDKRouteHop *NONNULL_PTR this_ptr, uint64_t val);
-       export function RouteHop_set_short_channel_id(this_ptr: number, val: number): void {
+       // struct LDKNodeId NodeId_clone(const struct LDKNodeId *NONNULL_PTR orig);
+       export function NodeId_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_set_short_channel_id(this_ptr, val);
-               // debug statements here
+               const nativeResponseValue = wasm.NodeId_clone(orig);
+               return nativeResponseValue;
        }
-       // struct LDKChannelFeatures RouteHop_get_channel_features(const struct LDKRouteHop *NONNULL_PTR this_ptr);
-       export function RouteHop_get_channel_features(this_ptr: number): number {
+       // MUST_USE_RES struct LDKNodeId NodeId_from_pubkey(struct LDKPublicKey pubkey);
+       export function NodeId_from_pubkey(pubkey: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_get_channel_features(this_ptr);
+               const nativeResponseValue = wasm.NodeId_from_pubkey(encodeArray(pubkey));
                return nativeResponseValue;
        }
-       // void RouteHop_set_channel_features(struct LDKRouteHop *NONNULL_PTR this_ptr, struct LDKChannelFeatures val);
-       export function RouteHop_set_channel_features(this_ptr: number, val: number): void {
+       // MUST_USE_RES struct LDKu8slice NodeId_as_slice(const struct LDKNodeId *NONNULL_PTR this_arg);
+       export function NodeId_as_slice(this_arg: number): Uint8Array {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_set_channel_features(this_ptr, val);
-               // debug statements here
+               const nativeResponseValue = wasm.NodeId_as_slice(this_arg);
+               return decodeArray(nativeResponseValue);
        }
-       // uint64_t RouteHop_get_fee_msat(const struct LDKRouteHop *NONNULL_PTR this_ptr);
-       export function RouteHop_get_fee_msat(this_ptr: number): number {
+       // uint64_t NodeId_hash(const struct LDKNodeId *NONNULL_PTR o);
+       export function NodeId_hash(o: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_get_fee_msat(this_ptr);
+               const nativeResponseValue = wasm.NodeId_hash(o);
                return nativeResponseValue;
        }
-       // void RouteHop_set_fee_msat(struct LDKRouteHop *NONNULL_PTR this_ptr, uint64_t val);
-       export function RouteHop_set_fee_msat(this_ptr: number, val: number): void {
+       // struct LDKCVec_u8Z NodeId_write(const struct LDKNodeId *NONNULL_PTR obj);
+       export function NodeId_write(obj: number): Uint8Array {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_set_fee_msat(this_ptr, val);
-               // debug statements here
+               const nativeResponseValue = wasm.NodeId_write(obj);
+               return decodeArray(nativeResponseValue);
        }
-       // uint32_t RouteHop_get_cltv_expiry_delta(const struct LDKRouteHop *NONNULL_PTR this_ptr);
-       export function RouteHop_get_cltv_expiry_delta(this_ptr: number): number {
+       // struct LDKCResult_NodeIdDecodeErrorZ NodeId_read(struct LDKu8slice ser);
+       export function NodeId_read(ser: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_get_cltv_expiry_delta(this_ptr);
+               const nativeResponseValue = wasm.NodeId_read(encodeArray(ser));
                return nativeResponseValue;
        }
-       // void RouteHop_set_cltv_expiry_delta(struct LDKRouteHop *NONNULL_PTR this_ptr, uint32_t val);
-       export function RouteHop_set_cltv_expiry_delta(this_ptr: number, val: number): void {
+       // void NetworkGraph_free(struct LDKNetworkGraph this_obj);
+       export function NetworkGraph_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_set_cltv_expiry_delta(this_ptr, val);
+               const nativeResponseValue = wasm.NetworkGraph_free(this_obj);
                // debug statements here
        }
-       // MUST_USE_RES struct LDKRouteHop RouteHop_new(struct LDKPublicKey pubkey_arg, struct LDKNodeFeatures node_features_arg, uint64_t short_channel_id_arg, struct LDKChannelFeatures channel_features_arg, uint64_t fee_msat_arg, uint32_t cltv_expiry_delta_arg);
-       export function RouteHop_new(pubkey_arg: Uint8Array, node_features_arg: number, short_channel_id_arg: number, channel_features_arg: number, fee_msat_arg: number, cltv_expiry_delta_arg: number): number {
+       // uint64_t NetworkGraph_clone_ptr(LDKNetworkGraph *NONNULL_PTR arg);
+       export function NetworkGraph_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_new(encodeArray(pubkey_arg), node_features_arg, short_channel_id_arg, channel_features_arg, fee_msat_arg, cltv_expiry_delta_arg);
+               const nativeResponseValue = wasm.NetworkGraph_clone_ptr(arg);
                return nativeResponseValue;
        }
-       // struct LDKRouteHop RouteHop_clone(const struct LDKRouteHop *NONNULL_PTR orig);
-       export function RouteHop_clone(orig: number): number {
+       // struct LDKNetworkGraph NetworkGraph_clone(const struct LDKNetworkGraph *NONNULL_PTR orig);
+       export function NetworkGraph_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_clone(orig);
+               const nativeResponseValue = wasm.NetworkGraph_clone(orig);
                return nativeResponseValue;
        }
-       // uint64_t RouteHop_hash(const struct LDKRouteHop *NONNULL_PTR o);
-       export function RouteHop_hash(o: number): number {
+       // void ReadOnlyNetworkGraph_free(struct LDKReadOnlyNetworkGraph this_obj);
+       export function ReadOnlyNetworkGraph_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_hash(o);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.ReadOnlyNetworkGraph_free(this_obj);
+               // debug statements here
        }
-       // bool RouteHop_eq(const struct LDKRouteHop *NONNULL_PTR a, const struct LDKRouteHop *NONNULL_PTR b);
-       export function RouteHop_eq(a: number, b: number): boolean {
+       // void NetworkUpdate_free(struct LDKNetworkUpdate this_ptr);
+       export function NetworkUpdate_free(this_ptr: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_eq(a, b);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.NetworkUpdate_free(this_ptr);
+               // debug statements here
        }
-       // struct LDKCVec_u8Z RouteHop_write(const struct LDKRouteHop *NONNULL_PTR obj);
-       export function RouteHop_write(obj: number): Uint8Array {
+       // uint64_t NetworkUpdate_clone_ptr(LDKNetworkUpdate *NONNULL_PTR arg);
+       export function NetworkUpdate_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_write(obj);
-               return decodeArray(nativeResponseValue);
+               const nativeResponseValue = wasm.NetworkUpdate_clone_ptr(arg);
+               return nativeResponseValue;
        }
-       // struct LDKCResult_RouteHopDecodeErrorZ RouteHop_read(struct LDKu8slice ser);
-       export function RouteHop_read(ser: Uint8Array): number {
+       // struct LDKNetworkUpdate NetworkUpdate_clone(const struct LDKNetworkUpdate *NONNULL_PTR orig);
+       export function NetworkUpdate_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHop_read(encodeArray(ser));
+               const nativeResponseValue = wasm.NetworkUpdate_clone(orig);
                return nativeResponseValue;
        }
-       // void Route_free(struct LDKRoute this_obj);
-       export function Route_free(this_obj: number): void {
+       // struct LDKNetworkUpdate NetworkUpdate_channel_update_message(struct LDKChannelUpdate msg);
+       export function NetworkUpdate_channel_update_message(msg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Route_free(this_obj);
-               // debug statements here
+               const nativeResponseValue = wasm.NetworkUpdate_channel_update_message(msg);
+               return nativeResponseValue;
        }
-       // struct LDKCVec_CVec_RouteHopZZ Route_get_paths(const struct LDKRoute *NONNULL_PTR this_ptr);
-       export function Route_get_paths(this_ptr: number): number[][] {
+       // struct LDKNetworkUpdate NetworkUpdate_channel_closed(uint64_t short_channel_id, bool is_permanent);
+       export function NetworkUpdate_channel_closed(short_channel_id: number, is_permanent: boolean): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Route_get_paths(this_ptr);
+               const nativeResponseValue = wasm.NetworkUpdate_channel_closed(short_channel_id, is_permanent);
                return nativeResponseValue;
        }
-       // void Route_set_paths(struct LDKRoute *NONNULL_PTR this_ptr, struct LDKCVec_CVec_RouteHopZZ val);
-       export function Route_set_paths(this_ptr: number, val: number[][]): void {
+       // struct LDKNetworkUpdate NetworkUpdate_node_failure(struct LDKPublicKey node_id, bool is_permanent);
+       export function NetworkUpdate_node_failure(node_id: Uint8Array, is_permanent: boolean): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Route_set_paths(this_ptr, val);
-               // debug statements here
+               const nativeResponseValue = wasm.NetworkUpdate_node_failure(encodeArray(node_id), is_permanent);
+               return nativeResponseValue;
        }
-       // MUST_USE_RES struct LDKRoute Route_new(struct LDKCVec_CVec_RouteHopZZ paths_arg);
-       export function Route_new(paths_arg: number[][]): number {
+       // struct LDKCVec_u8Z NetworkUpdate_write(const struct LDKNetworkUpdate *NONNULL_PTR obj);
+       export function NetworkUpdate_write(obj: number): Uint8Array {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Route_new(paths_arg);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.NetworkUpdate_write(obj);
+               return decodeArray(nativeResponseValue);
        }
-       // struct LDKRoute Route_clone(const struct LDKRoute *NONNULL_PTR orig);
-       export function Route_clone(orig: number): number {
+       // struct LDKCResult_COption_NetworkUpdateZDecodeErrorZ NetworkUpdate_read(struct LDKu8slice ser);
+       export function NetworkUpdate_read(ser: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Route_clone(orig);
+               const nativeResponseValue = wasm.NetworkUpdate_read(encodeArray(ser));
                return nativeResponseValue;
        }
-       // uint64_t Route_hash(const struct LDKRoute *NONNULL_PTR o);
-       export function Route_hash(o: number): number {
+       // struct LDKEventHandler NetGraphMsgHandler_as_EventHandler(const struct LDKNetGraphMsgHandler *NONNULL_PTR this_arg);
+       export function NetGraphMsgHandler_as_EventHandler(this_arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Route_hash(o);
+               const nativeResponseValue = wasm.NetGraphMsgHandler_as_EventHandler(this_arg);
                return nativeResponseValue;
        }
-       // bool Route_eq(const struct LDKRoute *NONNULL_PTR a, const struct LDKRoute *NONNULL_PTR b);
-       export function Route_eq(a: number, b: number): boolean {
+       // void NetGraphMsgHandler_free(struct LDKNetGraphMsgHandler this_obj);
+       export function NetGraphMsgHandler_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Route_eq(a, b);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.NetGraphMsgHandler_free(this_obj);
+               // debug statements here
        }
-       // MUST_USE_RES uint64_t Route_get_total_fees(const struct LDKRoute *NONNULL_PTR this_arg);
-       export function Route_get_total_fees(this_arg: number): number {
+       // MUST_USE_RES struct LDKNetGraphMsgHandler NetGraphMsgHandler_new(const struct LDKNetworkGraph *NONNULL_PTR network_graph, struct LDKCOption_AccessZ chain_access, struct LDKLogger logger);
+       export function NetGraphMsgHandler_new(network_graph: number, chain_access: number, logger: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Route_get_total_fees(this_arg);
+               const nativeResponseValue = wasm.NetGraphMsgHandler_new(network_graph, chain_access, logger);
                return nativeResponseValue;
        }
-       // MUST_USE_RES uint64_t Route_get_total_amount(const struct LDKRoute *NONNULL_PTR this_arg);
-       export function Route_get_total_amount(this_arg: number): number {
+       // void NetGraphMsgHandler_add_chain_access(struct LDKNetGraphMsgHandler *NONNULL_PTR this_arg, struct LDKCOption_AccessZ chain_access);
+       export function NetGraphMsgHandler_add_chain_access(this_arg: number, chain_access: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Route_get_total_amount(this_arg);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.NetGraphMsgHandler_add_chain_access(this_arg, chain_access);
+               // debug statements here
        }
-       // struct LDKCVec_u8Z Route_write(const struct LDKRoute *NONNULL_PTR obj);
-       export function Route_write(obj: number): Uint8Array {
+       // struct LDKRoutingMessageHandler NetGraphMsgHandler_as_RoutingMessageHandler(const struct LDKNetGraphMsgHandler *NONNULL_PTR this_arg);
+       export function NetGraphMsgHandler_as_RoutingMessageHandler(this_arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Route_write(obj);
-               return decodeArray(nativeResponseValue);
+               const nativeResponseValue = wasm.NetGraphMsgHandler_as_RoutingMessageHandler(this_arg);
+               return nativeResponseValue;
        }
-       // struct LDKCResult_RouteDecodeErrorZ Route_read(struct LDKu8slice ser);
-       export function Route_read(ser: Uint8Array): number {
+       // struct LDKMessageSendEventsProvider NetGraphMsgHandler_as_MessageSendEventsProvider(const struct LDKNetGraphMsgHandler *NONNULL_PTR this_arg);
+       export function NetGraphMsgHandler_as_MessageSendEventsProvider(this_arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Route_read(encodeArray(ser));
+               const nativeResponseValue = wasm.NetGraphMsgHandler_as_MessageSendEventsProvider(this_arg);
                return nativeResponseValue;
        }
-       // void RouteHint_free(struct LDKRouteHint this_obj);
-       export function RouteHint_free(this_obj: number): void {
+       // void DirectionalChannelInfo_free(struct LDKDirectionalChannelInfo this_obj);
+       export function DirectionalChannelInfo_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHint_free(this_obj);
+               const nativeResponseValue = wasm.DirectionalChannelInfo_free(this_obj);
                // debug statements here
        }
-       // struct LDKRouteHint RouteHint_clone(const struct LDKRouteHint *NONNULL_PTR orig);
-       export function RouteHint_clone(orig: number): number {
+       // uint32_t DirectionalChannelInfo_get_last_update(const struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr);
+       export function DirectionalChannelInfo_get_last_update(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHint_clone(orig);
+               const nativeResponseValue = wasm.DirectionalChannelInfo_get_last_update(this_ptr);
                return nativeResponseValue;
        }
-       // uint64_t RouteHint_hash(const struct LDKRouteHint *NONNULL_PTR o);
-       export function RouteHint_hash(o: number): number {
+       // void DirectionalChannelInfo_set_last_update(struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr, uint32_t val);
+       export function DirectionalChannelInfo_set_last_update(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHint_hash(o);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.DirectionalChannelInfo_set_last_update(this_ptr, val);
+               // debug statements here
        }
-       // bool RouteHint_eq(const struct LDKRouteHint *NONNULL_PTR a, const struct LDKRouteHint *NONNULL_PTR b);
-       export function RouteHint_eq(a: number, b: number): boolean {
+       // bool DirectionalChannelInfo_get_enabled(const struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr);
+       export function DirectionalChannelInfo_get_enabled(this_ptr: number): boolean {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHint_eq(a, b);
+               const nativeResponseValue = wasm.DirectionalChannelInfo_get_enabled(this_ptr);
                return nativeResponseValue;
        }
-       // void RouteHintHop_free(struct LDKRouteHintHop this_obj);
-       export function RouteHintHop_free(this_obj: number): void {
+       // void DirectionalChannelInfo_set_enabled(struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr, bool val);
+       export function DirectionalChannelInfo_set_enabled(this_ptr: number, val: boolean): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_free(this_obj);
+               const nativeResponseValue = wasm.DirectionalChannelInfo_set_enabled(this_ptr, val);
                // debug statements here
        }
-       // struct LDKPublicKey RouteHintHop_get_src_node_id(const struct LDKRouteHintHop *NONNULL_PTR this_ptr);
-       export function RouteHintHop_get_src_node_id(this_ptr: number): Uint8Array {
+       // uint16_t DirectionalChannelInfo_get_cltv_expiry_delta(const struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr);
+       export function DirectionalChannelInfo_get_cltv_expiry_delta(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_get_src_node_id(this_ptr);
-               return decodeArray(nativeResponseValue);
+               const nativeResponseValue = wasm.DirectionalChannelInfo_get_cltv_expiry_delta(this_ptr);
+               return nativeResponseValue;
        }
-       // void RouteHintHop_set_src_node_id(struct LDKRouteHintHop *NONNULL_PTR this_ptr, struct LDKPublicKey val);
-       export function RouteHintHop_set_src_node_id(this_ptr: number, val: Uint8Array): void {
+       // void DirectionalChannelInfo_set_cltv_expiry_delta(struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr, uint16_t val);
+       export function DirectionalChannelInfo_set_cltv_expiry_delta(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_set_src_node_id(this_ptr, encodeArray(val));
+               const nativeResponseValue = wasm.DirectionalChannelInfo_set_cltv_expiry_delta(this_ptr, val);
                // debug statements here
        }
-       // uint64_t RouteHintHop_get_short_channel_id(const struct LDKRouteHintHop *NONNULL_PTR this_ptr);
-       export function RouteHintHop_get_short_channel_id(this_ptr: number): number {
+       // uint64_t DirectionalChannelInfo_get_htlc_minimum_msat(const struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr);
+       export function DirectionalChannelInfo_get_htlc_minimum_msat(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_get_short_channel_id(this_ptr);
+               const nativeResponseValue = wasm.DirectionalChannelInfo_get_htlc_minimum_msat(this_ptr);
                return nativeResponseValue;
        }
-       // void RouteHintHop_set_short_channel_id(struct LDKRouteHintHop *NONNULL_PTR this_ptr, uint64_t val);
-       export function RouteHintHop_set_short_channel_id(this_ptr: number, val: number): void {
+       // void DirectionalChannelInfo_set_htlc_minimum_msat(struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr, uint64_t val);
+       export function DirectionalChannelInfo_set_htlc_minimum_msat(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_set_short_channel_id(this_ptr, val);
+               const nativeResponseValue = wasm.DirectionalChannelInfo_set_htlc_minimum_msat(this_ptr, val);
                // debug statements here
        }
-       // struct LDKRoutingFees RouteHintHop_get_fees(const struct LDKRouteHintHop *NONNULL_PTR this_ptr);
-       export function RouteHintHop_get_fees(this_ptr: number): number {
+       // struct LDKCOption_u64Z DirectionalChannelInfo_get_htlc_maximum_msat(const struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr);
+       export function DirectionalChannelInfo_get_htlc_maximum_msat(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_get_fees(this_ptr);
+               const nativeResponseValue = wasm.DirectionalChannelInfo_get_htlc_maximum_msat(this_ptr);
                return nativeResponseValue;
        }
-       // void RouteHintHop_set_fees(struct LDKRouteHintHop *NONNULL_PTR this_ptr, struct LDKRoutingFees val);
-       export function RouteHintHop_set_fees(this_ptr: number, val: number): void {
+       // void DirectionalChannelInfo_set_htlc_maximum_msat(struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       export function DirectionalChannelInfo_set_htlc_maximum_msat(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_set_fees(this_ptr, val);
+               const nativeResponseValue = wasm.DirectionalChannelInfo_set_htlc_maximum_msat(this_ptr, val);
                // debug statements here
        }
-       // uint16_t RouteHintHop_get_cltv_expiry_delta(const struct LDKRouteHintHop *NONNULL_PTR this_ptr);
-       export function RouteHintHop_get_cltv_expiry_delta(this_ptr: number): number {
+       // struct LDKRoutingFees DirectionalChannelInfo_get_fees(const struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr);
+       export function DirectionalChannelInfo_get_fees(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_get_cltv_expiry_delta(this_ptr);
+               const nativeResponseValue = wasm.DirectionalChannelInfo_get_fees(this_ptr);
                return nativeResponseValue;
        }
-       // void RouteHintHop_set_cltv_expiry_delta(struct LDKRouteHintHop *NONNULL_PTR this_ptr, uint16_t val);
-       export function RouteHintHop_set_cltv_expiry_delta(this_ptr: number, val: number): void {
+       // void DirectionalChannelInfo_set_fees(struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr, struct LDKRoutingFees val);
+       export function DirectionalChannelInfo_set_fees(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_set_cltv_expiry_delta(this_ptr, val);
+               const nativeResponseValue = wasm.DirectionalChannelInfo_set_fees(this_ptr, val);
+               // debug statements here
+       }
+       // struct LDKChannelUpdate DirectionalChannelInfo_get_last_update_message(const struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr);
+       export function DirectionalChannelInfo_get_last_update_message(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.DirectionalChannelInfo_get_last_update_message(this_ptr);
+               return nativeResponseValue;
+       }
+       // void DirectionalChannelInfo_set_last_update_message(struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr, struct LDKChannelUpdate val);
+       export function DirectionalChannelInfo_set_last_update_message(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.DirectionalChannelInfo_set_last_update_message(this_ptr, val);
+               // debug statements here
+       }
+       // MUST_USE_RES struct LDKDirectionalChannelInfo DirectionalChannelInfo_new(uint32_t last_update_arg, bool enabled_arg, uint16_t cltv_expiry_delta_arg, uint64_t htlc_minimum_msat_arg, struct LDKCOption_u64Z htlc_maximum_msat_arg, struct LDKRoutingFees fees_arg, struct LDKChannelUpdate last_update_message_arg);
+       export function DirectionalChannelInfo_new(last_update_arg: number, enabled_arg: boolean, cltv_expiry_delta_arg: number, htlc_minimum_msat_arg: number, htlc_maximum_msat_arg: number, fees_arg: number, last_update_message_arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.DirectionalChannelInfo_new(last_update_arg, enabled_arg, cltv_expiry_delta_arg, htlc_minimum_msat_arg, htlc_maximum_msat_arg, fees_arg, last_update_message_arg);
+               return nativeResponseValue;
+       }
+       // uint64_t DirectionalChannelInfo_clone_ptr(LDKDirectionalChannelInfo *NONNULL_PTR arg);
+       export function DirectionalChannelInfo_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.DirectionalChannelInfo_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKDirectionalChannelInfo DirectionalChannelInfo_clone(const struct LDKDirectionalChannelInfo *NONNULL_PTR orig);
+       export function DirectionalChannelInfo_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.DirectionalChannelInfo_clone(orig);
+               return nativeResponseValue;
+       }
+       // struct LDKCVec_u8Z DirectionalChannelInfo_write(const struct LDKDirectionalChannelInfo *NONNULL_PTR obj);
+       export function DirectionalChannelInfo_write(obj: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.DirectionalChannelInfo_write(obj);
+               return decodeArray(nativeResponseValue);
+       }
+       // struct LDKCResult_DirectionalChannelInfoDecodeErrorZ DirectionalChannelInfo_read(struct LDKu8slice ser);
+       export function DirectionalChannelInfo_read(ser: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.DirectionalChannelInfo_read(encodeArray(ser));
+               return nativeResponseValue;
+       }
+       // void ChannelInfo_free(struct LDKChannelInfo this_obj);
+       export function ChannelInfo_free(this_obj: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_free(this_obj);
+               // debug statements here
+       }
+       // struct LDKChannelFeatures ChannelInfo_get_features(const struct LDKChannelInfo *NONNULL_PTR this_ptr);
+       export function ChannelInfo_get_features(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_get_features(this_ptr);
+               return nativeResponseValue;
+       }
+       // void ChannelInfo_set_features(struct LDKChannelInfo *NONNULL_PTR this_ptr, struct LDKChannelFeatures val);
+       export function ChannelInfo_set_features(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_set_features(this_ptr, val);
+               // debug statements here
+       }
+       // struct LDKNodeId ChannelInfo_get_node_one(const struct LDKChannelInfo *NONNULL_PTR this_ptr);
+       export function ChannelInfo_get_node_one(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_get_node_one(this_ptr);
+               return nativeResponseValue;
+       }
+       // void ChannelInfo_set_node_one(struct LDKChannelInfo *NONNULL_PTR this_ptr, struct LDKNodeId val);
+       export function ChannelInfo_set_node_one(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_set_node_one(this_ptr, val);
+               // debug statements here
+       }
+       // struct LDKDirectionalChannelInfo ChannelInfo_get_one_to_two(const struct LDKChannelInfo *NONNULL_PTR this_ptr);
+       export function ChannelInfo_get_one_to_two(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_get_one_to_two(this_ptr);
+               return nativeResponseValue;
+       }
+       // void ChannelInfo_set_one_to_two(struct LDKChannelInfo *NONNULL_PTR this_ptr, struct LDKDirectionalChannelInfo val);
+       export function ChannelInfo_set_one_to_two(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_set_one_to_two(this_ptr, val);
+               // debug statements here
+       }
+       // struct LDKNodeId ChannelInfo_get_node_two(const struct LDKChannelInfo *NONNULL_PTR this_ptr);
+       export function ChannelInfo_get_node_two(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_get_node_two(this_ptr);
+               return nativeResponseValue;
+       }
+       // void ChannelInfo_set_node_two(struct LDKChannelInfo *NONNULL_PTR this_ptr, struct LDKNodeId val);
+       export function ChannelInfo_set_node_two(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_set_node_two(this_ptr, val);
+               // debug statements here
+       }
+       // struct LDKDirectionalChannelInfo ChannelInfo_get_two_to_one(const struct LDKChannelInfo *NONNULL_PTR this_ptr);
+       export function ChannelInfo_get_two_to_one(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_get_two_to_one(this_ptr);
+               return nativeResponseValue;
+       }
+       // void ChannelInfo_set_two_to_one(struct LDKChannelInfo *NONNULL_PTR this_ptr, struct LDKDirectionalChannelInfo val);
+       export function ChannelInfo_set_two_to_one(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_set_two_to_one(this_ptr, val);
+               // debug statements here
+       }
+       // struct LDKCOption_u64Z ChannelInfo_get_capacity_sats(const struct LDKChannelInfo *NONNULL_PTR this_ptr);
+       export function ChannelInfo_get_capacity_sats(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_get_capacity_sats(this_ptr);
+               return nativeResponseValue;
+       }
+       // void ChannelInfo_set_capacity_sats(struct LDKChannelInfo *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       export function ChannelInfo_set_capacity_sats(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_set_capacity_sats(this_ptr, val);
+               // debug statements here
+       }
+       // struct LDKChannelAnnouncement ChannelInfo_get_announcement_message(const struct LDKChannelInfo *NONNULL_PTR this_ptr);
+       export function ChannelInfo_get_announcement_message(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_get_announcement_message(this_ptr);
+               return nativeResponseValue;
+       }
+       // void ChannelInfo_set_announcement_message(struct LDKChannelInfo *NONNULL_PTR this_ptr, struct LDKChannelAnnouncement val);
+       export function ChannelInfo_set_announcement_message(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_set_announcement_message(this_ptr, val);
+               // debug statements here
+       }
+       // MUST_USE_RES struct LDKChannelInfo ChannelInfo_new(struct LDKChannelFeatures features_arg, struct LDKNodeId node_one_arg, struct LDKDirectionalChannelInfo one_to_two_arg, struct LDKNodeId node_two_arg, struct LDKDirectionalChannelInfo two_to_one_arg, struct LDKCOption_u64Z capacity_sats_arg, struct LDKChannelAnnouncement announcement_message_arg);
+       export function ChannelInfo_new(features_arg: number, node_one_arg: number, one_to_two_arg: number, node_two_arg: number, two_to_one_arg: number, capacity_sats_arg: number, announcement_message_arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_new(features_arg, node_one_arg, one_to_two_arg, node_two_arg, two_to_one_arg, capacity_sats_arg, announcement_message_arg);
+               return nativeResponseValue;
+       }
+       // uint64_t ChannelInfo_clone_ptr(LDKChannelInfo *NONNULL_PTR arg);
+       export function ChannelInfo_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKChannelInfo ChannelInfo_clone(const struct LDKChannelInfo *NONNULL_PTR orig);
+       export function ChannelInfo_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_clone(orig);
+               return nativeResponseValue;
+       }
+       // struct LDKCVec_u8Z ChannelInfo_write(const struct LDKChannelInfo *NONNULL_PTR obj);
+       export function ChannelInfo_write(obj: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_write(obj);
+               return decodeArray(nativeResponseValue);
+       }
+       // struct LDKCResult_ChannelInfoDecodeErrorZ ChannelInfo_read(struct LDKu8slice ser);
+       export function ChannelInfo_read(ser: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelInfo_read(encodeArray(ser));
+               return nativeResponseValue;
+       }
+       // void RoutingFees_free(struct LDKRoutingFees this_obj);
+       export function RoutingFees_free(this_obj: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RoutingFees_free(this_obj);
+               // debug statements here
+       }
+       // uint32_t RoutingFees_get_base_msat(const struct LDKRoutingFees *NONNULL_PTR this_ptr);
+       export function RoutingFees_get_base_msat(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RoutingFees_get_base_msat(this_ptr);
+               return nativeResponseValue;
+       }
+       // void RoutingFees_set_base_msat(struct LDKRoutingFees *NONNULL_PTR this_ptr, uint32_t val);
+       export function RoutingFees_set_base_msat(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RoutingFees_set_base_msat(this_ptr, val);
+               // debug statements here
+       }
+       // uint32_t RoutingFees_get_proportional_millionths(const struct LDKRoutingFees *NONNULL_PTR this_ptr);
+       export function RoutingFees_get_proportional_millionths(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RoutingFees_get_proportional_millionths(this_ptr);
+               return nativeResponseValue;
+       }
+       // void RoutingFees_set_proportional_millionths(struct LDKRoutingFees *NONNULL_PTR this_ptr, uint32_t val);
+       export function RoutingFees_set_proportional_millionths(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RoutingFees_set_proportional_millionths(this_ptr, val);
+               // debug statements here
+       }
+       // MUST_USE_RES struct LDKRoutingFees RoutingFees_new(uint32_t base_msat_arg, uint32_t proportional_millionths_arg);
+       export function RoutingFees_new(base_msat_arg: number, proportional_millionths_arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RoutingFees_new(base_msat_arg, proportional_millionths_arg);
+               return nativeResponseValue;
+       }
+       // bool RoutingFees_eq(const struct LDKRoutingFees *NONNULL_PTR a, const struct LDKRoutingFees *NONNULL_PTR b);
+       export function RoutingFees_eq(a: number, b: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RoutingFees_eq(a, b);
+               return nativeResponseValue;
+       }
+       // uint64_t RoutingFees_clone_ptr(LDKRoutingFees *NONNULL_PTR arg);
+       export function RoutingFees_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RoutingFees_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKRoutingFees RoutingFees_clone(const struct LDKRoutingFees *NONNULL_PTR orig);
+       export function RoutingFees_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RoutingFees_clone(orig);
+               return nativeResponseValue;
+       }
+       // uint64_t RoutingFees_hash(const struct LDKRoutingFees *NONNULL_PTR o);
+       export function RoutingFees_hash(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RoutingFees_hash(o);
+               return nativeResponseValue;
+       }
+       // struct LDKCVec_u8Z RoutingFees_write(const struct LDKRoutingFees *NONNULL_PTR obj);
+       export function RoutingFees_write(obj: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RoutingFees_write(obj);
+               return decodeArray(nativeResponseValue);
+       }
+       // struct LDKCResult_RoutingFeesDecodeErrorZ RoutingFees_read(struct LDKu8slice ser);
+       export function RoutingFees_read(ser: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RoutingFees_read(encodeArray(ser));
+               return nativeResponseValue;
+       }
+       // void NodeAnnouncementInfo_free(struct LDKNodeAnnouncementInfo this_obj);
+       export function NodeAnnouncementInfo_free(this_obj: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_free(this_obj);
+               // debug statements here
+       }
+       // struct LDKNodeFeatures NodeAnnouncementInfo_get_features(const struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr);
+       export function NodeAnnouncementInfo_get_features(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_get_features(this_ptr);
+               return nativeResponseValue;
+       }
+       // void NodeAnnouncementInfo_set_features(struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr, struct LDKNodeFeatures val);
+       export function NodeAnnouncementInfo_set_features(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_set_features(this_ptr, val);
+               // debug statements here
+       }
+       // uint32_t NodeAnnouncementInfo_get_last_update(const struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr);
+       export function NodeAnnouncementInfo_get_last_update(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_get_last_update(this_ptr);
+               return nativeResponseValue;
+       }
+       // void NodeAnnouncementInfo_set_last_update(struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr, uint32_t val);
+       export function NodeAnnouncementInfo_set_last_update(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_set_last_update(this_ptr, val);
+               // debug statements here
+       }
+       // const uint8_t (*NodeAnnouncementInfo_get_rgb(const struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr))[3];
+       export function NodeAnnouncementInfo_get_rgb(this_ptr: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_get_rgb(this_ptr);
+               return decodeArray(nativeResponseValue);
+       }
+       // void NodeAnnouncementInfo_set_rgb(struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr, struct LDKThreeBytes val);
+       export function NodeAnnouncementInfo_set_rgb(this_ptr: number, val: Uint8Array): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_set_rgb(this_ptr, encodeArray(val));
+               // debug statements here
+       }
+       // const uint8_t (*NodeAnnouncementInfo_get_alias(const struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr))[32];
+       export function NodeAnnouncementInfo_get_alias(this_ptr: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_get_alias(this_ptr);
+               return decodeArray(nativeResponseValue);
+       }
+       // void NodeAnnouncementInfo_set_alias(struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr, struct LDKThirtyTwoBytes val);
+       export function NodeAnnouncementInfo_set_alias(this_ptr: number, val: Uint8Array): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_set_alias(this_ptr, encodeArray(val));
+               // debug statements here
+       }
+       // void NodeAnnouncementInfo_set_addresses(struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr, struct LDKCVec_NetAddressZ val);
+       export function NodeAnnouncementInfo_set_addresses(this_ptr: number, val: number[]): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_set_addresses(this_ptr, val);
                // debug statements here
        }
-       // struct LDKCOption_u64Z RouteHintHop_get_htlc_minimum_msat(const struct LDKRouteHintHop *NONNULL_PTR this_ptr);
-       export function RouteHintHop_get_htlc_minimum_msat(this_ptr: number): number {
+       // struct LDKNodeAnnouncement NodeAnnouncementInfo_get_announcement_message(const struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr);
+       export function NodeAnnouncementInfo_get_announcement_message(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_get_htlc_minimum_msat(this_ptr);
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_get_announcement_message(this_ptr);
                return nativeResponseValue;
        }
-       // void RouteHintHop_set_htlc_minimum_msat(struct LDKRouteHintHop *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
-       export function RouteHintHop_set_htlc_minimum_msat(this_ptr: number, val: number): void {
+       // void NodeAnnouncementInfo_set_announcement_message(struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr, struct LDKNodeAnnouncement val);
+       export function NodeAnnouncementInfo_set_announcement_message(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_set_htlc_minimum_msat(this_ptr, val);
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_set_announcement_message(this_ptr, val);
                // debug statements here
        }
-       // struct LDKCOption_u64Z RouteHintHop_get_htlc_maximum_msat(const struct LDKRouteHintHop *NONNULL_PTR this_ptr);
-       export function RouteHintHop_get_htlc_maximum_msat(this_ptr: number): number {
+       // MUST_USE_RES struct LDKNodeAnnouncementInfo NodeAnnouncementInfo_new(struct LDKNodeFeatures features_arg, uint32_t last_update_arg, struct LDKThreeBytes rgb_arg, struct LDKThirtyTwoBytes alias_arg, struct LDKCVec_NetAddressZ addresses_arg, struct LDKNodeAnnouncement announcement_message_arg);
+       export function NodeAnnouncementInfo_new(features_arg: number, last_update_arg: number, rgb_arg: Uint8Array, alias_arg: Uint8Array, addresses_arg: number[], announcement_message_arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_get_htlc_maximum_msat(this_ptr);
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_new(features_arg, last_update_arg, encodeArray(rgb_arg), encodeArray(alias_arg), addresses_arg, announcement_message_arg);
                return nativeResponseValue;
        }
-       // void RouteHintHop_set_htlc_maximum_msat(struct LDKRouteHintHop *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
-       export function RouteHintHop_set_htlc_maximum_msat(this_ptr: number, val: number): void {
+       // uint64_t NodeAnnouncementInfo_clone_ptr(LDKNodeAnnouncementInfo *NONNULL_PTR arg);
+       export function NodeAnnouncementInfo_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKNodeAnnouncementInfo NodeAnnouncementInfo_clone(const struct LDKNodeAnnouncementInfo *NONNULL_PTR orig);
+       export function NodeAnnouncementInfo_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_clone(orig);
+               return nativeResponseValue;
+       }
+       // struct LDKCVec_u8Z NodeAnnouncementInfo_write(const struct LDKNodeAnnouncementInfo *NONNULL_PTR obj);
+       export function NodeAnnouncementInfo_write(obj: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_write(obj);
+               return decodeArray(nativeResponseValue);
+       }
+       // struct LDKCResult_NodeAnnouncementInfoDecodeErrorZ NodeAnnouncementInfo_read(struct LDKu8slice ser);
+       export function NodeAnnouncementInfo_read(ser: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeAnnouncementInfo_read(encodeArray(ser));
+               return nativeResponseValue;
+       }
+       // void NodeInfo_free(struct LDKNodeInfo this_obj);
+       export function NodeInfo_free(this_obj: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeInfo_free(this_obj);
+               // debug statements here
+       }
+       // void NodeInfo_set_channels(struct LDKNodeInfo *NONNULL_PTR this_ptr, struct LDKCVec_u64Z val);
+       export function NodeInfo_set_channels(this_ptr: number, val: number[]): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeInfo_set_channels(this_ptr, val);
+               // debug statements here
+       }
+       // struct LDKRoutingFees NodeInfo_get_lowest_inbound_channel_fees(const struct LDKNodeInfo *NONNULL_PTR this_ptr);
+       export function NodeInfo_get_lowest_inbound_channel_fees(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeInfo_get_lowest_inbound_channel_fees(this_ptr);
+               return nativeResponseValue;
+       }
+       // void NodeInfo_set_lowest_inbound_channel_fees(struct LDKNodeInfo *NONNULL_PTR this_ptr, struct LDKRoutingFees val);
+       export function NodeInfo_set_lowest_inbound_channel_fees(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeInfo_set_lowest_inbound_channel_fees(this_ptr, val);
+               // debug statements here
+       }
+       // struct LDKNodeAnnouncementInfo NodeInfo_get_announcement_info(const struct LDKNodeInfo *NONNULL_PTR this_ptr);
+       export function NodeInfo_get_announcement_info(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeInfo_get_announcement_info(this_ptr);
+               return nativeResponseValue;
+       }
+       // void NodeInfo_set_announcement_info(struct LDKNodeInfo *NONNULL_PTR this_ptr, struct LDKNodeAnnouncementInfo val);
+       export function NodeInfo_set_announcement_info(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeInfo_set_announcement_info(this_ptr, val);
+               // debug statements here
+       }
+       // MUST_USE_RES struct LDKNodeInfo NodeInfo_new(struct LDKCVec_u64Z channels_arg, struct LDKRoutingFees lowest_inbound_channel_fees_arg, struct LDKNodeAnnouncementInfo announcement_info_arg);
+       export function NodeInfo_new(channels_arg: number[], lowest_inbound_channel_fees_arg: number, announcement_info_arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeInfo_new(channels_arg, lowest_inbound_channel_fees_arg, announcement_info_arg);
+               return nativeResponseValue;
+       }
+       // uint64_t NodeInfo_clone_ptr(LDKNodeInfo *NONNULL_PTR arg);
+       export function NodeInfo_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeInfo_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKNodeInfo NodeInfo_clone(const struct LDKNodeInfo *NONNULL_PTR orig);
+       export function NodeInfo_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeInfo_clone(orig);
+               return nativeResponseValue;
+       }
+       // struct LDKCVec_u8Z NodeInfo_write(const struct LDKNodeInfo *NONNULL_PTR obj);
+       export function NodeInfo_write(obj: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeInfo_write(obj);
+               return decodeArray(nativeResponseValue);
+       }
+       // struct LDKCResult_NodeInfoDecodeErrorZ NodeInfo_read(struct LDKu8slice ser);
+       export function NodeInfo_read(ser: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NodeInfo_read(encodeArray(ser));
+               return nativeResponseValue;
+       }
+       // struct LDKCVec_u8Z NetworkGraph_write(const struct LDKNetworkGraph *NONNULL_PTR obj);
+       export function NetworkGraph_write(obj: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NetworkGraph_write(obj);
+               return decodeArray(nativeResponseValue);
+       }
+       // struct LDKCResult_NetworkGraphDecodeErrorZ NetworkGraph_read(struct LDKu8slice ser);
+       export function NetworkGraph_read(ser: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NetworkGraph_read(encodeArray(ser));
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKNetworkGraph NetworkGraph_new(struct LDKThirtyTwoBytes genesis_hash);
+       export function NetworkGraph_new(genesis_hash: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NetworkGraph_new(encodeArray(genesis_hash));
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKReadOnlyNetworkGraph NetworkGraph_read_only(const struct LDKNetworkGraph *NONNULL_PTR this_arg);
+       export function NetworkGraph_read_only(this_arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NetworkGraph_read_only(this_arg);
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKCResult_NoneLightningErrorZ NetworkGraph_update_node_from_announcement(const struct LDKNetworkGraph *NONNULL_PTR this_arg, const struct LDKNodeAnnouncement *NONNULL_PTR msg);
+       export function NetworkGraph_update_node_from_announcement(this_arg: number, msg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NetworkGraph_update_node_from_announcement(this_arg, msg);
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKCResult_NoneLightningErrorZ NetworkGraph_update_node_from_unsigned_announcement(const struct LDKNetworkGraph *NONNULL_PTR this_arg, const struct LDKUnsignedNodeAnnouncement *NONNULL_PTR msg);
+       export function NetworkGraph_update_node_from_unsigned_announcement(this_arg: number, msg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NetworkGraph_update_node_from_unsigned_announcement(this_arg, msg);
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKCResult_NoneLightningErrorZ NetworkGraph_update_channel_from_announcement(const struct LDKNetworkGraph *NONNULL_PTR this_arg, const struct LDKChannelAnnouncement *NONNULL_PTR msg, struct LDKCOption_AccessZ chain_access);
+       export function NetworkGraph_update_channel_from_announcement(this_arg: number, msg: number, chain_access: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NetworkGraph_update_channel_from_announcement(this_arg, msg, chain_access);
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKCResult_NoneLightningErrorZ NetworkGraph_update_channel_from_unsigned_announcement(const struct LDKNetworkGraph *NONNULL_PTR this_arg, const struct LDKUnsignedChannelAnnouncement *NONNULL_PTR msg, struct LDKCOption_AccessZ chain_access);
+       export function NetworkGraph_update_channel_from_unsigned_announcement(this_arg: number, msg: number, chain_access: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NetworkGraph_update_channel_from_unsigned_announcement(this_arg, msg, chain_access);
+               return nativeResponseValue;
+       }
+       // void NetworkGraph_close_channel_from_update(const struct LDKNetworkGraph *NONNULL_PTR this_arg, uint64_t short_channel_id, bool is_permanent);
+       export function NetworkGraph_close_channel_from_update(this_arg: number, short_channel_id: number, is_permanent: boolean): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NetworkGraph_close_channel_from_update(this_arg, short_channel_id, is_permanent);
+               // debug statements here
+       }
+       // void NetworkGraph_fail_node(const struct LDKNetworkGraph *NONNULL_PTR this_arg, struct LDKPublicKey _node_id, bool is_permanent);
+       export function NetworkGraph_fail_node(this_arg: number, _node_id: Uint8Array, is_permanent: boolean): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NetworkGraph_fail_node(this_arg, encodeArray(_node_id), is_permanent);
+               // debug statements here
+       }
+       // MUST_USE_RES struct LDKCResult_NoneLightningErrorZ NetworkGraph_update_channel(const struct LDKNetworkGraph *NONNULL_PTR this_arg, const struct LDKChannelUpdate *NONNULL_PTR msg);
+       export function NetworkGraph_update_channel(this_arg: number, msg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NetworkGraph_update_channel(this_arg, msg);
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKCResult_NoneLightningErrorZ NetworkGraph_update_channel_unsigned(const struct LDKNetworkGraph *NONNULL_PTR this_arg, const struct LDKUnsignedChannelUpdate *NONNULL_PTR msg);
+       export function NetworkGraph_update_channel_unsigned(this_arg: number, msg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.NetworkGraph_update_channel_unsigned(this_arg, msg);
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKCOption_CVec_NetAddressZZ ReadOnlyNetworkGraph_get_addresses(const struct LDKReadOnlyNetworkGraph *NONNULL_PTR this_arg, struct LDKPublicKey pubkey);
+       export function ReadOnlyNetworkGraph_get_addresses(this_arg: number, pubkey: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ReadOnlyNetworkGraph_get_addresses(this_arg, encodeArray(pubkey));
+               return nativeResponseValue;
+       }
+       // void RouteHop_free(struct LDKRouteHop this_obj);
+       export function RouteHop_free(this_obj: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RouteHop_free(this_obj);
+               // debug statements here
+       }
+       // struct LDKPublicKey RouteHop_get_pubkey(const struct LDKRouteHop *NONNULL_PTR this_ptr);
+       export function RouteHop_get_pubkey(this_ptr: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RouteHop_get_pubkey(this_ptr);
+               return decodeArray(nativeResponseValue);
+       }
+       // void RouteHop_set_pubkey(struct LDKRouteHop *NONNULL_PTR this_ptr, struct LDKPublicKey val);
+       export function RouteHop_set_pubkey(this_ptr: number, val: Uint8Array): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_set_htlc_maximum_msat(this_ptr, val);
+               const nativeResponseValue = wasm.RouteHop_set_pubkey(this_ptr, encodeArray(val));
                // debug statements here
        }
-       // MUST_USE_RES struct LDKRouteHintHop RouteHintHop_new(struct LDKPublicKey src_node_id_arg, uint64_t short_channel_id_arg, struct LDKRoutingFees fees_arg, uint16_t cltv_expiry_delta_arg, struct LDKCOption_u64Z htlc_minimum_msat_arg, struct LDKCOption_u64Z htlc_maximum_msat_arg);
-       export function RouteHintHop_new(src_node_id_arg: Uint8Array, short_channel_id_arg: number, fees_arg: number, cltv_expiry_delta_arg: number, htlc_minimum_msat_arg: number, htlc_maximum_msat_arg: number): number {
+       // struct LDKNodeFeatures RouteHop_get_node_features(const struct LDKRouteHop *NONNULL_PTR this_ptr);
+       export function RouteHop_get_node_features(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_new(encodeArray(src_node_id_arg), short_channel_id_arg, fees_arg, cltv_expiry_delta_arg, htlc_minimum_msat_arg, htlc_maximum_msat_arg);
+               const nativeResponseValue = wasm.RouteHop_get_node_features(this_ptr);
                return nativeResponseValue;
        }
-       // struct LDKRouteHintHop RouteHintHop_clone(const struct LDKRouteHintHop *NONNULL_PTR orig);
-       export function RouteHintHop_clone(orig: number): number {
+       // void RouteHop_set_node_features(struct LDKRouteHop *NONNULL_PTR this_ptr, struct LDKNodeFeatures val);
+       export function RouteHop_set_node_features(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_clone(orig);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.RouteHop_set_node_features(this_ptr, val);
+               // debug statements here
        }
-       // uint64_t RouteHintHop_hash(const struct LDKRouteHintHop *NONNULL_PTR o);
-       export function RouteHintHop_hash(o: number): number {
+       // uint64_t RouteHop_get_short_channel_id(const struct LDKRouteHop *NONNULL_PTR this_ptr);
+       export function RouteHop_get_short_channel_id(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_hash(o);
+               const nativeResponseValue = wasm.RouteHop_get_short_channel_id(this_ptr);
                return nativeResponseValue;
        }
-       // bool RouteHintHop_eq(const struct LDKRouteHintHop *NONNULL_PTR a, const struct LDKRouteHintHop *NONNULL_PTR b);
-       export function RouteHintHop_eq(a: number, b: number): boolean {
+       // void RouteHop_set_short_channel_id(struct LDKRouteHop *NONNULL_PTR this_ptr, uint64_t val);
+       export function RouteHop_set_short_channel_id(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RouteHintHop_eq(a, b);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.RouteHop_set_short_channel_id(this_ptr, val);
+               // debug statements here
        }
-       // struct LDKCResult_RouteLightningErrorZ get_keysend_route(struct LDKPublicKey our_node_id, const struct LDKNetworkGraph *NONNULL_PTR network, struct LDKPublicKey payee, struct LDKCVec_ChannelDetailsZ *first_hops, struct LDKCVec_RouteHintZ last_hops, uint64_t final_value_msat, uint32_t final_cltv, struct LDKLogger logger);
-       export function get_keysend_route(our_node_id: Uint8Array, network: number, payee: Uint8Array, first_hops: number[], last_hops: number[], final_value_msat: number, final_cltv: number, logger: number): number {
+       // struct LDKChannelFeatures RouteHop_get_channel_features(const struct LDKRouteHop *NONNULL_PTR this_ptr);
+       export function RouteHop_get_channel_features(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.get_keysend_route(encodeArray(our_node_id), network, encodeArray(payee), first_hops, last_hops, final_value_msat, final_cltv, logger);
+               const nativeResponseValue = wasm.RouteHop_get_channel_features(this_ptr);
                return nativeResponseValue;
        }
-       // struct LDKCResult_RouteLightningErrorZ get_route(struct LDKPublicKey our_node_id, const struct LDKNetworkGraph *NONNULL_PTR network, struct LDKPublicKey payee, struct LDKInvoiceFeatures payee_features, struct LDKCVec_ChannelDetailsZ *first_hops, struct LDKCVec_RouteHintZ last_hops, uint64_t final_value_msat, uint32_t final_cltv, struct LDKLogger logger);
-       export function get_route(our_node_id: Uint8Array, network: number, payee: Uint8Array, payee_features: number, first_hops: number[], last_hops: number[], final_value_msat: number, final_cltv: number, logger: number): number {
+       // void RouteHop_set_channel_features(struct LDKRouteHop *NONNULL_PTR this_ptr, struct LDKChannelFeatures val);
+       export function RouteHop_set_channel_features(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RouteHop_set_channel_features(this_ptr, val);
+               // debug statements here
+       }
+       // uint64_t RouteHop_get_fee_msat(const struct LDKRouteHop *NONNULL_PTR this_ptr);
+       export function RouteHop_get_fee_msat(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.get_route(encodeArray(our_node_id), network, encodeArray(payee), payee_features, first_hops, last_hops, final_value_msat, final_cltv, logger);
+               const nativeResponseValue = wasm.RouteHop_get_fee_msat(this_ptr);
                return nativeResponseValue;
        }
-       // void NetworkGraph_free(struct LDKNetworkGraph this_obj);
-       export function NetworkGraph_free(this_obj: number): void {
+       // void RouteHop_set_fee_msat(struct LDKRouteHop *NONNULL_PTR this_ptr, uint64_t val);
+       export function RouteHop_set_fee_msat(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkGraph_free(this_obj);
+               const nativeResponseValue = wasm.RouteHop_set_fee_msat(this_ptr, val);
                // debug statements here
        }
-       // struct LDKNetworkGraph NetworkGraph_clone(const struct LDKNetworkGraph *NONNULL_PTR orig);
-       export function NetworkGraph_clone(orig: number): number {
+       // uint32_t RouteHop_get_cltv_expiry_delta(const struct LDKRouteHop *NONNULL_PTR this_ptr);
+       export function RouteHop_get_cltv_expiry_delta(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkGraph_clone(orig);
+               const nativeResponseValue = wasm.RouteHop_get_cltv_expiry_delta(this_ptr);
                return nativeResponseValue;
        }
-       // void ReadOnlyNetworkGraph_free(struct LDKReadOnlyNetworkGraph this_obj);
-       export function ReadOnlyNetworkGraph_free(this_obj: number): void {
+       // void RouteHop_set_cltv_expiry_delta(struct LDKRouteHop *NONNULL_PTR this_ptr, uint32_t val);
+       export function RouteHop_set_cltv_expiry_delta(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ReadOnlyNetworkGraph_free(this_obj);
+               const nativeResponseValue = wasm.RouteHop_set_cltv_expiry_delta(this_ptr, val);
                // debug statements here
        }
-       // void NetworkUpdate_free(struct LDKNetworkUpdate this_ptr);
-       export function NetworkUpdate_free(this_ptr: number): void {
+       // MUST_USE_RES struct LDKRouteHop RouteHop_new(struct LDKPublicKey pubkey_arg, struct LDKNodeFeatures node_features_arg, uint64_t short_channel_id_arg, struct LDKChannelFeatures channel_features_arg, uint64_t fee_msat_arg, uint32_t cltv_expiry_delta_arg);
+       export function RouteHop_new(pubkey_arg: Uint8Array, node_features_arg: number, short_channel_id_arg: number, channel_features_arg: number, fee_msat_arg: number, cltv_expiry_delta_arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkUpdate_free(this_ptr);
-               // debug statements here
+               const nativeResponseValue = wasm.RouteHop_new(encodeArray(pubkey_arg), node_features_arg, short_channel_id_arg, channel_features_arg, fee_msat_arg, cltv_expiry_delta_arg);
+               return nativeResponseValue;
        }
-       // struct LDKNetworkUpdate NetworkUpdate_clone(const struct LDKNetworkUpdate *NONNULL_PTR orig);
-       export function NetworkUpdate_clone(orig: number): number {
+       // uint64_t RouteHop_clone_ptr(LDKRouteHop *NONNULL_PTR arg);
+       export function RouteHop_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkUpdate_clone(orig);
+               const nativeResponseValue = wasm.RouteHop_clone_ptr(arg);
                return nativeResponseValue;
        }
-       // struct LDKNetworkUpdate NetworkUpdate_channel_update_message(struct LDKChannelUpdate msg);
-       export function NetworkUpdate_channel_update_message(msg: number): number {
+       // struct LDKRouteHop RouteHop_clone(const struct LDKRouteHop *NONNULL_PTR orig);
+       export function RouteHop_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkUpdate_channel_update_message(msg);
+               const nativeResponseValue = wasm.RouteHop_clone(orig);
                return nativeResponseValue;
        }
-       // struct LDKNetworkUpdate NetworkUpdate_channel_closed(uint64_t short_channel_id, bool is_permanent);
-       export function NetworkUpdate_channel_closed(short_channel_id: number, is_permanent: boolean): number {
+       // uint64_t RouteHop_hash(const struct LDKRouteHop *NONNULL_PTR o);
+       export function RouteHop_hash(o: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkUpdate_channel_closed(short_channel_id, is_permanent);
+               const nativeResponseValue = wasm.RouteHop_hash(o);
                return nativeResponseValue;
        }
-       // struct LDKNetworkUpdate NetworkUpdate_node_failure(struct LDKPublicKey node_id, bool is_permanent);
-       export function NetworkUpdate_node_failure(node_id: Uint8Array, is_permanent: boolean): number {
+       // bool RouteHop_eq(const struct LDKRouteHop *NONNULL_PTR a, const struct LDKRouteHop *NONNULL_PTR b);
+       export function RouteHop_eq(a: number, b: number): boolean {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkUpdate_node_failure(encodeArray(node_id), is_permanent);
+               const nativeResponseValue = wasm.RouteHop_eq(a, b);
                return nativeResponseValue;
        }
-       // struct LDKCVec_u8Z NetworkUpdate_write(const struct LDKNetworkUpdate *NONNULL_PTR obj);
-       export function NetworkUpdate_write(obj: number): Uint8Array {
+       // struct LDKCVec_u8Z RouteHop_write(const struct LDKRouteHop *NONNULL_PTR obj);
+       export function RouteHop_write(obj: number): Uint8Array {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkUpdate_write(obj);
+               const nativeResponseValue = wasm.RouteHop_write(obj);
                return decodeArray(nativeResponseValue);
        }
-       // struct LDKEventHandler NetGraphMsgHandler_as_EventHandler(const struct LDKNetGraphMsgHandler *NONNULL_PTR this_arg);
-       export function NetGraphMsgHandler_as_EventHandler(this_arg: number): number {
+       // struct LDKCResult_RouteHopDecodeErrorZ RouteHop_read(struct LDKu8slice ser);
+       export function RouteHop_read(ser: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetGraphMsgHandler_as_EventHandler(this_arg);
+               const nativeResponseValue = wasm.RouteHop_read(encodeArray(ser));
                return nativeResponseValue;
        }
-       // void NetGraphMsgHandler_free(struct LDKNetGraphMsgHandler this_obj);
-       export function NetGraphMsgHandler_free(this_obj: number): void {
+       // void Route_free(struct LDKRoute this_obj);
+       export function Route_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetGraphMsgHandler_free(this_obj);
+               const nativeResponseValue = wasm.Route_free(this_obj);
                // debug statements here
        }
-       // struct LDKNetworkGraph NetGraphMsgHandler_get_network_graph(const struct LDKNetGraphMsgHandler *NONNULL_PTR this_ptr);
-       export function NetGraphMsgHandler_get_network_graph(this_ptr: number): number {
+       // struct LDKCVec_CVec_RouteHopZZ Route_get_paths(const struct LDKRoute *NONNULL_PTR this_ptr);
+       export function Route_get_paths(this_ptr: number): number[][] {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetGraphMsgHandler_get_network_graph(this_ptr);
+               const nativeResponseValue = wasm.Route_get_paths(this_ptr);
                return nativeResponseValue;
        }
-       // void NetGraphMsgHandler_set_network_graph(struct LDKNetGraphMsgHandler *NONNULL_PTR this_ptr, struct LDKNetworkGraph val);
-       export function NetGraphMsgHandler_set_network_graph(this_ptr: number, val: number): void {
+       // void Route_set_paths(struct LDKRoute *NONNULL_PTR this_ptr, struct LDKCVec_CVec_RouteHopZZ val);
+       export function Route_set_paths(this_ptr: number, val: number[][]): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetGraphMsgHandler_set_network_graph(this_ptr, val);
+               const nativeResponseValue = wasm.Route_set_paths(this_ptr, val);
                // debug statements here
        }
-       // MUST_USE_RES struct LDKNetGraphMsgHandler NetGraphMsgHandler_new(struct LDKNetworkGraph network_graph, struct LDKCOption_AccessZ chain_access, struct LDKLogger logger);
-       export function NetGraphMsgHandler_new(network_graph: number, chain_access: number, logger: number): number {
+       // struct LDKPayee Route_get_payee(const struct LDKRoute *NONNULL_PTR this_ptr);
+       export function Route_get_payee(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetGraphMsgHandler_new(network_graph, chain_access, logger);
+               const nativeResponseValue = wasm.Route_get_payee(this_ptr);
                return nativeResponseValue;
        }
-       // void NetGraphMsgHandler_add_chain_access(struct LDKNetGraphMsgHandler *NONNULL_PTR this_arg, struct LDKCOption_AccessZ chain_access);
-       export function NetGraphMsgHandler_add_chain_access(this_arg: number, chain_access: number): void {
+       // void Route_set_payee(struct LDKRoute *NONNULL_PTR this_ptr, struct LDKPayee val);
+       export function Route_set_payee(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetGraphMsgHandler_add_chain_access(this_arg, chain_access);
+               const nativeResponseValue = wasm.Route_set_payee(this_ptr, val);
                // debug statements here
        }
-       // struct LDKRoutingMessageHandler NetGraphMsgHandler_as_RoutingMessageHandler(const struct LDKNetGraphMsgHandler *NONNULL_PTR this_arg);
-       export function NetGraphMsgHandler_as_RoutingMessageHandler(this_arg: number): number {
+       // MUST_USE_RES struct LDKRoute Route_new(struct LDKCVec_CVec_RouteHopZZ paths_arg, struct LDKPayee payee_arg);
+       export function Route_new(paths_arg: number[][], payee_arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetGraphMsgHandler_as_RoutingMessageHandler(this_arg);
+               const nativeResponseValue = wasm.Route_new(paths_arg, payee_arg);
                return nativeResponseValue;
        }
-       // struct LDKMessageSendEventsProvider NetGraphMsgHandler_as_MessageSendEventsProvider(const struct LDKNetGraphMsgHandler *NONNULL_PTR this_arg);
-       export function NetGraphMsgHandler_as_MessageSendEventsProvider(this_arg: number): number {
+       // uint64_t Route_clone_ptr(LDKRoute *NONNULL_PTR arg);
+       export function Route_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetGraphMsgHandler_as_MessageSendEventsProvider(this_arg);
+               const nativeResponseValue = wasm.Route_clone_ptr(arg);
                return nativeResponseValue;
        }
-       // void DirectionalChannelInfo_free(struct LDKDirectionalChannelInfo this_obj);
-       export function DirectionalChannelInfo_free(this_obj: number): void {
-               if(!isWasmInitialized) {
-                       throw new Error("initializeWasm() must be awaited first!");
-               }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_free(this_obj);
-               // debug statements here
-       }
-       // uint32_t DirectionalChannelInfo_get_last_update(const struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr);
-       export function DirectionalChannelInfo_get_last_update(this_ptr: number): number {
+       // struct LDKRoute Route_clone(const struct LDKRoute *NONNULL_PTR orig);
+       export function Route_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_get_last_update(this_ptr);
+               const nativeResponseValue = wasm.Route_clone(orig);
                return nativeResponseValue;
        }
-       // void DirectionalChannelInfo_set_last_update(struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr, uint32_t val);
-       export function DirectionalChannelInfo_set_last_update(this_ptr: number, val: number): void {
+       // uint64_t Route_hash(const struct LDKRoute *NONNULL_PTR o);
+       export function Route_hash(o: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_set_last_update(this_ptr, val);
-               // debug statements here
+               const nativeResponseValue = wasm.Route_hash(o);
+               return nativeResponseValue;
        }
-       // bool DirectionalChannelInfo_get_enabled(const struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr);
-       export function DirectionalChannelInfo_get_enabled(this_ptr: number): boolean {
+       // bool Route_eq(const struct LDKRoute *NONNULL_PTR a, const struct LDKRoute *NONNULL_PTR b);
+       export function Route_eq(a: number, b: number): boolean {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_get_enabled(this_ptr);
+               const nativeResponseValue = wasm.Route_eq(a, b);
                return nativeResponseValue;
        }
-       // void DirectionalChannelInfo_set_enabled(struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr, bool val);
-       export function DirectionalChannelInfo_set_enabled(this_ptr: number, val: boolean): void {
+       // MUST_USE_RES uint64_t Route_get_total_fees(const struct LDKRoute *NONNULL_PTR this_arg);
+       export function Route_get_total_fees(this_arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_set_enabled(this_ptr, val);
-               // debug statements here
+               const nativeResponseValue = wasm.Route_get_total_fees(this_arg);
+               return nativeResponseValue;
        }
-       // uint16_t DirectionalChannelInfo_get_cltv_expiry_delta(const struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr);
-       export function DirectionalChannelInfo_get_cltv_expiry_delta(this_ptr: number): number {
+       // MUST_USE_RES uint64_t Route_get_total_amount(const struct LDKRoute *NONNULL_PTR this_arg);
+       export function Route_get_total_amount(this_arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_get_cltv_expiry_delta(this_ptr);
+               const nativeResponseValue = wasm.Route_get_total_amount(this_arg);
                return nativeResponseValue;
        }
-       // void DirectionalChannelInfo_set_cltv_expiry_delta(struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr, uint16_t val);
-       export function DirectionalChannelInfo_set_cltv_expiry_delta(this_ptr: number, val: number): void {
+       // struct LDKCVec_u8Z Route_write(const struct LDKRoute *NONNULL_PTR obj);
+       export function Route_write(obj: number): Uint8Array {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_set_cltv_expiry_delta(this_ptr, val);
-               // debug statements here
+               const nativeResponseValue = wasm.Route_write(obj);
+               return decodeArray(nativeResponseValue);
        }
-       // uint64_t DirectionalChannelInfo_get_htlc_minimum_msat(const struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr);
-       export function DirectionalChannelInfo_get_htlc_minimum_msat(this_ptr: number): number {
+       // struct LDKCResult_RouteDecodeErrorZ Route_read(struct LDKu8slice ser);
+       export function Route_read(ser: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_get_htlc_minimum_msat(this_ptr);
+               const nativeResponseValue = wasm.Route_read(encodeArray(ser));
                return nativeResponseValue;
        }
-       // void DirectionalChannelInfo_set_htlc_minimum_msat(struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr, uint64_t val);
-       export function DirectionalChannelInfo_set_htlc_minimum_msat(this_ptr: number, val: number): void {
+       // void RouteParameters_free(struct LDKRouteParameters this_obj);
+       export function RouteParameters_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_set_htlc_minimum_msat(this_ptr, val);
+               const nativeResponseValue = wasm.RouteParameters_free(this_obj);
                // debug statements here
        }
-       // struct LDKCOption_u64Z DirectionalChannelInfo_get_htlc_maximum_msat(const struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr);
-       export function DirectionalChannelInfo_get_htlc_maximum_msat(this_ptr: number): number {
+       // struct LDKPayee RouteParameters_get_payee(const struct LDKRouteParameters *NONNULL_PTR this_ptr);
+       export function RouteParameters_get_payee(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_get_htlc_maximum_msat(this_ptr);
+               const nativeResponseValue = wasm.RouteParameters_get_payee(this_ptr);
                return nativeResponseValue;
        }
-       // void DirectionalChannelInfo_set_htlc_maximum_msat(struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
-       export function DirectionalChannelInfo_set_htlc_maximum_msat(this_ptr: number, val: number): void {
+       // void RouteParameters_set_payee(struct LDKRouteParameters *NONNULL_PTR this_ptr, struct LDKPayee val);
+       export function RouteParameters_set_payee(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_set_htlc_maximum_msat(this_ptr, val);
+               const nativeResponseValue = wasm.RouteParameters_set_payee(this_ptr, val);
                // debug statements here
        }
-       // struct LDKRoutingFees DirectionalChannelInfo_get_fees(const struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr);
-       export function DirectionalChannelInfo_get_fees(this_ptr: number): number {
+       // uint64_t RouteParameters_get_final_value_msat(const struct LDKRouteParameters *NONNULL_PTR this_ptr);
+       export function RouteParameters_get_final_value_msat(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_get_fees(this_ptr);
+               const nativeResponseValue = wasm.RouteParameters_get_final_value_msat(this_ptr);
                return nativeResponseValue;
        }
-       // void DirectionalChannelInfo_set_fees(struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr, struct LDKRoutingFees val);
-       export function DirectionalChannelInfo_set_fees(this_ptr: number, val: number): void {
+       // void RouteParameters_set_final_value_msat(struct LDKRouteParameters *NONNULL_PTR this_ptr, uint64_t val);
+       export function RouteParameters_set_final_value_msat(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_set_fees(this_ptr, val);
+               const nativeResponseValue = wasm.RouteParameters_set_final_value_msat(this_ptr, val);
                // debug statements here
        }
-       // struct LDKChannelUpdate DirectionalChannelInfo_get_last_update_message(const struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr);
-       export function DirectionalChannelInfo_get_last_update_message(this_ptr: number): number {
+       // uint32_t RouteParameters_get_final_cltv_expiry_delta(const struct LDKRouteParameters *NONNULL_PTR this_ptr);
+       export function RouteParameters_get_final_cltv_expiry_delta(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_get_last_update_message(this_ptr);
+               const nativeResponseValue = wasm.RouteParameters_get_final_cltv_expiry_delta(this_ptr);
                return nativeResponseValue;
        }
-       // void DirectionalChannelInfo_set_last_update_message(struct LDKDirectionalChannelInfo *NONNULL_PTR this_ptr, struct LDKChannelUpdate val);
-       export function DirectionalChannelInfo_set_last_update_message(this_ptr: number, val: number): void {
+       // void RouteParameters_set_final_cltv_expiry_delta(struct LDKRouteParameters *NONNULL_PTR this_ptr, uint32_t val);
+       export function RouteParameters_set_final_cltv_expiry_delta(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_set_last_update_message(this_ptr, val);
+               const nativeResponseValue = wasm.RouteParameters_set_final_cltv_expiry_delta(this_ptr, val);
                // debug statements here
        }
-       // MUST_USE_RES struct LDKDirectionalChannelInfo DirectionalChannelInfo_new(uint32_t last_update_arg, bool enabled_arg, uint16_t cltv_expiry_delta_arg, uint64_t htlc_minimum_msat_arg, struct LDKCOption_u64Z htlc_maximum_msat_arg, struct LDKRoutingFees fees_arg, struct LDKChannelUpdate last_update_message_arg);
-       export function DirectionalChannelInfo_new(last_update_arg: number, enabled_arg: boolean, cltv_expiry_delta_arg: number, htlc_minimum_msat_arg: number, htlc_maximum_msat_arg: number, fees_arg: number, last_update_message_arg: number): number {
+       // MUST_USE_RES struct LDKRouteParameters RouteParameters_new(struct LDKPayee payee_arg, uint64_t final_value_msat_arg, uint32_t final_cltv_expiry_delta_arg);
+       export function RouteParameters_new(payee_arg: number, final_value_msat_arg: number, final_cltv_expiry_delta_arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_new(last_update_arg, enabled_arg, cltv_expiry_delta_arg, htlc_minimum_msat_arg, htlc_maximum_msat_arg, fees_arg, last_update_message_arg);
+               const nativeResponseValue = wasm.RouteParameters_new(payee_arg, final_value_msat_arg, final_cltv_expiry_delta_arg);
                return nativeResponseValue;
        }
-       // struct LDKDirectionalChannelInfo DirectionalChannelInfo_clone(const struct LDKDirectionalChannelInfo *NONNULL_PTR orig);
-       export function DirectionalChannelInfo_clone(orig: number): number {
+       // uint64_t RouteParameters_clone_ptr(LDKRouteParameters *NONNULL_PTR arg);
+       export function RouteParameters_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_clone(orig);
+               const nativeResponseValue = wasm.RouteParameters_clone_ptr(arg);
                return nativeResponseValue;
        }
-       // struct LDKCVec_u8Z DirectionalChannelInfo_write(const struct LDKDirectionalChannelInfo *NONNULL_PTR obj);
-       export function DirectionalChannelInfo_write(obj: number): Uint8Array {
-               if(!isWasmInitialized) {
-                       throw new Error("initializeWasm() must be awaited first!");
-               }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_write(obj);
-               return decodeArray(nativeResponseValue);
-       }
-       // struct LDKCResult_DirectionalChannelInfoDecodeErrorZ DirectionalChannelInfo_read(struct LDKu8slice ser);
-       export function DirectionalChannelInfo_read(ser: Uint8Array): number {
+       // struct LDKRouteParameters RouteParameters_clone(const struct LDKRouteParameters *NONNULL_PTR orig);
+       export function RouteParameters_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.DirectionalChannelInfo_read(encodeArray(ser));
+               const nativeResponseValue = wasm.RouteParameters_clone(orig);
                return nativeResponseValue;
        }
-       // void ChannelInfo_free(struct LDKChannelInfo this_obj);
-       export function ChannelInfo_free(this_obj: number): void {
+       // struct LDKCVec_u8Z RouteParameters_write(const struct LDKRouteParameters *NONNULL_PTR obj);
+       export function RouteParameters_write(obj: number): Uint8Array {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_free(this_obj);
-               // debug statements here
+               const nativeResponseValue = wasm.RouteParameters_write(obj);
+               return decodeArray(nativeResponseValue);
        }
-       // struct LDKChannelFeatures ChannelInfo_get_features(const struct LDKChannelInfo *NONNULL_PTR this_ptr);
-       export function ChannelInfo_get_features(this_ptr: number): number {
+       // struct LDKCResult_RouteParametersDecodeErrorZ RouteParameters_read(struct LDKu8slice ser);
+       export function RouteParameters_read(ser: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_get_features(this_ptr);
+               const nativeResponseValue = wasm.RouteParameters_read(encodeArray(ser));
                return nativeResponseValue;
        }
-       // void ChannelInfo_set_features(struct LDKChannelInfo *NONNULL_PTR this_ptr, struct LDKChannelFeatures val);
-       export function ChannelInfo_set_features(this_ptr: number, val: number): void {
+       // void Payee_free(struct LDKPayee this_obj);
+       export function Payee_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_set_features(this_ptr, val);
+               const nativeResponseValue = wasm.Payee_free(this_obj);
                // debug statements here
        }
-       // struct LDKPublicKey ChannelInfo_get_node_one(const struct LDKChannelInfo *NONNULL_PTR this_ptr);
-       export function ChannelInfo_get_node_one(this_ptr: number): Uint8Array {
+       // struct LDKPublicKey Payee_get_pubkey(const struct LDKPayee *NONNULL_PTR this_ptr);
+       export function Payee_get_pubkey(this_ptr: number): Uint8Array {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_get_node_one(this_ptr);
+               const nativeResponseValue = wasm.Payee_get_pubkey(this_ptr);
                return decodeArray(nativeResponseValue);
        }
-       // void ChannelInfo_set_node_one(struct LDKChannelInfo *NONNULL_PTR this_ptr, struct LDKPublicKey val);
-       export function ChannelInfo_set_node_one(this_ptr: number, val: Uint8Array): void {
+       // void Payee_set_pubkey(struct LDKPayee *NONNULL_PTR this_ptr, struct LDKPublicKey val);
+       export function Payee_set_pubkey(this_ptr: number, val: Uint8Array): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_set_node_one(this_ptr, encodeArray(val));
+               const nativeResponseValue = wasm.Payee_set_pubkey(this_ptr, encodeArray(val));
                // debug statements here
        }
-       // struct LDKDirectionalChannelInfo ChannelInfo_get_one_to_two(const struct LDKChannelInfo *NONNULL_PTR this_ptr);
-       export function ChannelInfo_get_one_to_two(this_ptr: number): number {
+       // struct LDKInvoiceFeatures Payee_get_features(const struct LDKPayee *NONNULL_PTR this_ptr);
+       export function Payee_get_features(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_get_one_to_two(this_ptr);
+               const nativeResponseValue = wasm.Payee_get_features(this_ptr);
                return nativeResponseValue;
        }
-       // void ChannelInfo_set_one_to_two(struct LDKChannelInfo *NONNULL_PTR this_ptr, struct LDKDirectionalChannelInfo val);
-       export function ChannelInfo_set_one_to_two(this_ptr: number, val: number): void {
+       // void Payee_set_features(struct LDKPayee *NONNULL_PTR this_ptr, struct LDKInvoiceFeatures val);
+       export function Payee_set_features(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_set_one_to_two(this_ptr, val);
+               const nativeResponseValue = wasm.Payee_set_features(this_ptr, val);
                // debug statements here
        }
-       // struct LDKPublicKey ChannelInfo_get_node_two(const struct LDKChannelInfo *NONNULL_PTR this_ptr);
-       export function ChannelInfo_get_node_two(this_ptr: number): Uint8Array {
+       // struct LDKCVec_RouteHintZ Payee_get_route_hints(const struct LDKPayee *NONNULL_PTR this_ptr);
+       export function Payee_get_route_hints(this_ptr: number): number[] {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_get_node_two(this_ptr);
-               return decodeArray(nativeResponseValue);
+               const nativeResponseValue = wasm.Payee_get_route_hints(this_ptr);
+               return nativeResponseValue;
        }
-       // void ChannelInfo_set_node_two(struct LDKChannelInfo *NONNULL_PTR this_ptr, struct LDKPublicKey val);
-       export function ChannelInfo_set_node_two(this_ptr: number, val: Uint8Array): void {
+       // void Payee_set_route_hints(struct LDKPayee *NONNULL_PTR this_ptr, struct LDKCVec_RouteHintZ val);
+       export function Payee_set_route_hints(this_ptr: number, val: number[]): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_set_node_two(this_ptr, encodeArray(val));
+               const nativeResponseValue = wasm.Payee_set_route_hints(this_ptr, val);
                // debug statements here
        }
-       // struct LDKDirectionalChannelInfo ChannelInfo_get_two_to_one(const struct LDKChannelInfo *NONNULL_PTR this_ptr);
-       export function ChannelInfo_get_two_to_one(this_ptr: number): number {
+       // struct LDKCOption_u64Z Payee_get_expiry_time(const struct LDKPayee *NONNULL_PTR this_ptr);
+       export function Payee_get_expiry_time(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_get_two_to_one(this_ptr);
+               const nativeResponseValue = wasm.Payee_get_expiry_time(this_ptr);
                return nativeResponseValue;
        }
-       // void ChannelInfo_set_two_to_one(struct LDKChannelInfo *NONNULL_PTR this_ptr, struct LDKDirectionalChannelInfo val);
-       export function ChannelInfo_set_two_to_one(this_ptr: number, val: number): void {
+       // void Payee_set_expiry_time(struct LDKPayee *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       export function Payee_set_expiry_time(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_set_two_to_one(this_ptr, val);
+               const nativeResponseValue = wasm.Payee_set_expiry_time(this_ptr, val);
                // debug statements here
        }
-       // struct LDKCOption_u64Z ChannelInfo_get_capacity_sats(const struct LDKChannelInfo *NONNULL_PTR this_ptr);
-       export function ChannelInfo_get_capacity_sats(this_ptr: number): number {
-               if(!isWasmInitialized) {
-                       throw new Error("initializeWasm() must be awaited first!");
-               }
-               const nativeResponseValue = wasm.ChannelInfo_get_capacity_sats(this_ptr);
-               return nativeResponseValue;
-       }
-       // void ChannelInfo_set_capacity_sats(struct LDKChannelInfo *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
-       export function ChannelInfo_set_capacity_sats(this_ptr: number, val: number): void {
+       // MUST_USE_RES struct LDKPayee Payee_new(struct LDKPublicKey pubkey_arg, struct LDKInvoiceFeatures features_arg, struct LDKCVec_RouteHintZ route_hints_arg, struct LDKCOption_u64Z expiry_time_arg);
+       export function Payee_new(pubkey_arg: Uint8Array, features_arg: number, route_hints_arg: number[], expiry_time_arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_set_capacity_sats(this_ptr, val);
-               // debug statements here
+               const nativeResponseValue = wasm.Payee_new(encodeArray(pubkey_arg), features_arg, route_hints_arg, expiry_time_arg);
+               return nativeResponseValue;
        }
-       // struct LDKChannelAnnouncement ChannelInfo_get_announcement_message(const struct LDKChannelInfo *NONNULL_PTR this_ptr);
-       export function ChannelInfo_get_announcement_message(this_ptr: number): number {
+       // uint64_t Payee_clone_ptr(LDKPayee *NONNULL_PTR arg);
+       export function Payee_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_get_announcement_message(this_ptr);
+               const nativeResponseValue = wasm.Payee_clone_ptr(arg);
                return nativeResponseValue;
        }
-       // void ChannelInfo_set_announcement_message(struct LDKChannelInfo *NONNULL_PTR this_ptr, struct LDKChannelAnnouncement val);
-       export function ChannelInfo_set_announcement_message(this_ptr: number, val: number): void {
+       // struct LDKPayee Payee_clone(const struct LDKPayee *NONNULL_PTR orig);
+       export function Payee_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_set_announcement_message(this_ptr, val);
-               // debug statements here
+               const nativeResponseValue = wasm.Payee_clone(orig);
+               return nativeResponseValue;
        }
-       // MUST_USE_RES struct LDKChannelInfo ChannelInfo_new(struct LDKChannelFeatures features_arg, struct LDKPublicKey node_one_arg, struct LDKDirectionalChannelInfo one_to_two_arg, struct LDKPublicKey node_two_arg, struct LDKDirectionalChannelInfo two_to_one_arg, struct LDKCOption_u64Z capacity_sats_arg, struct LDKChannelAnnouncement announcement_message_arg);
-       export function ChannelInfo_new(features_arg: number, node_one_arg: Uint8Array, one_to_two_arg: number, node_two_arg: Uint8Array, two_to_one_arg: number, capacity_sats_arg: number, announcement_message_arg: number): number {
+       // uint64_t Payee_hash(const struct LDKPayee *NONNULL_PTR o);
+       export function Payee_hash(o: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_new(features_arg, encodeArray(node_one_arg), one_to_two_arg, encodeArray(node_two_arg), two_to_one_arg, capacity_sats_arg, announcement_message_arg);
+               const nativeResponseValue = wasm.Payee_hash(o);
                return nativeResponseValue;
        }
-       // struct LDKChannelInfo ChannelInfo_clone(const struct LDKChannelInfo *NONNULL_PTR orig);
-       export function ChannelInfo_clone(orig: number): number {
+       // bool Payee_eq(const struct LDKPayee *NONNULL_PTR a, const struct LDKPayee *NONNULL_PTR b);
+       export function Payee_eq(a: number, b: number): boolean {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_clone(orig);
+               const nativeResponseValue = wasm.Payee_eq(a, b);
                return nativeResponseValue;
        }
-       // struct LDKCVec_u8Z ChannelInfo_write(const struct LDKChannelInfo *NONNULL_PTR obj);
-       export function ChannelInfo_write(obj: number): Uint8Array {
+       // struct LDKCVec_u8Z Payee_write(const struct LDKPayee *NONNULL_PTR obj);
+       export function Payee_write(obj: number): Uint8Array {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_write(obj);
+               const nativeResponseValue = wasm.Payee_write(obj);
                return decodeArray(nativeResponseValue);
        }
-       // struct LDKCResult_ChannelInfoDecodeErrorZ ChannelInfo_read(struct LDKu8slice ser);
-       export function ChannelInfo_read(ser: Uint8Array): number {
+       // struct LDKCResult_PayeeDecodeErrorZ Payee_read(struct LDKu8slice ser);
+       export function Payee_read(ser: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.ChannelInfo_read(encodeArray(ser));
+               const nativeResponseValue = wasm.Payee_read(encodeArray(ser));
                return nativeResponseValue;
        }
-       // void RoutingFees_free(struct LDKRoutingFees this_obj);
-       export function RoutingFees_free(this_obj: number): void {
+       // MUST_USE_RES struct LDKPayee Payee_from_node_id(struct LDKPublicKey pubkey);
+       export function Payee_from_node_id(pubkey: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RoutingFees_free(this_obj);
-               // debug statements here
+               const nativeResponseValue = wasm.Payee_from_node_id(encodeArray(pubkey));
+               return nativeResponseValue;
        }
-       // uint32_t RoutingFees_get_base_msat(const struct LDKRoutingFees *NONNULL_PTR this_ptr);
-       export function RoutingFees_get_base_msat(this_ptr: number): number {
+       // MUST_USE_RES struct LDKPayee Payee_for_keysend(struct LDKPublicKey pubkey);
+       export function Payee_for_keysend(pubkey: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RoutingFees_get_base_msat(this_ptr);
+               const nativeResponseValue = wasm.Payee_for_keysend(encodeArray(pubkey));
                return nativeResponseValue;
        }
-       // void RoutingFees_set_base_msat(struct LDKRoutingFees *NONNULL_PTR this_ptr, uint32_t val);
-       export function RoutingFees_set_base_msat(this_ptr: number, val: number): void {
+       // void RouteHint_free(struct LDKRouteHint this_obj);
+       export function RouteHint_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RoutingFees_set_base_msat(this_ptr, val);
+               const nativeResponseValue = wasm.RouteHint_free(this_obj);
                // debug statements here
        }
-       // uint32_t RoutingFees_get_proportional_millionths(const struct LDKRoutingFees *NONNULL_PTR this_ptr);
-       export function RoutingFees_get_proportional_millionths(this_ptr: number): number {
+       // struct LDKCVec_RouteHintHopZ RouteHint_get_a(const struct LDKRouteHint *NONNULL_PTR this_ptr);
+       export function RouteHint_get_a(this_ptr: number): number[] {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RoutingFees_get_proportional_millionths(this_ptr);
+               const nativeResponseValue = wasm.RouteHint_get_a(this_ptr);
                return nativeResponseValue;
        }
-       // void RoutingFees_set_proportional_millionths(struct LDKRoutingFees *NONNULL_PTR this_ptr, uint32_t val);
-       export function RoutingFees_set_proportional_millionths(this_ptr: number, val: number): void {
+       // void RouteHint_set_a(struct LDKRouteHint *NONNULL_PTR this_ptr, struct LDKCVec_RouteHintHopZ val);
+       export function RouteHint_set_a(this_ptr: number, val: number[]): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RoutingFees_set_proportional_millionths(this_ptr, val);
+               const nativeResponseValue = wasm.RouteHint_set_a(this_ptr, val);
                // debug statements here
        }
-       // MUST_USE_RES struct LDKRoutingFees RoutingFees_new(uint32_t base_msat_arg, uint32_t proportional_millionths_arg);
-       export function RoutingFees_new(base_msat_arg: number, proportional_millionths_arg: number): number {
+       // MUST_USE_RES struct LDKRouteHint RouteHint_new(struct LDKCVec_RouteHintHopZ a_arg);
+       export function RouteHint_new(a_arg: number[]): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RoutingFees_new(base_msat_arg, proportional_millionths_arg);
+               const nativeResponseValue = wasm.RouteHint_new(a_arg);
                return nativeResponseValue;
        }
-       // bool RoutingFees_eq(const struct LDKRoutingFees *NONNULL_PTR a, const struct LDKRoutingFees *NONNULL_PTR b);
-       export function RoutingFees_eq(a: number, b: number): boolean {
+       // uint64_t RouteHint_clone_ptr(LDKRouteHint *NONNULL_PTR arg);
+       export function RouteHint_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RoutingFees_eq(a, b);
+               const nativeResponseValue = wasm.RouteHint_clone_ptr(arg);
                return nativeResponseValue;
        }
-       // struct LDKRoutingFees RoutingFees_clone(const struct LDKRoutingFees *NONNULL_PTR orig);
-       export function RoutingFees_clone(orig: number): number {
+       // struct LDKRouteHint RouteHint_clone(const struct LDKRouteHint *NONNULL_PTR orig);
+       export function RouteHint_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RoutingFees_clone(orig);
+               const nativeResponseValue = wasm.RouteHint_clone(orig);
                return nativeResponseValue;
        }
-       // uint64_t RoutingFees_hash(const struct LDKRoutingFees *NONNULL_PTR o);
-       export function RoutingFees_hash(o: number): number {
+       // uint64_t RouteHint_hash(const struct LDKRouteHint *NONNULL_PTR o);
+       export function RouteHint_hash(o: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RoutingFees_hash(o);
+               const nativeResponseValue = wasm.RouteHint_hash(o);
                return nativeResponseValue;
        }
-       // struct LDKCVec_u8Z RoutingFees_write(const struct LDKRoutingFees *NONNULL_PTR obj);
-       export function RoutingFees_write(obj: number): Uint8Array {
+       // bool RouteHint_eq(const struct LDKRouteHint *NONNULL_PTR a, const struct LDKRouteHint *NONNULL_PTR b);
+       export function RouteHint_eq(a: number, b: number): boolean {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RoutingFees_write(obj);
+               const nativeResponseValue = wasm.RouteHint_eq(a, b);
+               return nativeResponseValue;
+       }
+       // struct LDKCVec_u8Z RouteHint_write(const struct LDKRouteHint *NONNULL_PTR obj);
+       export function RouteHint_write(obj: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RouteHint_write(obj);
                return decodeArray(nativeResponseValue);
        }
-       // struct LDKCResult_RoutingFeesDecodeErrorZ RoutingFees_read(struct LDKu8slice ser);
-       export function RoutingFees_read(ser: Uint8Array): number {
+       // struct LDKCResult_RouteHintDecodeErrorZ RouteHint_read(struct LDKu8slice ser);
+       export function RouteHint_read(ser: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.RoutingFees_read(encodeArray(ser));
+               const nativeResponseValue = wasm.RouteHint_read(encodeArray(ser));
                return nativeResponseValue;
        }
-       // void NodeAnnouncementInfo_free(struct LDKNodeAnnouncementInfo this_obj);
-       export function NodeAnnouncementInfo_free(this_obj: number): void {
+       // void RouteHintHop_free(struct LDKRouteHintHop this_obj);
+       export function RouteHintHop_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_free(this_obj);
+               const nativeResponseValue = wasm.RouteHintHop_free(this_obj);
                // debug statements here
        }
-       // struct LDKNodeFeatures NodeAnnouncementInfo_get_features(const struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr);
-       export function NodeAnnouncementInfo_get_features(this_ptr: number): number {
+       // struct LDKPublicKey RouteHintHop_get_src_node_id(const struct LDKRouteHintHop *NONNULL_PTR this_ptr);
+       export function RouteHintHop_get_src_node_id(this_ptr: number): Uint8Array {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_get_features(this_ptr);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.RouteHintHop_get_src_node_id(this_ptr);
+               return decodeArray(nativeResponseValue);
        }
-       // void NodeAnnouncementInfo_set_features(struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr, struct LDKNodeFeatures val);
-       export function NodeAnnouncementInfo_set_features(this_ptr: number, val: number): void {
+       // void RouteHintHop_set_src_node_id(struct LDKRouteHintHop *NONNULL_PTR this_ptr, struct LDKPublicKey val);
+       export function RouteHintHop_set_src_node_id(this_ptr: number, val: Uint8Array): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_set_features(this_ptr, val);
+               const nativeResponseValue = wasm.RouteHintHop_set_src_node_id(this_ptr, encodeArray(val));
                // debug statements here
        }
-       // uint32_t NodeAnnouncementInfo_get_last_update(const struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr);
-       export function NodeAnnouncementInfo_get_last_update(this_ptr: number): number {
+       // uint64_t RouteHintHop_get_short_channel_id(const struct LDKRouteHintHop *NONNULL_PTR this_ptr);
+       export function RouteHintHop_get_short_channel_id(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_get_last_update(this_ptr);
+               const nativeResponseValue = wasm.RouteHintHop_get_short_channel_id(this_ptr);
                return nativeResponseValue;
        }
-       // void NodeAnnouncementInfo_set_last_update(struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr, uint32_t val);
-       export function NodeAnnouncementInfo_set_last_update(this_ptr: number, val: number): void {
+       // void RouteHintHop_set_short_channel_id(struct LDKRouteHintHop *NONNULL_PTR this_ptr, uint64_t val);
+       export function RouteHintHop_set_short_channel_id(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_set_last_update(this_ptr, val);
+               const nativeResponseValue = wasm.RouteHintHop_set_short_channel_id(this_ptr, val);
                // debug statements here
        }
-       // const uint8_t (*NodeAnnouncementInfo_get_rgb(const struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr))[3];
-       export function NodeAnnouncementInfo_get_rgb(this_ptr: number): Uint8Array {
+       // struct LDKRoutingFees RouteHintHop_get_fees(const struct LDKRouteHintHop *NONNULL_PTR this_ptr);
+       export function RouteHintHop_get_fees(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_get_rgb(this_ptr);
-               return decodeArray(nativeResponseValue);
+               const nativeResponseValue = wasm.RouteHintHop_get_fees(this_ptr);
+               return nativeResponseValue;
        }
-       // void NodeAnnouncementInfo_set_rgb(struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr, struct LDKThreeBytes val);
-       export function NodeAnnouncementInfo_set_rgb(this_ptr: number, val: Uint8Array): void {
+       // void RouteHintHop_set_fees(struct LDKRouteHintHop *NONNULL_PTR this_ptr, struct LDKRoutingFees val);
+       export function RouteHintHop_set_fees(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_set_rgb(this_ptr, encodeArray(val));
+               const nativeResponseValue = wasm.RouteHintHop_set_fees(this_ptr, val);
                // debug statements here
        }
-       // const uint8_t (*NodeAnnouncementInfo_get_alias(const struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr))[32];
-       export function NodeAnnouncementInfo_get_alias(this_ptr: number): Uint8Array {
+       // uint16_t RouteHintHop_get_cltv_expiry_delta(const struct LDKRouteHintHop *NONNULL_PTR this_ptr);
+       export function RouteHintHop_get_cltv_expiry_delta(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_get_alias(this_ptr);
-               return decodeArray(nativeResponseValue);
+               const nativeResponseValue = wasm.RouteHintHop_get_cltv_expiry_delta(this_ptr);
+               return nativeResponseValue;
        }
-       // void NodeAnnouncementInfo_set_alias(struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr, struct LDKThirtyTwoBytes val);
-       export function NodeAnnouncementInfo_set_alias(this_ptr: number, val: Uint8Array): void {
+       // void RouteHintHop_set_cltv_expiry_delta(struct LDKRouteHintHop *NONNULL_PTR this_ptr, uint16_t val);
+       export function RouteHintHop_set_cltv_expiry_delta(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_set_alias(this_ptr, encodeArray(val));
+               const nativeResponseValue = wasm.RouteHintHop_set_cltv_expiry_delta(this_ptr, val);
                // debug statements here
        }
-       // void NodeAnnouncementInfo_set_addresses(struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr, struct LDKCVec_NetAddressZ val);
-       export function NodeAnnouncementInfo_set_addresses(this_ptr: number, val: number[]): void {
+       // struct LDKCOption_u64Z RouteHintHop_get_htlc_minimum_msat(const struct LDKRouteHintHop *NONNULL_PTR this_ptr);
+       export function RouteHintHop_get_htlc_minimum_msat(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_set_addresses(this_ptr, val);
+               const nativeResponseValue = wasm.RouteHintHop_get_htlc_minimum_msat(this_ptr);
+               return nativeResponseValue;
+       }
+       // void RouteHintHop_set_htlc_minimum_msat(struct LDKRouteHintHop *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       export function RouteHintHop_set_htlc_minimum_msat(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RouteHintHop_set_htlc_minimum_msat(this_ptr, val);
                // debug statements here
        }
-       // struct LDKNodeAnnouncement NodeAnnouncementInfo_get_announcement_message(const struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr);
-       export function NodeAnnouncementInfo_get_announcement_message(this_ptr: number): number {
+       // struct LDKCOption_u64Z RouteHintHop_get_htlc_maximum_msat(const struct LDKRouteHintHop *NONNULL_PTR this_ptr);
+       export function RouteHintHop_get_htlc_maximum_msat(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_get_announcement_message(this_ptr);
+               const nativeResponseValue = wasm.RouteHintHop_get_htlc_maximum_msat(this_ptr);
                return nativeResponseValue;
        }
-       // void NodeAnnouncementInfo_set_announcement_message(struct LDKNodeAnnouncementInfo *NONNULL_PTR this_ptr, struct LDKNodeAnnouncement val);
-       export function NodeAnnouncementInfo_set_announcement_message(this_ptr: number, val: number): void {
+       // void RouteHintHop_set_htlc_maximum_msat(struct LDKRouteHintHop *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       export function RouteHintHop_set_htlc_maximum_msat(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_set_announcement_message(this_ptr, val);
+               const nativeResponseValue = wasm.RouteHintHop_set_htlc_maximum_msat(this_ptr, val);
                // debug statements here
        }
-       // MUST_USE_RES struct LDKNodeAnnouncementInfo NodeAnnouncementInfo_new(struct LDKNodeFeatures features_arg, uint32_t last_update_arg, struct LDKThreeBytes rgb_arg, struct LDKThirtyTwoBytes alias_arg, struct LDKCVec_NetAddressZ addresses_arg, struct LDKNodeAnnouncement announcement_message_arg);
-       export function NodeAnnouncementInfo_new(features_arg: number, last_update_arg: number, rgb_arg: Uint8Array, alias_arg: Uint8Array, addresses_arg: number[], announcement_message_arg: number): number {
+       // MUST_USE_RES struct LDKRouteHintHop RouteHintHop_new(struct LDKPublicKey src_node_id_arg, uint64_t short_channel_id_arg, struct LDKRoutingFees fees_arg, uint16_t cltv_expiry_delta_arg, struct LDKCOption_u64Z htlc_minimum_msat_arg, struct LDKCOption_u64Z htlc_maximum_msat_arg);
+       export function RouteHintHop_new(src_node_id_arg: Uint8Array, short_channel_id_arg: number, fees_arg: number, cltv_expiry_delta_arg: number, htlc_minimum_msat_arg: number, htlc_maximum_msat_arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_new(features_arg, last_update_arg, encodeArray(rgb_arg), encodeArray(alias_arg), addresses_arg, announcement_message_arg);
+               const nativeResponseValue = wasm.RouteHintHop_new(encodeArray(src_node_id_arg), short_channel_id_arg, fees_arg, cltv_expiry_delta_arg, htlc_minimum_msat_arg, htlc_maximum_msat_arg);
                return nativeResponseValue;
        }
-       // struct LDKNodeAnnouncementInfo NodeAnnouncementInfo_clone(const struct LDKNodeAnnouncementInfo *NONNULL_PTR orig);
-       export function NodeAnnouncementInfo_clone(orig: number): number {
+       // uint64_t RouteHintHop_clone_ptr(LDKRouteHintHop *NONNULL_PTR arg);
+       export function RouteHintHop_clone_ptr(arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_clone(orig);
+               const nativeResponseValue = wasm.RouteHintHop_clone_ptr(arg);
                return nativeResponseValue;
        }
-       // struct LDKCVec_u8Z NodeAnnouncementInfo_write(const struct LDKNodeAnnouncementInfo *NONNULL_PTR obj);
-       export function NodeAnnouncementInfo_write(obj: number): Uint8Array {
+       // struct LDKRouteHintHop RouteHintHop_clone(const struct LDKRouteHintHop *NONNULL_PTR orig);
+       export function RouteHintHop_clone(orig: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_write(obj);
-               return decodeArray(nativeResponseValue);
+               const nativeResponseValue = wasm.RouteHintHop_clone(orig);
+               return nativeResponseValue;
        }
-       // struct LDKCResult_NodeAnnouncementInfoDecodeErrorZ NodeAnnouncementInfo_read(struct LDKu8slice ser);
-       export function NodeAnnouncementInfo_read(ser: Uint8Array): number {
+       // uint64_t RouteHintHop_hash(const struct LDKRouteHintHop *NONNULL_PTR o);
+       export function RouteHintHop_hash(o: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeAnnouncementInfo_read(encodeArray(ser));
+               const nativeResponseValue = wasm.RouteHintHop_hash(o);
                return nativeResponseValue;
        }
-       // void NodeInfo_free(struct LDKNodeInfo this_obj);
-       export function NodeInfo_free(this_obj: number): void {
+       // bool RouteHintHop_eq(const struct LDKRouteHintHop *NONNULL_PTR a, const struct LDKRouteHintHop *NONNULL_PTR b);
+       export function RouteHintHop_eq(a: number, b: number): boolean {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeInfo_free(this_obj);
-               // debug statements here
+               const nativeResponseValue = wasm.RouteHintHop_eq(a, b);
+               return nativeResponseValue;
        }
-       // void NodeInfo_set_channels(struct LDKNodeInfo *NONNULL_PTR this_ptr, struct LDKCVec_u64Z val);
-       export function NodeInfo_set_channels(this_ptr: number, val: number[]): void {
+       // struct LDKCVec_u8Z RouteHintHop_write(const struct LDKRouteHintHop *NONNULL_PTR obj);
+       export function RouteHintHop_write(obj: number): Uint8Array {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeInfo_set_channels(this_ptr, val);
-               // debug statements here
+               const nativeResponseValue = wasm.RouteHintHop_write(obj);
+               return decodeArray(nativeResponseValue);
        }
-       // struct LDKRoutingFees NodeInfo_get_lowest_inbound_channel_fees(const struct LDKNodeInfo *NONNULL_PTR this_ptr);
-       export function NodeInfo_get_lowest_inbound_channel_fees(this_ptr: number): number {
+       // struct LDKCResult_RouteHintHopDecodeErrorZ RouteHintHop_read(struct LDKu8slice ser);
+       export function RouteHintHop_read(ser: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeInfo_get_lowest_inbound_channel_fees(this_ptr);
+               const nativeResponseValue = wasm.RouteHintHop_read(encodeArray(ser));
                return nativeResponseValue;
        }
-       // void NodeInfo_set_lowest_inbound_channel_fees(struct LDKNodeInfo *NONNULL_PTR this_ptr, struct LDKRoutingFees val);
-       export function NodeInfo_set_lowest_inbound_channel_fees(this_ptr: number, val: number): void {
-               if(!isWasmInitialized) {
-                       throw new Error("initializeWasm() must be awaited first!");
-               }
-               const nativeResponseValue = wasm.NodeInfo_set_lowest_inbound_channel_fees(this_ptr, val);
-               // debug statements here
-       }
-       // struct LDKNodeAnnouncementInfo NodeInfo_get_announcement_info(const struct LDKNodeInfo *NONNULL_PTR this_ptr);
-       export function NodeInfo_get_announcement_info(this_ptr: number): number {
+       // struct LDKCResult_RouteLightningErrorZ find_route(struct LDKPublicKey our_node_pubkey, const struct LDKRouteParameters *NONNULL_PTR params, const struct LDKNetworkGraph *NONNULL_PTR network, struct LDKCVec_ChannelDetailsZ *first_hops, struct LDKLogger logger, const struct LDKScore *NONNULL_PTR scorer);
+       export function find_route(our_node_pubkey: Uint8Array, params: number, network: number, first_hops: number[], logger: number, scorer: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeInfo_get_announcement_info(this_ptr);
+               const nativeResponseValue = wasm.find_route(encodeArray(our_node_pubkey), params, network, first_hops, logger, scorer);
                return nativeResponseValue;
        }
-       // void NodeInfo_set_announcement_info(struct LDKNodeInfo *NONNULL_PTR this_ptr, struct LDKNodeAnnouncementInfo val);
-       export function NodeInfo_set_announcement_info(this_ptr: number, val: number): void {
+       // void Scorer_free(struct LDKScorer this_obj);
+       export function Scorer_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeInfo_set_announcement_info(this_ptr, val);
+               const nativeResponseValue = wasm.Scorer_free(this_obj);
                // debug statements here
        }
-       // MUST_USE_RES struct LDKNodeInfo NodeInfo_new(struct LDKCVec_u64Z channels_arg, struct LDKRoutingFees lowest_inbound_channel_fees_arg, struct LDKNodeAnnouncementInfo announcement_info_arg);
-       export function NodeInfo_new(channels_arg: number[], lowest_inbound_channel_fees_arg: number, announcement_info_arg: number): number {
+       // void ScoringParameters_free(struct LDKScoringParameters this_obj);
+       export function ScoringParameters_free(this_obj: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeInfo_new(channels_arg, lowest_inbound_channel_fees_arg, announcement_info_arg);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.ScoringParameters_free(this_obj);
+               // debug statements here
        }
-       // struct LDKNodeInfo NodeInfo_clone(const struct LDKNodeInfo *NONNULL_PTR orig);
-       export function NodeInfo_clone(orig: number): number {
+       // uint64_t ScoringParameters_get_base_penalty_msat(const struct LDKScoringParameters *NONNULL_PTR this_ptr);
+       export function ScoringParameters_get_base_penalty_msat(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeInfo_clone(orig);
+               const nativeResponseValue = wasm.ScoringParameters_get_base_penalty_msat(this_ptr);
                return nativeResponseValue;
        }
-       // struct LDKCVec_u8Z NodeInfo_write(const struct LDKNodeInfo *NONNULL_PTR obj);
-       export function NodeInfo_write(obj: number): Uint8Array {
+       // void ScoringParameters_set_base_penalty_msat(struct LDKScoringParameters *NONNULL_PTR this_ptr, uint64_t val);
+       export function ScoringParameters_set_base_penalty_msat(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeInfo_write(obj);
-               return decodeArray(nativeResponseValue);
+               const nativeResponseValue = wasm.ScoringParameters_set_base_penalty_msat(this_ptr, val);
+               // debug statements here
        }
-       // struct LDKCResult_NodeInfoDecodeErrorZ NodeInfo_read(struct LDKu8slice ser);
-       export function NodeInfo_read(ser: Uint8Array): number {
+       // uint64_t ScoringParameters_get_failure_penalty_msat(const struct LDKScoringParameters *NONNULL_PTR this_ptr);
+       export function ScoringParameters_get_failure_penalty_msat(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NodeInfo_read(encodeArray(ser));
+               const nativeResponseValue = wasm.ScoringParameters_get_failure_penalty_msat(this_ptr);
                return nativeResponseValue;
        }
-       // struct LDKCVec_u8Z NetworkGraph_write(const struct LDKNetworkGraph *NONNULL_PTR obj);
-       export function NetworkGraph_write(obj: number): Uint8Array {
+       // void ScoringParameters_set_failure_penalty_msat(struct LDKScoringParameters *NONNULL_PTR this_ptr, uint64_t val);
+       export function ScoringParameters_set_failure_penalty_msat(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkGraph_write(obj);
-               return decodeArray(nativeResponseValue);
+               const nativeResponseValue = wasm.ScoringParameters_set_failure_penalty_msat(this_ptr, val);
+               // debug statements here
        }
-       // struct LDKCResult_NetworkGraphDecodeErrorZ NetworkGraph_read(struct LDKu8slice ser);
-       export function NetworkGraph_read(ser: Uint8Array): number {
+       // uint64_t ScoringParameters_get_failure_penalty_half_life(const struct LDKScoringParameters *NONNULL_PTR this_ptr);
+       export function ScoringParameters_get_failure_penalty_half_life(this_ptr: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkGraph_read(encodeArray(ser));
+               const nativeResponseValue = wasm.ScoringParameters_get_failure_penalty_half_life(this_ptr);
                return nativeResponseValue;
        }
-       // MUST_USE_RES struct LDKNetworkGraph NetworkGraph_new(struct LDKThirtyTwoBytes genesis_hash);
-       export function NetworkGraph_new(genesis_hash: Uint8Array): number {
+       // void ScoringParameters_set_failure_penalty_half_life(struct LDKScoringParameters *NONNULL_PTR this_ptr, uint64_t val);
+       export function ScoringParameters_set_failure_penalty_half_life(this_ptr: number, val: number): void {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkGraph_new(encodeArray(genesis_hash));
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.ScoringParameters_set_failure_penalty_half_life(this_ptr, val);
+               // debug statements here
        }
-       // MUST_USE_RES struct LDKReadOnlyNetworkGraph NetworkGraph_read_only(const struct LDKNetworkGraph *NONNULL_PTR this_arg);
-       export function NetworkGraph_read_only(this_arg: number): number {
+       // MUST_USE_RES struct LDKScoringParameters ScoringParameters_new(uint64_t base_penalty_msat_arg, uint64_t failure_penalty_msat_arg, uint64_t failure_penalty_half_life_arg);
+       export function ScoringParameters_new(base_penalty_msat_arg: number, failure_penalty_msat_arg: number, failure_penalty_half_life_arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkGraph_read_only(this_arg);
+               const nativeResponseValue = wasm.ScoringParameters_new(base_penalty_msat_arg, failure_penalty_msat_arg, failure_penalty_half_life_arg);
                return nativeResponseValue;
        }
-       // MUST_USE_RES struct LDKCResult_NoneLightningErrorZ NetworkGraph_update_node_from_announcement(const struct LDKNetworkGraph *NONNULL_PTR this_arg, const struct LDKNodeAnnouncement *NONNULL_PTR msg);
-       export function NetworkGraph_update_node_from_announcement(this_arg: number, msg: number): number {
+       // struct LDKCVec_u8Z ScoringParameters_write(const struct LDKScoringParameters *NONNULL_PTR obj);
+       export function ScoringParameters_write(obj: number): Uint8Array {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkGraph_update_node_from_announcement(this_arg, msg);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.ScoringParameters_write(obj);
+               return decodeArray(nativeResponseValue);
        }
-       // MUST_USE_RES struct LDKCResult_NoneLightningErrorZ NetworkGraph_update_node_from_unsigned_announcement(const struct LDKNetworkGraph *NONNULL_PTR this_arg, const struct LDKUnsignedNodeAnnouncement *NONNULL_PTR msg);
-       export function NetworkGraph_update_node_from_unsigned_announcement(this_arg: number, msg: number): number {
+       // struct LDKCResult_ScoringParametersDecodeErrorZ ScoringParameters_read(struct LDKu8slice ser);
+       export function ScoringParameters_read(ser: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkGraph_update_node_from_unsigned_announcement(this_arg, msg);
+               const nativeResponseValue = wasm.ScoringParameters_read(encodeArray(ser));
                return nativeResponseValue;
        }
-       // MUST_USE_RES struct LDKCResult_NoneLightningErrorZ NetworkGraph_update_channel_from_announcement(const struct LDKNetworkGraph *NONNULL_PTR this_arg, const struct LDKChannelAnnouncement *NONNULL_PTR msg, struct LDKCOption_AccessZ chain_access);
-       export function NetworkGraph_update_channel_from_announcement(this_arg: number, msg: number, chain_access: number): number {
+       // MUST_USE_RES struct LDKScorer Scorer_new(struct LDKScoringParameters params);
+       export function Scorer_new(params: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkGraph_update_channel_from_announcement(this_arg, msg, chain_access);
+               const nativeResponseValue = wasm.Scorer_new(params);
                return nativeResponseValue;
        }
-       // MUST_USE_RES struct LDKCResult_NoneLightningErrorZ NetworkGraph_update_channel_from_unsigned_announcement(const struct LDKNetworkGraph *NONNULL_PTR this_arg, const struct LDKUnsignedChannelAnnouncement *NONNULL_PTR msg, struct LDKCOption_AccessZ chain_access);
-       export function NetworkGraph_update_channel_from_unsigned_announcement(this_arg: number, msg: number, chain_access: number): number {
+       // MUST_USE_RES struct LDKScorer Scorer_default(void);
+       export function Scorer_default(): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkGraph_update_channel_from_unsigned_announcement(this_arg, msg, chain_access);
+               const nativeResponseValue = wasm.Scorer_default();
                return nativeResponseValue;
        }
-       // void NetworkGraph_close_channel_from_update(const struct LDKNetworkGraph *NONNULL_PTR this_arg, uint64_t short_channel_id, bool is_permanent);
-       export function NetworkGraph_close_channel_from_update(this_arg: number, short_channel_id: number, is_permanent: boolean): void {
+       // MUST_USE_RES struct LDKScoringParameters ScoringParameters_default(void);
+       export function ScoringParameters_default(): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkGraph_close_channel_from_update(this_arg, short_channel_id, is_permanent);
-               // debug statements here
+               const nativeResponseValue = wasm.ScoringParameters_default();
+               return nativeResponseValue;
        }
-       // void NetworkGraph_fail_node(const struct LDKNetworkGraph *NONNULL_PTR this_arg, struct LDKPublicKey _node_id, bool is_permanent);
-       export function NetworkGraph_fail_node(this_arg: number, _node_id: Uint8Array, is_permanent: boolean): void {
+       // struct LDKScore Scorer_as_Score(const struct LDKScorer *NONNULL_PTR this_arg);
+       export function Scorer_as_Score(this_arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkGraph_fail_node(this_arg, encodeArray(_node_id), is_permanent);
-               // debug statements here
+               const nativeResponseValue = wasm.Scorer_as_Score(this_arg);
+               return nativeResponseValue;
        }
-       // MUST_USE_RES struct LDKCResult_NoneLightningErrorZ NetworkGraph_update_channel(const struct LDKNetworkGraph *NONNULL_PTR this_arg, const struct LDKChannelUpdate *NONNULL_PTR msg);
-       export function NetworkGraph_update_channel(this_arg: number, msg: number): number {
+       // struct LDKCVec_u8Z Scorer_write(const struct LDKScorer *NONNULL_PTR obj);
+       export function Scorer_write(obj: number): Uint8Array {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkGraph_update_channel(this_arg, msg);
-               return nativeResponseValue;
+               const nativeResponseValue = wasm.Scorer_write(obj);
+               return decodeArray(nativeResponseValue);
        }
-       // MUST_USE_RES struct LDKCResult_NoneLightningErrorZ NetworkGraph_update_channel_unsigned(const struct LDKNetworkGraph *NONNULL_PTR this_arg, const struct LDKUnsignedChannelUpdate *NONNULL_PTR msg);
-       export function NetworkGraph_update_channel_unsigned(this_arg: number, msg: number): number {
+       // struct LDKCResult_ScorerDecodeErrorZ Scorer_read(struct LDKu8slice ser);
+       export function Scorer_read(ser: Uint8Array): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.NetworkGraph_update_channel_unsigned(this_arg, msg);
+               const nativeResponseValue = wasm.Scorer_read(encodeArray(ser));
                return nativeResponseValue;
        }
        // void FilesystemPersister_free(struct LDKFilesystemPersister this_obj);
@@ -16669,6 +20931,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Invoice_eq(a, b);
                return nativeResponseValue;
        }
+       // uint64_t Invoice_clone_ptr(LDKInvoice *NONNULL_PTR arg);
+       export function Invoice_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Invoice_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKInvoice Invoice_clone(const struct LDKInvoice *NONNULL_PTR orig);
        export function Invoice_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -16693,6 +20963,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.SignedRawInvoice_eq(a, b);
                return nativeResponseValue;
        }
+       // uint64_t SignedRawInvoice_clone_ptr(LDKSignedRawInvoice *NONNULL_PTR arg);
+       export function SignedRawInvoice_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.SignedRawInvoice_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKSignedRawInvoice SignedRawInvoice_clone(const struct LDKSignedRawInvoice *NONNULL_PTR orig);
        export function SignedRawInvoice_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -16733,6 +21011,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.RawInvoice_eq(a, b);
                return nativeResponseValue;
        }
+       // uint64_t RawInvoice_clone_ptr(LDKRawInvoice *NONNULL_PTR arg);
+       export function RawInvoice_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RawInvoice_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKRawInvoice RawInvoice_clone(const struct LDKRawInvoice *NONNULL_PTR orig);
        export function RawInvoice_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -16773,6 +21059,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.RawDataPart_eq(a, b);
                return nativeResponseValue;
        }
+       // uint64_t RawDataPart_clone_ptr(LDKRawDataPart *NONNULL_PTR arg);
+       export function RawDataPart_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RawDataPart_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKRawDataPart RawDataPart_clone(const struct LDKRawDataPart *NONNULL_PTR orig);
        export function RawDataPart_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -16797,6 +21091,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.PositiveTimestamp_eq(a, b);
                return nativeResponseValue;
        }
+       // uint64_t PositiveTimestamp_clone_ptr(LDKPositiveTimestamp *NONNULL_PTR arg);
+       export function PositiveTimestamp_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PositiveTimestamp_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKPositiveTimestamp PositiveTimestamp_clone(const struct LDKPositiveTimestamp *NONNULL_PTR orig);
        export function PositiveTimestamp_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -16933,6 +21235,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Sha256_free(this_obj);
                // debug statements here
        }
+       // uint64_t Sha256_clone_ptr(LDKSha256 *NONNULL_PTR arg);
+       export function Sha256_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Sha256_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKSha256 Sha256_clone(const struct LDKSha256 *NONNULL_PTR orig);
        export function Sha256_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -16965,6 +21275,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Description_free(this_obj);
                // debug statements here
        }
+       // uint64_t Description_clone_ptr(LDKDescription *NONNULL_PTR arg);
+       export function Description_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Description_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKDescription Description_clone(const struct LDKDescription *NONNULL_PTR orig);
        export function Description_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -16997,6 +21315,38 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.PayeePubKey_free(this_obj);
                // debug statements here
        }
+       // struct LDKPublicKey PayeePubKey_get_a(const struct LDKPayeePubKey *NONNULL_PTR this_ptr);
+       export function PayeePubKey_get_a(this_ptr: number): Uint8Array {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PayeePubKey_get_a(this_ptr);
+               return decodeArray(nativeResponseValue);
+       }
+       // void PayeePubKey_set_a(struct LDKPayeePubKey *NONNULL_PTR this_ptr, struct LDKPublicKey val);
+       export function PayeePubKey_set_a(this_ptr: number, val: Uint8Array): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PayeePubKey_set_a(this_ptr, encodeArray(val));
+               // debug statements here
+       }
+       // MUST_USE_RES struct LDKPayeePubKey PayeePubKey_new(struct LDKPublicKey a_arg);
+       export function PayeePubKey_new(a_arg: Uint8Array): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PayeePubKey_new(encodeArray(a_arg));
+               return nativeResponseValue;
+       }
+       // uint64_t PayeePubKey_clone_ptr(LDKPayeePubKey *NONNULL_PTR arg);
+       export function PayeePubKey_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PayeePubKey_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKPayeePubKey PayeePubKey_clone(const struct LDKPayeePubKey *NONNULL_PTR orig);
        export function PayeePubKey_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -17029,6 +21379,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.ExpiryTime_free(this_obj);
                // debug statements here
        }
+       // uint64_t ExpiryTime_clone_ptr(LDKExpiryTime *NONNULL_PTR arg);
+       export function ExpiryTime_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ExpiryTime_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKExpiryTime ExpiryTime_clone(const struct LDKExpiryTime *NONNULL_PTR orig);
        export function ExpiryTime_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -17061,6 +21419,38 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.MinFinalCltvExpiry_free(this_obj);
                // debug statements here
        }
+       // uint64_t MinFinalCltvExpiry_get_a(const struct LDKMinFinalCltvExpiry *NONNULL_PTR this_ptr);
+       export function MinFinalCltvExpiry_get_a(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.MinFinalCltvExpiry_get_a(this_ptr);
+               return nativeResponseValue;
+       }
+       // void MinFinalCltvExpiry_set_a(struct LDKMinFinalCltvExpiry *NONNULL_PTR this_ptr, uint64_t val);
+       export function MinFinalCltvExpiry_set_a(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.MinFinalCltvExpiry_set_a(this_ptr, val);
+               // debug statements here
+       }
+       // MUST_USE_RES struct LDKMinFinalCltvExpiry MinFinalCltvExpiry_new(uint64_t a_arg);
+       export function MinFinalCltvExpiry_new(a_arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.MinFinalCltvExpiry_new(a_arg);
+               return nativeResponseValue;
+       }
+       // uint64_t MinFinalCltvExpiry_clone_ptr(LDKMinFinalCltvExpiry *NONNULL_PTR arg);
+       export function MinFinalCltvExpiry_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.MinFinalCltvExpiry_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKMinFinalCltvExpiry MinFinalCltvExpiry_clone(const struct LDKMinFinalCltvExpiry *NONNULL_PTR orig);
        export function MinFinalCltvExpiry_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -17093,6 +21483,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Fallback_free(this_ptr);
                // debug statements here
        }
+       // uint64_t Fallback_clone_ptr(LDKFallback *NONNULL_PTR arg);
+       export function Fallback_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Fallback_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKFallback Fallback_clone(const struct LDKFallback *NONNULL_PTR orig);
        export function Fallback_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -17149,6 +21547,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.InvoiceSignature_free(this_obj);
                // debug statements here
        }
+       // uint64_t InvoiceSignature_clone_ptr(LDKInvoiceSignature *NONNULL_PTR arg);
+       export function InvoiceSignature_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.InvoiceSignature_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKInvoiceSignature InvoiceSignature_clone(const struct LDKInvoiceSignature *NONNULL_PTR orig);
        export function InvoiceSignature_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -17173,6 +21579,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.PrivateRoute_free(this_obj);
                // debug statements here
        }
+       // uint64_t PrivateRoute_clone_ptr(LDKPrivateRoute *NONNULL_PTR arg);
+       export function PrivateRoute_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PrivateRoute_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKPrivateRoute PrivateRoute_clone(const struct LDKPrivateRoute *NONNULL_PTR orig);
        export function PrivateRoute_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -17421,7 +21835,7 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Invoice_payee_pub_key(this_arg);
                return decodeArray(nativeResponseValue);
        }
-       // MUST_USE_RES struct LDKThirtyTwoBytes Invoice_payment_secret(const struct LDKInvoice *NONNULL_PTR this_arg);
+       // MUST_USE_RES const uint8_t (*Invoice_payment_secret(const struct LDKInvoice *NONNULL_PTR this_arg))[32];
        export function Invoice_payment_secret(this_arg: number): Uint8Array {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
@@ -17453,6 +21867,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Invoice_expiry_time(this_arg);
                return nativeResponseValue;
        }
+       // MUST_USE_RES bool Invoice_is_expired(const struct LDKInvoice *NONNULL_PTR this_arg);
+       export function Invoice_is_expired(this_arg: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Invoice_is_expired(this_arg);
+               return nativeResponseValue;
+       }
        // MUST_USE_RES uint64_t Invoice_min_final_cltv_expiry(const struct LDKInvoice *NONNULL_PTR this_arg);
        export function Invoice_min_final_cltv_expiry(this_arg: number): number {
                if(!isWasmInitialized) {
@@ -17485,12 +21907,12 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.Invoice_currency(this_arg);
                return nativeResponseValue;
        }
-       // MUST_USE_RES struct LDKCOption_u64Z Invoice_amount_pico_btc(const struct LDKInvoice *NONNULL_PTR this_arg);
-       export function Invoice_amount_pico_btc(this_arg: number): number {
+       // MUST_USE_RES struct LDKCOption_u64Z Invoice_amount_milli_satoshis(const struct LDKInvoice *NONNULL_PTR this_arg);
+       export function Invoice_amount_milli_satoshis(this_arg: number): number {
                if(!isWasmInitialized) {
                        throw new Error("initializeWasm() must be awaited first!");
                }
-               const nativeResponseValue = wasm.Invoice_amount_pico_btc(this_arg);
+               const nativeResponseValue = wasm.Invoice_amount_milli_satoshis(this_arg);
                return nativeResponseValue;
        }
        // MUST_USE_RES struct LDKCResult_DescriptionCreationErrorZ Description_new(struct LDKStr description);
@@ -17725,6 +22147,14 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.SignOrCreationError_free(this_ptr);
                // debug statements here
        }
+       // uint64_t SignOrCreationError_clone_ptr(LDKSignOrCreationError *NONNULL_PTR arg);
+       export function SignOrCreationError_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.SignOrCreationError_clone_ptr(arg);
+               return nativeResponseValue;
+       }
        // struct LDKSignOrCreationError SignOrCreationError_clone(const struct LDKSignOrCreationError *NONNULL_PTR orig);
        export function SignOrCreationError_clone(orig: number): number {
                if(!isWasmInitialized) {
@@ -17765,6 +22195,182 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.SignOrCreationError_to_str(o);
                return nativeResponseValue;
        }
+       // void InvoicePayer_free(struct LDKInvoicePayer this_obj);
+       export function InvoicePayer_free(this_obj: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.InvoicePayer_free(this_obj);
+               // debug statements here
+       }
+       // void Payer_free(struct LDKPayer this_ptr);
+       export function Payer_free(this_ptr: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Payer_free(this_ptr);
+               // debug statements here
+       }
+       // void Router_free(struct LDKRouter this_ptr);
+       export function Router_free(this_ptr: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.Router_free(this_ptr);
+               // debug statements here
+       }
+       // void RetryAttempts_free(struct LDKRetryAttempts this_obj);
+       export function RetryAttempts_free(this_obj: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RetryAttempts_free(this_obj);
+               // debug statements here
+       }
+       // uintptr_t RetryAttempts_get_a(const struct LDKRetryAttempts *NONNULL_PTR this_ptr);
+       export function RetryAttempts_get_a(this_ptr: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RetryAttempts_get_a(this_ptr);
+               return nativeResponseValue;
+       }
+       // void RetryAttempts_set_a(struct LDKRetryAttempts *NONNULL_PTR this_ptr, uintptr_t val);
+       export function RetryAttempts_set_a(this_ptr: number, val: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RetryAttempts_set_a(this_ptr, val);
+               // debug statements here
+       }
+       // MUST_USE_RES struct LDKRetryAttempts RetryAttempts_new(uintptr_t a_arg);
+       export function RetryAttempts_new(a_arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RetryAttempts_new(a_arg);
+               return nativeResponseValue;
+       }
+       // uint64_t RetryAttempts_clone_ptr(LDKRetryAttempts *NONNULL_PTR arg);
+       export function RetryAttempts_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RetryAttempts_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKRetryAttempts RetryAttempts_clone(const struct LDKRetryAttempts *NONNULL_PTR orig);
+       export function RetryAttempts_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RetryAttempts_clone(orig);
+               return nativeResponseValue;
+       }
+       // bool RetryAttempts_eq(const struct LDKRetryAttempts *NONNULL_PTR a, const struct LDKRetryAttempts *NONNULL_PTR b);
+       export function RetryAttempts_eq(a: number, b: number): boolean {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RetryAttempts_eq(a, b);
+               return nativeResponseValue;
+       }
+       // uint64_t RetryAttempts_hash(const struct LDKRetryAttempts *NONNULL_PTR o);
+       export function RetryAttempts_hash(o: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.RetryAttempts_hash(o);
+               return nativeResponseValue;
+       }
+       // void PaymentError_free(struct LDKPaymentError this_ptr);
+       export function PaymentError_free(this_ptr: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PaymentError_free(this_ptr);
+               // debug statements here
+       }
+       // uint64_t PaymentError_clone_ptr(LDKPaymentError *NONNULL_PTR arg);
+       export function PaymentError_clone_ptr(arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PaymentError_clone_ptr(arg);
+               return nativeResponseValue;
+       }
+       // struct LDKPaymentError PaymentError_clone(const struct LDKPaymentError *NONNULL_PTR orig);
+       export function PaymentError_clone(orig: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PaymentError_clone(orig);
+               return nativeResponseValue;
+       }
+       // struct LDKPaymentError PaymentError_invoice(struct LDKStr a);
+       export function PaymentError_invoice(a: String): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PaymentError_invoice(a);
+               return nativeResponseValue;
+       }
+       // struct LDKPaymentError PaymentError_routing(struct LDKLightningError a);
+       export function PaymentError_routing(a: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PaymentError_routing(a);
+               return nativeResponseValue;
+       }
+       // struct LDKPaymentError PaymentError_sending(struct LDKPaymentSendFailure a);
+       export function PaymentError_sending(a: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.PaymentError_sending(a);
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKInvoicePayer InvoicePayer_new(struct LDKPayer payer, struct LDKRouter router, const struct LDKLockableScore *NONNULL_PTR scorer, struct LDKLogger logger, struct LDKEventHandler event_handler, struct LDKRetryAttempts retry_attempts);
+       export function InvoicePayer_new(payer: number, router: number, scorer: number, logger: number, event_handler: number, retry_attempts: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.InvoicePayer_new(payer, router, scorer, logger, event_handler, retry_attempts);
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKCResult_PaymentIdPaymentErrorZ InvoicePayer_pay_invoice(const struct LDKInvoicePayer *NONNULL_PTR this_arg, const struct LDKInvoice *NONNULL_PTR invoice);
+       export function InvoicePayer_pay_invoice(this_arg: number, invoice: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.InvoicePayer_pay_invoice(this_arg, invoice);
+               return nativeResponseValue;
+       }
+       // MUST_USE_RES struct LDKCResult_PaymentIdPaymentErrorZ InvoicePayer_pay_zero_value_invoice(const struct LDKInvoicePayer *NONNULL_PTR this_arg, const struct LDKInvoice *NONNULL_PTR invoice, uint64_t amount_msats);
+       export function InvoicePayer_pay_zero_value_invoice(this_arg: number, invoice: number, amount_msats: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.InvoicePayer_pay_zero_value_invoice(this_arg, invoice, amount_msats);
+               return nativeResponseValue;
+       }
+       // void InvoicePayer_remove_cached_payment(const struct LDKInvoicePayer *NONNULL_PTR this_arg, const uint8_t (*payment_hash)[32]);
+       export function InvoicePayer_remove_cached_payment(this_arg: number, payment_hash: Uint8Array): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.InvoicePayer_remove_cached_payment(this_arg, encodeArray(payment_hash));
+               // debug statements here
+       }
+       // struct LDKEventHandler InvoicePayer_as_EventHandler(const struct LDKInvoicePayer *NONNULL_PTR this_arg);
+       export function InvoicePayer_as_EventHandler(this_arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.InvoicePayer_as_EventHandler(this_arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_InvoiceSignOrCreationErrorZ create_invoice_from_channelmanager(const struct LDKChannelManager *NONNULL_PTR channelmanager, struct LDKKeysInterface keys_manager, enum LDKCurrency network, struct LDKCOption_u64Z amt_msat, struct LDKStr description);
        export function create_invoice_from_channelmanager(channelmanager: number, keys_manager: number, network: Currency, amt_msat: number, description: String): number {
                if(!isWasmInitialized) {
@@ -17773,6 +22379,38 @@ public static native long new_empty_slice_vec();
                const nativeResponseValue = wasm.create_invoice_from_channelmanager(channelmanager, keys_manager, network, amt_msat, description);
                return nativeResponseValue;
        }
+       // void DefaultRouter_free(struct LDKDefaultRouter this_obj);
+       export function DefaultRouter_free(this_obj: number): void {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.DefaultRouter_free(this_obj);
+               // debug statements here
+       }
+       // MUST_USE_RES struct LDKDefaultRouter DefaultRouter_new(const struct LDKNetworkGraph *NONNULL_PTR network_graph, struct LDKLogger logger);
+       export function DefaultRouter_new(network_graph: number, logger: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.DefaultRouter_new(network_graph, logger);
+               return nativeResponseValue;
+       }
+       // struct LDKRouter DefaultRouter_as_Router(const struct LDKDefaultRouter *NONNULL_PTR this_arg);
+       export function DefaultRouter_as_Router(this_arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.DefaultRouter_as_Router(this_arg);
+               return nativeResponseValue;
+       }
+       // struct LDKPayer ChannelManager_as_Payer(const struct LDKChannelManager *NONNULL_PTR this_arg);
+       export function ChannelManager_as_Payer(this_arg: number): number {
+               if(!isWasmInitialized) {
+                       throw new Error("initializeWasm() must be awaited first!");
+               }
+               const nativeResponseValue = wasm.ChannelManager_as_Payer(this_arg);
+               return nativeResponseValue;
+       }
        // struct LDKCResult_SiPrefixNoneZ SiPrefix_from_str(struct LDKStr s);
        export function SiPrefix_from_str(s: String): number {
                if(!isWasmInitialized) {