Update CI references to 0.0.112
[ldk-java] / ts / bindings.mts
index 66e01b38b6e295ebe9c90308c3379dc4a49f621a..4933b7c90bf30f1dab8086231b8ca1f82e3363f6 100644 (file)
@@ -17,7 +17,7 @@ imports.wasi_snapshot_preview1 = {
                for (var i = 0; i < iovec_array_len; i++) {
                        const bytes_view = new Uint8Array(wasm.memory.buffer, ptr_len_view[i*2], ptr_len_view[i*2+1]);
                        console.log("[fd " + fd + "]: " + String.fromCharCode(...bytes_view));
                for (var i = 0; i < iovec_array_len; i++) {
                        const bytes_view = new Uint8Array(wasm.memory.buffer, ptr_len_view[i*2], ptr_len_view[i*2+1]);
                        console.log("[fd " + fd + "]: " + String.fromCharCode(...bytes_view));
-                       bytes_written += ptr_len_view[i*2+1];
+                       bytes_written += ptr_len_view[i*2+1]!;
                }
                const written_view = new Uint32Array(wasm.memory.buffer, bytes_written_ptr, 1);
                written_view[0] = bytes_written;
                }
                const written_view = new Uint32Array(wasm.memory.buffer, bytes_written_ptr, 1);
                written_view[0] = bytes_written;
@@ -46,7 +46,7 @@ imports.wasi_snapshot_preview1 = {
                out_len_view[0] = 0;
                return 0;
        },
                out_len_view[0] = 0;
                return 0;
        },
-       "environ_get": (environ_ptr: number, environ_buf_ptr: number) => {
+       "environ_get": (_environ_ptr: number, _environ_buf_ptr: number) => {
                // This is called before fd_write to format + print panic messages,
                // but only if we have variables in environ_sizes_get, so shouldn't ever actually happen!
                console.log("wasi_snapshot_preview1:environ_get");
                // This is called before fd_write to format + print panic messages,
                // but only if we have variables in environ_sizes_get, so shouldn't ever actually happen!
                console.log("wasi_snapshot_preview1:environ_get");
@@ -112,7 +112,7 @@ export async function initializeWasmFetch(uri: string) {
 export function uint5ArrToBytes(inputArray: Array<UInt5>): Uint8Array {
        const arr = new Uint8Array(inputArray.length);
        for (var i = 0; i < inputArray.length; i++) {
 export function uint5ArrToBytes(inputArray: Array<UInt5>): Uint8Array {
        const arr = new Uint8Array(inputArray.length);
        for (var i = 0; i < inputArray.length; i++) {
-               arr[i] = inputArray[i].getVal();
+               arr[i] = inputArray[i]!.getVal();
        }
        return arr;
 }
        }
        return arr;
 }
@@ -121,7 +121,7 @@ export function uint5ArrToBytes(inputArray: Array<UInt5>): Uint8Array {
 export function WitnessVersionArrToBytes(inputArray: Array<WitnessVersion>): Uint8Array {
        const arr = new Uint8Array(inputArray.length);
        for (var i = 0; i < inputArray.length; i++) {
 export function WitnessVersionArrToBytes(inputArray: Array<WitnessVersion>): Uint8Array {
        const arr = new Uint8Array(inputArray.length);
        for (var i = 0; i < inputArray.length; i++) {
-               arr[i] = inputArray[i].getVal();
+               arr[i] = inputArray[i]!.getVal();
        }
        return arr;
 }
        }
        return arr;
 }
@@ -129,7 +129,8 @@ export function WitnessVersionArrToBytes(inputArray: Array<WitnessVersion>): Uin
 
 
 /* @internal */
 
 
 /* @internal */
-export function encodeUint8Array (inputArray: Uint8Array): number {
+export function encodeUint8Array (inputArray: Uint8Array|null): number {
+       if (inputArray == null) return 0;
        const cArrayPointer = wasm.TS_malloc(inputArray.length + 8);
        const arrayLengthView = new BigUint64Array(wasm.memory.buffer, cArrayPointer, 1);
        arrayLengthView[0] = BigInt(inputArray.length);
        const cArrayPointer = wasm.TS_malloc(inputArray.length + 8);
        const arrayLengthView = new BigUint64Array(wasm.memory.buffer, cArrayPointer, 1);
        arrayLengthView[0] = BigInt(inputArray.length);
@@ -138,7 +139,8 @@ export function encodeUint8Array (inputArray: Uint8Array): number {
        return cArrayPointer;
 }
 /* @internal */
        return cArrayPointer;
 }
 /* @internal */
-export function encodeUint32Array (inputArray: Uint32Array|Array<number>): number {
+export function encodeUint32Array (inputArray: Uint32Array|Array<number>|null): number {
+       if (inputArray == null) return 0;
        const cArrayPointer = wasm.TS_malloc((inputArray.length + 2) * 4);
        const arrayLengthView = new BigUint64Array(wasm.memory.buffer, cArrayPointer, 1);
        arrayLengthView[0] = BigInt(inputArray.length);
        const cArrayPointer = wasm.TS_malloc((inputArray.length + 2) * 4);
        const arrayLengthView = new BigUint64Array(wasm.memory.buffer, cArrayPointer, 1);
        arrayLengthView[0] = BigInt(inputArray.length);
@@ -147,24 +149,25 @@ export function encodeUint32Array (inputArray: Uint32Array|Array<number>): numbe
        return cArrayPointer;
 }
 /* @internal */
        return cArrayPointer;
 }
 /* @internal */
-export function encodeUint64Array (inputArray: BigUint64Array|Array<bigint>): number {
+export function encodeUint64Array (inputArray: BigUint64Array|Array<bigint>|null): number {
+       if (inputArray == null) return 0;
        const cArrayPointer = wasm.TS_malloc((inputArray.length + 1) * 8);
        const cArrayPointer = wasm.TS_malloc((inputArray.length + 1) * 8);
-       const arrayMemoryView = new BigUint64Array(wasm.memory.buffer, cArrayPointer, 1);
-       arrayMemoryView.set(inputArray, 1);
+       const arrayMemoryView = new BigUint64Array(wasm.memory.buffer, cArrayPointer, inputArray.length + 1);
        arrayMemoryView[0] = BigInt(inputArray.length);
        arrayMemoryView[0] = BigInt(inputArray.length);
+       arrayMemoryView.set(inputArray, 1);
        return cArrayPointer;
 }
 
 /* @internal */
        return cArrayPointer;
 }
 
 /* @internal */
-export function check_arr_len(arr: Uint8Array, len: number): Uint8Array {
-       if (arr.length != len) { throw new Error("Expected array of length " + len + " got " + arr.length); }
+export function check_arr_len(arr: Uint8Array|null, len: number): Uint8Array|null {
+       if (arr !== null && arr.length != len) { throw new Error("Expected array of length " + len + " got " + arr.length); }
        return arr;
 }
 
 /* @internal */
 export function getArrayLength(arrayPointer: number): number {
        const arraySizeViewer = new BigUint64Array(wasm.memory.buffer, arrayPointer, 1);
        return arr;
 }
 
 /* @internal */
 export function getArrayLength(arrayPointer: number): number {
        const arraySizeViewer = new BigUint64Array(wasm.memory.buffer, arrayPointer, 1);
-       const len = arraySizeViewer[0];
+       const len = arraySizeViewer[0]!;
        if (len >= (2n ** 32n)) throw new Error("Bogus Array Size");
        return Number(len % (2n ** 32n));
 }
        if (len >= (2n ** 32n)) throw new Error("Bogus Array Size");
        return Number(len % (2n ** 32n));
 }
@@ -219,19 +222,19 @@ export function freeWasmMemory(pointer: number) { wasm.TS_free(pointer); }
 /* @internal */
 export function getU64ArrayElem(arrayPointer: number, idx: number): bigint {
        const actualArrayViewer = new BigUint64Array(wasm.memory.buffer, arrayPointer + 8, idx + 1);
 /* @internal */
 export function getU64ArrayElem(arrayPointer: number, idx: number): bigint {
        const actualArrayViewer = new BigUint64Array(wasm.memory.buffer, arrayPointer + 8, idx + 1);
-       return actualArrayViewer[idx];
+       return actualArrayViewer[idx]!;
 }
 
 /* @internal */
 export function getU32ArrayElem(arrayPointer: number, idx: number): number {
        const actualArrayViewer = new Uint32Array(wasm.memory.buffer, arrayPointer + 8, idx + 1);
 }
 
 /* @internal */
 export function getU32ArrayElem(arrayPointer: number, idx: number): number {
        const actualArrayViewer = new Uint32Array(wasm.memory.buffer, arrayPointer + 8, idx + 1);
-       return actualArrayViewer[idx];
+       return actualArrayViewer[idx]!;
 }
 
 /* @internal */
 export function getU8ArrayElem(arrayPointer: number, idx: number): number {
        const actualArrayViewer = new Uint8Array(wasm.memory.buffer, arrayPointer + 8, idx + 1);
 }
 
 /* @internal */
 export function getU8ArrayElem(arrayPointer: number, idx: number): number {
        const actualArrayViewer = new Uint8Array(wasm.memory.buffer, arrayPointer + 8, idx + 1);
-       return actualArrayViewer[idx];
+       return actualArrayViewer[idx]!;
 }
 
 
 }
 
 
@@ -288,73 +291,88 @@ export enum COption_NoneZ {
 }
 
 /**
 }
 
 /**
- * An error enum representing a failure to persist a channel monitor update.
+ * An enum representing the status of a channel monitor update persistence.
  */
  */
-export enum ChannelMonitorUpdateErr {
+export enum ChannelMonitorUpdateStatus {
+       /**
+        * The update has been durably persisted and all copies of the relevant [`ChannelMonitor`]
+       have been updated.
+       
+       This includes performing any `fsync()` calls required to ensure the update is guaranteed to
+       be available on restart even if the application crashes.
+        */
+       LDKChannelMonitorUpdateStatus_Completed,
        /**
         * Used to indicate a temporary failure (eg connection to a watchtower or remote backup of
        our state failed, but is expected to succeed at some point in the future).
        
        Such a failure will \"freeze\" a channel, preventing us from revoking old states or
        /**
         * Used to indicate a temporary failure (eg connection to a watchtower or remote backup of
        our state failed, but is expected to succeed at some point in the future).
        
        Such a failure will \"freeze\" a channel, preventing us from revoking old states or
-       submitting new commitment transactions to the counterparty. Once the update(s) that failed
-       have been successfully applied, a [`MonitorEvent::UpdateCompleted`] event should be returned
-       via [`Watch::release_pending_monitor_events`] which will then restore the channel to an
-       operational state.
+       submitting new commitment transactions to the counterparty. Once the update(s) which failed
+       have been successfully applied, a [`MonitorEvent::Completed`] can be used to restore the
+       channel to an operational state.
        
        
-       Note that a given ChannelManager will *never* re-generate a given ChannelMonitorUpdate. If
-       you return a TemporaryFailure you must ensure that it is written to disk safely before
-       writing out the latest ChannelManager state.
+       Note that a given [`ChannelManager`] will *never* re-generate a [`ChannelMonitorUpdate`].
+       If you return this error you must ensure that it is written to disk safely before writing
+       the latest [`ChannelManager`] state, or you should return [`PermanentFailure`] instead.
        
        
-       Even when a channel has been \"frozen\" updates to the ChannelMonitor can continue to occur
-       (eg if an inbound HTLC which we forwarded was claimed upstream resulting in us attempting
-       to claim it on this channel) and those updates must be applied wherever they can be. At
-       least one such updated ChannelMonitor must be persisted otherwise PermanentFailure should
-       be returned to get things on-chain ASAP using only the in-memory copy. Obviously updates to
-       the channel which would invalidate previous ChannelMonitors are not made when a channel has
-       been \"frozen\".
+       Even when a channel has been \"frozen\", updates to the [`ChannelMonitor`] can continue to
+       occur (e.g. if an inbound HTLC which we forwarded was claimed upstream, resulting in us
+       attempting to claim it on this channel) and those updates must still be persisted.
        
        
-       Note that even if updates made after TemporaryFailure succeed you must still provide a
-       [`MonitorEvent::UpdateCompleted`] to ensure you have the latest monitor and re-enable
-       normal channel operation. Note that this is normally generated through a call to
-       [`ChainMonitor::channel_monitor_updated`].
-       
-       Note that the update being processed here will not be replayed for you when you return a
-       [`MonitorEvent::UpdateCompleted`] event via [`Watch::release_pending_monitor_events`], so
-       you must store the update itself on your own local disk prior to returning a
-       TemporaryFailure. You may, of course, employ a journaling approach, storing only the
-       ChannelMonitorUpdate on disk without updating the monitor itself, replaying the journal at
-       reload-time.
+       No updates to the channel will be made which could invalidate other [`ChannelMonitor`]s
+       until a [`MonitorEvent::Completed`] is provided, even if you return no error on a later
+       monitor update for the same channel.
        
        For deployments where a copy of ChannelMonitors and other local state are backed up in a
        remote location (with local copies persisted immediately), it is anticipated that all
        
        For deployments where a copy of ChannelMonitors and other local state are backed up in a
        remote location (with local copies persisted immediately), it is anticipated that all
-       updates will return TemporaryFailure until the remote copies could be updated.
+       updates will return [`InProgress`] until the remote copies could be updated.
        
        
-       [`ChainMonitor::channel_monitor_updated`]: chainmonitor::ChainMonitor::channel_monitor_updated
+       [`PermanentFailure`]: ChannelMonitorUpdateStatus::PermanentFailure
+       [`InProgress`]: ChannelMonitorUpdateStatus::InProgress
+       [`ChannelManager`]: crate::ln::channelmanager::ChannelManager
         */
         */
-       LDKChannelMonitorUpdateErr_TemporaryFailure,
+       LDKChannelMonitorUpdateStatus_InProgress,
        /**
        /**
-        * Used to indicate no further channel monitor updates will be allowed (eg we've moved on to a
-       different watchtower and cannot update with all watchtowers that were previously informed
-       of this channel).
+        * Used to indicate no further channel monitor updates will be allowed (likely a disk failure
+       or a remote copy of this [`ChannelMonitor`] is no longer reachable and thus not updatable).
+       
+       When this is returned, [`ChannelManager`] will force-close the channel but *not* broadcast
+       our current commitment transaction. This avoids a dangerous case where a local disk failure
+       (e.g. the Linux-default remounting of the disk as read-only) causes [`PermanentFailure`]s
+       for all monitor updates. If we were to broadcast our latest commitment transaction and then
+       restart, we could end up reading a previous [`ChannelMonitor`] and [`ChannelManager`],
+       revoking our now-broadcasted state before seeing it confirm and losing all our funds.
        
        
-       At reception of this error, ChannelManager will force-close the channel and return at
-       least a final ChannelMonitorUpdate::ChannelForceClosed which must be delivered to at
-       least one ChannelMonitor copy. Revocation secret MUST NOT be released and offchain channel
-       update must be rejected.
+       Note that this is somewhat of a tradeoff - if the disk is really gone and we may have lost
+       the data permanently, we really should broadcast immediately. If the data can be recovered
+       with manual intervention, we'd rather close the channel, rejecting future updates to it,
+       and broadcast the latest state only if we have HTLCs to claim which are timing out (which
+       we do as long as blocks are connected).
        
        
-       This failure may also signal a failure to update the local persisted copy of one of
-       the channel monitor instance.
+       In order to broadcast the latest local commitment transaction, you'll need to call
+       [`ChannelMonitor::get_latest_holder_commitment_txn`] and broadcast the resulting
+       transactions once you've safely ensured no further channel updates can be generated by your
+       [`ChannelManager`].
        
        
-       Note that even when you fail a holder commitment transaction update, you must store the
-       update to ensure you can claim from it in case of a duplicate copy of this ChannelMonitor
-       broadcasts it (e.g distributed channel-monitor deployment)
+       Note that at least one final [`ChannelMonitorUpdate`] may still be provided, which must
+       still be processed by a running [`ChannelMonitor`]. This final update will mark the
+       [`ChannelMonitor`] as finalized, ensuring no further updates (e.g. revocation of the latest
+       commitment transaction) are allowed.
+       
+       Note that even if you return a [`PermanentFailure`] due to unavailability of secondary
+       [`ChannelMonitor`] copies, you should still make an attempt to store the update where
+       possible to ensure you can claim HTLC outputs on the latest commitment transaction
+       broadcasted later.
        
        In case of distributed watchtowers deployment, the new version must be written to disk, as
        state may have been stored but rejected due to a block forcing a commitment broadcast. This
        storage is used to claim outputs of rejected state confirmed onchain by another watchtower,
        lagging behind on block processing.
        
        In case of distributed watchtowers deployment, the new version must be written to disk, as
        state may have been stored but rejected due to a block forcing a commitment broadcast. This
        storage is used to claim outputs of rejected state confirmed onchain by another watchtower,
        lagging behind on block processing.
+       
+       [`PermanentFailure`]: ChannelMonitorUpdateStatus::PermanentFailure
+       [`ChannelManager`]: crate::ln::channelmanager::ChannelManager
         */
         */
-       LDKChannelMonitorUpdateErr_PermanentFailure,
+       LDKChannelMonitorUpdateStatus_PermanentFailure,
        
 }
 
        
 }
 
@@ -654,6 +672,24 @@ export enum SiPrefix {
         */
        LDKSiPrefix_Pico,
        
         */
        LDKSiPrefix_Pico,
        
+}
+       // struct LDKThirtyTwoBytes BigEndianScalar_get_bytes (struct LDKBigEndianScalar* thing)
+/* @internal */
+export function BigEndianScalar_get_bytes(thing: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_BigEndianScalar_get_bytes(thing);
+       return nativeResponseValue;
+}
+       // static void BigEndianScalar_free (struct LDKBigEndianScalar thing)
+/* @internal */
+export function BigEndianScalar_free(thing: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_BigEndianScalar_free(thing);
+       // debug statements here
 }
 /* @internal */
 export class LDKBech32Error {
 }
 /* @internal */
 export class LDKBech32Error {
@@ -700,6 +736,80 @@ export function TxOut_get_value(thing: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_TxOut_get_value(thing);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_TxOut_get_value(thing);
        return nativeResponseValue;
+}
+       // struct LDKBlindedRoute CResult_BlindedRouteNoneZ_get_ok(LDKCResult_BlindedRouteNoneZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_BlindedRouteNoneZ_get_ok(owner: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedRouteNoneZ_get_ok(owner);
+       return nativeResponseValue;
+}
+       // void CResult_BlindedRouteNoneZ_get_err(LDKCResult_BlindedRouteNoneZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_BlindedRouteNoneZ_get_err(owner: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedRouteNoneZ_get_err(owner);
+       // debug statements here
+}
+/* @internal */
+export class LDKDecodeError {
+       protected constructor() {}
+}
+/* @internal */
+export function LDKDecodeError_ty_from_ptr(ptr: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKDecodeError_ty_from_ptr(ptr);
+       return nativeResponseValue;
+}
+/* @internal */
+export function LDKDecodeError_Io_get_io(ptr: bigint): IOError {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKDecodeError_Io_get_io(ptr);
+       return nativeResponseValue;
+}
+       // struct LDKBlindedRoute CResult_BlindedRouteDecodeErrorZ_get_ok(LDKCResult_BlindedRouteDecodeErrorZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_BlindedRouteDecodeErrorZ_get_ok(owner: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedRouteDecodeErrorZ_get_ok(owner);
+       return nativeResponseValue;
+}
+       // struct LDKDecodeError CResult_BlindedRouteDecodeErrorZ_get_err(LDKCResult_BlindedRouteDecodeErrorZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_BlindedRouteDecodeErrorZ_get_err(owner: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedRouteDecodeErrorZ_get_err(owner);
+       return nativeResponseValue;
+}
+       // struct LDKBlindedHop CResult_BlindedHopDecodeErrorZ_get_ok(LDKCResult_BlindedHopDecodeErrorZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_BlindedHopDecodeErrorZ_get_ok(owner: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedHopDecodeErrorZ_get_ok(owner);
+       return nativeResponseValue;
+}
+       // struct LDKDecodeError CResult_BlindedHopDecodeErrorZ_get_err(LDKCResult_BlindedHopDecodeErrorZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_BlindedHopDecodeErrorZ_get_err(owner: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedHopDecodeErrorZ_get_err(owner);
+       return nativeResponseValue;
 }
        // void CResult_NoneNoneZ_get_ok(LDKCResult_NoneNoneZ *NONNULL_PTR owner);
 /* @internal */
 }
        // void CResult_NoneNoneZ_get_ok(LDKCResult_NoneNoneZ *NONNULL_PTR owner);
 /* @internal */
@@ -1698,11 +1808,11 @@ export function LDKEvent_PaymentPathFailed_get_payment_hash(ptr: bigint): number
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
-export function LDKEvent_PaymentPathFailed_get_rejected_by_dest(ptr: bigint): boolean {
+export function LDKEvent_PaymentPathFailed_get_payment_failed_permanently(ptr: bigint): boolean {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_LDKEvent_PaymentPathFailed_get_rejected_by_dest(ptr);
+       const nativeResponseValue = wasm.TS_LDKEvent_PaymentPathFailed_get_payment_failed_permanently(ptr);
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
@@ -2224,27 +2334,43 @@ export function LDKMessageSendEvent_SendChannelReestablish_get_msg(ptr: bigint):
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
-export function LDKMessageSendEvent_BroadcastChannelAnnouncement_get_msg(ptr: bigint): bigint {
+export function LDKMessageSendEvent_SendChannelAnnouncement_get_node_id(ptr: bigint): number {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_LDKMessageSendEvent_BroadcastChannelAnnouncement_get_msg(ptr);
+       const nativeResponseValue = wasm.TS_LDKMessageSendEvent_SendChannelAnnouncement_get_node_id(ptr);
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
-export function LDKMessageSendEvent_BroadcastChannelAnnouncement_get_update_msg(ptr: bigint): bigint {
+export function LDKMessageSendEvent_SendChannelAnnouncement_get_msg(ptr: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_LDKMessageSendEvent_BroadcastChannelAnnouncement_get_update_msg(ptr);
+       const nativeResponseValue = wasm.TS_LDKMessageSendEvent_SendChannelAnnouncement_get_msg(ptr);
+       return nativeResponseValue;
+}
+/* @internal */
+export function LDKMessageSendEvent_SendChannelAnnouncement_get_update_msg(ptr: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKMessageSendEvent_SendChannelAnnouncement_get_update_msg(ptr);
+       return nativeResponseValue;
+}
+/* @internal */
+export function LDKMessageSendEvent_BroadcastChannelAnnouncement_get_msg(ptr: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKMessageSendEvent_BroadcastChannelAnnouncement_get_msg(ptr);
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
-export function LDKMessageSendEvent_BroadcastNodeAnnouncement_get_msg(ptr: bigint): bigint {
+export function LDKMessageSendEvent_BroadcastChannelAnnouncement_get_update_msg(ptr: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_LDKMessageSendEvent_BroadcastNodeAnnouncement_get_msg(ptr);
+       const nativeResponseValue = wasm.TS_LDKMessageSendEvent_BroadcastChannelAnnouncement_get_update_msg(ptr);
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
@@ -2386,24 +2512,6 @@ export function C2Tuple_usizeTransactionZ_get_b(owner: bigint): number {
        }
        const nativeResponseValue = wasm.TS_C2Tuple_usizeTransactionZ_get_b(owner);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_C2Tuple_usizeTransactionZ_get_b(owner);
        return nativeResponseValue;
-}
-       // void CResult_NoneChannelMonitorUpdateErrZ_get_ok(LDKCResult_NoneChannelMonitorUpdateErrZ *NONNULL_PTR owner);
-/* @internal */
-export function CResult_NoneChannelMonitorUpdateErrZ_get_ok(owner: bigint): void {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_CResult_NoneChannelMonitorUpdateErrZ_get_ok(owner);
-       // debug statements here
-}
-       // enum LDKChannelMonitorUpdateErr CResult_NoneChannelMonitorUpdateErrZ_get_err(LDKCResult_NoneChannelMonitorUpdateErrZ *NONNULL_PTR owner);
-/* @internal */
-export function CResult_NoneChannelMonitorUpdateErrZ_get_err(owner: bigint): ChannelMonitorUpdateErr {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_CResult_NoneChannelMonitorUpdateErrZ_get_err(owner);
-       return nativeResponseValue;
 }
 /* @internal */
 export class LDKMonitorEvent {
 }
 /* @internal */
 export class LDKMonitorEvent {
@@ -2434,19 +2542,19 @@ export function LDKMonitorEvent_CommitmentTxConfirmed_get_commitment_tx_confirme
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
-export function LDKMonitorEvent_UpdateCompleted_get_funding_txo(ptr: bigint): bigint {
+export function LDKMonitorEvent_Completed_get_funding_txo(ptr: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_LDKMonitorEvent_UpdateCompleted_get_funding_txo(ptr);
+       const nativeResponseValue = wasm.TS_LDKMonitorEvent_Completed_get_funding_txo(ptr);
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
-export function LDKMonitorEvent_UpdateCompleted_get_monitor_update_id(ptr: bigint): bigint {
+export function LDKMonitorEvent_Completed_get_monitor_update_id(ptr: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_LDKMonitorEvent_UpdateCompleted_get_monitor_update_id(ptr);
+       const nativeResponseValue = wasm.TS_LDKMonitorEvent_Completed_get_monitor_update_id(ptr);
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
@@ -2483,26 +2591,6 @@ export function C3Tuple_OutPointCVec_MonitorEventZPublicKeyZ_get_c(owner: bigint
        }
        const nativeResponseValue = wasm.TS_C3Tuple_OutPointCVec_MonitorEventZPublicKeyZ_get_c(owner);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_C3Tuple_OutPointCVec_MonitorEventZPublicKeyZ_get_c(owner);
        return nativeResponseValue;
-}
-/* @internal */
-export class LDKCOption_C2Tuple_usizeTransactionZZ {
-       protected constructor() {}
-}
-/* @internal */
-export function LDKCOption_C2Tuple_usizeTransactionZZ_ty_from_ptr(ptr: bigint): number {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_LDKCOption_C2Tuple_usizeTransactionZZ_ty_from_ptr(ptr);
-       return nativeResponseValue;
-}
-/* @internal */
-export function LDKCOption_C2Tuple_usizeTransactionZZ_Some_get_some(ptr: bigint): bigint {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_LDKCOption_C2Tuple_usizeTransactionZZ_Some_get_some(ptr);
-       return nativeResponseValue;
 }
        // struct LDKFixedPenaltyScorer CResult_FixedPenaltyScorerDecodeErrorZ_get_ok(LDKCResult_FixedPenaltyScorerDecodeErrorZ *NONNULL_PTR owner);
 /* @internal */
 }
        // struct LDKFixedPenaltyScorer CResult_FixedPenaltyScorerDecodeErrorZ_get_ok(LDKCResult_FixedPenaltyScorerDecodeErrorZ *NONNULL_PTR owner);
 /* @internal */
@@ -2566,7 +2654,7 @@ export interface LDKLogger {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKLogger_new(impl: LDKLogger): bigint {
+export function LDKLogger_new(impl: LDKLogger): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -2575,7 +2663,7 @@ export function LDKLogger_new(impl: LDKLogger): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKLogger_new(i);
+       return [wasm.TS_LDKLogger_new(i), i];
 }
        // struct LDKProbabilisticScorer CResult_ProbabilisticScorerDecodeErrorZ_get_ok(LDKCResult_ProbabilisticScorerDecodeErrorZ *NONNULL_PTR owner);
 /* @internal */
 }
        // struct LDKProbabilisticScorer CResult_ProbabilisticScorerDecodeErrorZ_get_ok(LDKCResult_ProbabilisticScorerDecodeErrorZ *NONNULL_PTR owner);
 /* @internal */
@@ -2727,7 +2815,7 @@ export interface LDKAccess {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKAccess_new(impl: LDKAccess): bigint {
+export function LDKAccess_new(impl: LDKAccess): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -2736,7 +2824,7 @@ export function LDKAccess_new(impl: LDKAccess): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKAccess_new(i);
+       return [wasm.TS_LDKAccess_new(i), i];
 }
        // LDKCResult_TxOutAccessErrorZ Access_get_utxo LDKAccess *NONNULL_PTR this_arg, const uint8_t (*genesis_hash)[32], uint64_t short_channel_id
 /* @internal */
 }
        // LDKCResult_TxOutAccessErrorZ Access_get_utxo LDKAccess *NONNULL_PTR this_arg, const uint8_t (*genesis_hash)[32], uint64_t short_channel_id
 /* @internal */
@@ -2811,6 +2899,26 @@ export function C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_c(own
        }
        const nativeResponseValue = wasm.TS_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_c(owner);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_c(owner);
        return nativeResponseValue;
+}
+/* @internal */
+export class LDKCOption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ {
+       protected constructor() {}
+}
+/* @internal */
+export function LDKCOption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_ty_from_ptr(ptr: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKCOption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_ty_from_ptr(ptr);
+       return nativeResponseValue;
+}
+/* @internal */
+export function LDKCOption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_Some_get_some(ptr: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKCOption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_Some_get_some(ptr);
+       return nativeResponseValue;
 }
        // void CResult_NoneLightningErrorZ_get_ok(LDKCResult_NoneLightningErrorZ *NONNULL_PTR owner);
 /* @internal */
 }
        // void CResult_NoneLightningErrorZ_get_ok(LDKCResult_NoneLightningErrorZ *NONNULL_PTR owner);
 /* @internal */
@@ -3237,6 +3345,62 @@ export function CResult_SecretKeyNoneZ_get_err(owner: bigint): void {
        }
        const nativeResponseValue = wasm.TS_CResult_SecretKeyNoneZ_get_err(owner);
        // debug statements here
        }
        const nativeResponseValue = wasm.TS_CResult_SecretKeyNoneZ_get_err(owner);
        // debug statements here
+}
+       // struct LDKPublicKey CResult_PublicKeyNoneZ_get_ok(LDKCResult_PublicKeyNoneZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_PublicKeyNoneZ_get_ok(owner: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_PublicKeyNoneZ_get_ok(owner);
+       return nativeResponseValue;
+}
+       // void CResult_PublicKeyNoneZ_get_err(LDKCResult_PublicKeyNoneZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_PublicKeyNoneZ_get_err(owner: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_PublicKeyNoneZ_get_err(owner);
+       // debug statements here
+}
+/* @internal */
+export class LDKCOption_ScalarZ {
+       protected constructor() {}
+}
+/* @internal */
+export function LDKCOption_ScalarZ_ty_from_ptr(ptr: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKCOption_ScalarZ_ty_from_ptr(ptr);
+       return nativeResponseValue;
+}
+/* @internal */
+export function LDKCOption_ScalarZ_Some_get_some(ptr: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKCOption_ScalarZ_Some_get_some(ptr);
+       return nativeResponseValue;
+}
+       // struct LDKThirtyTwoBytes CResult_SharedSecretNoneZ_get_ok(LDKCResult_SharedSecretNoneZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_SharedSecretNoneZ_get_ok(owner: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_SharedSecretNoneZ_get_ok(owner);
+       return nativeResponseValue;
+}
+       // void CResult_SharedSecretNoneZ_get_err(LDKCResult_SharedSecretNoneZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_SharedSecretNoneZ_get_err(owner: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_SharedSecretNoneZ_get_err(owner);
+       // debug statements here
 }
 /* @internal */
 export interface LDKBaseSign {
 }
 /* @internal */
 export interface LDKBaseSign {
@@ -3251,12 +3415,13 @@ export interface LDKBaseSign {
        sign_justice_revoked_htlc (justice_tx: number, input: number, amount: bigint, per_commitment_key: number, htlc: bigint): bigint;
        sign_counterparty_htlc_transaction (htlc_tx: number, input: number, amount: bigint, per_commitment_point: number, htlc: bigint): bigint;
        sign_closing_transaction (closing_tx: bigint): bigint;
        sign_justice_revoked_htlc (justice_tx: number, input: number, amount: bigint, per_commitment_key: number, htlc: bigint): bigint;
        sign_counterparty_htlc_transaction (htlc_tx: number, input: number, amount: bigint, per_commitment_point: number, htlc: bigint): bigint;
        sign_closing_transaction (closing_tx: bigint): bigint;
+       sign_holder_anchor_input (anchor_tx: number, input: number): bigint;
        sign_channel_announcement (msg: bigint): bigint;
        ready_channel (channel_parameters: bigint): void;
 }
 
 /* @internal */
        sign_channel_announcement (msg: bigint): bigint;
        ready_channel (channel_parameters: bigint): void;
 }
 
 /* @internal */
-export function LDKBaseSign_new(impl: LDKBaseSign, pubkeys: bigint): bigint {
+export function LDKBaseSign_new(impl: LDKBaseSign, pubkeys: bigint): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -3265,7 +3430,7 @@ export function LDKBaseSign_new(impl: LDKBaseSign, pubkeys: bigint): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKBaseSign_new(i);
+       return [wasm.TS_LDKBaseSign_new(i, pubkeys), i];
 }
        // LDKPublicKey BaseSign_get_per_commitment_point LDKBaseSign *NONNULL_PTR this_arg, uint64_t idx
 /* @internal */
 }
        // LDKPublicKey BaseSign_get_per_commitment_point LDKBaseSign *NONNULL_PTR this_arg, uint64_t idx
 /* @internal */
@@ -3365,6 +3530,15 @@ export function BaseSign_sign_closing_transaction(this_arg: bigint, closing_tx:
        }
        const nativeResponseValue = wasm.TS_BaseSign_sign_closing_transaction(this_arg, closing_tx);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_BaseSign_sign_closing_transaction(this_arg, closing_tx);
        return nativeResponseValue;
+}
+       // LDKCResult_SignatureNoneZ BaseSign_sign_holder_anchor_input LDKBaseSign *NONNULL_PTR this_arg, struct LDKTransaction anchor_tx, uintptr_t input
+/* @internal */
+export function BaseSign_sign_holder_anchor_input(this_arg: bigint, anchor_tx: number, input: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_BaseSign_sign_holder_anchor_input(this_arg, anchor_tx, input);
+       return nativeResponseValue;
 }
        // LDKCResult_C2Tuple_SignatureSignatureZNoneZ BaseSign_sign_channel_announcement LDKBaseSign *NONNULL_PTR this_arg, const struct LDKUnsignedChannelAnnouncement *NONNULL_PTR msg
 /* @internal */
 }
        // LDKCResult_C2Tuple_SignatureSignatureZNoneZ BaseSign_sign_channel_announcement LDKBaseSign *NONNULL_PTR this_arg, const struct LDKUnsignedChannelAnnouncement *NONNULL_PTR msg
 /* @internal */
@@ -3399,7 +3573,7 @@ export interface LDKSign {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKSign_new(impl: LDKSign, BaseSign: LDKBaseSign, pubkeys: bigint): bigint {
+export function LDKSign_new(impl: LDKSign, BaseSign: number, pubkeys: bigint): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -3408,7 +3582,7 @@ export function LDKSign_new(impl: LDKSign, BaseSign: LDKBaseSign, pubkeys: bigin
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKSign_new(i);
+       return [wasm.TS_LDKSign_new(i, BaseSign, pubkeys), i];
 }
        // LDKCVec_u8Z Sign_write LDKSign *NONNULL_PTR this_arg
 /* @internal */
 }
        // LDKCVec_u8Z Sign_write LDKSign *NONNULL_PTR this_arg
 /* @internal */
@@ -3939,13 +4113,13 @@ export function CResult_PhantomRouteHintsDecodeErrorZ_get_err(owner: bigint): bi
 }
 /* @internal */
 export interface LDKWatch {
 }
 /* @internal */
 export interface LDKWatch {
-       watch_channel (funding_txo: bigint, monitor: bigint): bigint;
-       update_channel (funding_txo: bigint, update: bigint): bigint;
+       watch_channel (funding_txo: bigint, monitor: bigint): ChannelMonitorUpdateStatus;
+       update_channel (funding_txo: bigint, update: bigint): ChannelMonitorUpdateStatus;
        release_pending_monitor_events (): number;
 }
 
 /* @internal */
        release_pending_monitor_events (): number;
 }
 
 /* @internal */
-export function LDKWatch_new(impl: LDKWatch): bigint {
+export function LDKWatch_new(impl: LDKWatch): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -3954,20 +4128,20 @@ export function LDKWatch_new(impl: LDKWatch): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKWatch_new(i);
+       return [wasm.TS_LDKWatch_new(i), i];
 }
 }
-       // LDKCResult_NoneChannelMonitorUpdateErrZ Watch_watch_channel LDKWatch *NONNULL_PTR this_arg, struct LDKOutPoint funding_txo, struct LDKChannelMonitor monitor
+       // LDKChannelMonitorUpdateStatus Watch_watch_channel LDKWatch *NONNULL_PTR this_arg, struct LDKOutPoint funding_txo, struct LDKChannelMonitor monitor
 /* @internal */
 /* @internal */
-export function Watch_watch_channel(this_arg: bigint, funding_txo: bigint, monitor: bigint): bigint {
+export function Watch_watch_channel(this_arg: bigint, funding_txo: bigint, monitor: bigint): ChannelMonitorUpdateStatus {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        const nativeResponseValue = wasm.TS_Watch_watch_channel(this_arg, funding_txo, monitor);
        return nativeResponseValue;
 }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        const nativeResponseValue = wasm.TS_Watch_watch_channel(this_arg, funding_txo, monitor);
        return nativeResponseValue;
 }
-       // LDKCResult_NoneChannelMonitorUpdateErrZ Watch_update_channel LDKWatch *NONNULL_PTR this_arg, struct LDKOutPoint funding_txo, struct LDKChannelMonitorUpdate update
+       // LDKChannelMonitorUpdateStatus Watch_update_channel LDKWatch *NONNULL_PTR this_arg, struct LDKOutPoint funding_txo, struct LDKChannelMonitorUpdate update
 /* @internal */
 /* @internal */
-export function Watch_update_channel(this_arg: bigint, funding_txo: bigint, update: bigint): bigint {
+export function Watch_update_channel(this_arg: bigint, funding_txo: bigint, update: bigint): ChannelMonitorUpdateStatus {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -3989,7 +4163,7 @@ export interface LDKBroadcasterInterface {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKBroadcasterInterface_new(impl: LDKBroadcasterInterface): bigint {
+export function LDKBroadcasterInterface_new(impl: LDKBroadcasterInterface): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -3998,7 +4172,7 @@ export function LDKBroadcasterInterface_new(impl: LDKBroadcasterInterface): bigi
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKBroadcasterInterface_new(i);
+       return [wasm.TS_LDKBroadcasterInterface_new(i), i];
 }
        // void BroadcasterInterface_broadcast_transaction LDKBroadcasterInterface *NONNULL_PTR this_arg, struct LDKTransaction tx
 /* @internal */
 }
        // void BroadcasterInterface_broadcast_transaction LDKBroadcasterInterface *NONNULL_PTR this_arg, struct LDKTransaction tx
 /* @internal */
@@ -4012,6 +4186,8 @@ export function BroadcasterInterface_broadcast_transaction(this_arg: bigint, tx:
 /* @internal */
 export interface LDKKeysInterface {
        get_node_secret (recipient: Recipient): bigint;
 /* @internal */
 export interface LDKKeysInterface {
        get_node_secret (recipient: Recipient): bigint;
+       get_node_id (recipient: Recipient): bigint;
+       ecdh (recipient: Recipient, other_key: number, tweak: bigint): bigint;
        get_destination_script (): number;
        get_shutdown_scriptpubkey (): bigint;
        get_channel_signer (inbound: boolean, channel_value_satoshis: bigint): bigint;
        get_destination_script (): number;
        get_shutdown_scriptpubkey (): bigint;
        get_channel_signer (inbound: boolean, channel_value_satoshis: bigint): bigint;
@@ -4022,7 +4198,7 @@ export interface LDKKeysInterface {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKKeysInterface_new(impl: LDKKeysInterface): bigint {
+export function LDKKeysInterface_new(impl: LDKKeysInterface): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -4031,7 +4207,7 @@ export function LDKKeysInterface_new(impl: LDKKeysInterface): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKKeysInterface_new(i);
+       return [wasm.TS_LDKKeysInterface_new(i), i];
 }
        // LDKCResult_SecretKeyNoneZ KeysInterface_get_node_secret LDKKeysInterface *NONNULL_PTR this_arg, enum LDKRecipient recipient
 /* @internal */
 }
        // LDKCResult_SecretKeyNoneZ KeysInterface_get_node_secret LDKKeysInterface *NONNULL_PTR this_arg, enum LDKRecipient recipient
 /* @internal */
@@ -4041,6 +4217,24 @@ export function KeysInterface_get_node_secret(this_arg: bigint, recipient: Recip
        }
        const nativeResponseValue = wasm.TS_KeysInterface_get_node_secret(this_arg, recipient);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_KeysInterface_get_node_secret(this_arg, recipient);
        return nativeResponseValue;
+}
+       // LDKCResult_PublicKeyNoneZ KeysInterface_get_node_id LDKKeysInterface *NONNULL_PTR this_arg, enum LDKRecipient recipient
+/* @internal */
+export function KeysInterface_get_node_id(this_arg: bigint, recipient: Recipient): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_KeysInterface_get_node_id(this_arg, recipient);
+       return nativeResponseValue;
+}
+       // LDKCResult_SharedSecretNoneZ KeysInterface_ecdh LDKKeysInterface *NONNULL_PTR this_arg, enum LDKRecipient recipient, struct LDKPublicKey other_key, struct LDKCOption_ScalarZ tweak
+/* @internal */
+export function KeysInterface_ecdh(this_arg: bigint, recipient: Recipient, other_key: number, tweak: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_KeysInterface_ecdh(this_arg, recipient, other_key, tweak);
+       return nativeResponseValue;
 }
        // LDKCVec_u8Z KeysInterface_get_destination_script LDKKeysInterface *NONNULL_PTR this_arg
 /* @internal */
 }
        // LDKCVec_u8Z KeysInterface_get_destination_script LDKKeysInterface *NONNULL_PTR this_arg
 /* @internal */
@@ -4111,7 +4305,7 @@ export interface LDKFeeEstimator {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKFeeEstimator_new(impl: LDKFeeEstimator): bigint {
+export function LDKFeeEstimator_new(impl: LDKFeeEstimator): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -4120,7 +4314,7 @@ export function LDKFeeEstimator_new(impl: LDKFeeEstimator): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKFeeEstimator_new(i);
+       return [wasm.TS_LDKFeeEstimator_new(i), i];
 }
        // uint32_t FeeEstimator_get_est_sat_per_1000_weight LDKFeeEstimator *NONNULL_PTR this_arg, enum LDKConfirmationTarget confirmation_target
 /* @internal */
 }
        // uint32_t FeeEstimator_get_est_sat_per_1000_weight LDKFeeEstimator *NONNULL_PTR this_arg, enum LDKConfirmationTarget confirmation_target
 /* @internal */
@@ -4211,7 +4405,7 @@ export interface LDKType {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKType_new(impl: LDKType): bigint {
+export function LDKType_new(impl: LDKType): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -4220,7 +4414,7 @@ export function LDKType_new(impl: LDKType): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKType_new(i);
+       return [wasm.TS_LDKType_new(i), i];
 }
        // uint16_t Type_type_id LDKType *NONNULL_PTR this_arg
 /* @internal */
 }
        // uint16_t Type_type_id LDKType *NONNULL_PTR this_arg
 /* @internal */
@@ -4340,6 +4534,24 @@ export function CResult_PaymentIdPaymentErrorZ_get_err(owner: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_CResult_PaymentIdPaymentErrorZ_get_err(owner);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_CResult_PaymentIdPaymentErrorZ_get_err(owner);
        return nativeResponseValue;
+}
+       // struct LDKInFlightHtlcs CResult_InFlightHtlcsDecodeErrorZ_get_ok(LDKCResult_InFlightHtlcsDecodeErrorZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_InFlightHtlcsDecodeErrorZ_get_ok(owner: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_InFlightHtlcsDecodeErrorZ_get_ok(owner);
+       return nativeResponseValue;
+}
+       // struct LDKDecodeError CResult_InFlightHtlcsDecodeErrorZ_get_err(LDKCResult_InFlightHtlcsDecodeErrorZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_InFlightHtlcsDecodeErrorZ_get_err(owner: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_InFlightHtlcsDecodeErrorZ_get_err(owner);
+       return nativeResponseValue;
 }
 /* @internal */
 export class LDKParseError {
 }
 /* @internal */
 export class LDKParseError {
@@ -4845,19 +5057,43 @@ export function LDKBalance_ContentiousClaimable_get_timeout_height(ptr: bigint):
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
-export function LDKBalance_MaybeClaimableHTLCAwaitingTimeout_get_claimable_amount_satoshis(ptr: bigint): bigint {
+export function LDKBalance_MaybeTimeoutClaimableHTLC_get_claimable_amount_satoshis(ptr: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_LDKBalance_MaybeClaimableHTLCAwaitingTimeout_get_claimable_amount_satoshis(ptr);
+       const nativeResponseValue = wasm.TS_LDKBalance_MaybeTimeoutClaimableHTLC_get_claimable_amount_satoshis(ptr);
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
-export function LDKBalance_MaybeClaimableHTLCAwaitingTimeout_get_claimable_height(ptr: bigint): number {
+export function LDKBalance_MaybeTimeoutClaimableHTLC_get_claimable_height(ptr: bigint): number {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_LDKBalance_MaybeClaimableHTLCAwaitingTimeout_get_claimable_height(ptr);
+       const nativeResponseValue = wasm.TS_LDKBalance_MaybeTimeoutClaimableHTLC_get_claimable_height(ptr);
+       return nativeResponseValue;
+}
+/* @internal */
+export function LDKBalance_MaybePreimageClaimableHTLC_get_claimable_amount_satoshis(ptr: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKBalance_MaybePreimageClaimableHTLC_get_claimable_amount_satoshis(ptr);
+       return nativeResponseValue;
+}
+/* @internal */
+export function LDKBalance_MaybePreimageClaimableHTLC_get_expiry_height(ptr: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKBalance_MaybePreimageClaimableHTLC_get_expiry_height(ptr);
+       return nativeResponseValue;
+}
+/* @internal */
+export function LDKBalance_CounterpartyRevokedOutputClaimable_get_claimable_amount_satoshis(ptr: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKBalance_CounterpartyRevokedOutputClaimable_get_claimable_amount_satoshis(ptr);
        return nativeResponseValue;
 }
        // struct LDKThirtyTwoBytes C2Tuple_BlockHashChannelMonitorZ_get_a(LDKC2Tuple_BlockHashChannelMonitorZ *NONNULL_PTR owner);
        return nativeResponseValue;
 }
        // struct LDKThirtyTwoBytes C2Tuple_BlockHashChannelMonitorZ_get_a(LDKC2Tuple_BlockHashChannelMonitorZ *NONNULL_PTR owner);
@@ -4915,6 +5151,80 @@ export function C2Tuple_PublicKeyTypeZ_get_b(owner: bigint): bigint {
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
+export interface LDKCustomOnionMessageContents {
+       tlv_type (): bigint;
+       write (): number;
+}
+
+/* @internal */
+export function LDKCustomOnionMessageContents_new(impl: LDKCustomOnionMessageContents): [bigint, number] {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       var new_obj_idx = js_objs.length;
+       for (var i = 0; i < js_objs.length; i++) {
+               if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
+       }
+       js_objs[i] = new WeakRef(impl);
+       return [wasm.TS_LDKCustomOnionMessageContents_new(i), i];
+}
+       // uint64_t CustomOnionMessageContents_tlv_type LDKCustomOnionMessageContents *NONNULL_PTR this_arg
+/* @internal */
+export function CustomOnionMessageContents_tlv_type(this_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CustomOnionMessageContents_tlv_type(this_arg);
+       return nativeResponseValue;
+}
+       // LDKCVec_u8Z CustomOnionMessageContents_write LDKCustomOnionMessageContents *NONNULL_PTR this_arg
+/* @internal */
+export function CustomOnionMessageContents_write(this_arg: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CustomOnionMessageContents_write(this_arg);
+       return nativeResponseValue;
+}
+/* @internal */
+export class LDKCOption_CustomOnionMessageContentsZ {
+       protected constructor() {}
+}
+/* @internal */
+export function LDKCOption_CustomOnionMessageContentsZ_ty_from_ptr(ptr: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKCOption_CustomOnionMessageContentsZ_ty_from_ptr(ptr);
+       return nativeResponseValue;
+}
+/* @internal */
+export function LDKCOption_CustomOnionMessageContentsZ_Some_get_some(ptr: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKCOption_CustomOnionMessageContentsZ_Some_get_some(ptr);
+       return nativeResponseValue;
+}
+       // struct LDKCOption_CustomOnionMessageContentsZ CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_get_ok(LDKCResult_COption_CustomOnionMessageContentsZDecodeErrorZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_get_ok(owner: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_get_ok(owner);
+       return nativeResponseValue;
+}
+       // struct LDKDecodeError CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_get_err(LDKCResult_COption_CustomOnionMessageContentsZDecodeErrorZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_get_err(owner: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_get_err(owner);
+       return nativeResponseValue;
+}
+/* @internal */
 export class LDKCOption_NetAddressZ {
        protected constructor() {}
 }
 export class LDKCOption_NetAddressZ {
        protected constructor() {}
 }
@@ -4987,6 +5297,90 @@ export function CResult_boolPeerHandleErrorZ_get_err(owner: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_CResult_boolPeerHandleErrorZ_get_err(owner);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_CResult_boolPeerHandleErrorZ_get_err(owner);
        return nativeResponseValue;
+}
+/* @internal */
+export class LDKSendError {
+       protected constructor() {}
+}
+/* @internal */
+export function LDKSendError_ty_from_ptr(ptr: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKSendError_ty_from_ptr(ptr);
+       return nativeResponseValue;
+}
+/* @internal */
+export function LDKSendError_Secp256k1_get_secp256k1(ptr: bigint): Secp256k1Error {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKSendError_Secp256k1_get_secp256k1(ptr);
+       return nativeResponseValue;
+}
+       // void CResult_NoneSendErrorZ_get_ok(LDKCResult_NoneSendErrorZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_NoneSendErrorZ_get_ok(owner: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_NoneSendErrorZ_get_ok(owner);
+       // debug statements here
+}
+       // struct LDKSendError CResult_NoneSendErrorZ_get_err(LDKCResult_NoneSendErrorZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_NoneSendErrorZ_get_err(owner: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_NoneSendErrorZ_get_err(owner);
+       return nativeResponseValue;
+}
+/* @internal */
+export class LDKGraphSyncError {
+       protected constructor() {}
+}
+/* @internal */
+export function LDKGraphSyncError_ty_from_ptr(ptr: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKGraphSyncError_ty_from_ptr(ptr);
+       return nativeResponseValue;
+}
+/* @internal */
+export function LDKGraphSyncError_DecodeError_get_decode_error(ptr: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKGraphSyncError_DecodeError_get_decode_error(ptr);
+       return nativeResponseValue;
+}
+/* @internal */
+export function LDKGraphSyncError_LightningError_get_lightning_error(ptr: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LDKGraphSyncError_LightningError_get_lightning_error(ptr);
+       return nativeResponseValue;
+}
+       // uint32_t CResult_u32GraphSyncErrorZ_get_ok(LDKCResult_u32GraphSyncErrorZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_u32GraphSyncErrorZ_get_ok(owner: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_u32GraphSyncErrorZ_get_ok(owner);
+       return nativeResponseValue;
+}
+       // struct LDKGraphSyncError CResult_u32GraphSyncErrorZ_get_err(LDKCResult_u32GraphSyncErrorZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_u32GraphSyncErrorZ_get_err(owner: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_u32GraphSyncErrorZ_get_err(owner);
+       return nativeResponseValue;
 }
        // void CResult_NoneErrorZ_get_ok(LDKCResult_NoneErrorZ *NONNULL_PTR owner);
 /* @internal */
 }
        // void CResult_NoneErrorZ_get_ok(LDKCResult_NoneErrorZ *NONNULL_PTR owner);
 /* @internal */
@@ -5347,6 +5741,24 @@ export function CResult_UpdateAddHTLCDecodeErrorZ_get_err(owner: bigint): bigint
        }
        const nativeResponseValue = wasm.TS_CResult_UpdateAddHTLCDecodeErrorZ_get_err(owner);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_CResult_UpdateAddHTLCDecodeErrorZ_get_err(owner);
        return nativeResponseValue;
+}
+       // struct LDKOnionMessage CResult_OnionMessageDecodeErrorZ_get_ok(LDKCResult_OnionMessageDecodeErrorZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_OnionMessageDecodeErrorZ_get_ok(owner: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_OnionMessageDecodeErrorZ_get_ok(owner);
+       return nativeResponseValue;
+}
+       // struct LDKDecodeError CResult_OnionMessageDecodeErrorZ_get_err(LDKCResult_OnionMessageDecodeErrorZ *NONNULL_PTR owner);
+/* @internal */
+export function CResult_OnionMessageDecodeErrorZ_get_err(owner: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_OnionMessageDecodeErrorZ_get_err(owner);
+       return nativeResponseValue;
 }
        // struct LDKPing CResult_PingDecodeErrorZ_get_ok(LDKCResult_PingDecodeErrorZ *NONNULL_PTR owner);
 /* @internal */
 }
        // struct LDKPing CResult_PingDecodeErrorZ_get_ok(LDKCResult_PingDecodeErrorZ *NONNULL_PTR owner);
 /* @internal */
@@ -5659,11 +6071,11 @@ export function CResult_InvoiceSignOrCreationErrorZ_get_err(owner: bigint): bigi
 /* @internal */
 export interface LDKFilter {
        register_tx (txid: number, script_pubkey: number): void;
 /* @internal */
 export interface LDKFilter {
        register_tx (txid: number, script_pubkey: number): void;
-       register_output (output: bigint): bigint;
+       register_output (output: bigint): void;
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKFilter_new(impl: LDKFilter): bigint {
+export function LDKFilter_new(impl: LDKFilter): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -5672,7 +6084,7 @@ export function LDKFilter_new(impl: LDKFilter): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKFilter_new(i);
+       return [wasm.TS_LDKFilter_new(i), i];
 }
        // void Filter_register_tx LDKFilter *NONNULL_PTR this_arg, const uint8_t (*txid)[32], struct LDKu8slice script_pubkey
 /* @internal */
 }
        // void Filter_register_tx LDKFilter *NONNULL_PTR this_arg, const uint8_t (*txid)[32], struct LDKu8slice script_pubkey
 /* @internal */
@@ -5683,14 +6095,14 @@ export function Filter_register_tx(this_arg: bigint, txid: number, script_pubkey
        const nativeResponseValue = wasm.TS_Filter_register_tx(this_arg, txid, script_pubkey);
        // debug statements here
 }
        const nativeResponseValue = wasm.TS_Filter_register_tx(this_arg, txid, script_pubkey);
        // debug statements here
 }
-       // LDKCOption_C2Tuple_usizeTransactionZZ Filter_register_output LDKFilter *NONNULL_PTR this_arg, struct LDKWatchedOutput output
+       // void Filter_register_output LDKFilter *NONNULL_PTR this_arg, struct LDKWatchedOutput output
 /* @internal */
 /* @internal */
-export function Filter_register_output(this_arg: bigint, output: bigint): bigint {
+export function Filter_register_output(this_arg: bigint, output: bigint): void {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        const nativeResponseValue = wasm.TS_Filter_register_output(this_arg, output);
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        const nativeResponseValue = wasm.TS_Filter_register_output(this_arg, output);
-       return nativeResponseValue;
+       // debug statements here
 }
 /* @internal */
 export class LDKCOption_FilterZ {
 }
 /* @internal */
 export class LDKCOption_FilterZ {
@@ -5736,7 +6148,7 @@ export interface LDKMessageSendEventsProvider {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKMessageSendEventsProvider_new(impl: LDKMessageSendEventsProvider): bigint {
+export function LDKMessageSendEventsProvider_new(impl: LDKMessageSendEventsProvider): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -5745,7 +6157,7 @@ export function LDKMessageSendEventsProvider_new(impl: LDKMessageSendEventsProvi
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKMessageSendEventsProvider_new(i);
+       return [wasm.TS_LDKMessageSendEventsProvider_new(i), i];
 }
        // LDKCVec_MessageSendEventZ MessageSendEventsProvider_get_and_clear_pending_msg_events LDKMessageSendEventsProvider *NONNULL_PTR this_arg
 /* @internal */
 }
        // LDKCVec_MessageSendEventZ MessageSendEventsProvider_get_and_clear_pending_msg_events LDKMessageSendEventsProvider *NONNULL_PTR this_arg
 /* @internal */
@@ -5757,12 +6169,38 @@ export function MessageSendEventsProvider_get_and_clear_pending_msg_events(this_
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
+export interface LDKOnionMessageProvider {
+       next_onion_message_for_peer (peer_node_id: number): bigint;
+}
+
+/* @internal */
+export function LDKOnionMessageProvider_new(impl: LDKOnionMessageProvider): [bigint, number] {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       var new_obj_idx = js_objs.length;
+       for (var i = 0; i < js_objs.length; i++) {
+               if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
+       }
+       js_objs[i] = new WeakRef(impl);
+       return [wasm.TS_LDKOnionMessageProvider_new(i), i];
+}
+       // LDKOnionMessage OnionMessageProvider_next_onion_message_for_peer LDKOnionMessageProvider *NONNULL_PTR this_arg, struct LDKPublicKey peer_node_id
+/* @internal */
+export function OnionMessageProvider_next_onion_message_for_peer(this_arg: bigint, peer_node_id: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessageProvider_next_onion_message_for_peer(this_arg, peer_node_id);
+       return nativeResponseValue;
+}
+/* @internal */
 export interface LDKEventHandler {
        handle_event (event: bigint): void;
 }
 
 /* @internal */
 export interface LDKEventHandler {
        handle_event (event: bigint): void;
 }
 
 /* @internal */
-export function LDKEventHandler_new(impl: LDKEventHandler): bigint {
+export function LDKEventHandler_new(impl: LDKEventHandler): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -5771,7 +6209,7 @@ export function LDKEventHandler_new(impl: LDKEventHandler): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKEventHandler_new(i);
+       return [wasm.TS_LDKEventHandler_new(i), i];
 }
        // void EventHandler_handle_event LDKEventHandler *NONNULL_PTR this_arg, const struct LDKEvent *NONNULL_PTR event
 /* @internal */
 }
        // void EventHandler_handle_event LDKEventHandler *NONNULL_PTR this_arg, const struct LDKEvent *NONNULL_PTR event
 /* @internal */
@@ -5788,7 +6226,7 @@ export interface LDKEventsProvider {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKEventsProvider_new(impl: LDKEventsProvider): bigint {
+export function LDKEventsProvider_new(impl: LDKEventsProvider): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -5797,7 +6235,7 @@ export function LDKEventsProvider_new(impl: LDKEventsProvider): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKEventsProvider_new(i);
+       return [wasm.TS_LDKEventsProvider_new(i), i];
 }
        // void EventsProvider_process_pending_events LDKEventsProvider *NONNULL_PTR this_arg, struct LDKEventHandler handler
 /* @internal */
 }
        // void EventsProvider_process_pending_events LDKEventsProvider *NONNULL_PTR this_arg, struct LDKEventHandler handler
 /* @internal */
@@ -5819,7 +6257,7 @@ export interface LDKScore {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKScore_new(impl: LDKScore): bigint {
+export function LDKScore_new(impl: LDKScore): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -5828,7 +6266,7 @@ export function LDKScore_new(impl: LDKScore): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKScore_new(i);
+       return [wasm.TS_LDKScore_new(i), i];
 }
        // 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, struct LDKChannelUsage usage
 /* @internal */
 }
        // 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, struct LDKChannelUsage usage
 /* @internal */
@@ -5885,6 +6323,58 @@ export function Score_write(this_arg: bigint): number {
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
+export interface LDKLockableScore {
+       lock (): bigint;
+}
+
+/* @internal */
+export function LDKLockableScore_new(impl: LDKLockableScore): [bigint, number] {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       var new_obj_idx = js_objs.length;
+       for (var i = 0; i < js_objs.length; i++) {
+               if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
+       }
+       js_objs[i] = new WeakRef(impl);
+       return [wasm.TS_LDKLockableScore_new(i), i];
+}
+       // LDKScore LockableScore_lock LDKLockableScore *NONNULL_PTR this_arg
+/* @internal */
+export function LockableScore_lock(this_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_LockableScore_lock(this_arg);
+       return nativeResponseValue;
+}
+/* @internal */
+export interface LDKWriteableScore {
+       write (): number;
+}
+
+/* @internal */
+export function LDKWriteableScore_new(impl: LDKWriteableScore, LockableScore: number): [bigint, number] {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       var new_obj_idx = js_objs.length;
+       for (var i = 0; i < js_objs.length; i++) {
+               if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
+       }
+       js_objs[i] = new WeakRef(impl);
+       return [wasm.TS_LDKWriteableScore_new(i, LockableScore), i];
+}
+       // LDKCVec_u8Z WriteableScore_write LDKWriteableScore *NONNULL_PTR this_arg
+/* @internal */
+export function WriteableScore_write(this_arg: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_WriteableScore_write(this_arg);
+       return nativeResponseValue;
+}
+/* @internal */
 export interface LDKPersister {
        persist_manager (channel_manager: bigint): bigint;
        persist_graph (network_graph: bigint): bigint;
 export interface LDKPersister {
        persist_manager (channel_manager: bigint): bigint;
        persist_graph (network_graph: bigint): bigint;
@@ -5892,7 +6382,7 @@ export interface LDKPersister {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKPersister_new(impl: LDKPersister): bigint {
+export function LDKPersister_new(impl: LDKPersister): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -5901,7 +6391,7 @@ export function LDKPersister_new(impl: LDKPersister): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKPersister_new(i);
+       return [wasm.TS_LDKPersister_new(i), i];
 }
        // LDKCResult_NoneErrorZ Persister_persist_manager LDKPersister *NONNULL_PTR this_arg, const struct LDKChannelManager *NONNULL_PTR channel_manager
 /* @internal */
 }
        // LDKCResult_NoneErrorZ Persister_persist_manager LDKPersister *NONNULL_PTR this_arg, const struct LDKChannelManager *NONNULL_PTR channel_manager
 /* @internal */
@@ -5921,7 +6411,7 @@ export function Persister_persist_graph(this_arg: bigint, network_graph: bigint)
        const nativeResponseValue = wasm.TS_Persister_persist_graph(this_arg, network_graph);
        return nativeResponseValue;
 }
        const nativeResponseValue = wasm.TS_Persister_persist_graph(this_arg, network_graph);
        return nativeResponseValue;
 }
-       // LDKCResult_NoneErrorZ Persister_persist_scorer LDKPersister *NONNULL_PTR this_arg, const struct LDKMultiThreadedLockableScore *NONNULL_PTR scorer
+       // LDKCResult_NoneErrorZ Persister_persist_scorer LDKPersister *NONNULL_PTR this_arg, const struct LDKWriteableScore *NONNULL_PTR scorer
 /* @internal */
 export function Persister_persist_scorer(this_arg: bigint, scorer: bigint): bigint {
        if(!isWasmInitialized) {
 /* @internal */
 export function Persister_persist_scorer(this_arg: bigint, scorer: bigint): bigint {
        if(!isWasmInitialized) {
@@ -5931,6 +6421,32 @@ export function Persister_persist_scorer(this_arg: bigint, scorer: bigint): bigi
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
+export interface LDKFutureCallback {
+       call (): void;
+}
+
+/* @internal */
+export function LDKFutureCallback_new(impl: LDKFutureCallback): [bigint, number] {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       var new_obj_idx = js_objs.length;
+       for (var i = 0; i < js_objs.length; i++) {
+               if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
+       }
+       js_objs[i] = new WeakRef(impl);
+       return [wasm.TS_LDKFutureCallback_new(i), i];
+}
+       // void FutureCallback_call LDKFutureCallback *NONNULL_PTR this_arg
+/* @internal */
+export function FutureCallback_call(this_arg: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_FutureCallback_call(this_arg);
+       // debug statements here
+}
+/* @internal */
 export interface LDKListen {
        filtered_block_connected (header: number, txdata: number, height: number): void;
        block_connected (block: number, height: number): void;
 export interface LDKListen {
        filtered_block_connected (header: number, txdata: number, height: number): void;
        block_connected (block: number, height: number): void;
@@ -5938,7 +6454,7 @@ export interface LDKListen {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKListen_new(impl: LDKListen): bigint {
+export function LDKListen_new(impl: LDKListen): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -5947,7 +6463,7 @@ export function LDKListen_new(impl: LDKListen): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKListen_new(i);
+       return [wasm.TS_LDKListen_new(i), i];
 }
        // void Listen_filtered_block_connected LDKListen *NONNULL_PTR this_arg, const uint8_t (*header)[80], struct LDKCVec_C2Tuple_usizeTransactionZZ txdata, uint32_t height
 /* @internal */
 }
        // void Listen_filtered_block_connected LDKListen *NONNULL_PTR this_arg, const uint8_t (*header)[80], struct LDKCVec_C2Tuple_usizeTransactionZZ txdata, uint32_t height
 /* @internal */
@@ -5985,7 +6501,7 @@ export interface LDKConfirm {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKConfirm_new(impl: LDKConfirm): bigint {
+export function LDKConfirm_new(impl: LDKConfirm): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -5994,7 +6510,7 @@ export function LDKConfirm_new(impl: LDKConfirm): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKConfirm_new(i);
+       return [wasm.TS_LDKConfirm_new(i), i];
 }
        // void Confirm_transactions_confirmed LDKConfirm *NONNULL_PTR this_arg, const uint8_t (*header)[80], struct LDKCVec_C2Tuple_usizeTransactionZZ txdata, uint32_t height
 /* @internal */
 }
        // void Confirm_transactions_confirmed LDKConfirm *NONNULL_PTR this_arg, const uint8_t (*header)[80], struct LDKCVec_C2Tuple_usizeTransactionZZ txdata, uint32_t height
 /* @internal */
@@ -6034,12 +6550,12 @@ export function Confirm_get_relevant_txids(this_arg: bigint): number {
 }
 /* @internal */
 export interface LDKPersist {
 }
 /* @internal */
 export interface LDKPersist {
-       persist_new_channel (channel_id: bigint, data: bigint, update_id: bigint): bigint;
-       update_persisted_channel (channel_id: bigint, update: bigint, data: bigint, update_id: bigint): bigint;
+       persist_new_channel (channel_id: bigint, data: bigint, update_id: bigint): ChannelMonitorUpdateStatus;
+       update_persisted_channel (channel_id: bigint, update: bigint, data: bigint, update_id: bigint): ChannelMonitorUpdateStatus;
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKPersist_new(impl: LDKPersist): bigint {
+export function LDKPersist_new(impl: LDKPersist): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -6048,20 +6564,20 @@ export function LDKPersist_new(impl: LDKPersist): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKPersist_new(i);
+       return [wasm.TS_LDKPersist_new(i), i];
 }
 }
-       // 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
+       // LDKChannelMonitorUpdateStatus Persist_persist_new_channel LDKPersist *NONNULL_PTR this_arg, struct LDKOutPoint channel_id, const struct LDKChannelMonitor *NONNULL_PTR data, struct LDKMonitorUpdateId update_id
 /* @internal */
 /* @internal */
-export function Persist_persist_new_channel(this_arg: bigint, channel_id: bigint, data: bigint, update_id: bigint): bigint {
+export function Persist_persist_new_channel(this_arg: bigint, channel_id: bigint, data: bigint, update_id: bigint): ChannelMonitorUpdateStatus {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        const nativeResponseValue = wasm.TS_Persist_persist_new_channel(this_arg, channel_id, data, update_id);
        return nativeResponseValue;
 }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        const nativeResponseValue = wasm.TS_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 channel_id, const struct LDKChannelMonitorUpdate *NONNULL_PTR update, const struct LDKChannelMonitor *NONNULL_PTR data, struct LDKMonitorUpdateId update_id
+       // LDKChannelMonitorUpdateStatus 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
 /* @internal */
 /* @internal */
-export function Persist_update_persisted_channel(this_arg: bigint, channel_id: bigint, update: bigint, data: bigint, update_id: bigint): bigint {
+export function Persist_update_persisted_channel(this_arg: bigint, channel_id: bigint, update: bigint, data: bigint, update_id: bigint): ChannelMonitorUpdateStatus {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -6086,14 +6602,16 @@ export interface LDKChannelMessageHandler {
        handle_update_fee (their_node_id: number, msg: bigint): void;
        handle_announcement_signatures (their_node_id: number, msg: bigint): void;
        peer_disconnected (their_node_id: number, no_connection_possible: boolean): void;
        handle_update_fee (their_node_id: number, msg: bigint): void;
        handle_announcement_signatures (their_node_id: number, msg: bigint): void;
        peer_disconnected (their_node_id: number, no_connection_possible: boolean): void;
-       peer_connected (their_node_id: number, msg: bigint): void;
+       peer_connected (their_node_id: number, msg: bigint): bigint;
        handle_channel_reestablish (their_node_id: number, msg: bigint): void;
        handle_channel_update (their_node_id: number, msg: bigint): void;
        handle_error (their_node_id: number, msg: bigint): void;
        handle_channel_reestablish (their_node_id: number, msg: bigint): void;
        handle_channel_update (their_node_id: number, msg: bigint): void;
        handle_error (their_node_id: number, msg: bigint): void;
+       provided_node_features (): bigint;
+       provided_init_features (their_node_id: number): bigint;
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKChannelMessageHandler_new(impl: LDKChannelMessageHandler, MessageSendEventsProvider: LDKMessageSendEventsProvider): bigint {
+export function LDKChannelMessageHandler_new(impl: LDKChannelMessageHandler, MessageSendEventsProvider: number): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -6102,7 +6620,7 @@ export function LDKChannelMessageHandler_new(impl: LDKChannelMessageHandler, Mes
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKChannelMessageHandler_new(i);
+       return [wasm.TS_LDKChannelMessageHandler_new(i, MessageSendEventsProvider), i];
 }
        // void ChannelMessageHandler_handle_open_channel LDKChannelMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id, struct LDKInitFeatures their_features, const struct LDKOpenChannel *NONNULL_PTR msg
 /* @internal */
 }
        // void ChannelMessageHandler_handle_open_channel LDKChannelMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id, struct LDKInitFeatures their_features, const struct LDKOpenChannel *NONNULL_PTR msg
 /* @internal */
@@ -6248,14 +6766,14 @@ export function ChannelMessageHandler_peer_disconnected(this_arg: bigint, their_
        const nativeResponseValue = wasm.TS_ChannelMessageHandler_peer_disconnected(this_arg, their_node_id, no_connection_possible);
        // debug statements here
 }
        const nativeResponseValue = wasm.TS_ChannelMessageHandler_peer_disconnected(this_arg, their_node_id, no_connection_possible);
        // debug statements here
 }
-       // void ChannelMessageHandler_peer_connected LDKChannelMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id, const struct LDKInit *NONNULL_PTR msg
+       // LDKCResult_NoneNoneZ ChannelMessageHandler_peer_connected LDKChannelMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id, const struct LDKInit *NONNULL_PTR msg
 /* @internal */
 /* @internal */
-export function ChannelMessageHandler_peer_connected(this_arg: bigint, their_node_id: number, msg: bigint): void {
+export function ChannelMessageHandler_peer_connected(this_arg: bigint, their_node_id: number, msg: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        const nativeResponseValue = wasm.TS_ChannelMessageHandler_peer_connected(this_arg, their_node_id, msg);
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        const nativeResponseValue = wasm.TS_ChannelMessageHandler_peer_connected(this_arg, their_node_id, msg);
-       // debug statements here
+       return nativeResponseValue;
 }
        // void ChannelMessageHandler_handle_channel_reestablish LDKChannelMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id, const struct LDKChannelReestablish *NONNULL_PTR msg
 /* @internal */
 }
        // void ChannelMessageHandler_handle_channel_reestablish LDKChannelMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id, const struct LDKChannelReestablish *NONNULL_PTR msg
 /* @internal */
@@ -6283,23 +6801,43 @@ export function ChannelMessageHandler_handle_error(this_arg: bigint, their_node_
        }
        const nativeResponseValue = wasm.TS_ChannelMessageHandler_handle_error(this_arg, their_node_id, msg);
        // debug statements here
        }
        const nativeResponseValue = wasm.TS_ChannelMessageHandler_handle_error(this_arg, their_node_id, msg);
        // debug statements here
+}
+       // LDKNodeFeatures ChannelMessageHandler_provided_node_features LDKChannelMessageHandler *NONNULL_PTR this_arg
+/* @internal */
+export function ChannelMessageHandler_provided_node_features(this_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelMessageHandler_provided_node_features(this_arg);
+       return nativeResponseValue;
+}
+       // LDKInitFeatures ChannelMessageHandler_provided_init_features LDKChannelMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id
+/* @internal */
+export function ChannelMessageHandler_provided_init_features(this_arg: bigint, their_node_id: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelMessageHandler_provided_init_features(this_arg, their_node_id);
+       return nativeResponseValue;
 }
 /* @internal */
 export interface LDKRoutingMessageHandler {
        handle_node_announcement (msg: bigint): bigint;
        handle_channel_announcement (msg: bigint): bigint;
        handle_channel_update (msg: bigint): bigint;
 }
 /* @internal */
 export interface LDKRoutingMessageHandler {
        handle_node_announcement (msg: bigint): bigint;
        handle_channel_announcement (msg: bigint): bigint;
        handle_channel_update (msg: bigint): bigint;
-       get_next_channel_announcements (starting_point: bigint, batch_amount: number): number;
-       get_next_node_announcements (starting_point: number, batch_amount: number): number;
-       peer_connected (their_node_id: number, init: bigint): void;
+       get_next_channel_announcement (starting_point: bigint): bigint;
+       get_next_node_announcement (starting_point: number): bigint;
+       peer_connected (their_node_id: number, init: bigint): bigint;
        handle_reply_channel_range (their_node_id: number, msg: bigint): bigint;
        handle_reply_short_channel_ids_end (their_node_id: number, msg: bigint): bigint;
        handle_query_channel_range (their_node_id: number, msg: bigint): bigint;
        handle_query_short_channel_ids (their_node_id: number, msg: bigint): bigint;
        handle_reply_channel_range (their_node_id: number, msg: bigint): bigint;
        handle_reply_short_channel_ids_end (their_node_id: number, msg: bigint): bigint;
        handle_query_channel_range (their_node_id: number, msg: bigint): bigint;
        handle_query_short_channel_ids (their_node_id: number, msg: bigint): bigint;
+       provided_node_features (): bigint;
+       provided_init_features (their_node_id: number): bigint;
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKRoutingMessageHandler_new(impl: LDKRoutingMessageHandler, MessageSendEventsProvider: LDKMessageSendEventsProvider): bigint {
+export function LDKRoutingMessageHandler_new(impl: LDKRoutingMessageHandler, MessageSendEventsProvider: number): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -6308,7 +6846,7 @@ export function LDKRoutingMessageHandler_new(impl: LDKRoutingMessageHandler, Mes
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKRoutingMessageHandler_new(i);
+       return [wasm.TS_LDKRoutingMessageHandler_new(i, MessageSendEventsProvider), i];
 }
        // LDKCResult_boolLightningErrorZ RoutingMessageHandler_handle_node_announcement LDKRoutingMessageHandler *NONNULL_PTR this_arg, const struct LDKNodeAnnouncement *NONNULL_PTR msg
 /* @internal */
 }
        // LDKCResult_boolLightningErrorZ RoutingMessageHandler_handle_node_announcement LDKRoutingMessageHandler *NONNULL_PTR this_arg, const struct LDKNodeAnnouncement *NONNULL_PTR msg
 /* @internal */
@@ -6337,32 +6875,32 @@ export function RoutingMessageHandler_handle_channel_update(this_arg: bigint, ms
        const nativeResponseValue = wasm.TS_RoutingMessageHandler_handle_channel_update(this_arg, msg);
        return nativeResponseValue;
 }
        const nativeResponseValue = wasm.TS_RoutingMessageHandler_handle_channel_update(this_arg, msg);
        return nativeResponseValue;
 }
-       // LDKCVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ RoutingMessageHandler_get_next_channel_announcements LDKRoutingMessageHandler *NONNULL_PTR this_arg, uint64_t starting_point, uint8_t batch_amount
+       // LDKCOption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ RoutingMessageHandler_get_next_channel_announcement LDKRoutingMessageHandler *NONNULL_PTR this_arg, uint64_t starting_point
 /* @internal */
 /* @internal */
-export function RoutingMessageHandler_get_next_channel_announcements(this_arg: bigint, starting_point: bigint, batch_amount: number): number {
+export function RoutingMessageHandler_get_next_channel_announcement(this_arg: bigint, starting_point: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_RoutingMessageHandler_get_next_channel_announcements(this_arg, starting_point, batch_amount);
+       const nativeResponseValue = wasm.TS_RoutingMessageHandler_get_next_channel_announcement(this_arg, starting_point);
        return nativeResponseValue;
 }
        return nativeResponseValue;
 }
-       // LDKCVec_NodeAnnouncementZ RoutingMessageHandler_get_next_node_announcements LDKRoutingMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey starting_point, uint8_t batch_amount
+       // LDKNodeAnnouncement RoutingMessageHandler_get_next_node_announcement LDKRoutingMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey starting_point
 /* @internal */
 /* @internal */
-export function RoutingMessageHandler_get_next_node_announcements(this_arg: bigint, starting_point: number, batch_amount: number): number {
+export function RoutingMessageHandler_get_next_node_announcement(this_arg: bigint, starting_point: number): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_RoutingMessageHandler_get_next_node_announcements(this_arg, starting_point, batch_amount);
+       const nativeResponseValue = wasm.TS_RoutingMessageHandler_get_next_node_announcement(this_arg, starting_point);
        return nativeResponseValue;
 }
        return nativeResponseValue;
 }
-       // void RoutingMessageHandler_peer_connected LDKRoutingMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id, const struct LDKInit *NONNULL_PTR init
+       // LDKCResult_NoneNoneZ RoutingMessageHandler_peer_connected LDKRoutingMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id, const struct LDKInit *NONNULL_PTR init
 /* @internal */
 /* @internal */
-export function RoutingMessageHandler_peer_connected(this_arg: bigint, their_node_id: number, init: bigint): void {
+export function RoutingMessageHandler_peer_connected(this_arg: bigint, their_node_id: number, init: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        const nativeResponseValue = wasm.TS_RoutingMessageHandler_peer_connected(this_arg, their_node_id, init);
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        const nativeResponseValue = wasm.TS_RoutingMessageHandler_peer_connected(this_arg, their_node_id, init);
-       // debug statements here
+       return nativeResponseValue;
 }
        // LDKCResult_NoneLightningErrorZ RoutingMessageHandler_handle_reply_channel_range LDKRoutingMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id, struct LDKReplyChannelRange msg
 /* @internal */
 }
        // LDKCResult_NoneLightningErrorZ RoutingMessageHandler_handle_reply_channel_range LDKRoutingMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id, struct LDKReplyChannelRange msg
 /* @internal */
@@ -6399,6 +6937,90 @@ export function RoutingMessageHandler_handle_query_short_channel_ids(this_arg: b
        }
        const nativeResponseValue = wasm.TS_RoutingMessageHandler_handle_query_short_channel_ids(this_arg, their_node_id, msg);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_RoutingMessageHandler_handle_query_short_channel_ids(this_arg, their_node_id, msg);
        return nativeResponseValue;
+}
+       // LDKNodeFeatures RoutingMessageHandler_provided_node_features LDKRoutingMessageHandler *NONNULL_PTR this_arg
+/* @internal */
+export function RoutingMessageHandler_provided_node_features(this_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_RoutingMessageHandler_provided_node_features(this_arg);
+       return nativeResponseValue;
+}
+       // LDKInitFeatures RoutingMessageHandler_provided_init_features LDKRoutingMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id
+/* @internal */
+export function RoutingMessageHandler_provided_init_features(this_arg: bigint, their_node_id: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_RoutingMessageHandler_provided_init_features(this_arg, their_node_id);
+       return nativeResponseValue;
+}
+/* @internal */
+export interface LDKOnionMessageHandler {
+       handle_onion_message (peer_node_id: number, msg: bigint): void;
+       peer_connected (their_node_id: number, init: bigint): bigint;
+       peer_disconnected (their_node_id: number, no_connection_possible: boolean): void;
+       provided_node_features (): bigint;
+       provided_init_features (their_node_id: number): bigint;
+}
+
+/* @internal */
+export function LDKOnionMessageHandler_new(impl: LDKOnionMessageHandler, OnionMessageProvider: number): [bigint, number] {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       var new_obj_idx = js_objs.length;
+       for (var i = 0; i < js_objs.length; i++) {
+               if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
+       }
+       js_objs[i] = new WeakRef(impl);
+       return [wasm.TS_LDKOnionMessageHandler_new(i, OnionMessageProvider), i];
+}
+       // void OnionMessageHandler_handle_onion_message LDKOnionMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey peer_node_id, const struct LDKOnionMessage *NONNULL_PTR msg
+/* @internal */
+export function OnionMessageHandler_handle_onion_message(this_arg: bigint, peer_node_id: number, msg: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessageHandler_handle_onion_message(this_arg, peer_node_id, msg);
+       // debug statements here
+}
+       // LDKCResult_NoneNoneZ OnionMessageHandler_peer_connected LDKOnionMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id, const struct LDKInit *NONNULL_PTR init
+/* @internal */
+export function OnionMessageHandler_peer_connected(this_arg: bigint, their_node_id: number, init: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessageHandler_peer_connected(this_arg, their_node_id, init);
+       return nativeResponseValue;
+}
+       // void OnionMessageHandler_peer_disconnected LDKOnionMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id, bool no_connection_possible
+/* @internal */
+export function OnionMessageHandler_peer_disconnected(this_arg: bigint, their_node_id: number, no_connection_possible: boolean): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessageHandler_peer_disconnected(this_arg, their_node_id, no_connection_possible);
+       // debug statements here
+}
+       // LDKNodeFeatures OnionMessageHandler_provided_node_features LDKOnionMessageHandler *NONNULL_PTR this_arg
+/* @internal */
+export function OnionMessageHandler_provided_node_features(this_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessageHandler_provided_node_features(this_arg);
+       return nativeResponseValue;
+}
+       // LDKInitFeatures OnionMessageHandler_provided_init_features LDKOnionMessageHandler *NONNULL_PTR this_arg, struct LDKPublicKey their_node_id
+/* @internal */
+export function OnionMessageHandler_provided_init_features(this_arg: bigint, their_node_id: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessageHandler_provided_init_features(this_arg, their_node_id);
+       return nativeResponseValue;
 }
 /* @internal */
 export interface LDKCustomMessageReader {
 }
 /* @internal */
 export interface LDKCustomMessageReader {
@@ -6406,7 +7028,7 @@ export interface LDKCustomMessageReader {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKCustomMessageReader_new(impl: LDKCustomMessageReader): bigint {
+export function LDKCustomMessageReader_new(impl: LDKCustomMessageReader): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -6415,7 +7037,7 @@ export function LDKCustomMessageReader_new(impl: LDKCustomMessageReader): bigint
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKCustomMessageReader_new(i);
+       return [wasm.TS_LDKCustomMessageReader_new(i), i];
 }
        // LDKCResult_COption_TypeZDecodeErrorZ CustomMessageReader_read LDKCustomMessageReader *NONNULL_PTR this_arg, uint16_t message_type, struct LDKu8slice buffer
 /* @internal */
 }
        // LDKCResult_COption_TypeZDecodeErrorZ CustomMessageReader_read LDKCustomMessageReader *NONNULL_PTR this_arg, uint16_t message_type, struct LDKu8slice buffer
 /* @internal */
@@ -6433,7 +7055,7 @@ export interface LDKCustomMessageHandler {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKCustomMessageHandler_new(impl: LDKCustomMessageHandler, CustomMessageReader: LDKCustomMessageReader): bigint {
+export function LDKCustomMessageHandler_new(impl: LDKCustomMessageHandler, CustomMessageReader: number): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -6442,7 +7064,7 @@ export function LDKCustomMessageHandler_new(impl: LDKCustomMessageHandler, Custo
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKCustomMessageHandler_new(i);
+       return [wasm.TS_LDKCustomMessageHandler_new(i, CustomMessageReader), i];
 }
        // LDKCResult_NoneLightningErrorZ CustomMessageHandler_handle_custom_message LDKCustomMessageHandler *NONNULL_PTR this_arg, struct LDKType msg, struct LDKPublicKey sender_node_id
 /* @internal */
 }
        // LDKCResult_NoneLightningErrorZ CustomMessageHandler_handle_custom_message LDKCustomMessageHandler *NONNULL_PTR this_arg, struct LDKType msg, struct LDKPublicKey sender_node_id
 /* @internal */
@@ -6463,6 +7085,42 @@ export function CustomMessageHandler_get_and_clear_pending_msg(this_arg: bigint)
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
+export interface LDKCustomOnionMessageHandler {
+       handle_custom_message (msg: bigint): void;
+       read_custom_message (message_type: bigint, buffer: number): bigint;
+}
+
+/* @internal */
+export function LDKCustomOnionMessageHandler_new(impl: LDKCustomOnionMessageHandler): [bigint, number] {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       var new_obj_idx = js_objs.length;
+       for (var i = 0; i < js_objs.length; i++) {
+               if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
+       }
+       js_objs[i] = new WeakRef(impl);
+       return [wasm.TS_LDKCustomOnionMessageHandler_new(i), i];
+}
+       // void CustomOnionMessageHandler_handle_custom_message LDKCustomOnionMessageHandler *NONNULL_PTR this_arg, struct LDKCustomOnionMessageContents msg
+/* @internal */
+export function CustomOnionMessageHandler_handle_custom_message(this_arg: bigint, msg: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CustomOnionMessageHandler_handle_custom_message(this_arg, msg);
+       // debug statements here
+}
+       // LDKCResult_COption_CustomOnionMessageContentsZDecodeErrorZ CustomOnionMessageHandler_read_custom_message LDKCustomOnionMessageHandler *NONNULL_PTR this_arg, uint64_t message_type, struct LDKu8slice buffer
+/* @internal */
+export function CustomOnionMessageHandler_read_custom_message(this_arg: bigint, message_type: bigint, buffer: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CustomOnionMessageHandler_read_custom_message(this_arg, message_type, buffer);
+       return nativeResponseValue;
+}
+/* @internal */
 export interface LDKSocketDescriptor {
        send_data (data: number, resume_read: boolean): number;
        disconnect_socket (): void;
 export interface LDKSocketDescriptor {
        send_data (data: number, resume_read: boolean): number;
        disconnect_socket (): void;
@@ -6471,7 +7129,7 @@ export interface LDKSocketDescriptor {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKSocketDescriptor_new(impl: LDKSocketDescriptor): bigint {
+export function LDKSocketDescriptor_new(impl: LDKSocketDescriptor): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -6480,7 +7138,7 @@ export function LDKSocketDescriptor_new(impl: LDKSocketDescriptor): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKSocketDescriptor_new(i);
+       return [wasm.TS_LDKSocketDescriptor_new(i), i];
 }
        // uintptr_t SocketDescriptor_send_data LDKSocketDescriptor *NONNULL_PTR this_arg, struct LDKu8slice data, bool resume_read
 /* @internal */
 }
        // uintptr_t SocketDescriptor_send_data LDKSocketDescriptor *NONNULL_PTR this_arg, struct LDKu8slice data, bool resume_read
 /* @internal */
@@ -6554,29 +7212,31 @@ export function LDKEffectiveCapacity_Total_get_htlc_maximum_msat(ptr: bigint): b
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
-export interface LDKLockableScore {
-       lock (): bigint;
+export class LDKDestination {
+       protected constructor() {}
 }
 }
-
 /* @internal */
 /* @internal */
-export function LDKLockableScore_new(impl: LDKLockableScore): bigint {
+export function LDKDestination_ty_from_ptr(ptr: bigint): number {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       var new_obj_idx = js_objs.length;
-       for (var i = 0; i < js_objs.length; i++) {
-               if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
+       const nativeResponseValue = wasm.TS_LDKDestination_ty_from_ptr(ptr);
+       return nativeResponseValue;
+}
+/* @internal */
+export function LDKDestination_Node_get_node(ptr: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
        }
        }
-       js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKLockableScore_new(i);
+       const nativeResponseValue = wasm.TS_LDKDestination_Node_get_node(ptr);
+       return nativeResponseValue;
 }
 }
-       // LDKScore LockableScore_lock LDKLockableScore *NONNULL_PTR this_arg
 /* @internal */
 /* @internal */
-export function LockableScore_lock(this_arg: bigint): bigint {
+export function LDKDestination_BlindedRoute_get_blinded_route(ptr: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_LockableScore_lock(this_arg);
+       const nativeResponseValue = wasm.TS_LDKDestination_BlindedRoute_get_blinded_route(ptr);
        return nativeResponseValue;
 }
 /* @internal */
        return nativeResponseValue;
 }
 /* @internal */
@@ -6634,7 +7294,7 @@ export interface LDKPayer {
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKPayer_new(impl: LDKPayer): bigint {
+export function LDKPayer_new(impl: LDKPayer): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -6643,7 +7303,7 @@ export function LDKPayer_new(impl: LDKPayer): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKPayer_new(i);
+       return [wasm.TS_LDKPayer_new(i), i];
 }
        // LDKPublicKey Payer_node_id LDKPayer *NONNULL_PTR this_arg
 /* @internal */
 }
        // LDKPublicKey Payer_node_id LDKPayer *NONNULL_PTR this_arg
 /* @internal */
@@ -6701,11 +7361,15 @@ export function Payer_abandon_payment(this_arg: bigint, payment_id: number): voi
 }
 /* @internal */
 export interface LDKRouter {
 }
 /* @internal */
 export interface LDKRouter {
-       find_route (payer: number, route_params: bigint, payment_hash: number, first_hops: number, scorer: bigint): bigint;
+       find_route (payer: number, route_params: bigint, payment_hash: number, first_hops: number, inflight_htlcs: bigint): bigint;
+       notify_payment_path_failed (path: number, short_channel_id: bigint): void;
+       notify_payment_path_successful (path: number): void;
+       notify_payment_probe_successful (path: number): void;
+       notify_payment_probe_failed (path: number, short_channel_id: bigint): void;
 }
 
 /* @internal */
 }
 
 /* @internal */
-export function LDKRouter_new(impl: LDKRouter): bigint {
+export function LDKRouter_new(impl: LDKRouter): [bigint, number] {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
@@ -6714,16 +7378,52 @@ export function LDKRouter_new(impl: LDKRouter): bigint {
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
                if (js_objs[i] == null || js_objs[i] == undefined) { new_obj_idx = i; break; }
        }
        js_objs[i] = new WeakRef(impl);
-       return wasm.TS_LDKRouter_new(i);
+       return [wasm.TS_LDKRouter_new(i), i];
 }
 }
-       // LDKCResult_RouteLightningErrorZ Router_find_route LDKRouter *NONNULL_PTR this_arg, struct LDKPublicKey payer, const struct LDKRouteParameters *NONNULL_PTR route_params, const uint8_t (*payment_hash)[32], struct LDKCVec_ChannelDetailsZ *first_hops, const struct LDKScore *NONNULL_PTR scorer
+       // LDKCResult_RouteLightningErrorZ Router_find_route LDKRouter *NONNULL_PTR this_arg, struct LDKPublicKey payer, const struct LDKRouteParameters *NONNULL_PTR route_params, const uint8_t (*payment_hash)[32], struct LDKCVec_ChannelDetailsZ *first_hops, struct LDKInFlightHtlcs inflight_htlcs
 /* @internal */
 /* @internal */
-export function Router_find_route(this_arg: bigint, payer: number, route_params: bigint, payment_hash: number, first_hops: number, scorer: bigint): bigint {
+export function Router_find_route(this_arg: bigint, payer: number, route_params: bigint, payment_hash: number, first_hops: number, inflight_htlcs: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_Router_find_route(this_arg, payer, route_params, payment_hash, first_hops, scorer);
+       const nativeResponseValue = wasm.TS_Router_find_route(this_arg, payer, route_params, payment_hash, first_hops, inflight_htlcs);
        return nativeResponseValue;
        return nativeResponseValue;
+}
+       // void Router_notify_payment_path_failed LDKRouter *NONNULL_PTR this_arg, struct LDKCVec_RouteHopZ path, uint64_t short_channel_id
+/* @internal */
+export function Router_notify_payment_path_failed(this_arg: bigint, path: number, short_channel_id: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Router_notify_payment_path_failed(this_arg, path, short_channel_id);
+       // debug statements here
+}
+       // void Router_notify_payment_path_successful LDKRouter *NONNULL_PTR this_arg, struct LDKCVec_RouteHopZ path
+/* @internal */
+export function Router_notify_payment_path_successful(this_arg: bigint, path: number): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Router_notify_payment_path_successful(this_arg, path);
+       // debug statements here
+}
+       // void Router_notify_payment_probe_successful LDKRouter *NONNULL_PTR this_arg, struct LDKCVec_RouteHopZ path
+/* @internal */
+export function Router_notify_payment_probe_successful(this_arg: bigint, path: number): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Router_notify_payment_probe_successful(this_arg, path);
+       // debug statements here
+}
+       // void Router_notify_payment_probe_failed LDKRouter *NONNULL_PTR this_arg, struct LDKCVec_RouteHopZ path, uint64_t short_channel_id
+/* @internal */
+export function Router_notify_payment_probe_failed(this_arg: bigint, path: number, short_channel_id: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Router_notify_payment_probe_failed(this_arg, path, short_channel_id);
+       // debug statements here
 }
 /* @internal */
 export class LDKRetry {
 }
 /* @internal */
 export class LDKRetry {
@@ -6762,6 +7462,15 @@ export function _ldk_c_bindings_get_compiled_version(): number {
        }
        const nativeResponseValue = wasm.TS__ldk_c_bindings_get_compiled_version();
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS__ldk_c_bindings_get_compiled_version();
        return nativeResponseValue;
+}
+       // struct LDKBigEndianScalar BigEndianScalar_new(struct LDKThirtyTwoBytes big_endian_bytes);
+/* @internal */
+export function BigEndianScalar_new(big_endian_bytes: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_BigEndianScalar_new(big_endian_bytes);
+       return nativeResponseValue;
 }
        // uint64_t Bech32Error_clone_ptr(LDKBech32Error *NONNULL_PTR arg);
 /* @internal */
 }
        // uint64_t Bech32Error_clone_ptr(LDKBech32Error *NONNULL_PTR arg);
 /* @internal */
@@ -6843,6 +7552,123 @@ export function Str_free(_res: number): void {
        }
        const nativeResponseValue = wasm.TS_Str_free(_res);
        // debug statements here
        }
        const nativeResponseValue = wasm.TS_Str_free(_res);
        // debug statements here
+}
+       // void CVec_PublicKeyZ_free(struct LDKCVec_PublicKeyZ _res);
+/* @internal */
+export function CVec_PublicKeyZ_free(_res: number): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CVec_PublicKeyZ_free(_res);
+       // debug statements here
+}
+       // struct LDKCResult_BlindedRouteNoneZ CResult_BlindedRouteNoneZ_ok(struct LDKBlindedRoute o);
+/* @internal */
+export function CResult_BlindedRouteNoneZ_ok(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedRouteNoneZ_ok(o);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_BlindedRouteNoneZ CResult_BlindedRouteNoneZ_err(void);
+/* @internal */
+export function CResult_BlindedRouteNoneZ_err(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedRouteNoneZ_err();
+       return nativeResponseValue;
+}
+       // bool CResult_BlindedRouteNoneZ_is_ok(const struct LDKCResult_BlindedRouteNoneZ *NONNULL_PTR o);
+/* @internal */
+export function CResult_BlindedRouteNoneZ_is_ok(o: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedRouteNoneZ_is_ok(o);
+       return nativeResponseValue;
+}
+       // void CResult_BlindedRouteNoneZ_free(struct LDKCResult_BlindedRouteNoneZ _res);
+/* @internal */
+export function CResult_BlindedRouteNoneZ_free(_res: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedRouteNoneZ_free(_res);
+       // debug statements here
+}
+       // struct LDKCResult_BlindedRouteDecodeErrorZ CResult_BlindedRouteDecodeErrorZ_ok(struct LDKBlindedRoute o);
+/* @internal */
+export function CResult_BlindedRouteDecodeErrorZ_ok(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedRouteDecodeErrorZ_ok(o);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_BlindedRouteDecodeErrorZ CResult_BlindedRouteDecodeErrorZ_err(struct LDKDecodeError e);
+/* @internal */
+export function CResult_BlindedRouteDecodeErrorZ_err(e: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedRouteDecodeErrorZ_err(e);
+       return nativeResponseValue;
+}
+       // bool CResult_BlindedRouteDecodeErrorZ_is_ok(const struct LDKCResult_BlindedRouteDecodeErrorZ *NONNULL_PTR o);
+/* @internal */
+export function CResult_BlindedRouteDecodeErrorZ_is_ok(o: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedRouteDecodeErrorZ_is_ok(o);
+       return nativeResponseValue;
+}
+       // void CResult_BlindedRouteDecodeErrorZ_free(struct LDKCResult_BlindedRouteDecodeErrorZ _res);
+/* @internal */
+export function CResult_BlindedRouteDecodeErrorZ_free(_res: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedRouteDecodeErrorZ_free(_res);
+       // debug statements here
+}
+       // struct LDKCResult_BlindedHopDecodeErrorZ CResult_BlindedHopDecodeErrorZ_ok(struct LDKBlindedHop o);
+/* @internal */
+export function CResult_BlindedHopDecodeErrorZ_ok(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedHopDecodeErrorZ_ok(o);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_BlindedHopDecodeErrorZ CResult_BlindedHopDecodeErrorZ_err(struct LDKDecodeError e);
+/* @internal */
+export function CResult_BlindedHopDecodeErrorZ_err(e: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedHopDecodeErrorZ_err(e);
+       return nativeResponseValue;
+}
+       // bool CResult_BlindedHopDecodeErrorZ_is_ok(const struct LDKCResult_BlindedHopDecodeErrorZ *NONNULL_PTR o);
+/* @internal */
+export function CResult_BlindedHopDecodeErrorZ_is_ok(o: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedHopDecodeErrorZ_is_ok(o);
+       return nativeResponseValue;
+}
+       // void CResult_BlindedHopDecodeErrorZ_free(struct LDKCResult_BlindedHopDecodeErrorZ _res);
+/* @internal */
+export function CResult_BlindedHopDecodeErrorZ_free(_res: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_BlindedHopDecodeErrorZ_free(_res);
+       // debug statements here
 }
        // struct LDKCResult_NoneNoneZ CResult_NoneNoneZ_ok(void);
 /* @internal */
 }
        // struct LDKCResult_NoneNoneZ CResult_NoneNoneZ_ok(void);
 /* @internal */
@@ -8337,15 +9163,6 @@ export function CResult_RouteLightningErrorZ_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_CResult_RouteLightningErrorZ_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_CResult_RouteLightningErrorZ_clone(orig);
        return nativeResponseValue;
-}
-       // void CVec_PublicKeyZ_free(struct LDKCVec_PublicKeyZ _res);
-/* @internal */
-export function CVec_PublicKeyZ_free(_res: number): void {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_CVec_PublicKeyZ_free(_res);
-       // debug statements here
 }
        // struct LDKCResult_PaymentPurposeDecodeErrorZ CResult_PaymentPurposeDecodeErrorZ_ok(struct LDKPaymentPurpose o);
 /* @internal */
 }
        // struct LDKCResult_PaymentPurposeDecodeErrorZ CResult_PaymentPurposeDecodeErrorZ_ok(struct LDKPaymentPurpose o);
 /* @internal */
@@ -8868,60 +9685,6 @@ export function CVec_TxidZ_free(_res: number): void {
        }
        const nativeResponseValue = wasm.TS_CVec_TxidZ_free(_res);
        // debug statements here
        }
        const nativeResponseValue = wasm.TS_CVec_TxidZ_free(_res);
        // debug statements here
-}
-       // struct LDKCResult_NoneChannelMonitorUpdateErrZ CResult_NoneChannelMonitorUpdateErrZ_ok(void);
-/* @internal */
-export function CResult_NoneChannelMonitorUpdateErrZ_ok(): bigint {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_CResult_NoneChannelMonitorUpdateErrZ_ok();
-       return nativeResponseValue;
-}
-       // struct LDKCResult_NoneChannelMonitorUpdateErrZ CResult_NoneChannelMonitorUpdateErrZ_err(enum LDKChannelMonitorUpdateErr e);
-/* @internal */
-export function CResult_NoneChannelMonitorUpdateErrZ_err(e: ChannelMonitorUpdateErr): bigint {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_CResult_NoneChannelMonitorUpdateErrZ_err(e);
-       return nativeResponseValue;
-}
-       // bool CResult_NoneChannelMonitorUpdateErrZ_is_ok(const struct LDKCResult_NoneChannelMonitorUpdateErrZ *NONNULL_PTR o);
-/* @internal */
-export function CResult_NoneChannelMonitorUpdateErrZ_is_ok(o: bigint): boolean {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_CResult_NoneChannelMonitorUpdateErrZ_is_ok(o);
-       return nativeResponseValue;
-}
-       // void CResult_NoneChannelMonitorUpdateErrZ_free(struct LDKCResult_NoneChannelMonitorUpdateErrZ _res);
-/* @internal */
-export function CResult_NoneChannelMonitorUpdateErrZ_free(_res: bigint): void {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_CResult_NoneChannelMonitorUpdateErrZ_free(_res);
-       // debug statements here
-}
-       // uint64_t CResult_NoneChannelMonitorUpdateErrZ_clone_ptr(LDKCResult_NoneChannelMonitorUpdateErrZ *NONNULL_PTR arg);
-/* @internal */
-export function CResult_NoneChannelMonitorUpdateErrZ_clone_ptr(arg: bigint): bigint {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_CResult_NoneChannelMonitorUpdateErrZ_clone_ptr(arg);
-       return nativeResponseValue;
-}
-       // struct LDKCResult_NoneChannelMonitorUpdateErrZ CResult_NoneChannelMonitorUpdateErrZ_clone(const struct LDKCResult_NoneChannelMonitorUpdateErrZ *NONNULL_PTR orig);
-/* @internal */
-export function CResult_NoneChannelMonitorUpdateErrZ_clone(orig: bigint): bigint {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_CResult_NoneChannelMonitorUpdateErrZ_clone(orig);
-       return nativeResponseValue;
 }
        // void CVec_MonitorEventZ_free(struct LDKCVec_MonitorEventZ _res);
 /* @internal */
 }
        // void CVec_MonitorEventZ_free(struct LDKCVec_MonitorEventZ _res);
 /* @internal */
@@ -8976,51 +9739,6 @@ export function CVec_C3Tuple_OutPointCVec_MonitorEventZPublicKeyZZ_free(_res: nu
        }
        const nativeResponseValue = wasm.TS_CVec_C3Tuple_OutPointCVec_MonitorEventZPublicKeyZZ_free(_res);
        // debug statements here
        }
        const nativeResponseValue = wasm.TS_CVec_C3Tuple_OutPointCVec_MonitorEventZPublicKeyZZ_free(_res);
        // debug statements here
-}
-       // struct LDKCOption_C2Tuple_usizeTransactionZZ COption_C2Tuple_usizeTransactionZZ_some(struct LDKC2Tuple_usizeTransactionZ o);
-/* @internal */
-export function COption_C2Tuple_usizeTransactionZZ_some(o: bigint): bigint {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_COption_C2Tuple_usizeTransactionZZ_some(o);
-       return nativeResponseValue;
-}
-       // struct LDKCOption_C2Tuple_usizeTransactionZZ COption_C2Tuple_usizeTransactionZZ_none(void);
-/* @internal */
-export function COption_C2Tuple_usizeTransactionZZ_none(): bigint {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_COption_C2Tuple_usizeTransactionZZ_none();
-       return nativeResponseValue;
-}
-       // void COption_C2Tuple_usizeTransactionZZ_free(struct LDKCOption_C2Tuple_usizeTransactionZZ _res);
-/* @internal */
-export function COption_C2Tuple_usizeTransactionZZ_free(_res: bigint): void {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_COption_C2Tuple_usizeTransactionZZ_free(_res);
-       // debug statements here
-}
-       // uint64_t COption_C2Tuple_usizeTransactionZZ_clone_ptr(LDKCOption_C2Tuple_usizeTransactionZZ *NONNULL_PTR arg);
-/* @internal */
-export function COption_C2Tuple_usizeTransactionZZ_clone_ptr(arg: bigint): bigint {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_COption_C2Tuple_usizeTransactionZZ_clone_ptr(arg);
-       return nativeResponseValue;
-}
-       // struct LDKCOption_C2Tuple_usizeTransactionZZ COption_C2Tuple_usizeTransactionZZ_clone(const struct LDKCOption_C2Tuple_usizeTransactionZZ *NONNULL_PTR orig);
-/* @internal */
-export function COption_C2Tuple_usizeTransactionZZ_clone(orig: bigint): bigint {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_COption_C2Tuple_usizeTransactionZZ_clone(orig);
-       return nativeResponseValue;
 }
        // struct LDKCResult_FixedPenaltyScorerDecodeErrorZ CResult_FixedPenaltyScorerDecodeErrorZ_ok(struct LDKFixedPenaltyScorer o);
 /* @internal */
 }
        // struct LDKCResult_FixedPenaltyScorerDecodeErrorZ CResult_FixedPenaltyScorerDecodeErrorZ_ok(struct LDKFixedPenaltyScorer o);
 /* @internal */
@@ -9697,23 +10415,50 @@ export function C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_free(_res
        const nativeResponseValue = wasm.TS_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_free(_res);
        // debug statements here
 }
        const nativeResponseValue = wasm.TS_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_free(_res);
        // debug statements here
 }
-       // void CVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_free(struct LDKCVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ _res);
+       // struct LDKCOption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_some(struct LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ o);
 /* @internal */
 /* @internal */
-export function CVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_free(_res: number): void {
+export function COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_some(o: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_CVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_free(_res);
-       // debug statements here
+       const nativeResponseValue = wasm.TS_COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_some(o);
+       return nativeResponseValue;
+}
+       // struct LDKCOption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_none(void);
+/* @internal */
+export function COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_none(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_none();
+       return nativeResponseValue;
 }
 }
-       // void CVec_NodeAnnouncementZ_free(struct LDKCVec_NodeAnnouncementZ _res);
+       // void COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_free(struct LDKCOption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ _res);
 /* @internal */
 /* @internal */
-export function CVec_NodeAnnouncementZ_free(_res: number): void {
+export function COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_free(_res: bigint): void {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_CVec_NodeAnnouncementZ_free(_res);
+       const nativeResponseValue = wasm.TS_COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_free(_res);
        // debug statements here
        // debug statements here
+}
+       // uint64_t COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_clone_ptr(LDKCOption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ *NONNULL_PTR arg);
+/* @internal */
+export function COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_clone_ptr(arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_clone_ptr(arg);
+       return nativeResponseValue;
+}
+       // struct LDKCOption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_clone(const struct LDKCOption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ *NONNULL_PTR orig);
+/* @internal */
+export function COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_clone(orig: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_COption_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_clone(orig);
+       return nativeResponseValue;
 }
        // struct LDKCResult_NoneLightningErrorZ CResult_NoneLightningErrorZ_ok(void);
 /* @internal */
 }
        // struct LDKCResult_NoneLightningErrorZ CResult_NoneLightningErrorZ_ok(void);
 /* @internal */
@@ -10641,6 +11386,141 @@ export function CResult_SecretKeyNoneZ_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_CResult_SecretKeyNoneZ_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_CResult_SecretKeyNoneZ_clone(orig);
        return nativeResponseValue;
+}
+       // struct LDKCResult_PublicKeyNoneZ CResult_PublicKeyNoneZ_ok(struct LDKPublicKey o);
+/* @internal */
+export function CResult_PublicKeyNoneZ_ok(o: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_PublicKeyNoneZ_ok(o);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_PublicKeyNoneZ CResult_PublicKeyNoneZ_err(void);
+/* @internal */
+export function CResult_PublicKeyNoneZ_err(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_PublicKeyNoneZ_err();
+       return nativeResponseValue;
+}
+       // bool CResult_PublicKeyNoneZ_is_ok(const struct LDKCResult_PublicKeyNoneZ *NONNULL_PTR o);
+/* @internal */
+export function CResult_PublicKeyNoneZ_is_ok(o: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_PublicKeyNoneZ_is_ok(o);
+       return nativeResponseValue;
+}
+       // void CResult_PublicKeyNoneZ_free(struct LDKCResult_PublicKeyNoneZ _res);
+/* @internal */
+export function CResult_PublicKeyNoneZ_free(_res: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_PublicKeyNoneZ_free(_res);
+       // debug statements here
+}
+       // uint64_t CResult_PublicKeyNoneZ_clone_ptr(LDKCResult_PublicKeyNoneZ *NONNULL_PTR arg);
+/* @internal */
+export function CResult_PublicKeyNoneZ_clone_ptr(arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_PublicKeyNoneZ_clone_ptr(arg);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_PublicKeyNoneZ CResult_PublicKeyNoneZ_clone(const struct LDKCResult_PublicKeyNoneZ *NONNULL_PTR orig);
+/* @internal */
+export function CResult_PublicKeyNoneZ_clone(orig: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_PublicKeyNoneZ_clone(orig);
+       return nativeResponseValue;
+}
+       // struct LDKCOption_ScalarZ COption_ScalarZ_some(struct LDKBigEndianScalar o);
+/* @internal */
+export function COption_ScalarZ_some(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_COption_ScalarZ_some(o);
+       return nativeResponseValue;
+}
+       // struct LDKCOption_ScalarZ COption_ScalarZ_none(void);
+/* @internal */
+export function COption_ScalarZ_none(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_COption_ScalarZ_none();
+       return nativeResponseValue;
+}
+       // void COption_ScalarZ_free(struct LDKCOption_ScalarZ _res);
+/* @internal */
+export function COption_ScalarZ_free(_res: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_COption_ScalarZ_free(_res);
+       // debug statements here
+}
+       // struct LDKCResult_SharedSecretNoneZ CResult_SharedSecretNoneZ_ok(struct LDKThirtyTwoBytes o);
+/* @internal */
+export function CResult_SharedSecretNoneZ_ok(o: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_SharedSecretNoneZ_ok(o);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_SharedSecretNoneZ CResult_SharedSecretNoneZ_err(void);
+/* @internal */
+export function CResult_SharedSecretNoneZ_err(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_SharedSecretNoneZ_err();
+       return nativeResponseValue;
+}
+       // bool CResult_SharedSecretNoneZ_is_ok(const struct LDKCResult_SharedSecretNoneZ *NONNULL_PTR o);
+/* @internal */
+export function CResult_SharedSecretNoneZ_is_ok(o: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_SharedSecretNoneZ_is_ok(o);
+       return nativeResponseValue;
+}
+       // void CResult_SharedSecretNoneZ_free(struct LDKCResult_SharedSecretNoneZ _res);
+/* @internal */
+export function CResult_SharedSecretNoneZ_free(_res: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_SharedSecretNoneZ_free(_res);
+       // debug statements here
+}
+       // uint64_t CResult_SharedSecretNoneZ_clone_ptr(LDKCResult_SharedSecretNoneZ *NONNULL_PTR arg);
+/* @internal */
+export function CResult_SharedSecretNoneZ_clone_ptr(arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_SharedSecretNoneZ_clone_ptr(arg);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_SharedSecretNoneZ CResult_SharedSecretNoneZ_clone(const struct LDKCResult_SharedSecretNoneZ *NONNULL_PTR orig);
+/* @internal */
+export function CResult_SharedSecretNoneZ_clone(orig: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_SharedSecretNoneZ_clone(orig);
+       return nativeResponseValue;
 }
        // struct LDKCResult_SignDecodeErrorZ CResult_SignDecodeErrorZ_ok(struct LDKSign o);
 /* @internal */
 }
        // struct LDKCResult_SignDecodeErrorZ CResult_SignDecodeErrorZ_ok(struct LDKSign o);
 /* @internal */
@@ -12171,6 +13051,42 @@ export function CResult_PaymentIdPaymentErrorZ_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_CResult_PaymentIdPaymentErrorZ_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_CResult_PaymentIdPaymentErrorZ_clone(orig);
        return nativeResponseValue;
+}
+       // struct LDKCResult_InFlightHtlcsDecodeErrorZ CResult_InFlightHtlcsDecodeErrorZ_ok(struct LDKInFlightHtlcs o);
+/* @internal */
+export function CResult_InFlightHtlcsDecodeErrorZ_ok(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_InFlightHtlcsDecodeErrorZ_ok(o);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_InFlightHtlcsDecodeErrorZ CResult_InFlightHtlcsDecodeErrorZ_err(struct LDKDecodeError e);
+/* @internal */
+export function CResult_InFlightHtlcsDecodeErrorZ_err(e: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_InFlightHtlcsDecodeErrorZ_err(e);
+       return nativeResponseValue;
+}
+       // bool CResult_InFlightHtlcsDecodeErrorZ_is_ok(const struct LDKCResult_InFlightHtlcsDecodeErrorZ *NONNULL_PTR o);
+/* @internal */
+export function CResult_InFlightHtlcsDecodeErrorZ_is_ok(o: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_InFlightHtlcsDecodeErrorZ_is_ok(o);
+       return nativeResponseValue;
+}
+       // void CResult_InFlightHtlcsDecodeErrorZ_free(struct LDKCResult_InFlightHtlcsDecodeErrorZ _res);
+/* @internal */
+export function CResult_InFlightHtlcsDecodeErrorZ_free(_res: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_InFlightHtlcsDecodeErrorZ_free(_res);
+       // debug statements here
 }
        // struct LDKCResult_SiPrefixParseErrorZ CResult_SiPrefixParseErrorZ_ok(enum LDKSiPrefix o);
 /* @internal */
 }
        // struct LDKCResult_SiPrefixParseErrorZ CResult_SiPrefixParseErrorZ_ok(enum LDKSiPrefix o);
 /* @internal */
@@ -13341,6 +14257,105 @@ export function CVec_C2Tuple_PublicKeyTypeZZ_free(_res: number): void {
        }
        const nativeResponseValue = wasm.TS_CVec_C2Tuple_PublicKeyTypeZZ_free(_res);
        // debug statements here
        }
        const nativeResponseValue = wasm.TS_CVec_C2Tuple_PublicKeyTypeZZ_free(_res);
        // debug statements here
+}
+       // struct LDKCOption_CustomOnionMessageContentsZ COption_CustomOnionMessageContentsZ_some(struct LDKCustomOnionMessageContents o);
+/* @internal */
+export function COption_CustomOnionMessageContentsZ_some(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_COption_CustomOnionMessageContentsZ_some(o);
+       return nativeResponseValue;
+}
+       // struct LDKCOption_CustomOnionMessageContentsZ COption_CustomOnionMessageContentsZ_none(void);
+/* @internal */
+export function COption_CustomOnionMessageContentsZ_none(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_COption_CustomOnionMessageContentsZ_none();
+       return nativeResponseValue;
+}
+       // void COption_CustomOnionMessageContentsZ_free(struct LDKCOption_CustomOnionMessageContentsZ _res);
+/* @internal */
+export function COption_CustomOnionMessageContentsZ_free(_res: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_COption_CustomOnionMessageContentsZ_free(_res);
+       // debug statements here
+}
+       // uint64_t COption_CustomOnionMessageContentsZ_clone_ptr(LDKCOption_CustomOnionMessageContentsZ *NONNULL_PTR arg);
+/* @internal */
+export function COption_CustomOnionMessageContentsZ_clone_ptr(arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_COption_CustomOnionMessageContentsZ_clone_ptr(arg);
+       return nativeResponseValue;
+}
+       // struct LDKCOption_CustomOnionMessageContentsZ COption_CustomOnionMessageContentsZ_clone(const struct LDKCOption_CustomOnionMessageContentsZ *NONNULL_PTR orig);
+/* @internal */
+export function COption_CustomOnionMessageContentsZ_clone(orig: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_COption_CustomOnionMessageContentsZ_clone(orig);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_COption_CustomOnionMessageContentsZDecodeErrorZ CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_ok(struct LDKCOption_CustomOnionMessageContentsZ o);
+/* @internal */
+export function CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_ok(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_ok(o);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_COption_CustomOnionMessageContentsZDecodeErrorZ CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_err(struct LDKDecodeError e);
+/* @internal */
+export function CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_err(e: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_err(e);
+       return nativeResponseValue;
+}
+       // bool CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_is_ok(const struct LDKCResult_COption_CustomOnionMessageContentsZDecodeErrorZ *NONNULL_PTR o);
+/* @internal */
+export function CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_is_ok(o: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_is_ok(o);
+       return nativeResponseValue;
+}
+       // void CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_free(struct LDKCResult_COption_CustomOnionMessageContentsZDecodeErrorZ _res);
+/* @internal */
+export function CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_free(_res: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_free(_res);
+       // debug statements here
+}
+       // uint64_t CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_clone_ptr(LDKCResult_COption_CustomOnionMessageContentsZDecodeErrorZ *NONNULL_PTR arg);
+/* @internal */
+export function CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_clone_ptr(arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_clone_ptr(arg);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_COption_CustomOnionMessageContentsZDecodeErrorZ CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_clone(const struct LDKCResult_COption_CustomOnionMessageContentsZDecodeErrorZ *NONNULL_PTR orig);
+/* @internal */
+export function CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_clone(orig: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_COption_CustomOnionMessageContentsZDecodeErrorZ_clone(orig);
+       return nativeResponseValue;
 }
        // struct LDKCOption_NetAddressZ COption_NetAddressZ_some(struct LDKNetAddress o);
 /* @internal */
 }
        // struct LDKCOption_NetAddressZ COption_NetAddressZ_some(struct LDKNetAddress o);
 /* @internal */
@@ -13548,6 +14563,78 @@ export function CResult_boolPeerHandleErrorZ_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_CResult_boolPeerHandleErrorZ_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_CResult_boolPeerHandleErrorZ_clone(orig);
        return nativeResponseValue;
+}
+       // struct LDKCResult_NoneSendErrorZ CResult_NoneSendErrorZ_ok(void);
+/* @internal */
+export function CResult_NoneSendErrorZ_ok(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_NoneSendErrorZ_ok();
+       return nativeResponseValue;
+}
+       // struct LDKCResult_NoneSendErrorZ CResult_NoneSendErrorZ_err(struct LDKSendError e);
+/* @internal */
+export function CResult_NoneSendErrorZ_err(e: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_NoneSendErrorZ_err(e);
+       return nativeResponseValue;
+}
+       // bool CResult_NoneSendErrorZ_is_ok(const struct LDKCResult_NoneSendErrorZ *NONNULL_PTR o);
+/* @internal */
+export function CResult_NoneSendErrorZ_is_ok(o: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_NoneSendErrorZ_is_ok(o);
+       return nativeResponseValue;
+}
+       // void CResult_NoneSendErrorZ_free(struct LDKCResult_NoneSendErrorZ _res);
+/* @internal */
+export function CResult_NoneSendErrorZ_free(_res: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_NoneSendErrorZ_free(_res);
+       // debug statements here
+}
+       // struct LDKCResult_u32GraphSyncErrorZ CResult_u32GraphSyncErrorZ_ok(uint32_t o);
+/* @internal */
+export function CResult_u32GraphSyncErrorZ_ok(o: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_u32GraphSyncErrorZ_ok(o);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_u32GraphSyncErrorZ CResult_u32GraphSyncErrorZ_err(struct LDKGraphSyncError e);
+/* @internal */
+export function CResult_u32GraphSyncErrorZ_err(e: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_u32GraphSyncErrorZ_err(e);
+       return nativeResponseValue;
+}
+       // bool CResult_u32GraphSyncErrorZ_is_ok(const struct LDKCResult_u32GraphSyncErrorZ *NONNULL_PTR o);
+/* @internal */
+export function CResult_u32GraphSyncErrorZ_is_ok(o: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_u32GraphSyncErrorZ_is_ok(o);
+       return nativeResponseValue;
+}
+       // void CResult_u32GraphSyncErrorZ_free(struct LDKCResult_u32GraphSyncErrorZ _res);
+/* @internal */
+export function CResult_u32GraphSyncErrorZ_free(_res: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_u32GraphSyncErrorZ_free(_res);
+       // debug statements here
 }
        // struct LDKCResult_NoneErrorZ CResult_NoneErrorZ_ok(void);
 /* @internal */
 }
        // struct LDKCResult_NoneErrorZ CResult_NoneErrorZ_ok(void);
 /* @internal */
@@ -14664,6 +15751,60 @@ export function CResult_UpdateAddHTLCDecodeErrorZ_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_CResult_UpdateAddHTLCDecodeErrorZ_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_CResult_UpdateAddHTLCDecodeErrorZ_clone(orig);
        return nativeResponseValue;
+}
+       // struct LDKCResult_OnionMessageDecodeErrorZ CResult_OnionMessageDecodeErrorZ_ok(struct LDKOnionMessage o);
+/* @internal */
+export function CResult_OnionMessageDecodeErrorZ_ok(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_OnionMessageDecodeErrorZ_ok(o);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_OnionMessageDecodeErrorZ CResult_OnionMessageDecodeErrorZ_err(struct LDKDecodeError e);
+/* @internal */
+export function CResult_OnionMessageDecodeErrorZ_err(e: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_OnionMessageDecodeErrorZ_err(e);
+       return nativeResponseValue;
+}
+       // bool CResult_OnionMessageDecodeErrorZ_is_ok(const struct LDKCResult_OnionMessageDecodeErrorZ *NONNULL_PTR o);
+/* @internal */
+export function CResult_OnionMessageDecodeErrorZ_is_ok(o: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_OnionMessageDecodeErrorZ_is_ok(o);
+       return nativeResponseValue;
+}
+       // void CResult_OnionMessageDecodeErrorZ_free(struct LDKCResult_OnionMessageDecodeErrorZ _res);
+/* @internal */
+export function CResult_OnionMessageDecodeErrorZ_free(_res: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_OnionMessageDecodeErrorZ_free(_res);
+       // debug statements here
+}
+       // uint64_t CResult_OnionMessageDecodeErrorZ_clone_ptr(LDKCResult_OnionMessageDecodeErrorZ *NONNULL_PTR arg);
+/* @internal */
+export function CResult_OnionMessageDecodeErrorZ_clone_ptr(arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_OnionMessageDecodeErrorZ_clone_ptr(arg);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_OnionMessageDecodeErrorZ CResult_OnionMessageDecodeErrorZ_clone(const struct LDKCResult_OnionMessageDecodeErrorZ *NONNULL_PTR orig);
+/* @internal */
+export function CResult_OnionMessageDecodeErrorZ_clone(orig: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CResult_OnionMessageDecodeErrorZ_clone(orig);
+       return nativeResponseValue;
 }
        // struct LDKCResult_PingDecodeErrorZ CResult_PingDecodeErrorZ_ok(struct LDKPing o);
 /* @internal */
 }
        // struct LDKCResult_PingDecodeErrorZ CResult_PingDecodeErrorZ_ok(struct LDKPing o);
 /* @internal */
@@ -15762,6 +16903,15 @@ export function ClosureReason_outdated_channel_manager(): bigint {
        }
        const nativeResponseValue = wasm.TS_ClosureReason_outdated_channel_manager();
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ClosureReason_outdated_channel_manager();
        return nativeResponseValue;
+}
+       // bool ClosureReason_eq(const struct LDKClosureReason *NONNULL_PTR a, const struct LDKClosureReason *NONNULL_PTR b);
+/* @internal */
+export function ClosureReason_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ClosureReason_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z ClosureReason_write(const struct LDKClosureReason *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z ClosureReason_write(const struct LDKClosureReason *NONNULL_PTR obj);
 /* @internal */
@@ -15834,6 +16984,15 @@ export function HTLCDestination_failed_payment(payment_hash: number): bigint {
        }
        const nativeResponseValue = wasm.TS_HTLCDestination_failed_payment(payment_hash);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_HTLCDestination_failed_payment(payment_hash);
        return nativeResponseValue;
+}
+       // bool HTLCDestination_eq(const struct LDKHTLCDestination *NONNULL_PTR a, const struct LDKHTLCDestination *NONNULL_PTR b);
+/* @internal */
+export function HTLCDestination_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_HTLCDestination_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z HTLCDestination_write(const struct LDKHTLCDestination *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z HTLCDestination_write(const struct LDKHTLCDestination *NONNULL_PTR obj);
 /* @internal */
@@ -15934,13 +17093,13 @@ export function Event_payment_path_successful(payment_id: number, payment_hash:
        const nativeResponseValue = wasm.TS_Event_payment_path_successful(payment_id, payment_hash, path);
        return nativeResponseValue;
 }
        const nativeResponseValue = wasm.TS_Event_payment_path_successful(payment_id, payment_hash, path);
        return nativeResponseValue;
 }
-       // 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);
+       // struct LDKEvent Event_payment_path_failed(struct LDKThirtyTwoBytes payment_id, struct LDKThirtyTwoBytes payment_hash, bool payment_failed_permanently, struct LDKCOption_NetworkUpdateZ network_update, bool all_paths_failed, struct LDKCVec_RouteHopZ path, struct LDKCOption_u64Z short_channel_id, struct LDKRouteParameters retry);
 /* @internal */
 /* @internal */
-export function Event_payment_path_failed(payment_id: number, payment_hash: number, rejected_by_dest: boolean, network_update: bigint, all_paths_failed: boolean, path: number, short_channel_id: bigint, retry: bigint): bigint {
+export function Event_payment_path_failed(payment_id: number, payment_hash: number, payment_failed_permanently: boolean, network_update: bigint, all_paths_failed: boolean, path: number, short_channel_id: bigint, retry: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_Event_payment_path_failed(payment_id, payment_hash, rejected_by_dest, network_update, all_paths_failed, path, short_channel_id, retry);
+       const nativeResponseValue = wasm.TS_Event_payment_path_failed(payment_id, payment_hash, payment_failed_permanently, network_update, all_paths_failed, path, short_channel_id, retry);
        return nativeResponseValue;
 }
        // struct LDKEvent Event_probe_successful(struct LDKThirtyTwoBytes payment_id, struct LDKThirtyTwoBytes payment_hash, struct LDKCVec_RouteHopZ path);
        return nativeResponseValue;
 }
        // struct LDKEvent Event_probe_successful(struct LDKThirtyTwoBytes payment_id, struct LDKThirtyTwoBytes payment_hash, struct LDKCVec_RouteHopZ path);
@@ -16168,22 +17327,22 @@ export function MessageSendEvent_send_channel_reestablish(node_id: number, msg:
        const nativeResponseValue = wasm.TS_MessageSendEvent_send_channel_reestablish(node_id, msg);
        return nativeResponseValue;
 }
        const nativeResponseValue = wasm.TS_MessageSendEvent_send_channel_reestablish(node_id, msg);
        return nativeResponseValue;
 }
-       // struct LDKMessageSendEvent MessageSendEvent_broadcast_channel_announcement(struct LDKChannelAnnouncement msg, struct LDKChannelUpdate update_msg);
+       // struct LDKMessageSendEvent MessageSendEvent_send_channel_announcement(struct LDKPublicKey node_id, struct LDKChannelAnnouncement msg, struct LDKChannelUpdate update_msg);
 /* @internal */
 /* @internal */
-export function MessageSendEvent_broadcast_channel_announcement(msg: bigint, update_msg: bigint): bigint {
+export function MessageSendEvent_send_channel_announcement(node_id: number, msg: bigint, update_msg: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_MessageSendEvent_broadcast_channel_announcement(msg, update_msg);
+       const nativeResponseValue = wasm.TS_MessageSendEvent_send_channel_announcement(node_id, msg, update_msg);
        return nativeResponseValue;
 }
        return nativeResponseValue;
 }
-       // struct LDKMessageSendEvent MessageSendEvent_broadcast_node_announcement(struct LDKNodeAnnouncement msg);
+       // struct LDKMessageSendEvent MessageSendEvent_broadcast_channel_announcement(struct LDKChannelAnnouncement msg, struct LDKChannelUpdate update_msg);
 /* @internal */
 /* @internal */
-export function MessageSendEvent_broadcast_node_announcement(msg: bigint): bigint {
+export function MessageSendEvent_broadcast_channel_announcement(msg: bigint, update_msg: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_MessageSendEvent_broadcast_node_announcement(msg);
+       const nativeResponseValue = wasm.TS_MessageSendEvent_broadcast_channel_announcement(msg, update_msg);
        return nativeResponseValue;
 }
        // struct LDKMessageSendEvent MessageSendEvent_broadcast_channel_update(struct LDKChannelUpdate msg);
        return nativeResponseValue;
 }
        // struct LDKMessageSendEvent MessageSendEvent_broadcast_channel_update(struct LDKChannelUpdate msg);
@@ -16257,6 +17416,15 @@ export function MessageSendEventsProvider_free(this_ptr: bigint): void {
        }
        const nativeResponseValue = wasm.TS_MessageSendEventsProvider_free(this_ptr);
        // debug statements here
        }
        const nativeResponseValue = wasm.TS_MessageSendEventsProvider_free(this_ptr);
        // debug statements here
+}
+       // void OnionMessageProvider_free(struct LDKOnionMessageProvider this_ptr);
+/* @internal */
+export function OnionMessageProvider_free(this_ptr: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessageProvider_free(this_ptr);
+       // debug statements here
 }
        // void EventsProvider_free(struct LDKEventsProvider this_ptr);
 /* @internal */
 }
        // void EventsProvider_free(struct LDKEventsProvider this_ptr);
 /* @internal */
@@ -16339,13 +17507,13 @@ export function APIError_channel_unavailable(err: number): bigint {
        const nativeResponseValue = wasm.TS_APIError_channel_unavailable(err);
        return nativeResponseValue;
 }
        const nativeResponseValue = wasm.TS_APIError_channel_unavailable(err);
        return nativeResponseValue;
 }
-       // struct LDKAPIError APIError_monitor_update_failed(void);
+       // struct LDKAPIError APIError_monitor_update_in_progress(void);
 /* @internal */
 /* @internal */
-export function APIError_monitor_update_failed(): bigint {
+export function APIError_monitor_update_in_progress(): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_APIError_monitor_update_failed();
+       const nativeResponseValue = wasm.TS_APIError_monitor_update_in_progress();
        return nativeResponseValue;
 }
        // struct LDKAPIError APIError_incompatible_shutdown_script(struct LDKShutdownScript script);
        return nativeResponseValue;
 }
        // struct LDKAPIError APIError_incompatible_shutdown_script(struct LDKShutdownScript script);
@@ -16356,6 +17524,15 @@ export function APIError_incompatible_shutdown_script(script: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_APIError_incompatible_shutdown_script(script);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_APIError_incompatible_shutdown_script(script);
        return nativeResponseValue;
+}
+       // bool APIError_eq(const struct LDKAPIError *NONNULL_PTR a, const struct LDKAPIError *NONNULL_PTR b);
+/* @internal */
+export function APIError_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_APIError_eq(a, b);
+       return nativeResponseValue;
 }
        // void BigSize_free(struct LDKBigSize this_obj);
 /* @internal */
 }
        // void BigSize_free(struct LDKBigSize this_obj);
 /* @internal */
@@ -16419,6 +17596,15 @@ export function Hostname_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_Hostname_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_Hostname_clone(orig);
        return nativeResponseValue;
+}
+       // bool Hostname_eq(const struct LDKHostname *NONNULL_PTR a, const struct LDKHostname *NONNULL_PTR b);
+/* @internal */
+export function Hostname_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Hostname_eq(a, b);
+       return nativeResponseValue;
 }
        // MUST_USE_RES uint8_t Hostname_len(const struct LDKHostname *NONNULL_PTR this_arg);
 /* @internal */
 }
        // MUST_USE_RES uint8_t Hostname_len(const struct LDKHostname *NONNULL_PTR this_arg);
 /* @internal */
@@ -16473,6 +17659,33 @@ export function Persister_free(this_ptr: bigint): void {
        }
        const nativeResponseValue = wasm.TS_Persister_free(this_ptr);
        // debug statements here
        }
        const nativeResponseValue = wasm.TS_Persister_free(this_ptr);
        // debug statements here
+}
+       // void FutureCallback_free(struct LDKFutureCallback this_ptr);
+/* @internal */
+export function FutureCallback_free(this_ptr: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_FutureCallback_free(this_ptr);
+       // debug statements here
+}
+       // void Future_free(struct LDKFuture this_obj);
+/* @internal */
+export function Future_free(this_obj: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Future_free(this_obj);
+       // debug statements here
+}
+       // void Future_register_callback_fn(const struct LDKFuture *NONNULL_PTR this_arg, struct LDKFutureCallback callback);
+/* @internal */
+export function Future_register_callback_fn(this_arg: bigint, callback: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Future_register_callback_fn(this_arg, callback);
+       // debug statements here
 }
        // enum LDKLevel Level_clone(const enum LDKLevel *NONNULL_PTR orig);
 /* @internal */
 }
        // enum LDKLevel Level_clone(const enum LDKLevel *NONNULL_PTR orig);
 /* @internal */
@@ -16825,13 +18038,31 @@ export function ChannelHandshakeConfig_set_commit_upfront_shutdown_pubkey(this_p
        const nativeResponseValue = wasm.TS_ChannelHandshakeConfig_set_commit_upfront_shutdown_pubkey(this_ptr, val);
        // debug statements here
 }
        const nativeResponseValue = wasm.TS_ChannelHandshakeConfig_set_commit_upfront_shutdown_pubkey(this_ptr, val);
        // debug statements here
 }
-       // MUST_USE_RES struct LDKChannelHandshakeConfig ChannelHandshakeConfig_new(uint32_t minimum_depth_arg, uint16_t our_to_self_delay_arg, uint64_t our_htlc_minimum_msat_arg, uint8_t max_inbound_htlc_value_in_flight_percent_of_channel_arg, bool negotiate_scid_privacy_arg, bool announced_channel_arg, bool commit_upfront_shutdown_pubkey_arg);
+       // uint32_t ChannelHandshakeConfig_get_their_channel_reserve_proportional_millionths(const struct LDKChannelHandshakeConfig *NONNULL_PTR this_ptr);
+/* @internal */
+export function ChannelHandshakeConfig_get_their_channel_reserve_proportional_millionths(this_ptr: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelHandshakeConfig_get_their_channel_reserve_proportional_millionths(this_ptr);
+       return nativeResponseValue;
+}
+       // void ChannelHandshakeConfig_set_their_channel_reserve_proportional_millionths(struct LDKChannelHandshakeConfig *NONNULL_PTR this_ptr, uint32_t val);
+/* @internal */
+export function ChannelHandshakeConfig_set_their_channel_reserve_proportional_millionths(this_ptr: bigint, val: number): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelHandshakeConfig_set_their_channel_reserve_proportional_millionths(this_ptr, val);
+       // debug statements here
+}
+       // MUST_USE_RES struct LDKChannelHandshakeConfig ChannelHandshakeConfig_new(uint32_t minimum_depth_arg, uint16_t our_to_self_delay_arg, uint64_t our_htlc_minimum_msat_arg, uint8_t max_inbound_htlc_value_in_flight_percent_of_channel_arg, bool negotiate_scid_privacy_arg, bool announced_channel_arg, bool commit_upfront_shutdown_pubkey_arg, uint32_t their_channel_reserve_proportional_millionths_arg);
 /* @internal */
 /* @internal */
-export function ChannelHandshakeConfig_new(minimum_depth_arg: number, our_to_self_delay_arg: number, our_htlc_minimum_msat_arg: bigint, max_inbound_htlc_value_in_flight_percent_of_channel_arg: number, negotiate_scid_privacy_arg: boolean, announced_channel_arg: boolean, commit_upfront_shutdown_pubkey_arg: boolean): bigint {
+export function ChannelHandshakeConfig_new(minimum_depth_arg: number, our_to_self_delay_arg: number, our_htlc_minimum_msat_arg: bigint, max_inbound_htlc_value_in_flight_percent_of_channel_arg: number, negotiate_scid_privacy_arg: boolean, announced_channel_arg: boolean, commit_upfront_shutdown_pubkey_arg: boolean, their_channel_reserve_proportional_millionths_arg: number): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_ChannelHandshakeConfig_new(minimum_depth_arg, our_to_self_delay_arg, our_htlc_minimum_msat_arg, max_inbound_htlc_value_in_flight_percent_of_channel_arg, negotiate_scid_privacy_arg, announced_channel_arg, commit_upfront_shutdown_pubkey_arg);
+       const nativeResponseValue = wasm.TS_ChannelHandshakeConfig_new(minimum_depth_arg, our_to_self_delay_arg, our_htlc_minimum_msat_arg, max_inbound_htlc_value_in_flight_percent_of_channel_arg, negotiate_scid_privacy_arg, announced_channel_arg, commit_upfront_shutdown_pubkey_arg, their_channel_reserve_proportional_millionths_arg);
        return nativeResponseValue;
 }
        // uint64_t ChannelHandshakeConfig_clone_ptr(LDKChannelHandshakeConfig *NONNULL_PTR arg);
        return nativeResponseValue;
 }
        // uint64_t ChannelHandshakeConfig_clone_ptr(LDKChannelHandshakeConfig *NONNULL_PTR arg);
@@ -17211,6 +18442,15 @@ export function ChannelConfig_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ChannelConfig_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ChannelConfig_clone(orig);
        return nativeResponseValue;
+}
+       // bool ChannelConfig_eq(const struct LDKChannelConfig *NONNULL_PTR a, const struct LDKChannelConfig *NONNULL_PTR b);
+/* @internal */
+export function ChannelConfig_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelConfig_eq(a, b);
+       return nativeResponseValue;
 }
        // MUST_USE_RES struct LDKChannelConfig ChannelConfig_default(void);
 /* @internal */
 }
        // MUST_USE_RES struct LDKChannelConfig ChannelConfig_default(void);
 /* @internal */
@@ -17418,6 +18658,15 @@ export function BestBlock_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_BestBlock_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_BestBlock_clone(orig);
        return nativeResponseValue;
+}
+       // bool BestBlock_eq(const struct LDKBestBlock *NONNULL_PTR a, const struct LDKBestBlock *NONNULL_PTR b);
+/* @internal */
+export function BestBlock_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_BestBlock_eq(a, b);
+       return nativeResponseValue;
 }
        // MUST_USE_RES struct LDKBestBlock BestBlock_from_genesis(enum LDKNetwork network);
 /* @internal */
 }
        // MUST_USE_RES struct LDKBestBlock BestBlock_from_genesis(enum LDKNetwork network);
 /* @internal */
@@ -17509,31 +18758,49 @@ export function Confirm_free(this_ptr: bigint): void {
        const nativeResponseValue = wasm.TS_Confirm_free(this_ptr);
        // debug statements here
 }
        const nativeResponseValue = wasm.TS_Confirm_free(this_ptr);
        // debug statements here
 }
-       // enum LDKChannelMonitorUpdateErr ChannelMonitorUpdateErr_clone(const enum LDKChannelMonitorUpdateErr *NONNULL_PTR orig);
+       // enum LDKChannelMonitorUpdateStatus ChannelMonitorUpdateStatus_clone(const enum LDKChannelMonitorUpdateStatus *NONNULL_PTR orig);
+/* @internal */
+export function ChannelMonitorUpdateStatus_clone(orig: bigint): ChannelMonitorUpdateStatus {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelMonitorUpdateStatus_clone(orig);
+       return nativeResponseValue;
+}
+       // enum LDKChannelMonitorUpdateStatus ChannelMonitorUpdateStatus_completed(void);
+/* @internal */
+export function ChannelMonitorUpdateStatus_completed(): ChannelMonitorUpdateStatus {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelMonitorUpdateStatus_completed();
+       return nativeResponseValue;
+}
+       // enum LDKChannelMonitorUpdateStatus ChannelMonitorUpdateStatus_in_progress(void);
 /* @internal */
 /* @internal */
-export function ChannelMonitorUpdateErr_clone(orig: bigint): ChannelMonitorUpdateErr {
+export function ChannelMonitorUpdateStatus_in_progress(): ChannelMonitorUpdateStatus {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_ChannelMonitorUpdateErr_clone(orig);
+       const nativeResponseValue = wasm.TS_ChannelMonitorUpdateStatus_in_progress();
        return nativeResponseValue;
 }
        return nativeResponseValue;
 }
-       // enum LDKChannelMonitorUpdateErr ChannelMonitorUpdateErr_temporary_failure(void);
+       // enum LDKChannelMonitorUpdateStatus ChannelMonitorUpdateStatus_permanent_failure(void);
 /* @internal */
 /* @internal */
-export function ChannelMonitorUpdateErr_temporary_failure(): ChannelMonitorUpdateErr {
+export function ChannelMonitorUpdateStatus_permanent_failure(): ChannelMonitorUpdateStatus {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_ChannelMonitorUpdateErr_temporary_failure();
+       const nativeResponseValue = wasm.TS_ChannelMonitorUpdateStatus_permanent_failure();
        return nativeResponseValue;
 }
        return nativeResponseValue;
 }
-       // enum LDKChannelMonitorUpdateErr ChannelMonitorUpdateErr_permanent_failure(void);
+       // bool ChannelMonitorUpdateStatus_eq(const enum LDKChannelMonitorUpdateStatus *NONNULL_PTR a, const enum LDKChannelMonitorUpdateStatus *NONNULL_PTR b);
 /* @internal */
 /* @internal */
-export function ChannelMonitorUpdateErr_permanent_failure(): ChannelMonitorUpdateErr {
+export function ChannelMonitorUpdateStatus_eq(a: bigint, b: bigint): boolean {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_ChannelMonitorUpdateErr_permanent_failure();
+       const nativeResponseValue = wasm.TS_ChannelMonitorUpdateStatus_eq(a, b);
        return nativeResponseValue;
 }
        // void Watch_free(struct LDKWatch this_ptr);
        return nativeResponseValue;
 }
        // void Watch_free(struct LDKWatch this_ptr);
@@ -17643,6 +18910,15 @@ export function WatchedOutput_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_WatchedOutput_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_WatchedOutput_clone(orig);
        return nativeResponseValue;
+}
+       // bool WatchedOutput_eq(const struct LDKWatchedOutput *NONNULL_PTR a, const struct LDKWatchedOutput *NONNULL_PTR b);
+/* @internal */
+export function WatchedOutput_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_WatchedOutput_eq(a, b);
+       return nativeResponseValue;
 }
        // uint64_t WatchedOutput_hash(const struct LDKWatchedOutput *NONNULL_PTR o);
 /* @internal */
 }
        // uint64_t WatchedOutput_hash(const struct LDKWatchedOutput *NONNULL_PTR o);
 /* @internal */
@@ -17977,13 +19253,13 @@ export function MonitorEvent_commitment_tx_confirmed(a: bigint): bigint {
        const nativeResponseValue = wasm.TS_MonitorEvent_commitment_tx_confirmed(a);
        return nativeResponseValue;
 }
        const nativeResponseValue = wasm.TS_MonitorEvent_commitment_tx_confirmed(a);
        return nativeResponseValue;
 }
-       // struct LDKMonitorEvent MonitorEvent_update_completed(struct LDKOutPoint funding_txo, uint64_t monitor_update_id);
+       // struct LDKMonitorEvent MonitorEvent_completed(struct LDKOutPoint funding_txo, uint64_t monitor_update_id);
 /* @internal */
 /* @internal */
-export function MonitorEvent_update_completed(funding_txo: bigint, monitor_update_id: bigint): bigint {
+export function MonitorEvent_completed(funding_txo: bigint, monitor_update_id: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_MonitorEvent_update_completed(funding_txo, monitor_update_id);
+       const nativeResponseValue = wasm.TS_MonitorEvent_completed(funding_txo, monitor_update_id);
        return nativeResponseValue;
 }
        // struct LDKMonitorEvent MonitorEvent_update_failed(struct LDKOutPoint a);
        return nativeResponseValue;
 }
        // struct LDKMonitorEvent MonitorEvent_update_failed(struct LDKOutPoint a);
@@ -17994,6 +19270,15 @@ export function MonitorEvent_update_failed(a: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_MonitorEvent_update_failed(a);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_MonitorEvent_update_failed(a);
        return nativeResponseValue;
+}
+       // bool MonitorEvent_eq(const struct LDKMonitorEvent *NONNULL_PTR a, const struct LDKMonitorEvent *NONNULL_PTR b);
+/* @internal */
+export function MonitorEvent_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_MonitorEvent_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z MonitorEvent_write(const struct LDKMonitorEvent *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z MonitorEvent_write(const struct LDKMonitorEvent *NONNULL_PTR obj);
 /* @internal */
@@ -18039,6 +19324,15 @@ export function HTLCUpdate_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_HTLCUpdate_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_HTLCUpdate_clone(orig);
        return nativeResponseValue;
+}
+       // bool HTLCUpdate_eq(const struct LDKHTLCUpdate *NONNULL_PTR a, const struct LDKHTLCUpdate *NONNULL_PTR b);
+/* @internal */
+export function HTLCUpdate_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_HTLCUpdate_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z HTLCUpdate_write(const struct LDKHTLCUpdate *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z HTLCUpdate_write(const struct LDKHTLCUpdate *NONNULL_PTR obj);
 /* @internal */
@@ -18112,13 +19406,31 @@ export function Balance_contentious_claimable(claimable_amount_satoshis: bigint,
        const nativeResponseValue = wasm.TS_Balance_contentious_claimable(claimable_amount_satoshis, timeout_height);
        return nativeResponseValue;
 }
        const nativeResponseValue = wasm.TS_Balance_contentious_claimable(claimable_amount_satoshis, timeout_height);
        return nativeResponseValue;
 }
-       // struct LDKBalance Balance_maybe_claimable_htlcawaiting_timeout(uint64_t claimable_amount_satoshis, uint32_t claimable_height);
+       // struct LDKBalance Balance_maybe_timeout_claimable_htlc(uint64_t claimable_amount_satoshis, uint32_t claimable_height);
+/* @internal */
+export function Balance_maybe_timeout_claimable_htlc(claimable_amount_satoshis: bigint, claimable_height: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Balance_maybe_timeout_claimable_htlc(claimable_amount_satoshis, claimable_height);
+       return nativeResponseValue;
+}
+       // struct LDKBalance Balance_maybe_preimage_claimable_htlc(uint64_t claimable_amount_satoshis, uint32_t expiry_height);
+/* @internal */
+export function Balance_maybe_preimage_claimable_htlc(claimable_amount_satoshis: bigint, expiry_height: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Balance_maybe_preimage_claimable_htlc(claimable_amount_satoshis, expiry_height);
+       return nativeResponseValue;
+}
+       // struct LDKBalance Balance_counterparty_revoked_output_claimable(uint64_t claimable_amount_satoshis);
 /* @internal */
 /* @internal */
-export function Balance_maybe_claimable_htlcawaiting_timeout(claimable_amount_satoshis: bigint, claimable_height: number): bigint {
+export function Balance_counterparty_revoked_output_claimable(claimable_amount_satoshis: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_Balance_maybe_claimable_htlcawaiting_timeout(claimable_amount_satoshis, claimable_height);
+       const nativeResponseValue = wasm.TS_Balance_counterparty_revoked_output_claimable(claimable_amount_satoshis);
        return nativeResponseValue;
 }
        // bool Balance_eq(const struct LDKBalance *NONNULL_PTR a, const struct LDKBalance *NONNULL_PTR b);
        return nativeResponseValue;
 }
        // bool Balance_eq(const struct LDKBalance *NONNULL_PTR a, const struct LDKBalance *NONNULL_PTR b);
@@ -18606,6 +19918,15 @@ export function DelayedPaymentOutputDescriptor_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_DelayedPaymentOutputDescriptor_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_DelayedPaymentOutputDescriptor_clone(orig);
        return nativeResponseValue;
+}
+       // bool DelayedPaymentOutputDescriptor_eq(const struct LDKDelayedPaymentOutputDescriptor *NONNULL_PTR a, const struct LDKDelayedPaymentOutputDescriptor *NONNULL_PTR b);
+/* @internal */
+export function DelayedPaymentOutputDescriptor_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_DelayedPaymentOutputDescriptor_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z DelayedPaymentOutputDescriptor_write(const struct LDKDelayedPaymentOutputDescriptor *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z DelayedPaymentOutputDescriptor_write(const struct LDKDelayedPaymentOutputDescriptor *NONNULL_PTR obj);
 /* @internal */
@@ -18732,6 +20053,15 @@ export function StaticPaymentOutputDescriptor_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_StaticPaymentOutputDescriptor_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_StaticPaymentOutputDescriptor_clone(orig);
        return nativeResponseValue;
+}
+       // bool StaticPaymentOutputDescriptor_eq(const struct LDKStaticPaymentOutputDescriptor *NONNULL_PTR a, const struct LDKStaticPaymentOutputDescriptor *NONNULL_PTR b);
+/* @internal */
+export function StaticPaymentOutputDescriptor_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_StaticPaymentOutputDescriptor_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z StaticPaymentOutputDescriptor_write(const struct LDKStaticPaymentOutputDescriptor *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z StaticPaymentOutputDescriptor_write(const struct LDKStaticPaymentOutputDescriptor *NONNULL_PTR obj);
 /* @internal */
@@ -18804,6 +20134,15 @@ export function SpendableOutputDescriptor_static_payment_output(a: bigint): bigi
        }
        const nativeResponseValue = wasm.TS_SpendableOutputDescriptor_static_payment_output(a);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_SpendableOutputDescriptor_static_payment_output(a);
        return nativeResponseValue;
+}
+       // bool SpendableOutputDescriptor_eq(const struct LDKSpendableOutputDescriptor *NONNULL_PTR a, const struct LDKSpendableOutputDescriptor *NONNULL_PTR b);
+/* @internal */
+export function SpendableOutputDescriptor_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_SpendableOutputDescriptor_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z SpendableOutputDescriptor_write(const struct LDKSpendableOutputDescriptor *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z SpendableOutputDescriptor_write(const struct LDKSpendableOutputDescriptor *NONNULL_PTR obj);
 /* @internal */
@@ -20334,15 +21673,6 @@ export function ChannelManager_funding_transaction_generated(this_arg: bigint, t
        }
        const nativeResponseValue = wasm.TS_ChannelManager_funding_transaction_generated(this_arg, temporary_channel_id, counterparty_node_id, funding_transaction);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ChannelManager_funding_transaction_generated(this_arg, temporary_channel_id, counterparty_node_id, funding_transaction);
        return nativeResponseValue;
-}
-       // void ChannelManager_broadcast_node_announcement(const struct LDKChannelManager *NONNULL_PTR this_arg, struct LDKThreeBytes rgb, struct LDKThirtyTwoBytes alias, struct LDKCVec_NetAddressZ addresses);
-/* @internal */
-export function ChannelManager_broadcast_node_announcement(this_arg: bigint, rgb: number, alias: number, addresses: number): void {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_ChannelManager_broadcast_node_announcement(this_arg, rgb, alias, addresses);
-       // debug statements here
 }
        // MUST_USE_RES struct LDKCResult_NoneAPIErrorZ ChannelManager_update_channel_config(const struct LDKChannelManager *NONNULL_PTR this_arg, struct LDKPublicKey counterparty_node_id, struct LDKCVec_ThirtyTwoBytesZ channel_ids, const struct LDKChannelConfig *NONNULL_PTR config);
 /* @internal */
 }
        // MUST_USE_RES struct LDKCResult_NoneAPIErrorZ ChannelManager_update_channel_config(const struct LDKChannelManager *NONNULL_PTR this_arg, struct LDKPublicKey counterparty_node_id, struct LDKCVec_ThirtyTwoBytesZ channel_ids, const struct LDKChannelConfig *NONNULL_PTR config);
 /* @internal */
@@ -20523,6 +21853,15 @@ export function ChannelManager_await_persistable_update(this_arg: bigint): void
        }
        const nativeResponseValue = wasm.TS_ChannelManager_await_persistable_update(this_arg);
        // debug statements here
        }
        const nativeResponseValue = wasm.TS_ChannelManager_await_persistable_update(this_arg);
        // debug statements here
+}
+       // MUST_USE_RES struct LDKFuture ChannelManager_get_persistable_update_future(const struct LDKChannelManager *NONNULL_PTR this_arg);
+/* @internal */
+export function ChannelManager_get_persistable_update_future(this_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelManager_get_persistable_update_future(this_arg);
+       return nativeResponseValue;
 }
        // MUST_USE_RES struct LDKBestBlock ChannelManager_current_best_block(const struct LDKChannelManager *NONNULL_PTR this_arg);
 /* @internal */
 }
        // MUST_USE_RES struct LDKBestBlock ChannelManager_current_best_block(const struct LDKChannelManager *NONNULL_PTR this_arg);
 /* @internal */
@@ -20541,6 +21880,33 @@ export function ChannelManager_as_ChannelMessageHandler(this_arg: bigint): bigin
        }
        const nativeResponseValue = wasm.TS_ChannelManager_as_ChannelMessageHandler(this_arg);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ChannelManager_as_ChannelMessageHandler(this_arg);
        return nativeResponseValue;
+}
+       // struct LDKNodeFeatures provided_node_features(void);
+/* @internal */
+export function provided_node_features(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_provided_node_features();
+       return nativeResponseValue;
+}
+       // struct LDKChannelFeatures provided_channel_features(void);
+/* @internal */
+export function provided_channel_features(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_provided_channel_features();
+       return nativeResponseValue;
+}
+       // struct LDKInitFeatures provided_init_features(void);
+/* @internal */
+export function provided_init_features(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_provided_init_features();
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z CounterpartyForwardingInfo_write(const struct LDKCounterpartyForwardingInfo *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z CounterpartyForwardingInfo_write(const struct LDKCounterpartyForwardingInfo *NONNULL_PTR obj);
 /* @internal */
@@ -20794,13 +22160,13 @@ export function create_from_hash(keys: bigint, min_value_msat: bigint, payment_h
        const nativeResponseValue = wasm.TS_create_from_hash(keys, min_value_msat, payment_hash, invoice_expiry_delta_secs, current_time);
        return nativeResponseValue;
 }
        const nativeResponseValue = wasm.TS_create_from_hash(keys, min_value_msat, payment_hash, invoice_expiry_delta_secs, current_time);
        return nativeResponseValue;
 }
-       // void DecodeError_free(struct LDKDecodeError this_obj);
+       // void DecodeError_free(struct LDKDecodeError this_ptr);
 /* @internal */
 /* @internal */
-export function DecodeError_free(this_obj: bigint): void {
+export function DecodeError_free(this_ptr: bigint): void {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_DecodeError_free(this_obj);
+       const nativeResponseValue = wasm.TS_DecodeError_free(this_ptr);
        // debug statements here
 }
        // uint64_t DecodeError_clone_ptr(LDKDecodeError *NONNULL_PTR arg);
        // debug statements here
 }
        // uint64_t DecodeError_clone_ptr(LDKDecodeError *NONNULL_PTR arg);
@@ -20820,6 +22186,78 @@ export function DecodeError_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_DecodeError_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_DecodeError_clone(orig);
        return nativeResponseValue;
+}
+       // struct LDKDecodeError DecodeError_unknown_version(void);
+/* @internal */
+export function DecodeError_unknown_version(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_DecodeError_unknown_version();
+       return nativeResponseValue;
+}
+       // struct LDKDecodeError DecodeError_unknown_required_feature(void);
+/* @internal */
+export function DecodeError_unknown_required_feature(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_DecodeError_unknown_required_feature();
+       return nativeResponseValue;
+}
+       // struct LDKDecodeError DecodeError_invalid_value(void);
+/* @internal */
+export function DecodeError_invalid_value(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_DecodeError_invalid_value();
+       return nativeResponseValue;
+}
+       // struct LDKDecodeError DecodeError_short_read(void);
+/* @internal */
+export function DecodeError_short_read(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_DecodeError_short_read();
+       return nativeResponseValue;
+}
+       // struct LDKDecodeError DecodeError_bad_length_descriptor(void);
+/* @internal */
+export function DecodeError_bad_length_descriptor(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_DecodeError_bad_length_descriptor();
+       return nativeResponseValue;
+}
+       // struct LDKDecodeError DecodeError_io(enum LDKIOError a);
+/* @internal */
+export function DecodeError_io(a: IOError): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_DecodeError_io(a);
+       return nativeResponseValue;
+}
+       // struct LDKDecodeError DecodeError_unsupported_compression(void);
+/* @internal */
+export function DecodeError_unsupported_compression(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_DecodeError_unsupported_compression();
+       return nativeResponseValue;
+}
+       // bool DecodeError_eq(const struct LDKDecodeError *NONNULL_PTR a, const struct LDKDecodeError *NONNULL_PTR b);
+/* @internal */
+export function DecodeError_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_DecodeError_eq(a, b);
+       return nativeResponseValue;
 }
        // void Init_free(struct LDKInit this_obj);
 /* @internal */
 }
        // void Init_free(struct LDKInit this_obj);
 /* @internal */
@@ -20892,6 +22330,15 @@ export function Init_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_Init_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_Init_clone(orig);
        return nativeResponseValue;
+}
+       // bool Init_eq(const struct LDKInit *NONNULL_PTR a, const struct LDKInit *NONNULL_PTR b);
+/* @internal */
+export function Init_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Init_eq(a, b);
+       return nativeResponseValue;
 }
        // void ErrorMessage_free(struct LDKErrorMessage this_obj);
 /* @internal */
 }
        // void ErrorMessage_free(struct LDKErrorMessage this_obj);
 /* @internal */
@@ -20964,6 +22411,15 @@ export function ErrorMessage_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ErrorMessage_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ErrorMessage_clone(orig);
        return nativeResponseValue;
+}
+       // bool ErrorMessage_eq(const struct LDKErrorMessage *NONNULL_PTR a, const struct LDKErrorMessage *NONNULL_PTR b);
+/* @internal */
+export function ErrorMessage_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ErrorMessage_eq(a, b);
+       return nativeResponseValue;
 }
        // void WarningMessage_free(struct LDKWarningMessage this_obj);
 /* @internal */
 }
        // void WarningMessage_free(struct LDKWarningMessage this_obj);
 /* @internal */
@@ -21036,6 +22492,15 @@ export function WarningMessage_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_WarningMessage_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_WarningMessage_clone(orig);
        return nativeResponseValue;
+}
+       // bool WarningMessage_eq(const struct LDKWarningMessage *NONNULL_PTR a, const struct LDKWarningMessage *NONNULL_PTR b);
+/* @internal */
+export function WarningMessage_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_WarningMessage_eq(a, b);
+       return nativeResponseValue;
 }
        // void Ping_free(struct LDKPing this_obj);
 /* @internal */
 }
        // void Ping_free(struct LDKPing this_obj);
 /* @internal */
@@ -21108,6 +22573,15 @@ export function Ping_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_Ping_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_Ping_clone(orig);
        return nativeResponseValue;
+}
+       // bool Ping_eq(const struct LDKPing *NONNULL_PTR a, const struct LDKPing *NONNULL_PTR b);
+/* @internal */
+export function Ping_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Ping_eq(a, b);
+       return nativeResponseValue;
 }
        // void Pong_free(struct LDKPong this_obj);
 /* @internal */
 }
        // void Pong_free(struct LDKPong this_obj);
 /* @internal */
@@ -21162,6 +22636,15 @@ export function Pong_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_Pong_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_Pong_clone(orig);
        return nativeResponseValue;
+}
+       // bool Pong_eq(const struct LDKPong *NONNULL_PTR a, const struct LDKPong *NONNULL_PTR b);
+/* @internal */
+export function Pong_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Pong_eq(a, b);
+       return nativeResponseValue;
 }
        // void OpenChannel_free(struct LDKOpenChannel this_obj);
 /* @internal */
 }
        // void OpenChannel_free(struct LDKOpenChannel this_obj);
 /* @internal */
@@ -21531,6 +23014,15 @@ export function OpenChannel_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_OpenChannel_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_OpenChannel_clone(orig);
        return nativeResponseValue;
+}
+       // bool OpenChannel_eq(const struct LDKOpenChannel *NONNULL_PTR a, const struct LDKOpenChannel *NONNULL_PTR b);
+/* @internal */
+export function OpenChannel_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OpenChannel_eq(a, b);
+       return nativeResponseValue;
 }
        // void AcceptChannel_free(struct LDKAcceptChannel this_obj);
 /* @internal */
 }
        // void AcceptChannel_free(struct LDKAcceptChannel this_obj);
 /* @internal */
@@ -21828,6 +23320,15 @@ export function AcceptChannel_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_AcceptChannel_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_AcceptChannel_clone(orig);
        return nativeResponseValue;
+}
+       // bool AcceptChannel_eq(const struct LDKAcceptChannel *NONNULL_PTR a, const struct LDKAcceptChannel *NONNULL_PTR b);
+/* @internal */
+export function AcceptChannel_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_AcceptChannel_eq(a, b);
+       return nativeResponseValue;
 }
        // void FundingCreated_free(struct LDKFundingCreated this_obj);
 /* @internal */
 }
        // void FundingCreated_free(struct LDKFundingCreated this_obj);
 /* @internal */
@@ -21936,6 +23437,15 @@ export function FundingCreated_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_FundingCreated_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_FundingCreated_clone(orig);
        return nativeResponseValue;
+}
+       // bool FundingCreated_eq(const struct LDKFundingCreated *NONNULL_PTR a, const struct LDKFundingCreated *NONNULL_PTR b);
+/* @internal */
+export function FundingCreated_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_FundingCreated_eq(a, b);
+       return nativeResponseValue;
 }
        // void FundingSigned_free(struct LDKFundingSigned this_obj);
 /* @internal */
 }
        // void FundingSigned_free(struct LDKFundingSigned this_obj);
 /* @internal */
@@ -22008,6 +23518,15 @@ export function FundingSigned_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_FundingSigned_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_FundingSigned_clone(orig);
        return nativeResponseValue;
+}
+       // bool FundingSigned_eq(const struct LDKFundingSigned *NONNULL_PTR a, const struct LDKFundingSigned *NONNULL_PTR b);
+/* @internal */
+export function FundingSigned_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_FundingSigned_eq(a, b);
+       return nativeResponseValue;
 }
        // void ChannelReady_free(struct LDKChannelReady this_obj);
 /* @internal */
 }
        // void ChannelReady_free(struct LDKChannelReady this_obj);
 /* @internal */
@@ -22098,6 +23617,15 @@ export function ChannelReady_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ChannelReady_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ChannelReady_clone(orig);
        return nativeResponseValue;
+}
+       // bool ChannelReady_eq(const struct LDKChannelReady *NONNULL_PTR a, const struct LDKChannelReady *NONNULL_PTR b);
+/* @internal */
+export function ChannelReady_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelReady_eq(a, b);
+       return nativeResponseValue;
 }
        // void Shutdown_free(struct LDKShutdown this_obj);
 /* @internal */
 }
        // void Shutdown_free(struct LDKShutdown this_obj);
 /* @internal */
@@ -22170,6 +23698,15 @@ export function Shutdown_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_Shutdown_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_Shutdown_clone(orig);
        return nativeResponseValue;
+}
+       // bool Shutdown_eq(const struct LDKShutdown *NONNULL_PTR a, const struct LDKShutdown *NONNULL_PTR b);
+/* @internal */
+export function Shutdown_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Shutdown_eq(a, b);
+       return nativeResponseValue;
 }
        // void ClosingSignedFeeRange_free(struct LDKClosingSignedFeeRange this_obj);
 /* @internal */
 }
        // void ClosingSignedFeeRange_free(struct LDKClosingSignedFeeRange this_obj);
 /* @internal */
@@ -22242,6 +23779,15 @@ export function ClosingSignedFeeRange_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ClosingSignedFeeRange_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ClosingSignedFeeRange_clone(orig);
        return nativeResponseValue;
+}
+       // bool ClosingSignedFeeRange_eq(const struct LDKClosingSignedFeeRange *NONNULL_PTR a, const struct LDKClosingSignedFeeRange *NONNULL_PTR b);
+/* @internal */
+export function ClosingSignedFeeRange_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ClosingSignedFeeRange_eq(a, b);
+       return nativeResponseValue;
 }
        // void ClosingSigned_free(struct LDKClosingSigned this_obj);
 /* @internal */
 }
        // void ClosingSigned_free(struct LDKClosingSigned this_obj);
 /* @internal */
@@ -22350,6 +23896,15 @@ export function ClosingSigned_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ClosingSigned_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ClosingSigned_clone(orig);
        return nativeResponseValue;
+}
+       // bool ClosingSigned_eq(const struct LDKClosingSigned *NONNULL_PTR a, const struct LDKClosingSigned *NONNULL_PTR b);
+/* @internal */
+export function ClosingSigned_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ClosingSigned_eq(a, b);
+       return nativeResponseValue;
 }
        // void UpdateAddHTLC_free(struct LDKUpdateAddHTLC this_obj);
 /* @internal */
 }
        // void UpdateAddHTLC_free(struct LDKUpdateAddHTLC this_obj);
 /* @internal */
@@ -22467,6 +24022,69 @@ export function UpdateAddHTLC_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_UpdateAddHTLC_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_UpdateAddHTLC_clone(orig);
        return nativeResponseValue;
+}
+       // bool UpdateAddHTLC_eq(const struct LDKUpdateAddHTLC *NONNULL_PTR a, const struct LDKUpdateAddHTLC *NONNULL_PTR b);
+/* @internal */
+export function UpdateAddHTLC_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_UpdateAddHTLC_eq(a, b);
+       return nativeResponseValue;
+}
+       // void OnionMessage_free(struct LDKOnionMessage this_obj);
+/* @internal */
+export function OnionMessage_free(this_obj: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessage_free(this_obj);
+       // debug statements here
+}
+       // struct LDKPublicKey OnionMessage_get_blinding_point(const struct LDKOnionMessage *NONNULL_PTR this_ptr);
+/* @internal */
+export function OnionMessage_get_blinding_point(this_ptr: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessage_get_blinding_point(this_ptr);
+       return nativeResponseValue;
+}
+       // void OnionMessage_set_blinding_point(struct LDKOnionMessage *NONNULL_PTR this_ptr, struct LDKPublicKey val);
+/* @internal */
+export function OnionMessage_set_blinding_point(this_ptr: bigint, val: number): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessage_set_blinding_point(this_ptr, val);
+       // debug statements here
+}
+       // uint64_t OnionMessage_clone_ptr(LDKOnionMessage *NONNULL_PTR arg);
+/* @internal */
+export function OnionMessage_clone_ptr(arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessage_clone_ptr(arg);
+       return nativeResponseValue;
+}
+       // struct LDKOnionMessage OnionMessage_clone(const struct LDKOnionMessage *NONNULL_PTR orig);
+/* @internal */
+export function OnionMessage_clone(orig: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessage_clone(orig);
+       return nativeResponseValue;
+}
+       // bool OnionMessage_eq(const struct LDKOnionMessage *NONNULL_PTR a, const struct LDKOnionMessage *NONNULL_PTR b);
+/* @internal */
+export function OnionMessage_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessage_eq(a, b);
+       return nativeResponseValue;
 }
        // void UpdateFulfillHTLC_free(struct LDKUpdateFulfillHTLC this_obj);
 /* @internal */
 }
        // void UpdateFulfillHTLC_free(struct LDKUpdateFulfillHTLC this_obj);
 /* @internal */
@@ -22557,6 +24175,15 @@ export function UpdateFulfillHTLC_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_UpdateFulfillHTLC_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_UpdateFulfillHTLC_clone(orig);
        return nativeResponseValue;
+}
+       // bool UpdateFulfillHTLC_eq(const struct LDKUpdateFulfillHTLC *NONNULL_PTR a, const struct LDKUpdateFulfillHTLC *NONNULL_PTR b);
+/* @internal */
+export function UpdateFulfillHTLC_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_UpdateFulfillHTLC_eq(a, b);
+       return nativeResponseValue;
 }
        // void UpdateFailHTLC_free(struct LDKUpdateFailHTLC this_obj);
 /* @internal */
 }
        // void UpdateFailHTLC_free(struct LDKUpdateFailHTLC this_obj);
 /* @internal */
@@ -22620,6 +24247,15 @@ export function UpdateFailHTLC_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_UpdateFailHTLC_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_UpdateFailHTLC_clone(orig);
        return nativeResponseValue;
+}
+       // bool UpdateFailHTLC_eq(const struct LDKUpdateFailHTLC *NONNULL_PTR a, const struct LDKUpdateFailHTLC *NONNULL_PTR b);
+/* @internal */
+export function UpdateFailHTLC_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_UpdateFailHTLC_eq(a, b);
+       return nativeResponseValue;
 }
        // void UpdateFailMalformedHTLC_free(struct LDKUpdateFailMalformedHTLC this_obj);
 /* @internal */
 }
        // void UpdateFailMalformedHTLC_free(struct LDKUpdateFailMalformedHTLC this_obj);
 /* @internal */
@@ -22701,6 +24337,15 @@ export function UpdateFailMalformedHTLC_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_UpdateFailMalformedHTLC_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_UpdateFailMalformedHTLC_clone(orig);
        return nativeResponseValue;
+}
+       // bool UpdateFailMalformedHTLC_eq(const struct LDKUpdateFailMalformedHTLC *NONNULL_PTR a, const struct LDKUpdateFailMalformedHTLC *NONNULL_PTR b);
+/* @internal */
+export function UpdateFailMalformedHTLC_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_UpdateFailMalformedHTLC_eq(a, b);
+       return nativeResponseValue;
 }
        // void CommitmentSigned_free(struct LDKCommitmentSigned this_obj);
 /* @internal */
 }
        // void CommitmentSigned_free(struct LDKCommitmentSigned this_obj);
 /* @internal */
@@ -22791,6 +24436,15 @@ export function CommitmentSigned_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_CommitmentSigned_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_CommitmentSigned_clone(orig);
        return nativeResponseValue;
+}
+       // bool CommitmentSigned_eq(const struct LDKCommitmentSigned *NONNULL_PTR a, const struct LDKCommitmentSigned *NONNULL_PTR b);
+/* @internal */
+export function CommitmentSigned_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CommitmentSigned_eq(a, b);
+       return nativeResponseValue;
 }
        // void RevokeAndACK_free(struct LDKRevokeAndACK this_obj);
 /* @internal */
 }
        // void RevokeAndACK_free(struct LDKRevokeAndACK this_obj);
 /* @internal */
@@ -22881,6 +24535,15 @@ export function RevokeAndACK_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_RevokeAndACK_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_RevokeAndACK_clone(orig);
        return nativeResponseValue;
+}
+       // bool RevokeAndACK_eq(const struct LDKRevokeAndACK *NONNULL_PTR a, const struct LDKRevokeAndACK *NONNULL_PTR b);
+/* @internal */
+export function RevokeAndACK_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_RevokeAndACK_eq(a, b);
+       return nativeResponseValue;
 }
        // void UpdateFee_free(struct LDKUpdateFee this_obj);
 /* @internal */
 }
        // void UpdateFee_free(struct LDKUpdateFee this_obj);
 /* @internal */
@@ -22953,6 +24616,15 @@ export function UpdateFee_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_UpdateFee_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_UpdateFee_clone(orig);
        return nativeResponseValue;
+}
+       // bool UpdateFee_eq(const struct LDKUpdateFee *NONNULL_PTR a, const struct LDKUpdateFee *NONNULL_PTR b);
+/* @internal */
+export function UpdateFee_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_UpdateFee_eq(a, b);
+       return nativeResponseValue;
 }
        // void DataLossProtect_free(struct LDKDataLossProtect this_obj);
 /* @internal */
 }
        // void DataLossProtect_free(struct LDKDataLossProtect this_obj);
 /* @internal */
@@ -23025,6 +24697,15 @@ export function DataLossProtect_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_DataLossProtect_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_DataLossProtect_clone(orig);
        return nativeResponseValue;
+}
+       // bool DataLossProtect_eq(const struct LDKDataLossProtect *NONNULL_PTR a, const struct LDKDataLossProtect *NONNULL_PTR b);
+/* @internal */
+export function DataLossProtect_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_DataLossProtect_eq(a, b);
+       return nativeResponseValue;
 }
        // void ChannelReestablish_free(struct LDKChannelReestablish this_obj);
 /* @internal */
 }
        // void ChannelReestablish_free(struct LDKChannelReestablish this_obj);
 /* @internal */
@@ -23106,6 +24787,15 @@ export function ChannelReestablish_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ChannelReestablish_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ChannelReestablish_clone(orig);
        return nativeResponseValue;
+}
+       // bool ChannelReestablish_eq(const struct LDKChannelReestablish *NONNULL_PTR a, const struct LDKChannelReestablish *NONNULL_PTR b);
+/* @internal */
+export function ChannelReestablish_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelReestablish_eq(a, b);
+       return nativeResponseValue;
 }
        // void AnnouncementSignatures_free(struct LDKAnnouncementSignatures this_obj);
 /* @internal */
 }
        // void AnnouncementSignatures_free(struct LDKAnnouncementSignatures this_obj);
 /* @internal */
@@ -23214,6 +24904,15 @@ export function AnnouncementSignatures_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_AnnouncementSignatures_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_AnnouncementSignatures_clone(orig);
        return nativeResponseValue;
+}
+       // bool AnnouncementSignatures_eq(const struct LDKAnnouncementSignatures *NONNULL_PTR a, const struct LDKAnnouncementSignatures *NONNULL_PTR b);
+/* @internal */
+export function AnnouncementSignatures_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_AnnouncementSignatures_eq(a, b);
+       return nativeResponseValue;
 }
        // void NetAddress_free(struct LDKNetAddress this_ptr);
 /* @internal */
 }
        // void NetAddress_free(struct LDKNetAddress this_ptr);
 /* @internal */
@@ -23286,6 +24985,15 @@ export function NetAddress_hostname(hostname: bigint, port: number): bigint {
        }
        const nativeResponseValue = wasm.TS_NetAddress_hostname(hostname, port);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_NetAddress_hostname(hostname, port);
        return nativeResponseValue;
+}
+       // bool NetAddress_eq(const struct LDKNetAddress *NONNULL_PTR a, const struct LDKNetAddress *NONNULL_PTR b);
+/* @internal */
+export function NetAddress_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_NetAddress_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z NetAddress_write(const struct LDKNetAddress *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z NetAddress_write(const struct LDKNetAddress *NONNULL_PTR obj);
 /* @internal */
@@ -23439,6 +25147,15 @@ export function UnsignedNodeAnnouncement_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_UnsignedNodeAnnouncement_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_UnsignedNodeAnnouncement_clone(orig);
        return nativeResponseValue;
+}
+       // bool UnsignedNodeAnnouncement_eq(const struct LDKUnsignedNodeAnnouncement *NONNULL_PTR a, const struct LDKUnsignedNodeAnnouncement *NONNULL_PTR b);
+/* @internal */
+export function UnsignedNodeAnnouncement_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_UnsignedNodeAnnouncement_eq(a, b);
+       return nativeResponseValue;
 }
        // void NodeAnnouncement_free(struct LDKNodeAnnouncement this_obj);
 /* @internal */
 }
        // void NodeAnnouncement_free(struct LDKNodeAnnouncement this_obj);
 /* @internal */
@@ -23511,6 +25228,15 @@ export function NodeAnnouncement_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_NodeAnnouncement_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_NodeAnnouncement_clone(orig);
        return nativeResponseValue;
+}
+       // bool NodeAnnouncement_eq(const struct LDKNodeAnnouncement *NONNULL_PTR a, const struct LDKNodeAnnouncement *NONNULL_PTR b);
+/* @internal */
+export function NodeAnnouncement_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_NodeAnnouncement_eq(a, b);
+       return nativeResponseValue;
 }
        // void UnsignedChannelAnnouncement_free(struct LDKUnsignedChannelAnnouncement this_obj);
 /* @internal */
 }
        // void UnsignedChannelAnnouncement_free(struct LDKUnsignedChannelAnnouncement this_obj);
 /* @internal */
@@ -23664,6 +25390,15 @@ export function UnsignedChannelAnnouncement_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_UnsignedChannelAnnouncement_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_UnsignedChannelAnnouncement_clone(orig);
        return nativeResponseValue;
+}
+       // bool UnsignedChannelAnnouncement_eq(const struct LDKUnsignedChannelAnnouncement *NONNULL_PTR a, const struct LDKUnsignedChannelAnnouncement *NONNULL_PTR b);
+/* @internal */
+export function UnsignedChannelAnnouncement_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_UnsignedChannelAnnouncement_eq(a, b);
+       return nativeResponseValue;
 }
        // void ChannelAnnouncement_free(struct LDKChannelAnnouncement this_obj);
 /* @internal */
 }
        // void ChannelAnnouncement_free(struct LDKChannelAnnouncement this_obj);
 /* @internal */
@@ -23790,6 +25525,15 @@ export function ChannelAnnouncement_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ChannelAnnouncement_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ChannelAnnouncement_clone(orig);
        return nativeResponseValue;
+}
+       // bool ChannelAnnouncement_eq(const struct LDKChannelAnnouncement *NONNULL_PTR a, const struct LDKChannelAnnouncement *NONNULL_PTR b);
+/* @internal */
+export function ChannelAnnouncement_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelAnnouncement_eq(a, b);
+       return nativeResponseValue;
 }
        // void UnsignedChannelUpdate_free(struct LDKUnsignedChannelUpdate this_obj);
 /* @internal */
 }
        // void UnsignedChannelUpdate_free(struct LDKUnsignedChannelUpdate this_obj);
 /* @internal */
@@ -24006,6 +25750,15 @@ export function UnsignedChannelUpdate_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_UnsignedChannelUpdate_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_UnsignedChannelUpdate_clone(orig);
        return nativeResponseValue;
+}
+       // bool UnsignedChannelUpdate_eq(const struct LDKUnsignedChannelUpdate *NONNULL_PTR a, const struct LDKUnsignedChannelUpdate *NONNULL_PTR b);
+/* @internal */
+export function UnsignedChannelUpdate_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_UnsignedChannelUpdate_eq(a, b);
+       return nativeResponseValue;
 }
        // void ChannelUpdate_free(struct LDKChannelUpdate this_obj);
 /* @internal */
 }
        // void ChannelUpdate_free(struct LDKChannelUpdate this_obj);
 /* @internal */
@@ -24078,6 +25831,15 @@ export function ChannelUpdate_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ChannelUpdate_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ChannelUpdate_clone(orig);
        return nativeResponseValue;
+}
+       // bool ChannelUpdate_eq(const struct LDKChannelUpdate *NONNULL_PTR a, const struct LDKChannelUpdate *NONNULL_PTR b);
+/* @internal */
+export function ChannelUpdate_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelUpdate_eq(a, b);
+       return nativeResponseValue;
 }
        // void QueryChannelRange_free(struct LDKQueryChannelRange this_obj);
 /* @internal */
 }
        // void QueryChannelRange_free(struct LDKQueryChannelRange this_obj);
 /* @internal */
@@ -24168,6 +25930,15 @@ export function QueryChannelRange_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_QueryChannelRange_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_QueryChannelRange_clone(orig);
        return nativeResponseValue;
+}
+       // bool QueryChannelRange_eq(const struct LDKQueryChannelRange *NONNULL_PTR a, const struct LDKQueryChannelRange *NONNULL_PTR b);
+/* @internal */
+export function QueryChannelRange_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_QueryChannelRange_eq(a, b);
+       return nativeResponseValue;
 }
        // void ReplyChannelRange_free(struct LDKReplyChannelRange this_obj);
 /* @internal */
 }
        // void ReplyChannelRange_free(struct LDKReplyChannelRange this_obj);
 /* @internal */
@@ -24294,6 +26065,15 @@ export function ReplyChannelRange_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ReplyChannelRange_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ReplyChannelRange_clone(orig);
        return nativeResponseValue;
+}
+       // bool ReplyChannelRange_eq(const struct LDKReplyChannelRange *NONNULL_PTR a, const struct LDKReplyChannelRange *NONNULL_PTR b);
+/* @internal */
+export function ReplyChannelRange_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ReplyChannelRange_eq(a, b);
+       return nativeResponseValue;
 }
        // void QueryShortChannelIds_free(struct LDKQueryShortChannelIds this_obj);
 /* @internal */
 }
        // void QueryShortChannelIds_free(struct LDKQueryShortChannelIds this_obj);
 /* @internal */
@@ -24366,6 +26146,15 @@ export function QueryShortChannelIds_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_QueryShortChannelIds_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_QueryShortChannelIds_clone(orig);
        return nativeResponseValue;
+}
+       // bool QueryShortChannelIds_eq(const struct LDKQueryShortChannelIds *NONNULL_PTR a, const struct LDKQueryShortChannelIds *NONNULL_PTR b);
+/* @internal */
+export function QueryShortChannelIds_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_QueryShortChannelIds_eq(a, b);
+       return nativeResponseValue;
 }
        // void ReplyShortChannelIdsEnd_free(struct LDKReplyShortChannelIdsEnd this_obj);
 /* @internal */
 }
        // void ReplyShortChannelIdsEnd_free(struct LDKReplyShortChannelIdsEnd this_obj);
 /* @internal */
@@ -24438,6 +26227,15 @@ export function ReplyShortChannelIdsEnd_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ReplyShortChannelIdsEnd_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ReplyShortChannelIdsEnd_clone(orig);
        return nativeResponseValue;
+}
+       // bool ReplyShortChannelIdsEnd_eq(const struct LDKReplyShortChannelIdsEnd *NONNULL_PTR a, const struct LDKReplyShortChannelIdsEnd *NONNULL_PTR b);
+/* @internal */
+export function ReplyShortChannelIdsEnd_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ReplyShortChannelIdsEnd_eq(a, b);
+       return nativeResponseValue;
 }
        // void GossipTimestampFilter_free(struct LDKGossipTimestampFilter this_obj);
 /* @internal */
 }
        // void GossipTimestampFilter_free(struct LDKGossipTimestampFilter this_obj);
 /* @internal */
@@ -24528,6 +26326,15 @@ export function GossipTimestampFilter_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_GossipTimestampFilter_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_GossipTimestampFilter_clone(orig);
        return nativeResponseValue;
+}
+       // bool GossipTimestampFilter_eq(const struct LDKGossipTimestampFilter *NONNULL_PTR a, const struct LDKGossipTimestampFilter *NONNULL_PTR b);
+/* @internal */
+export function GossipTimestampFilter_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_GossipTimestampFilter_eq(a, b);
+       return nativeResponseValue;
 }
        // void ErrorAction_free(struct LDKErrorAction this_ptr);
 /* @internal */
 }
        // void ErrorAction_free(struct LDKErrorAction this_ptr);
 /* @internal */
@@ -24825,6 +26632,15 @@ export function CommitmentUpdate_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_CommitmentUpdate_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_CommitmentUpdate_clone(orig);
        return nativeResponseValue;
+}
+       // bool CommitmentUpdate_eq(const struct LDKCommitmentUpdate *NONNULL_PTR a, const struct LDKCommitmentUpdate *NONNULL_PTR b);
+/* @internal */
+export function CommitmentUpdate_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CommitmentUpdate_eq(a, b);
+       return nativeResponseValue;
 }
        // void ChannelMessageHandler_free(struct LDKChannelMessageHandler this_ptr);
 /* @internal */
 }
        // void ChannelMessageHandler_free(struct LDKChannelMessageHandler this_ptr);
 /* @internal */
@@ -24843,6 +26659,15 @@ export function RoutingMessageHandler_free(this_ptr: bigint): void {
        }
        const nativeResponseValue = wasm.TS_RoutingMessageHandler_free(this_ptr);
        // debug statements here
        }
        const nativeResponseValue = wasm.TS_RoutingMessageHandler_free(this_ptr);
        // debug statements here
+}
+       // void OnionMessageHandler_free(struct LDKOnionMessageHandler this_ptr);
+/* @internal */
+export function OnionMessageHandler_free(this_ptr: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessageHandler_free(this_ptr);
+       // debug statements here
 }
        // struct LDKCVec_u8Z AcceptChannel_write(const struct LDKAcceptChannel *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z AcceptChannel_write(const struct LDKAcceptChannel *NONNULL_PTR obj);
 /* @internal */
@@ -25167,6 +26992,24 @@ export function UpdateAddHTLC_read(ser: number): bigint {
        }
        const nativeResponseValue = wasm.TS_UpdateAddHTLC_read(ser);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_UpdateAddHTLC_read(ser);
        return nativeResponseValue;
+}
+       // struct LDKCResult_OnionMessageDecodeErrorZ OnionMessage_read(struct LDKu8slice ser);
+/* @internal */
+export function OnionMessage_read(ser: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessage_read(ser);
+       return nativeResponseValue;
+}
+       // struct LDKCVec_u8Z OnionMessage_write(const struct LDKOnionMessage *NONNULL_PTR obj);
+/* @internal */
+export function OnionMessage_write(obj: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessage_write(obj);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z Ping_write(const struct LDKPing *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z Ping_write(const struct LDKPing *NONNULL_PTR obj);
 /* @internal */
@@ -25491,6 +27334,33 @@ export function IgnoringMessageHandler_as_RoutingMessageHandler(this_arg: bigint
        }
        const nativeResponseValue = wasm.TS_IgnoringMessageHandler_as_RoutingMessageHandler(this_arg);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_IgnoringMessageHandler_as_RoutingMessageHandler(this_arg);
        return nativeResponseValue;
+}
+       // struct LDKOnionMessageProvider IgnoringMessageHandler_as_OnionMessageProvider(const struct LDKIgnoringMessageHandler *NONNULL_PTR this_arg);
+/* @internal */
+export function IgnoringMessageHandler_as_OnionMessageProvider(this_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_IgnoringMessageHandler_as_OnionMessageProvider(this_arg);
+       return nativeResponseValue;
+}
+       // struct LDKOnionMessageHandler IgnoringMessageHandler_as_OnionMessageHandler(const struct LDKIgnoringMessageHandler *NONNULL_PTR this_arg);
+/* @internal */
+export function IgnoringMessageHandler_as_OnionMessageHandler(this_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_IgnoringMessageHandler_as_OnionMessageHandler(this_arg);
+       return nativeResponseValue;
+}
+       // struct LDKCustomOnionMessageHandler IgnoringMessageHandler_as_CustomOnionMessageHandler(const struct LDKIgnoringMessageHandler *NONNULL_PTR this_arg);
+/* @internal */
+export function IgnoringMessageHandler_as_CustomOnionMessageHandler(this_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_IgnoringMessageHandler_as_CustomOnionMessageHandler(this_arg);
+       return nativeResponseValue;
 }
        // struct LDKCustomMessageReader IgnoringMessageHandler_as_CustomMessageReader(const struct LDKIgnoringMessageHandler *NONNULL_PTR this_arg);
 /* @internal */
 }
        // struct LDKCustomMessageReader IgnoringMessageHandler_as_CustomMessageReader(const struct LDKIgnoringMessageHandler *NONNULL_PTR this_arg);
 /* @internal */
@@ -25591,13 +27461,31 @@ export function MessageHandler_set_route_handler(this_ptr: bigint, val: bigint):
        const nativeResponseValue = wasm.TS_MessageHandler_set_route_handler(this_ptr, val);
        // debug statements here
 }
        const nativeResponseValue = wasm.TS_MessageHandler_set_route_handler(this_ptr, val);
        // debug statements here
 }
-       // MUST_USE_RES struct LDKMessageHandler MessageHandler_new(struct LDKChannelMessageHandler chan_handler_arg, struct LDKRoutingMessageHandler route_handler_arg);
+       // const struct LDKOnionMessageHandler *MessageHandler_get_onion_message_handler(const struct LDKMessageHandler *NONNULL_PTR this_ptr);
 /* @internal */
 /* @internal */
-export function MessageHandler_new(chan_handler_arg: bigint, route_handler_arg: bigint): bigint {
+export function MessageHandler_get_onion_message_handler(this_ptr: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_MessageHandler_new(chan_handler_arg, route_handler_arg);
+       const nativeResponseValue = wasm.TS_MessageHandler_get_onion_message_handler(this_ptr);
+       return nativeResponseValue;
+}
+       // void MessageHandler_set_onion_message_handler(struct LDKMessageHandler *NONNULL_PTR this_ptr, struct LDKOnionMessageHandler val);
+/* @internal */
+export function MessageHandler_set_onion_message_handler(this_ptr: bigint, val: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_MessageHandler_set_onion_message_handler(this_ptr, val);
+       // debug statements here
+}
+       // MUST_USE_RES struct LDKMessageHandler MessageHandler_new(struct LDKChannelMessageHandler chan_handler_arg, struct LDKRoutingMessageHandler route_handler_arg, struct LDKOnionMessageHandler onion_message_handler_arg);
+/* @internal */
+export function MessageHandler_new(chan_handler_arg: bigint, route_handler_arg: bigint, onion_message_handler_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_MessageHandler_new(chan_handler_arg, route_handler_arg, onion_message_handler_arg);
        return nativeResponseValue;
 }
        // uint64_t SocketDescriptor_clone_ptr(LDKSocketDescriptor *NONNULL_PTR arg);
        return nativeResponseValue;
 }
        // uint64_t SocketDescriptor_clone_ptr(LDKSocketDescriptor *NONNULL_PTR arg);
@@ -25690,13 +27578,13 @@ export function PeerManager_free(this_obj: bigint): void {
        const nativeResponseValue = wasm.TS_PeerManager_free(this_obj);
        // debug statements here
 }
        const nativeResponseValue = wasm.TS_PeerManager_free(this_obj);
        // debug statements here
 }
-       // MUST_USE_RES struct LDKPeerManager PeerManager_new(struct LDKMessageHandler message_handler, struct LDKSecretKey our_node_secret, const uint8_t (*ephemeral_random_data)[32], struct LDKLogger logger, struct LDKCustomMessageHandler custom_message_handler);
+       // MUST_USE_RES struct LDKPeerManager PeerManager_new(struct LDKMessageHandler message_handler, struct LDKSecretKey our_node_secret, uint32_t current_time, const uint8_t (*ephemeral_random_data)[32], struct LDKLogger logger, struct LDKCustomMessageHandler custom_message_handler);
 /* @internal */
 /* @internal */
-export function PeerManager_new(message_handler: bigint, our_node_secret: number, ephemeral_random_data: number, logger: bigint, custom_message_handler: bigint): bigint {
+export function PeerManager_new(message_handler: bigint, our_node_secret: number, current_time: number, ephemeral_random_data: number, logger: bigint, custom_message_handler: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_PeerManager_new(message_handler, our_node_secret, ephemeral_random_data, logger, custom_message_handler);
+       const nativeResponseValue = wasm.TS_PeerManager_new(message_handler, our_node_secret, current_time, ephemeral_random_data, logger, custom_message_handler);
        return nativeResponseValue;
 }
        // MUST_USE_RES struct LDKCVec_PublicKeyZ PeerManager_get_peer_node_ids(const struct LDKPeerManager *NONNULL_PTR this_arg);
        return nativeResponseValue;
 }
        // MUST_USE_RES struct LDKCVec_PublicKeyZ PeerManager_get_peer_node_ids(const struct LDKPeerManager *NONNULL_PTR this_arg);
@@ -25788,6 +27676,15 @@ export function PeerManager_timer_tick_occurred(this_arg: bigint): void {
        }
        const nativeResponseValue = wasm.TS_PeerManager_timer_tick_occurred(this_arg);
        // debug statements here
        }
        const nativeResponseValue = wasm.TS_PeerManager_timer_tick_occurred(this_arg);
        // debug statements here
+}
+       // void PeerManager_broadcast_node_announcement(const struct LDKPeerManager *NONNULL_PTR this_arg, struct LDKThreeBytes rgb, struct LDKThirtyTwoBytes alias, struct LDKCVec_NetAddressZ addresses);
+/* @internal */
+export function PeerManager_broadcast_node_announcement(this_arg: bigint, rgb: number, alias: number, addresses: number): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_PeerManager_broadcast_node_announcement(this_arg, rgb, alias, addresses);
+       // debug statements here
 }
        // uint64_t htlc_success_tx_weight(bool opt_anchors);
 /* @internal */
 }
        // uint64_t htlc_success_tx_weight(bool opt_anchors);
 /* @internal */
@@ -26049,6 +27946,15 @@ export function TxCreationKeys_new(per_commitment_point_arg: number, revocation_
        }
        const nativeResponseValue = wasm.TS_TxCreationKeys_new(per_commitment_point_arg, revocation_key_arg, broadcaster_htlc_key_arg, countersignatory_htlc_key_arg, broadcaster_delayed_payment_key_arg);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_TxCreationKeys_new(per_commitment_point_arg, revocation_key_arg, broadcaster_htlc_key_arg, countersignatory_htlc_key_arg, broadcaster_delayed_payment_key_arg);
        return nativeResponseValue;
+}
+       // bool TxCreationKeys_eq(const struct LDKTxCreationKeys *NONNULL_PTR a, const struct LDKTxCreationKeys *NONNULL_PTR b);
+/* @internal */
+export function TxCreationKeys_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_TxCreationKeys_eq(a, b);
+       return nativeResponseValue;
 }
        // uint64_t TxCreationKeys_clone_ptr(LDKTxCreationKeys *NONNULL_PTR arg);
 /* @internal */
 }
        // uint64_t TxCreationKeys_clone_ptr(LDKTxCreationKeys *NONNULL_PTR arg);
 /* @internal */
@@ -26211,6 +28117,15 @@ export function ChannelPublicKeys_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ChannelPublicKeys_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ChannelPublicKeys_clone(orig);
        return nativeResponseValue;
+}
+       // bool ChannelPublicKeys_eq(const struct LDKChannelPublicKeys *NONNULL_PTR a, const struct LDKChannelPublicKeys *NONNULL_PTR b);
+/* @internal */
+export function ChannelPublicKeys_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelPublicKeys_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z ChannelPublicKeys_write(const struct LDKChannelPublicKeys *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z ChannelPublicKeys_write(const struct LDKChannelPublicKeys *NONNULL_PTR obj);
 /* @internal */
@@ -26382,6 +28297,15 @@ export function HTLCOutputInCommitment_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_HTLCOutputInCommitment_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_HTLCOutputInCommitment_clone(orig);
        return nativeResponseValue;
+}
+       // bool HTLCOutputInCommitment_eq(const struct LDKHTLCOutputInCommitment *NONNULL_PTR a, const struct LDKHTLCOutputInCommitment *NONNULL_PTR b);
+/* @internal */
+export function HTLCOutputInCommitment_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_HTLCOutputInCommitment_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z HTLCOutputInCommitment_write(const struct LDKHTLCOutputInCommitment *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z HTLCOutputInCommitment_write(const struct LDKHTLCOutputInCommitment *NONNULL_PTR obj);
 /* @internal */
@@ -27012,6 +28936,15 @@ export function ClosingTransaction_hash(o: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ClosingTransaction_hash(o);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ClosingTransaction_hash(o);
        return nativeResponseValue;
+}
+       // bool ClosingTransaction_eq(const struct LDKClosingTransaction *NONNULL_PTR a, const struct LDKClosingTransaction *NONNULL_PTR b);
+/* @internal */
+export function ClosingTransaction_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ClosingTransaction_eq(a, b);
+       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);
 /* @internal */
 }
        // 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);
 /* @internal */
@@ -27462,15 +29395,6 @@ export function InitFeatures_empty(): bigint {
        }
        const nativeResponseValue = wasm.TS_InitFeatures_empty();
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_InitFeatures_empty();
        return nativeResponseValue;
-}
-       // MUST_USE_RES struct LDKInitFeatures InitFeatures_known(void);
-/* @internal */
-export function InitFeatures_known(): bigint {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_InitFeatures_known();
-       return nativeResponseValue;
 }
        // MUST_USE_RES bool InitFeatures_requires_unknown_bits(const struct LDKInitFeatures *NONNULL_PTR this_arg);
 /* @internal */
 }
        // MUST_USE_RES bool InitFeatures_requires_unknown_bits(const struct LDKInitFeatures *NONNULL_PTR this_arg);
 /* @internal */
@@ -27489,15 +29413,6 @@ export function NodeFeatures_empty(): bigint {
        }
        const nativeResponseValue = wasm.TS_NodeFeatures_empty();
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_NodeFeatures_empty();
        return nativeResponseValue;
-}
-       // MUST_USE_RES struct LDKNodeFeatures NodeFeatures_known(void);
-/* @internal */
-export function NodeFeatures_known(): bigint {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_NodeFeatures_known();
-       return nativeResponseValue;
 }
        // MUST_USE_RES bool NodeFeatures_requires_unknown_bits(const struct LDKNodeFeatures *NONNULL_PTR this_arg);
 /* @internal */
 }
        // MUST_USE_RES bool NodeFeatures_requires_unknown_bits(const struct LDKNodeFeatures *NONNULL_PTR this_arg);
 /* @internal */
@@ -27516,15 +29431,6 @@ export function ChannelFeatures_empty(): bigint {
        }
        const nativeResponseValue = wasm.TS_ChannelFeatures_empty();
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ChannelFeatures_empty();
        return nativeResponseValue;
-}
-       // MUST_USE_RES struct LDKChannelFeatures ChannelFeatures_known(void);
-/* @internal */
-export function ChannelFeatures_known(): bigint {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_ChannelFeatures_known();
-       return nativeResponseValue;
 }
        // MUST_USE_RES bool ChannelFeatures_requires_unknown_bits(const struct LDKChannelFeatures *NONNULL_PTR this_arg);
 /* @internal */
 }
        // MUST_USE_RES bool ChannelFeatures_requires_unknown_bits(const struct LDKChannelFeatures *NONNULL_PTR this_arg);
 /* @internal */
@@ -27543,15 +29449,6 @@ export function InvoiceFeatures_empty(): bigint {
        }
        const nativeResponseValue = wasm.TS_InvoiceFeatures_empty();
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_InvoiceFeatures_empty();
        return nativeResponseValue;
-}
-       // MUST_USE_RES struct LDKInvoiceFeatures InvoiceFeatures_known(void);
-/* @internal */
-export function InvoiceFeatures_known(): bigint {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_InvoiceFeatures_known();
-       return nativeResponseValue;
 }
        // MUST_USE_RES bool InvoiceFeatures_requires_unknown_bits(const struct LDKInvoiceFeatures *NONNULL_PTR this_arg);
 /* @internal */
 }
        // MUST_USE_RES bool InvoiceFeatures_requires_unknown_bits(const struct LDKInvoiceFeatures *NONNULL_PTR this_arg);
 /* @internal */
@@ -27570,15 +29467,6 @@ export function ChannelTypeFeatures_empty(): bigint {
        }
        const nativeResponseValue = wasm.TS_ChannelTypeFeatures_empty();
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ChannelTypeFeatures_empty();
        return nativeResponseValue;
-}
-       // MUST_USE_RES struct LDKChannelTypeFeatures ChannelTypeFeatures_known(void);
-/* @internal */
-export function ChannelTypeFeatures_known(): bigint {
-       if(!isWasmInitialized) {
-               throw new Error("initializeWasm() must be awaited first!");
-       }
-       const nativeResponseValue = wasm.TS_ChannelTypeFeatures_known();
-       return nativeResponseValue;
 }
        // MUST_USE_RES bool ChannelTypeFeatures_requires_unknown_bits(const struct LDKChannelTypeFeatures *NONNULL_PTR this_arg);
 /* @internal */
 }
        // MUST_USE_RES bool ChannelTypeFeatures_requires_unknown_bits(const struct LDKChannelTypeFeatures *NONNULL_PTR this_arg);
 /* @internal */
@@ -28497,6 +30385,78 @@ export function NodeFeatures_requires_shutdown_anysegwit(this_arg: bigint): bool
        }
        const nativeResponseValue = wasm.TS_NodeFeatures_requires_shutdown_anysegwit(this_arg);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_NodeFeatures_requires_shutdown_anysegwit(this_arg);
        return nativeResponseValue;
+}
+       // void InitFeatures_set_onion_messages_optional(struct LDKInitFeatures *NONNULL_PTR this_arg);
+/* @internal */
+export function InitFeatures_set_onion_messages_optional(this_arg: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_InitFeatures_set_onion_messages_optional(this_arg);
+       // debug statements here
+}
+       // void InitFeatures_set_onion_messages_required(struct LDKInitFeatures *NONNULL_PTR this_arg);
+/* @internal */
+export function InitFeatures_set_onion_messages_required(this_arg: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_InitFeatures_set_onion_messages_required(this_arg);
+       // debug statements here
+}
+       // MUST_USE_RES bool InitFeatures_supports_onion_messages(const struct LDKInitFeatures *NONNULL_PTR this_arg);
+/* @internal */
+export function InitFeatures_supports_onion_messages(this_arg: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_InitFeatures_supports_onion_messages(this_arg);
+       return nativeResponseValue;
+}
+       // void NodeFeatures_set_onion_messages_optional(struct LDKNodeFeatures *NONNULL_PTR this_arg);
+/* @internal */
+export function NodeFeatures_set_onion_messages_optional(this_arg: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_NodeFeatures_set_onion_messages_optional(this_arg);
+       // debug statements here
+}
+       // void NodeFeatures_set_onion_messages_required(struct LDKNodeFeatures *NONNULL_PTR this_arg);
+/* @internal */
+export function NodeFeatures_set_onion_messages_required(this_arg: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_NodeFeatures_set_onion_messages_required(this_arg);
+       // debug statements here
+}
+       // MUST_USE_RES bool NodeFeatures_supports_onion_messages(const struct LDKNodeFeatures *NONNULL_PTR this_arg);
+/* @internal */
+export function NodeFeatures_supports_onion_messages(this_arg: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_NodeFeatures_supports_onion_messages(this_arg);
+       return nativeResponseValue;
+}
+       // MUST_USE_RES bool InitFeatures_requires_onion_messages(const struct LDKInitFeatures *NONNULL_PTR this_arg);
+/* @internal */
+export function InitFeatures_requires_onion_messages(this_arg: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_InitFeatures_requires_onion_messages(this_arg);
+       return nativeResponseValue;
+}
+       // MUST_USE_RES bool NodeFeatures_requires_onion_messages(const struct LDKNodeFeatures *NONNULL_PTR this_arg);
+/* @internal */
+export function NodeFeatures_requires_onion_messages(this_arg: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_NodeFeatures_requires_onion_messages(this_arg);
+       return nativeResponseValue;
 }
        // void InitFeatures_set_channel_type_optional(struct LDKInitFeatures *NONNULL_PTR this_arg);
 /* @internal */
 }
        // void InitFeatures_set_channel_type_optional(struct LDKInitFeatures *NONNULL_PTR this_arg);
 /* @internal */
@@ -28848,6 +30808,15 @@ export function ShutdownScript_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ShutdownScript_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ShutdownScript_clone(orig);
        return nativeResponseValue;
+}
+       // bool ShutdownScript_eq(const struct LDKShutdownScript *NONNULL_PTR a, const struct LDKShutdownScript *NONNULL_PTR b);
+/* @internal */
+export function ShutdownScript_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ShutdownScript_eq(a, b);
+       return nativeResponseValue;
 }
        // void InvalidShutdownScript_free(struct LDKInvalidShutdownScript this_obj);
 /* @internal */
 }
        // void InvalidShutdownScript_free(struct LDKInvalidShutdownScript this_obj);
 /* @internal */
@@ -29154,6 +31123,15 @@ export function NetworkUpdate_node_failure(node_id: number, is_permanent: boolea
        }
        const nativeResponseValue = wasm.TS_NetworkUpdate_node_failure(node_id, is_permanent);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_NetworkUpdate_node_failure(node_id, is_permanent);
        return nativeResponseValue;
+}
+       // bool NetworkUpdate_eq(const struct LDKNetworkUpdate *NONNULL_PTR a, const struct LDKNetworkUpdate *NONNULL_PTR b);
+/* @internal */
+export function NetworkUpdate_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_NetworkUpdate_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z NetworkUpdate_write(const struct LDKNetworkUpdate *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z NetworkUpdate_write(const struct LDKNetworkUpdate *NONNULL_PTR obj);
 /* @internal */
@@ -29388,6 +31366,15 @@ export function ChannelUpdateInfo_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ChannelUpdateInfo_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ChannelUpdateInfo_clone(orig);
        return nativeResponseValue;
+}
+       // bool ChannelUpdateInfo_eq(const struct LDKChannelUpdateInfo *NONNULL_PTR a, const struct LDKChannelUpdateInfo *NONNULL_PTR b);
+/* @internal */
+export function ChannelUpdateInfo_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelUpdateInfo_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z ChannelUpdateInfo_write(const struct LDKChannelUpdateInfo *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z ChannelUpdateInfo_write(const struct LDKChannelUpdateInfo *NONNULL_PTR obj);
 /* @internal */
@@ -29559,6 +31546,15 @@ export function ChannelInfo_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_ChannelInfo_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ChannelInfo_clone(orig);
        return nativeResponseValue;
+}
+       // bool ChannelInfo_eq(const struct LDKChannelInfo *NONNULL_PTR a, const struct LDKChannelInfo *NONNULL_PTR b);
+/* @internal */
+export function ChannelInfo_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ChannelInfo_eq(a, b);
+       return nativeResponseValue;
 }
        // MUST_USE_RES struct LDKChannelUpdateInfo ChannelInfo_get_directional_info(const struct LDKChannelInfo *NONNULL_PTR this_arg, uint8_t channel_flags);
 /* @internal */
 }
        // MUST_USE_RES struct LDKChannelUpdateInfo ChannelInfo_get_directional_info(const struct LDKChannelInfo *NONNULL_PTR this_arg, uint8_t channel_flags);
 /* @internal */
@@ -29982,6 +31978,15 @@ export function NodeAnnouncementInfo_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_NodeAnnouncementInfo_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_NodeAnnouncementInfo_clone(orig);
        return nativeResponseValue;
+}
+       // bool NodeAnnouncementInfo_eq(const struct LDKNodeAnnouncementInfo *NONNULL_PTR a, const struct LDKNodeAnnouncementInfo *NONNULL_PTR b);
+/* @internal */
+export function NodeAnnouncementInfo_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_NodeAnnouncementInfo_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z NodeAnnouncementInfo_write(const struct LDKNodeAnnouncementInfo *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z NodeAnnouncementInfo_write(const struct LDKNodeAnnouncementInfo *NONNULL_PTR obj);
 /* @internal */
@@ -30054,6 +32059,15 @@ export function NodeAlias_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_NodeAlias_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_NodeAlias_clone(orig);
        return nativeResponseValue;
+}
+       // bool NodeAlias_eq(const struct LDKNodeAlias *NONNULL_PTR a, const struct LDKNodeAlias *NONNULL_PTR b);
+/* @internal */
+export function NodeAlias_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_NodeAlias_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z NodeAlias_write(const struct LDKNodeAlias *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z NodeAlias_write(const struct LDKNodeAlias *NONNULL_PTR obj);
 /* @internal */
@@ -30162,6 +32176,15 @@ export function NodeInfo_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_NodeInfo_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_NodeInfo_clone(orig);
        return nativeResponseValue;
+}
+       // bool NodeInfo_eq(const struct LDKNodeInfo *NONNULL_PTR a, const struct LDKNodeInfo *NONNULL_PTR b);
+/* @internal */
+export function NodeInfo_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_NodeInfo_eq(a, b);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z NodeInfo_write(const struct LDKNodeInfo *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z NodeInfo_write(const struct LDKNodeInfo *NONNULL_PTR obj);
 /* @internal */
@@ -30289,22 +32312,22 @@ export function NetworkGraph_channel_failed(this_arg: bigint, short_channel_id:
        const nativeResponseValue = wasm.TS_NetworkGraph_channel_failed(this_arg, short_channel_id, is_permanent);
        // debug statements here
 }
        const nativeResponseValue = wasm.TS_NetworkGraph_channel_failed(this_arg, short_channel_id, is_permanent);
        // debug statements here
 }
-       // void NetworkGraph_node_failed(const struct LDKNetworkGraph *NONNULL_PTR this_arg, struct LDKPublicKey _node_id, bool is_permanent);
+       // void NetworkGraph_node_failed_permanent(const struct LDKNetworkGraph *NONNULL_PTR this_arg, struct LDKPublicKey node_id);
 /* @internal */
 /* @internal */
-export function NetworkGraph_node_failed(this_arg: bigint, _node_id: number, is_permanent: boolean): void {
+export function NetworkGraph_node_failed_permanent(this_arg: bigint, node_id: number): void {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_NetworkGraph_node_failed(this_arg, _node_id, is_permanent);
+       const nativeResponseValue = wasm.TS_NetworkGraph_node_failed_permanent(this_arg, node_id);
        // debug statements here
 }
        // debug statements here
 }
-       // void NetworkGraph_remove_stale_channels_with_time(const struct LDKNetworkGraph *NONNULL_PTR this_arg, uint64_t current_time_unix);
+       // void NetworkGraph_remove_stale_channels_and_tracking_with_time(const struct LDKNetworkGraph *NONNULL_PTR this_arg, uint64_t current_time_unix);
 /* @internal */
 /* @internal */
-export function NetworkGraph_remove_stale_channels_with_time(this_arg: bigint, current_time_unix: bigint): void {
+export function NetworkGraph_remove_stale_channels_and_tracking_with_time(this_arg: bigint, current_time_unix: bigint): void {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_NetworkGraph_remove_stale_channels_with_time(this_arg, current_time_unix);
+       const nativeResponseValue = wasm.TS_NetworkGraph_remove_stale_channels_and_tracking_with_time(this_arg, current_time_unix);
        // 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);
        // 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);
@@ -31323,6 +33346,15 @@ export function LockableScore_free(this_ptr: bigint): void {
        }
        const nativeResponseValue = wasm.TS_LockableScore_free(this_ptr);
        // debug statements here
        }
        const nativeResponseValue = wasm.TS_LockableScore_free(this_ptr);
        // debug statements here
+}
+       // void WriteableScore_free(struct LDKWriteableScore this_ptr);
+/* @internal */
+export function WriteableScore_free(this_ptr: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_WriteableScore_free(this_ptr);
+       // debug statements here
 }
        // void MultiThreadedLockableScore_free(struct LDKMultiThreadedLockableScore this_obj);
 /* @internal */
 }
        // void MultiThreadedLockableScore_free(struct LDKMultiThreadedLockableScore this_obj);
 /* @internal */
@@ -31332,6 +33364,42 @@ export function MultiThreadedLockableScore_free(this_obj: bigint): void {
        }
        const nativeResponseValue = wasm.TS_MultiThreadedLockableScore_free(this_obj);
        // debug statements here
        }
        const nativeResponseValue = wasm.TS_MultiThreadedLockableScore_free(this_obj);
        // debug statements here
+}
+       // void MultiThreadedScoreLock_free(struct LDKMultiThreadedScoreLock this_obj);
+/* @internal */
+export function MultiThreadedScoreLock_free(this_obj: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_MultiThreadedScoreLock_free(this_obj);
+       // debug statements here
+}
+       // struct LDKScore MultiThreadedScoreLock_as_Score(const struct LDKMultiThreadedScoreLock *NONNULL_PTR this_arg);
+/* @internal */
+export function MultiThreadedScoreLock_as_Score(this_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_MultiThreadedScoreLock_as_Score(this_arg);
+       return nativeResponseValue;
+}
+       // struct LDKCVec_u8Z MultiThreadedScoreLock_write(const struct LDKMultiThreadedScoreLock *NONNULL_PTR obj);
+/* @internal */
+export function MultiThreadedScoreLock_write(obj: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_MultiThreadedScoreLock_write(obj);
+       return nativeResponseValue;
+}
+       // struct LDKLockableScore MultiThreadedLockableScore_as_LockableScore(const struct LDKMultiThreadedLockableScore *NONNULL_PTR this_arg);
+/* @internal */
+export function MultiThreadedLockableScore_as_LockableScore(this_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_MultiThreadedLockableScore_as_LockableScore(this_arg);
+       return nativeResponseValue;
 }
        // struct LDKCVec_u8Z MultiThreadedLockableScore_write(const struct LDKMultiThreadedLockableScore *NONNULL_PTR obj);
 /* @internal */
 }
        // struct LDKCVec_u8Z MultiThreadedLockableScore_write(const struct LDKMultiThreadedLockableScore *NONNULL_PTR obj);
 /* @internal */
@@ -31341,6 +33409,15 @@ export function MultiThreadedLockableScore_write(obj: bigint): number {
        }
        const nativeResponseValue = wasm.TS_MultiThreadedLockableScore_write(obj);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_MultiThreadedLockableScore_write(obj);
        return nativeResponseValue;
+}
+       // struct LDKWriteableScore MultiThreadedLockableScore_as_WriteableScore(const struct LDKMultiThreadedLockableScore *NONNULL_PTR this_arg);
+/* @internal */
+export function MultiThreadedLockableScore_as_WriteableScore(this_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_MultiThreadedLockableScore_as_WriteableScore(this_arg);
+       return nativeResponseValue;
 }
        // MUST_USE_RES struct LDKMultiThreadedLockableScore MultiThreadedLockableScore_new(struct LDKScore score);
 /* @internal */
 }
        // MUST_USE_RES struct LDKMultiThreadedLockableScore MultiThreadedLockableScore_new(struct LDKScore score);
 /* @internal */
@@ -31611,6 +33688,60 @@ export function ProbabilisticScoringParameters_set_liquidity_penalty_amount_mult
        }
        const nativeResponseValue = wasm.TS_ProbabilisticScoringParameters_set_liquidity_penalty_amount_multiplier_msat(this_ptr, val);
        // debug statements here
        }
        const nativeResponseValue = wasm.TS_ProbabilisticScoringParameters_set_liquidity_penalty_amount_multiplier_msat(this_ptr, val);
        // debug statements here
+}
+       // uint64_t ProbabilisticScoringParameters_get_historical_liquidity_penalty_multiplier_msat(const struct LDKProbabilisticScoringParameters *NONNULL_PTR this_ptr);
+/* @internal */
+export function ProbabilisticScoringParameters_get_historical_liquidity_penalty_multiplier_msat(this_ptr: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ProbabilisticScoringParameters_get_historical_liquidity_penalty_multiplier_msat(this_ptr);
+       return nativeResponseValue;
+}
+       // void ProbabilisticScoringParameters_set_historical_liquidity_penalty_multiplier_msat(struct LDKProbabilisticScoringParameters *NONNULL_PTR this_ptr, uint64_t val);
+/* @internal */
+export function ProbabilisticScoringParameters_set_historical_liquidity_penalty_multiplier_msat(this_ptr: bigint, val: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ProbabilisticScoringParameters_set_historical_liquidity_penalty_multiplier_msat(this_ptr, val);
+       // debug statements here
+}
+       // uint64_t ProbabilisticScoringParameters_get_historical_liquidity_penalty_amount_multiplier_msat(const struct LDKProbabilisticScoringParameters *NONNULL_PTR this_ptr);
+/* @internal */
+export function ProbabilisticScoringParameters_get_historical_liquidity_penalty_amount_multiplier_msat(this_ptr: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ProbabilisticScoringParameters_get_historical_liquidity_penalty_amount_multiplier_msat(this_ptr);
+       return nativeResponseValue;
+}
+       // void ProbabilisticScoringParameters_set_historical_liquidity_penalty_amount_multiplier_msat(struct LDKProbabilisticScoringParameters *NONNULL_PTR this_ptr, uint64_t val);
+/* @internal */
+export function ProbabilisticScoringParameters_set_historical_liquidity_penalty_amount_multiplier_msat(this_ptr: bigint, val: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ProbabilisticScoringParameters_set_historical_liquidity_penalty_amount_multiplier_msat(this_ptr, val);
+       // debug statements here
+}
+       // uint64_t ProbabilisticScoringParameters_get_historical_no_updates_half_life(const struct LDKProbabilisticScoringParameters *NONNULL_PTR this_ptr);
+/* @internal */
+export function ProbabilisticScoringParameters_get_historical_no_updates_half_life(this_ptr: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ProbabilisticScoringParameters_get_historical_no_updates_half_life(this_ptr);
+       return nativeResponseValue;
+}
+       // void ProbabilisticScoringParameters_set_historical_no_updates_half_life(struct LDKProbabilisticScoringParameters *NONNULL_PTR this_ptr, uint64_t val);
+/* @internal */
+export function ProbabilisticScoringParameters_set_historical_no_updates_half_life(this_ptr: bigint, val: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ProbabilisticScoringParameters_set_historical_no_updates_half_life(this_ptr, val);
+       // debug statements here
 }
        // uint64_t ProbabilisticScoringParameters_get_anti_probing_penalty_msat(const struct LDKProbabilisticScoringParameters *NONNULL_PTR this_ptr);
 /* @internal */
 }
        // uint64_t ProbabilisticScoringParameters_get_anti_probing_penalty_msat(const struct LDKProbabilisticScoringParameters *NONNULL_PTR this_ptr);
 /* @internal */
@@ -31782,6 +33913,348 @@ export function ProbabilisticScorer_read(ser: number, arg_a: bigint, arg_b: bigi
        }
        const nativeResponseValue = wasm.TS_ProbabilisticScorer_read(ser, arg_a, arg_b, arg_c);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ProbabilisticScorer_read(ser, arg_a, arg_b, arg_c);
        return nativeResponseValue;
+}
+       // void BlindedRoute_free(struct LDKBlindedRoute this_obj);
+/* @internal */
+export function BlindedRoute_free(this_obj: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_BlindedRoute_free(this_obj);
+       // debug statements here
+}
+       // void BlindedHop_free(struct LDKBlindedHop this_obj);
+/* @internal */
+export function BlindedHop_free(this_obj: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_BlindedHop_free(this_obj);
+       // debug statements here
+}
+       // MUST_USE_RES struct LDKCResult_BlindedRouteNoneZ BlindedRoute_new(struct LDKCVec_PublicKeyZ node_pks, const struct LDKKeysInterface *NONNULL_PTR keys_manager);
+/* @internal */
+export function BlindedRoute_new(node_pks: number, keys_manager: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_BlindedRoute_new(node_pks, keys_manager);
+       return nativeResponseValue;
+}
+       // struct LDKCVec_u8Z BlindedRoute_write(const struct LDKBlindedRoute *NONNULL_PTR obj);
+/* @internal */
+export function BlindedRoute_write(obj: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_BlindedRoute_write(obj);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_BlindedRouteDecodeErrorZ BlindedRoute_read(struct LDKu8slice ser);
+/* @internal */
+export function BlindedRoute_read(ser: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_BlindedRoute_read(ser);
+       return nativeResponseValue;
+}
+       // struct LDKCVec_u8Z BlindedHop_write(const struct LDKBlindedHop *NONNULL_PTR obj);
+/* @internal */
+export function BlindedHop_write(obj: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_BlindedHop_write(obj);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_BlindedHopDecodeErrorZ BlindedHop_read(struct LDKu8slice ser);
+/* @internal */
+export function BlindedHop_read(ser: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_BlindedHop_read(ser);
+       return nativeResponseValue;
+}
+       // void OnionMessenger_free(struct LDKOnionMessenger this_obj);
+/* @internal */
+export function OnionMessenger_free(this_obj: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessenger_free(this_obj);
+       // debug statements here
+}
+       // void Destination_free(struct LDKDestination this_ptr);
+/* @internal */
+export function Destination_free(this_ptr: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Destination_free(this_ptr);
+       // debug statements here
+}
+       // struct LDKDestination Destination_node(struct LDKPublicKey a);
+/* @internal */
+export function Destination_node(a: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Destination_node(a);
+       return nativeResponseValue;
+}
+       // struct LDKDestination Destination_blinded_route(struct LDKBlindedRoute a);
+/* @internal */
+export function Destination_blinded_route(a: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Destination_blinded_route(a);
+       return nativeResponseValue;
+}
+       // void SendError_free(struct LDKSendError this_ptr);
+/* @internal */
+export function SendError_free(this_ptr: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_SendError_free(this_ptr);
+       // debug statements here
+}
+       // uint64_t SendError_clone_ptr(LDKSendError *NONNULL_PTR arg);
+/* @internal */
+export function SendError_clone_ptr(arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_SendError_clone_ptr(arg);
+       return nativeResponseValue;
+}
+       // struct LDKSendError SendError_clone(const struct LDKSendError *NONNULL_PTR orig);
+/* @internal */
+export function SendError_clone(orig: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_SendError_clone(orig);
+       return nativeResponseValue;
+}
+       // struct LDKSendError SendError_secp256k1(enum LDKSecp256k1Error a);
+/* @internal */
+export function SendError_secp256k1(a: Secp256k1Error): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_SendError_secp256k1(a);
+       return nativeResponseValue;
+}
+       // struct LDKSendError SendError_too_big_packet(void);
+/* @internal */
+export function SendError_too_big_packet(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_SendError_too_big_packet();
+       return nativeResponseValue;
+}
+       // struct LDKSendError SendError_too_few_blinded_hops(void);
+/* @internal */
+export function SendError_too_few_blinded_hops(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_SendError_too_few_blinded_hops();
+       return nativeResponseValue;
+}
+       // struct LDKSendError SendError_invalid_first_hop(void);
+/* @internal */
+export function SendError_invalid_first_hop(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_SendError_invalid_first_hop();
+       return nativeResponseValue;
+}
+       // struct LDKSendError SendError_invalid_message(void);
+/* @internal */
+export function SendError_invalid_message(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_SendError_invalid_message();
+       return nativeResponseValue;
+}
+       // struct LDKSendError SendError_buffer_full(void);
+/* @internal */
+export function SendError_buffer_full(): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_SendError_buffer_full();
+       return nativeResponseValue;
+}
+       // bool SendError_eq(const struct LDKSendError *NONNULL_PTR a, const struct LDKSendError *NONNULL_PTR b);
+/* @internal */
+export function SendError_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_SendError_eq(a, b);
+       return nativeResponseValue;
+}
+       // void CustomOnionMessageHandler_free(struct LDKCustomOnionMessageHandler this_ptr);
+/* @internal */
+export function CustomOnionMessageHandler_free(this_ptr: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CustomOnionMessageHandler_free(this_ptr);
+       // debug statements here
+}
+       // MUST_USE_RES struct LDKOnionMessenger OnionMessenger_new(struct LDKKeysInterface keys_manager, struct LDKLogger logger, struct LDKCustomOnionMessageHandler custom_handler);
+/* @internal */
+export function OnionMessenger_new(keys_manager: bigint, logger: bigint, custom_handler: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessenger_new(keys_manager, logger, custom_handler);
+       return nativeResponseValue;
+}
+       // MUST_USE_RES struct LDKCResult_NoneSendErrorZ OnionMessenger_send_custom_onion_message(const struct LDKOnionMessenger *NONNULL_PTR this_arg, struct LDKCVec_PublicKeyZ intermediate_nodes, struct LDKDestination destination, struct LDKCustomOnionMessageContents msg, struct LDKBlindedRoute reply_path);
+/* @internal */
+export function OnionMessenger_send_custom_onion_message(this_arg: bigint, intermediate_nodes: number, destination: bigint, msg: bigint, reply_path: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessenger_send_custom_onion_message(this_arg, intermediate_nodes, destination, msg, reply_path);
+       return nativeResponseValue;
+}
+       // struct LDKOnionMessageHandler OnionMessenger_as_OnionMessageHandler(const struct LDKOnionMessenger *NONNULL_PTR this_arg);
+/* @internal */
+export function OnionMessenger_as_OnionMessageHandler(this_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessenger_as_OnionMessageHandler(this_arg);
+       return nativeResponseValue;
+}
+       // struct LDKOnionMessageProvider OnionMessenger_as_OnionMessageProvider(const struct LDKOnionMessenger *NONNULL_PTR this_arg);
+/* @internal */
+export function OnionMessenger_as_OnionMessageProvider(this_arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_OnionMessenger_as_OnionMessageProvider(this_arg);
+       return nativeResponseValue;
+}
+       // uint64_t CustomOnionMessageContents_clone_ptr(LDKCustomOnionMessageContents *NONNULL_PTR arg);
+/* @internal */
+export function CustomOnionMessageContents_clone_ptr(arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CustomOnionMessageContents_clone_ptr(arg);
+       return nativeResponseValue;
+}
+       // struct LDKCustomOnionMessageContents CustomOnionMessageContents_clone(const struct LDKCustomOnionMessageContents *NONNULL_PTR orig);
+/* @internal */
+export function CustomOnionMessageContents_clone(orig: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CustomOnionMessageContents_clone(orig);
+       return nativeResponseValue;
+}
+       // void CustomOnionMessageContents_free(struct LDKCustomOnionMessageContents this_ptr);
+/* @internal */
+export function CustomOnionMessageContents_free(this_ptr: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_CustomOnionMessageContents_free(this_ptr);
+       // debug statements here
+}
+       // void RapidGossipSync_free(struct LDKRapidGossipSync this_obj);
+/* @internal */
+export function RapidGossipSync_free(this_obj: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_RapidGossipSync_free(this_obj);
+       // debug statements here
+}
+       // MUST_USE_RES struct LDKRapidGossipSync RapidGossipSync_new(const struct LDKNetworkGraph *NONNULL_PTR network_graph);
+/* @internal */
+export function RapidGossipSync_new(network_graph: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_RapidGossipSync_new(network_graph);
+       return nativeResponseValue;
+}
+       // MUST_USE_RES struct LDKCResult_u32GraphSyncErrorZ RapidGossipSync_update_network_graph(const struct LDKRapidGossipSync *NONNULL_PTR this_arg, struct LDKu8slice update_data);
+/* @internal */
+export function RapidGossipSync_update_network_graph(this_arg: bigint, update_data: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_RapidGossipSync_update_network_graph(this_arg, update_data);
+       return nativeResponseValue;
+}
+       // MUST_USE_RES bool RapidGossipSync_is_initial_sync_complete(const struct LDKRapidGossipSync *NONNULL_PTR this_arg);
+/* @internal */
+export function RapidGossipSync_is_initial_sync_complete(this_arg: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_RapidGossipSync_is_initial_sync_complete(this_arg);
+       return nativeResponseValue;
+}
+       // void GraphSyncError_free(struct LDKGraphSyncError this_ptr);
+/* @internal */
+export function GraphSyncError_free(this_ptr: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_GraphSyncError_free(this_ptr);
+       // debug statements here
+}
+       // uint64_t GraphSyncError_clone_ptr(LDKGraphSyncError *NONNULL_PTR arg);
+/* @internal */
+export function GraphSyncError_clone_ptr(arg: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_GraphSyncError_clone_ptr(arg);
+       return nativeResponseValue;
+}
+       // struct LDKGraphSyncError GraphSyncError_clone(const struct LDKGraphSyncError *NONNULL_PTR orig);
+/* @internal */
+export function GraphSyncError_clone(orig: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_GraphSyncError_clone(orig);
+       return nativeResponseValue;
+}
+       // struct LDKGraphSyncError GraphSyncError_decode_error(struct LDKDecodeError a);
+/* @internal */
+export function GraphSyncError_decode_error(a: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_GraphSyncError_decode_error(a);
+       return nativeResponseValue;
+}
+       // struct LDKGraphSyncError GraphSyncError_lightning_error(struct LDKLightningError a);
+/* @internal */
+export function GraphSyncError_lightning_error(a: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_GraphSyncError_lightning_error(a);
+       return nativeResponseValue;
 }
        // void ParseError_free(struct LDKParseError this_ptr);
 /* @internal */
 }
        // void ParseError_free(struct LDKParseError this_ptr);
 /* @internal */
@@ -31971,6 +34444,15 @@ export function ParseError_skip(): bigint {
        }
        const nativeResponseValue = wasm.TS_ParseError_skip();
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ParseError_skip();
        return nativeResponseValue;
+}
+       // bool ParseError_eq(const struct LDKParseError *NONNULL_PTR a, const struct LDKParseError *NONNULL_PTR b);
+/* @internal */
+export function ParseError_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ParseError_eq(a, b);
+       return nativeResponseValue;
 }
        // void ParseOrSemanticError_free(struct LDKParseOrSemanticError this_ptr);
 /* @internal */
 }
        // void ParseOrSemanticError_free(struct LDKParseOrSemanticError this_ptr);
 /* @internal */
@@ -32016,6 +34498,15 @@ export function ParseOrSemanticError_semantic_error(a: SemanticError): bigint {
        }
        const nativeResponseValue = wasm.TS_ParseOrSemanticError_semantic_error(a);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_ParseOrSemanticError_semantic_error(a);
        return nativeResponseValue;
+}
+       // bool ParseOrSemanticError_eq(const struct LDKParseOrSemanticError *NONNULL_PTR a, const struct LDKParseOrSemanticError *NONNULL_PTR b);
+/* @internal */
+export function ParseOrSemanticError_eq(a: bigint, b: bigint): boolean {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_ParseOrSemanticError_eq(a, b);
+       return nativeResponseValue;
 }
        // void Invoice_free(struct LDKInvoice this_obj);
 /* @internal */
 }
        // void Invoice_free(struct LDKInvoice this_obj);
 /* @internal */
@@ -32052,6 +34543,15 @@ export function Invoice_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_Invoice_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_Invoice_clone(orig);
        return nativeResponseValue;
+}
+       // uint64_t Invoice_hash(const struct LDKInvoice *NONNULL_PTR o);
+/* @internal */
+export function Invoice_hash(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_Invoice_hash(o);
+       return nativeResponseValue;
 }
        // void SignedRawInvoice_free(struct LDKSignedRawInvoice this_obj);
 /* @internal */
 }
        // void SignedRawInvoice_free(struct LDKSignedRawInvoice this_obj);
 /* @internal */
@@ -32088,6 +34588,15 @@ export function SignedRawInvoice_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_SignedRawInvoice_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_SignedRawInvoice_clone(orig);
        return nativeResponseValue;
+}
+       // uint64_t SignedRawInvoice_hash(const struct LDKSignedRawInvoice *NONNULL_PTR o);
+/* @internal */
+export function SignedRawInvoice_hash(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_SignedRawInvoice_hash(o);
+       return nativeResponseValue;
 }
        // void RawInvoice_free(struct LDKRawInvoice this_obj);
 /* @internal */
 }
        // void RawInvoice_free(struct LDKRawInvoice this_obj);
 /* @internal */
@@ -32142,6 +34651,15 @@ export function RawInvoice_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_RawInvoice_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_RawInvoice_clone(orig);
        return nativeResponseValue;
+}
+       // uint64_t RawInvoice_hash(const struct LDKRawInvoice *NONNULL_PTR o);
+/* @internal */
+export function RawInvoice_hash(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_RawInvoice_hash(o);
+       return nativeResponseValue;
 }
        // void RawDataPart_free(struct LDKRawDataPart this_obj);
 /* @internal */
 }
        // void RawDataPart_free(struct LDKRawDataPart this_obj);
 /* @internal */
@@ -32196,6 +34714,15 @@ export function RawDataPart_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_RawDataPart_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_RawDataPart_clone(orig);
        return nativeResponseValue;
+}
+       // uint64_t RawDataPart_hash(const struct LDKRawDataPart *NONNULL_PTR o);
+/* @internal */
+export function RawDataPart_hash(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_RawDataPart_hash(o);
+       return nativeResponseValue;
 }
        // void PositiveTimestamp_free(struct LDKPositiveTimestamp this_obj);
 /* @internal */
 }
        // void PositiveTimestamp_free(struct LDKPositiveTimestamp this_obj);
 /* @internal */
@@ -32232,6 +34759,15 @@ export function PositiveTimestamp_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_PositiveTimestamp_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_PositiveTimestamp_clone(orig);
        return nativeResponseValue;
+}
+       // uint64_t PositiveTimestamp_hash(const struct LDKPositiveTimestamp *NONNULL_PTR o);
+/* @internal */
+export function PositiveTimestamp_hash(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_PositiveTimestamp_hash(o);
+       return nativeResponseValue;
 }
        // enum LDKSiPrefix SiPrefix_clone(const enum LDKSiPrefix *NONNULL_PTR orig);
 /* @internal */
 }
        // enum LDKSiPrefix SiPrefix_clone(const enum LDKSiPrefix *NONNULL_PTR orig);
 /* @internal */
@@ -32286,6 +34822,15 @@ export function SiPrefix_eq(a: bigint, b: bigint): boolean {
        }
        const nativeResponseValue = wasm.TS_SiPrefix_eq(a, b);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_SiPrefix_eq(a, b);
        return nativeResponseValue;
+}
+       // uint64_t SiPrefix_hash(const enum LDKSiPrefix *NONNULL_PTR o);
+/* @internal */
+export function SiPrefix_hash(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_SiPrefix_hash(o);
+       return nativeResponseValue;
 }
        // MUST_USE_RES uint64_t SiPrefix_multiplier(const enum LDKSiPrefix *NONNULL_PTR this_arg);
 /* @internal */
 }
        // MUST_USE_RES uint64_t SiPrefix_multiplier(const enum LDKSiPrefix *NONNULL_PTR this_arg);
 /* @internal */
@@ -32745,6 +35290,15 @@ export function InvoiceSignature_clone(orig: bigint): bigint {
        }
        const nativeResponseValue = wasm.TS_InvoiceSignature_clone(orig);
        return nativeResponseValue;
        }
        const nativeResponseValue = wasm.TS_InvoiceSignature_clone(orig);
        return nativeResponseValue;
+}
+       // uint64_t InvoiceSignature_hash(const struct LDKInvoiceSignature *NONNULL_PTR o);
+/* @internal */
+export function InvoiceSignature_hash(o: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_InvoiceSignature_hash(o);
+       return nativeResponseValue;
 }
        // bool InvoiceSignature_eq(const struct LDKInvoiceSignature *NONNULL_PTR a, const struct LDKInvoiceSignature *NONNULL_PTR b);
 /* @internal */
 }
        // bool InvoiceSignature_eq(const struct LDKInvoiceSignature *NONNULL_PTR a, const struct LDKInvoiceSignature *NONNULL_PTR b);
 /* @internal */
@@ -32818,13 +35372,13 @@ export function SignedRawInvoice_raw_invoice(this_arg: bigint): bigint {
        const nativeResponseValue = wasm.TS_SignedRawInvoice_raw_invoice(this_arg);
        return nativeResponseValue;
 }
        const nativeResponseValue = wasm.TS_SignedRawInvoice_raw_invoice(this_arg);
        return nativeResponseValue;
 }
-       // MUST_USE_RES const uint8_t (*SignedRawInvoice_hash(const struct LDKSignedRawInvoice *NONNULL_PTR this_arg))[32];
+       // MUST_USE_RES const uint8_t (*SignedRawInvoice_signable_hash(const struct LDKSignedRawInvoice *NONNULL_PTR this_arg))[32];
 /* @internal */
 /* @internal */
-export function SignedRawInvoice_hash(this_arg: bigint): number {
+export function SignedRawInvoice_signable_hash(this_arg: bigint): number {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_SignedRawInvoice_hash(this_arg);
+       const nativeResponseValue = wasm.TS_SignedRawInvoice_signable_hash(this_arg);
        return nativeResponseValue;
 }
        // MUST_USE_RES struct LDKInvoiceSignature SignedRawInvoice_signature(const struct LDKSignedRawInvoice *NONNULL_PTR this_arg);
        return nativeResponseValue;
 }
        // MUST_USE_RES struct LDKInvoiceSignature SignedRawInvoice_signature(const struct LDKSignedRawInvoice *NONNULL_PTR this_arg);
@@ -32854,13 +35408,13 @@ export function SignedRawInvoice_check_signature(this_arg: bigint): boolean {
        const nativeResponseValue = wasm.TS_SignedRawInvoice_check_signature(this_arg);
        return nativeResponseValue;
 }
        const nativeResponseValue = wasm.TS_SignedRawInvoice_check_signature(this_arg);
        return nativeResponseValue;
 }
-       // MUST_USE_RES struct LDKThirtyTwoBytes RawInvoice_hash(const struct LDKRawInvoice *NONNULL_PTR this_arg);
+       // MUST_USE_RES struct LDKThirtyTwoBytes RawInvoice_signable_hash(const struct LDKRawInvoice *NONNULL_PTR this_arg);
 /* @internal */
 /* @internal */
-export function RawInvoice_hash(this_arg: bigint): number {
+export function RawInvoice_signable_hash(this_arg: bigint): number {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_RawInvoice_hash(this_arg);
+       const nativeResponseValue = wasm.TS_RawInvoice_signable_hash(this_arg);
        return nativeResponseValue;
 }
        // MUST_USE_RES struct LDKSha256 RawInvoice_payment_hash(const struct LDKRawInvoice *NONNULL_PTR this_arg);
        return nativeResponseValue;
 }
        // MUST_USE_RES struct LDKSha256 RawInvoice_payment_hash(const struct LDKRawInvoice *NONNULL_PTR this_arg);
@@ -33601,13 +36155,13 @@ export function PaymentError_sending(a: bigint): bigint {
        const nativeResponseValue = wasm.TS_PaymentError_sending(a);
        return nativeResponseValue;
 }
        const nativeResponseValue = wasm.TS_PaymentError_sending(a);
        return nativeResponseValue;
 }
-       // MUST_USE_RES struct LDKInvoicePayer InvoicePayer_new(struct LDKPayer payer, struct LDKRouter router, const struct LDKMultiThreadedLockableScore *NONNULL_PTR scorer, struct LDKLogger logger, struct LDKEventHandler event_handler, struct LDKRetry retry);
+       // MUST_USE_RES struct LDKInvoicePayer InvoicePayer_new(struct LDKPayer payer, struct LDKRouter router, struct LDKLogger logger, struct LDKEventHandler event_handler, struct LDKRetry retry);
 /* @internal */
 /* @internal */
-export function InvoicePayer_new(payer: bigint, router: bigint, scorer: bigint, logger: bigint, event_handler: bigint, retry: bigint): bigint {
+export function InvoicePayer_new(payer: bigint, router: bigint, logger: bigint, event_handler: bigint, retry: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_InvoicePayer_new(payer, router, scorer, logger, event_handler, retry);
+       const nativeResponseValue = wasm.TS_InvoicePayer_new(payer, router, logger, event_handler, retry);
        return nativeResponseValue;
 }
        // MUST_USE_RES struct LDKCResult_PaymentIdPaymentErrorZ InvoicePayer_pay_invoice(const struct LDKInvoicePayer *NONNULL_PTR this_arg, const struct LDKInvoice *NONNULL_PTR invoice);
        return nativeResponseValue;
 }
        // MUST_USE_RES struct LDKCResult_PaymentIdPaymentErrorZ InvoicePayer_pay_invoice(const struct LDKInvoicePayer *NONNULL_PTR this_arg, const struct LDKInvoice *NONNULL_PTR invoice);
@@ -33655,22 +36209,58 @@ export function InvoicePayer_as_EventHandler(this_arg: bigint): bigint {
        const nativeResponseValue = wasm.TS_InvoicePayer_as_EventHandler(this_arg);
        return nativeResponseValue;
 }
        const nativeResponseValue = wasm.TS_InvoicePayer_as_EventHandler(this_arg);
        return nativeResponseValue;
 }
-       // struct LDKCResult_InvoiceSignOrCreationErrorZ create_invoice_from_channelmanager_with_description_hash_and_duration_since_epoch(const struct LDKChannelManager *NONNULL_PTR channelmanager, struct LDKKeysInterface keys_manager, enum LDKCurrency network, struct LDKCOption_u64Z amt_msat, struct LDKSha256 description_hash, uint64_t duration_since_epoch, uint32_t invoice_expiry_delta_secs);
+       // void InFlightHtlcs_free(struct LDKInFlightHtlcs this_obj);
+/* @internal */
+export function InFlightHtlcs_free(this_obj: bigint): void {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_InFlightHtlcs_free(this_obj);
+       // debug statements here
+}
+       // MUST_USE_RES struct LDKCOption_u64Z InFlightHtlcs_used_liquidity_msat(const struct LDKInFlightHtlcs *NONNULL_PTR this_arg, const struct LDKNodeId *NONNULL_PTR source, const struct LDKNodeId *NONNULL_PTR target, uint64_t channel_scid);
+/* @internal */
+export function InFlightHtlcs_used_liquidity_msat(this_arg: bigint, source: bigint, target: bigint, channel_scid: bigint): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_InFlightHtlcs_used_liquidity_msat(this_arg, source, target, channel_scid);
+       return nativeResponseValue;
+}
+       // struct LDKCVec_u8Z InFlightHtlcs_write(const struct LDKInFlightHtlcs *NONNULL_PTR obj);
+/* @internal */
+export function InFlightHtlcs_write(obj: bigint): number {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_InFlightHtlcs_write(obj);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_InFlightHtlcsDecodeErrorZ InFlightHtlcs_read(struct LDKu8slice ser);
+/* @internal */
+export function InFlightHtlcs_read(ser: number): bigint {
+       if(!isWasmInitialized) {
+               throw new Error("initializeWasm() must be awaited first!");
+       }
+       const nativeResponseValue = wasm.TS_InFlightHtlcs_read(ser);
+       return nativeResponseValue;
+}
+       // struct LDKCResult_InvoiceSignOrCreationErrorZ create_invoice_from_channelmanager_with_description_hash_and_duration_since_epoch(const struct LDKChannelManager *NONNULL_PTR channelmanager, struct LDKKeysInterface keys_manager, struct LDKLogger logger, enum LDKCurrency network, struct LDKCOption_u64Z amt_msat, struct LDKSha256 description_hash, uint64_t duration_since_epoch, uint32_t invoice_expiry_delta_secs);
 /* @internal */
 /* @internal */
-export function create_invoice_from_channelmanager_with_description_hash_and_duration_since_epoch(channelmanager: bigint, keys_manager: bigint, network: Currency, amt_msat: bigint, description_hash: bigint, duration_since_epoch: bigint, invoice_expiry_delta_secs: number): bigint {
+export function create_invoice_from_channelmanager_with_description_hash_and_duration_since_epoch(channelmanager: bigint, keys_manager: bigint, logger: bigint, network: Currency, amt_msat: bigint, description_hash: bigint, duration_since_epoch: bigint, invoice_expiry_delta_secs: number): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_create_invoice_from_channelmanager_with_description_hash_and_duration_since_epoch(channelmanager, keys_manager, network, amt_msat, description_hash, duration_since_epoch, invoice_expiry_delta_secs);
+       const nativeResponseValue = wasm.TS_create_invoice_from_channelmanager_with_description_hash_and_duration_since_epoch(channelmanager, keys_manager, logger, network, amt_msat, description_hash, duration_since_epoch, invoice_expiry_delta_secs);
        return nativeResponseValue;
 }
        return nativeResponseValue;
 }
-       // struct LDKCResult_InvoiceSignOrCreationErrorZ create_invoice_from_channelmanager_and_duration_since_epoch(const struct LDKChannelManager *NONNULL_PTR channelmanager, struct LDKKeysInterface keys_manager, enum LDKCurrency network, struct LDKCOption_u64Z amt_msat, struct LDKStr description, uint64_t duration_since_epoch, uint32_t invoice_expiry_delta_secs);
+       // struct LDKCResult_InvoiceSignOrCreationErrorZ create_invoice_from_channelmanager_and_duration_since_epoch(const struct LDKChannelManager *NONNULL_PTR channelmanager, struct LDKKeysInterface keys_manager, struct LDKLogger logger, enum LDKCurrency network, struct LDKCOption_u64Z amt_msat, struct LDKStr description, uint64_t duration_since_epoch, uint32_t invoice_expiry_delta_secs);
 /* @internal */
 /* @internal */
-export function create_invoice_from_channelmanager_and_duration_since_epoch(channelmanager: bigint, keys_manager: bigint, network: Currency, amt_msat: bigint, description: number, duration_since_epoch: bigint, invoice_expiry_delta_secs: number): bigint {
+export function create_invoice_from_channelmanager_and_duration_since_epoch(channelmanager: bigint, keys_manager: bigint, logger: bigint, network: Currency, amt_msat: bigint, description: number, duration_since_epoch: bigint, invoice_expiry_delta_secs: number): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_create_invoice_from_channelmanager_and_duration_since_epoch(channelmanager, keys_manager, network, amt_msat, description, duration_since_epoch, invoice_expiry_delta_secs);
+       const nativeResponseValue = wasm.TS_create_invoice_from_channelmanager_and_duration_since_epoch(channelmanager, keys_manager, logger, network, amt_msat, description, duration_since_epoch, invoice_expiry_delta_secs);
        return nativeResponseValue;
 }
        // void DefaultRouter_free(struct LDKDefaultRouter this_obj);
        return nativeResponseValue;
 }
        // void DefaultRouter_free(struct LDKDefaultRouter this_obj);
@@ -33682,13 +36272,13 @@ export function DefaultRouter_free(this_obj: bigint): void {
        const nativeResponseValue = wasm.TS_DefaultRouter_free(this_obj);
        // debug statements here
 }
        const nativeResponseValue = wasm.TS_DefaultRouter_free(this_obj);
        // debug statements here
 }
-       // MUST_USE_RES struct LDKDefaultRouter DefaultRouter_new(const struct LDKNetworkGraph *NONNULL_PTR network_graph, struct LDKLogger logger, struct LDKThirtyTwoBytes random_seed_bytes);
+       // MUST_USE_RES struct LDKDefaultRouter DefaultRouter_new(const struct LDKNetworkGraph *NONNULL_PTR network_graph, struct LDKLogger logger, struct LDKThirtyTwoBytes random_seed_bytes, struct LDKLockableScore scorer);
 /* @internal */
 /* @internal */
-export function DefaultRouter_new(network_graph: bigint, logger: bigint, random_seed_bytes: number): bigint {
+export function DefaultRouter_new(network_graph: bigint, logger: bigint, random_seed_bytes: number, scorer: bigint): bigint {
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
        if(!isWasmInitialized) {
                throw new Error("initializeWasm() must be awaited first!");
        }
-       const nativeResponseValue = wasm.TS_DefaultRouter_new(network_graph, logger, random_seed_bytes);
+       const nativeResponseValue = wasm.TS_DefaultRouter_new(network_graph, logger, random_seed_bytes, scorer);
        return nativeResponseValue;
 }
        // struct LDKRouter DefaultRouter_as_Router(const struct LDKDefaultRouter *NONNULL_PTR this_arg);
        return nativeResponseValue;
 }
        // struct LDKRouter DefaultRouter_as_Router(const struct LDKDefaultRouter *NONNULL_PTR this_arg);
@@ -33793,12 +36383,12 @@ export function SiPrefix_to_str(o: bigint): number {
 
 
 js_invoke = function(obj_ptr: number, fn_id: number, arg1: bigint|number, arg2: bigint|number, arg3: bigint|number, arg4: bigint|number, arg5: bigint|number, arg6: bigint|number, arg7: bigint|number, arg8: bigint|number, arg9: bigint|number, arg10: bigint|number) {
 
 
 js_invoke = function(obj_ptr: number, fn_id: number, arg1: bigint|number, arg2: bigint|number, arg3: bigint|number, arg4: bigint|number, arg5: bigint|number, arg6: bigint|number, arg7: bigint|number, arg8: bigint|number, arg9: bigint|number, arg10: bigint|number) {
-       const weak: WeakRef<object> = js_objs[obj_ptr];
+       const weak: WeakRef<object>|undefined = js_objs[obj_ptr];
        if (weak == null || weak == undefined) {
                console.error("Got function call on unknown/free'd JS object!");
                throw new Error("Got function call on unknown/free'd JS object!");
        }
        if (weak == null || weak == undefined) {
                console.error("Got function call on unknown/free'd JS object!");
                throw new Error("Got function call on unknown/free'd JS object!");
        }
-       const obj: object = weak.deref();
+       const obj = weak.deref();
        if (obj == null || obj == undefined) {
                console.error("Got function call on GC'd JS object!");
                throw new Error("Got function call on GC'd JS object!");
        if (obj == null || obj == undefined) {
                console.error("Got function call on GC'd JS object!");
                throw new Error("Got function call on GC'd JS object!");
@@ -33818,93 +36408,116 @@ js_invoke = function(obj_ptr: number, fn_id: number, arg1: bigint|number, arg2:
                case 10: fn = Object.getOwnPropertyDescriptor(obj, "sign_justice_revoked_htlc"); break;
                case 11: fn = Object.getOwnPropertyDescriptor(obj, "sign_counterparty_htlc_transaction"); break;
                case 12: fn = Object.getOwnPropertyDescriptor(obj, "sign_closing_transaction"); break;
                case 10: fn = Object.getOwnPropertyDescriptor(obj, "sign_justice_revoked_htlc"); break;
                case 11: fn = Object.getOwnPropertyDescriptor(obj, "sign_counterparty_htlc_transaction"); break;
                case 12: fn = Object.getOwnPropertyDescriptor(obj, "sign_closing_transaction"); break;
-               case 13: fn = Object.getOwnPropertyDescriptor(obj, "sign_channel_announcement"); break;
-               case 14: fn = Object.getOwnPropertyDescriptor(obj, "ready_channel"); break;
-               case 15: fn = Object.getOwnPropertyDescriptor(obj, "write"); break;
-               case 16: fn = Object.getOwnPropertyDescriptor(obj, "watch_channel"); break;
-               case 17: fn = Object.getOwnPropertyDescriptor(obj, "update_channel"); break;
-               case 18: fn = Object.getOwnPropertyDescriptor(obj, "release_pending_monitor_events"); break;
-               case 19: fn = Object.getOwnPropertyDescriptor(obj, "broadcast_transaction"); break;
-               case 20: fn = Object.getOwnPropertyDescriptor(obj, "get_node_secret"); break;
-               case 21: fn = Object.getOwnPropertyDescriptor(obj, "get_destination_script"); break;
-               case 22: fn = Object.getOwnPropertyDescriptor(obj, "get_shutdown_scriptpubkey"); break;
-               case 23: fn = Object.getOwnPropertyDescriptor(obj, "get_channel_signer"); break;
-               case 24: fn = Object.getOwnPropertyDescriptor(obj, "get_secure_random_bytes"); break;
-               case 25: fn = Object.getOwnPropertyDescriptor(obj, "read_chan_signer"); break;
-               case 26: fn = Object.getOwnPropertyDescriptor(obj, "sign_invoice"); break;
-               case 27: fn = Object.getOwnPropertyDescriptor(obj, "get_inbound_payment_key_material"); break;
-               case 28: fn = Object.getOwnPropertyDescriptor(obj, "get_est_sat_per_1000_weight"); break;
-               case 29: fn = Object.getOwnPropertyDescriptor(obj, "type_id"); break;
-               case 30: fn = Object.getOwnPropertyDescriptor(obj, "debug_str"); break;
-               case 31: fn = Object.getOwnPropertyDescriptor(obj, "write"); break;
-               case 32: fn = Object.getOwnPropertyDescriptor(obj, "register_tx"); break;
-               case 33: fn = Object.getOwnPropertyDescriptor(obj, "register_output"); break;
-               case 34: fn = Object.getOwnPropertyDescriptor(obj, "get_and_clear_pending_msg_events"); break;
-               case 35: fn = Object.getOwnPropertyDescriptor(obj, "handle_event"); break;
-               case 36: fn = Object.getOwnPropertyDescriptor(obj, "process_pending_events"); break;
-               case 37: fn = Object.getOwnPropertyDescriptor(obj, "channel_penalty_msat"); break;
-               case 38: fn = Object.getOwnPropertyDescriptor(obj, "payment_path_failed"); break;
-               case 39: fn = Object.getOwnPropertyDescriptor(obj, "payment_path_successful"); break;
-               case 40: fn = Object.getOwnPropertyDescriptor(obj, "probe_failed"); break;
-               case 41: fn = Object.getOwnPropertyDescriptor(obj, "probe_successful"); break;
-               case 42: fn = Object.getOwnPropertyDescriptor(obj, "write"); break;
-               case 43: fn = Object.getOwnPropertyDescriptor(obj, "persist_manager"); break;
-               case 44: fn = Object.getOwnPropertyDescriptor(obj, "persist_graph"); break;
-               case 45: fn = Object.getOwnPropertyDescriptor(obj, "persist_scorer"); break;
-               case 46: fn = Object.getOwnPropertyDescriptor(obj, "filtered_block_connected"); break;
-               case 47: fn = Object.getOwnPropertyDescriptor(obj, "block_connected"); break;
-               case 48: fn = Object.getOwnPropertyDescriptor(obj, "block_disconnected"); break;
-               case 49: fn = Object.getOwnPropertyDescriptor(obj, "transactions_confirmed"); break;
-               case 50: fn = Object.getOwnPropertyDescriptor(obj, "transaction_unconfirmed"); break;
-               case 51: fn = Object.getOwnPropertyDescriptor(obj, "best_block_updated"); break;
-               case 52: fn = Object.getOwnPropertyDescriptor(obj, "get_relevant_txids"); break;
-               case 53: fn = Object.getOwnPropertyDescriptor(obj, "persist_new_channel"); break;
-               case 54: fn = Object.getOwnPropertyDescriptor(obj, "update_persisted_channel"); break;
-               case 55: fn = Object.getOwnPropertyDescriptor(obj, "handle_open_channel"); break;
-               case 56: fn = Object.getOwnPropertyDescriptor(obj, "handle_accept_channel"); break;
-               case 57: fn = Object.getOwnPropertyDescriptor(obj, "handle_funding_created"); break;
-               case 58: fn = Object.getOwnPropertyDescriptor(obj, "handle_funding_signed"); break;
-               case 59: fn = Object.getOwnPropertyDescriptor(obj, "handle_channel_ready"); break;
-               case 60: fn = Object.getOwnPropertyDescriptor(obj, "handle_shutdown"); break;
-               case 61: fn = Object.getOwnPropertyDescriptor(obj, "handle_closing_signed"); break;
-               case 62: fn = Object.getOwnPropertyDescriptor(obj, "handle_update_add_htlc"); break;
-               case 63: fn = Object.getOwnPropertyDescriptor(obj, "handle_update_fulfill_htlc"); break;
-               case 64: fn = Object.getOwnPropertyDescriptor(obj, "handle_update_fail_htlc"); break;
-               case 65: fn = Object.getOwnPropertyDescriptor(obj, "handle_update_fail_malformed_htlc"); break;
-               case 66: fn = Object.getOwnPropertyDescriptor(obj, "handle_commitment_signed"); break;
-               case 67: fn = Object.getOwnPropertyDescriptor(obj, "handle_revoke_and_ack"); break;
-               case 68: fn = Object.getOwnPropertyDescriptor(obj, "handle_update_fee"); break;
-               case 69: fn = Object.getOwnPropertyDescriptor(obj, "handle_announcement_signatures"); break;
-               case 70: fn = Object.getOwnPropertyDescriptor(obj, "peer_disconnected"); break;
-               case 71: fn = Object.getOwnPropertyDescriptor(obj, "peer_connected"); break;
-               case 72: fn = Object.getOwnPropertyDescriptor(obj, "handle_channel_reestablish"); break;
-               case 73: fn = Object.getOwnPropertyDescriptor(obj, "handle_channel_update"); break;
-               case 74: fn = Object.getOwnPropertyDescriptor(obj, "handle_error"); break;
-               case 75: fn = Object.getOwnPropertyDescriptor(obj, "handle_node_announcement"); break;
-               case 76: fn = Object.getOwnPropertyDescriptor(obj, "handle_channel_announcement"); break;
-               case 77: fn = Object.getOwnPropertyDescriptor(obj, "handle_channel_update"); break;
-               case 78: fn = Object.getOwnPropertyDescriptor(obj, "get_next_channel_announcements"); break;
-               case 79: fn = Object.getOwnPropertyDescriptor(obj, "get_next_node_announcements"); break;
+               case 13: fn = Object.getOwnPropertyDescriptor(obj, "sign_holder_anchor_input"); break;
+               case 14: fn = Object.getOwnPropertyDescriptor(obj, "sign_channel_announcement"); break;
+               case 15: fn = Object.getOwnPropertyDescriptor(obj, "ready_channel"); break;
+               case 16: fn = Object.getOwnPropertyDescriptor(obj, "write"); break;
+               case 17: fn = Object.getOwnPropertyDescriptor(obj, "watch_channel"); break;
+               case 18: fn = Object.getOwnPropertyDescriptor(obj, "update_channel"); break;
+               case 19: fn = Object.getOwnPropertyDescriptor(obj, "release_pending_monitor_events"); break;
+               case 20: fn = Object.getOwnPropertyDescriptor(obj, "broadcast_transaction"); break;
+               case 21: fn = Object.getOwnPropertyDescriptor(obj, "get_node_secret"); break;
+               case 22: fn = Object.getOwnPropertyDescriptor(obj, "get_node_id"); break;
+               case 23: fn = Object.getOwnPropertyDescriptor(obj, "ecdh"); break;
+               case 24: fn = Object.getOwnPropertyDescriptor(obj, "get_destination_script"); break;
+               case 25: fn = Object.getOwnPropertyDescriptor(obj, "get_shutdown_scriptpubkey"); break;
+               case 26: fn = Object.getOwnPropertyDescriptor(obj, "get_channel_signer"); break;
+               case 27: fn = Object.getOwnPropertyDescriptor(obj, "get_secure_random_bytes"); break;
+               case 28: fn = Object.getOwnPropertyDescriptor(obj, "read_chan_signer"); break;
+               case 29: fn = Object.getOwnPropertyDescriptor(obj, "sign_invoice"); break;
+               case 30: fn = Object.getOwnPropertyDescriptor(obj, "get_inbound_payment_key_material"); break;
+               case 31: fn = Object.getOwnPropertyDescriptor(obj, "get_est_sat_per_1000_weight"); break;
+               case 32: fn = Object.getOwnPropertyDescriptor(obj, "type_id"); break;
+               case 33: fn = Object.getOwnPropertyDescriptor(obj, "debug_str"); break;
+               case 34: fn = Object.getOwnPropertyDescriptor(obj, "write"); break;
+               case 35: fn = Object.getOwnPropertyDescriptor(obj, "tlv_type"); break;
+               case 36: fn = Object.getOwnPropertyDescriptor(obj, "write"); break;
+               case 37: fn = Object.getOwnPropertyDescriptor(obj, "register_tx"); break;
+               case 38: fn = Object.getOwnPropertyDescriptor(obj, "register_output"); break;
+               case 39: fn = Object.getOwnPropertyDescriptor(obj, "get_and_clear_pending_msg_events"); break;
+               case 40: fn = Object.getOwnPropertyDescriptor(obj, "next_onion_message_for_peer"); break;
+               case 41: fn = Object.getOwnPropertyDescriptor(obj, "handle_event"); break;
+               case 42: fn = Object.getOwnPropertyDescriptor(obj, "process_pending_events"); break;
+               case 43: fn = Object.getOwnPropertyDescriptor(obj, "channel_penalty_msat"); break;
+               case 44: fn = Object.getOwnPropertyDescriptor(obj, "payment_path_failed"); break;
+               case 45: fn = Object.getOwnPropertyDescriptor(obj, "payment_path_successful"); break;
+               case 46: fn = Object.getOwnPropertyDescriptor(obj, "probe_failed"); break;
+               case 47: fn = Object.getOwnPropertyDescriptor(obj, "probe_successful"); break;
+               case 48: fn = Object.getOwnPropertyDescriptor(obj, "write"); break;
+               case 49: fn = Object.getOwnPropertyDescriptor(obj, "lock"); break;
+               case 50: fn = Object.getOwnPropertyDescriptor(obj, "write"); break;
+               case 51: fn = Object.getOwnPropertyDescriptor(obj, "persist_manager"); break;
+               case 52: fn = Object.getOwnPropertyDescriptor(obj, "persist_graph"); break;
+               case 53: fn = Object.getOwnPropertyDescriptor(obj, "persist_scorer"); break;
+               case 54: fn = Object.getOwnPropertyDescriptor(obj, "call"); break;
+               case 55: fn = Object.getOwnPropertyDescriptor(obj, "filtered_block_connected"); break;
+               case 56: fn = Object.getOwnPropertyDescriptor(obj, "block_connected"); break;
+               case 57: fn = Object.getOwnPropertyDescriptor(obj, "block_disconnected"); break;
+               case 58: fn = Object.getOwnPropertyDescriptor(obj, "transactions_confirmed"); break;
+               case 59: fn = Object.getOwnPropertyDescriptor(obj, "transaction_unconfirmed"); break;
+               case 60: fn = Object.getOwnPropertyDescriptor(obj, "best_block_updated"); break;
+               case 61: fn = Object.getOwnPropertyDescriptor(obj, "get_relevant_txids"); break;
+               case 62: fn = Object.getOwnPropertyDescriptor(obj, "persist_new_channel"); break;
+               case 63: fn = Object.getOwnPropertyDescriptor(obj, "update_persisted_channel"); break;
+               case 64: fn = Object.getOwnPropertyDescriptor(obj, "handle_open_channel"); break;
+               case 65: fn = Object.getOwnPropertyDescriptor(obj, "handle_accept_channel"); break;
+               case 66: fn = Object.getOwnPropertyDescriptor(obj, "handle_funding_created"); break;
+               case 67: fn = Object.getOwnPropertyDescriptor(obj, "handle_funding_signed"); break;
+               case 68: fn = Object.getOwnPropertyDescriptor(obj, "handle_channel_ready"); break;
+               case 69: fn = Object.getOwnPropertyDescriptor(obj, "handle_shutdown"); break;
+               case 70: fn = Object.getOwnPropertyDescriptor(obj, "handle_closing_signed"); break;
+               case 71: fn = Object.getOwnPropertyDescriptor(obj, "handle_update_add_htlc"); break;
+               case 72: fn = Object.getOwnPropertyDescriptor(obj, "handle_update_fulfill_htlc"); break;
+               case 73: fn = Object.getOwnPropertyDescriptor(obj, "handle_update_fail_htlc"); break;
+               case 74: fn = Object.getOwnPropertyDescriptor(obj, "handle_update_fail_malformed_htlc"); break;
+               case 75: fn = Object.getOwnPropertyDescriptor(obj, "handle_commitment_signed"); break;
+               case 76: fn = Object.getOwnPropertyDescriptor(obj, "handle_revoke_and_ack"); break;
+               case 77: fn = Object.getOwnPropertyDescriptor(obj, "handle_update_fee"); break;
+               case 78: fn = Object.getOwnPropertyDescriptor(obj, "handle_announcement_signatures"); break;
+               case 79: fn = Object.getOwnPropertyDescriptor(obj, "peer_disconnected"); break;
                case 80: fn = Object.getOwnPropertyDescriptor(obj, "peer_connected"); break;
                case 80: fn = Object.getOwnPropertyDescriptor(obj, "peer_connected"); break;
-               case 81: fn = Object.getOwnPropertyDescriptor(obj, "handle_reply_channel_range"); break;
-               case 82: fn = Object.getOwnPropertyDescriptor(obj, "handle_reply_short_channel_ids_end"); break;
-               case 83: fn = Object.getOwnPropertyDescriptor(obj, "handle_query_channel_range"); break;
-               case 84: fn = Object.getOwnPropertyDescriptor(obj, "handle_query_short_channel_ids"); break;
-               case 85: fn = Object.getOwnPropertyDescriptor(obj, "read"); break;
-               case 86: fn = Object.getOwnPropertyDescriptor(obj, "handle_custom_message"); break;
-               case 87: fn = Object.getOwnPropertyDescriptor(obj, "get_and_clear_pending_msg"); break;
-               case 88: fn = Object.getOwnPropertyDescriptor(obj, "send_data"); break;
-               case 89: fn = Object.getOwnPropertyDescriptor(obj, "disconnect_socket"); break;
-               case 90: fn = Object.getOwnPropertyDescriptor(obj, "eq"); break;
-               case 91: fn = Object.getOwnPropertyDescriptor(obj, "hash"); break;
-               case 92: fn = Object.getOwnPropertyDescriptor(obj, "lock"); break;
-               case 93: fn = Object.getOwnPropertyDescriptor(obj, "node_id"); break;
-               case 94: fn = Object.getOwnPropertyDescriptor(obj, "first_hops"); break;
-               case 95: fn = Object.getOwnPropertyDescriptor(obj, "send_payment"); break;
-               case 96: fn = Object.getOwnPropertyDescriptor(obj, "send_spontaneous_payment"); break;
-               case 97: fn = Object.getOwnPropertyDescriptor(obj, "retry_payment"); break;
-               case 98: fn = Object.getOwnPropertyDescriptor(obj, "abandon_payment"); break;
-               case 99: fn = Object.getOwnPropertyDescriptor(obj, "find_route"); break;
+               case 81: fn = Object.getOwnPropertyDescriptor(obj, "handle_channel_reestablish"); break;
+               case 82: fn = Object.getOwnPropertyDescriptor(obj, "handle_channel_update"); break;
+               case 83: fn = Object.getOwnPropertyDescriptor(obj, "handle_error"); break;
+               case 84: fn = Object.getOwnPropertyDescriptor(obj, "provided_node_features"); break;
+               case 85: fn = Object.getOwnPropertyDescriptor(obj, "provided_init_features"); break;
+               case 86: fn = Object.getOwnPropertyDescriptor(obj, "handle_node_announcement"); break;
+               case 87: fn = Object.getOwnPropertyDescriptor(obj, "handle_channel_announcement"); break;
+               case 88: fn = Object.getOwnPropertyDescriptor(obj, "handle_channel_update"); break;
+               case 89: fn = Object.getOwnPropertyDescriptor(obj, "get_next_channel_announcement"); break;
+               case 90: fn = Object.getOwnPropertyDescriptor(obj, "get_next_node_announcement"); break;
+               case 91: fn = Object.getOwnPropertyDescriptor(obj, "peer_connected"); break;
+               case 92: fn = Object.getOwnPropertyDescriptor(obj, "handle_reply_channel_range"); break;
+               case 93: fn = Object.getOwnPropertyDescriptor(obj, "handle_reply_short_channel_ids_end"); break;
+               case 94: fn = Object.getOwnPropertyDescriptor(obj, "handle_query_channel_range"); break;
+               case 95: fn = Object.getOwnPropertyDescriptor(obj, "handle_query_short_channel_ids"); break;
+               case 96: fn = Object.getOwnPropertyDescriptor(obj, "provided_node_features"); break;
+               case 97: fn = Object.getOwnPropertyDescriptor(obj, "provided_init_features"); break;
+               case 98: fn = Object.getOwnPropertyDescriptor(obj, "handle_onion_message"); break;
+               case 99: fn = Object.getOwnPropertyDescriptor(obj, "peer_connected"); break;
+               case 100: fn = Object.getOwnPropertyDescriptor(obj, "peer_disconnected"); break;
+               case 101: fn = Object.getOwnPropertyDescriptor(obj, "provided_node_features"); break;
+               case 102: fn = Object.getOwnPropertyDescriptor(obj, "provided_init_features"); break;
+               case 103: fn = Object.getOwnPropertyDescriptor(obj, "read"); break;
+               case 104: fn = Object.getOwnPropertyDescriptor(obj, "handle_custom_message"); break;
+               case 105: fn = Object.getOwnPropertyDescriptor(obj, "get_and_clear_pending_msg"); break;
+               case 106: fn = Object.getOwnPropertyDescriptor(obj, "handle_custom_message"); break;
+               case 107: fn = Object.getOwnPropertyDescriptor(obj, "read_custom_message"); break;
+               case 108: fn = Object.getOwnPropertyDescriptor(obj, "send_data"); break;
+               case 109: fn = Object.getOwnPropertyDescriptor(obj, "disconnect_socket"); break;
+               case 110: fn = Object.getOwnPropertyDescriptor(obj, "eq"); break;
+               case 111: fn = Object.getOwnPropertyDescriptor(obj, "hash"); break;
+               case 112: fn = Object.getOwnPropertyDescriptor(obj, "node_id"); break;
+               case 113: fn = Object.getOwnPropertyDescriptor(obj, "first_hops"); break;
+               case 114: fn = Object.getOwnPropertyDescriptor(obj, "send_payment"); break;
+               case 115: fn = Object.getOwnPropertyDescriptor(obj, "send_spontaneous_payment"); break;
+               case 116: fn = Object.getOwnPropertyDescriptor(obj, "retry_payment"); break;
+               case 117: fn = Object.getOwnPropertyDescriptor(obj, "abandon_payment"); break;
+               case 118: fn = Object.getOwnPropertyDescriptor(obj, "find_route"); break;
+               case 119: fn = Object.getOwnPropertyDescriptor(obj, "notify_payment_path_failed"); break;
+               case 120: fn = Object.getOwnPropertyDescriptor(obj, "notify_payment_path_successful"); break;
+               case 121: fn = Object.getOwnPropertyDescriptor(obj, "notify_payment_probe_successful"); break;
+               case 122: fn = Object.getOwnPropertyDescriptor(obj, "notify_payment_probe_failed"); break;
                default:
                        console.error("Got unknown function call from C!");
                        throw new Error("Got unknown function call from C!");
                default:
                        console.error("Got unknown function call from C!");
                        throw new Error("Got unknown function call from C!");