// This file was autogenerated by some hot garbage in the `uniffi-bindgen-react-native` crate.
// Trust me, you don't want to mess with it!
#include "bark.hpp"

#include "UniffiJsiTypes.h"
#include <stdexcept>
#include <map>
#include <utility>
#include <iostream>
#include <thread>

namespace react = facebook::react;
namespace jsi = facebook::jsi;

// Calling into Rust.
extern "C" {
    typedef void
    (*UniffiRustFutureContinuationCallback)(
    uint64_t data, 
    int8_t poll_result
    );
    typedef void
    (*UniffiForeignFutureDroppedCallback)(
    uint64_t handle
    );
    typedef void
    (*UniffiCallbackInterfaceFree)(
    uint64_t handle
    );
    typedef uint64_t
    (*UniffiCallbackInterfaceClone)(
    uint64_t handle
    );typedef struct UniffiForeignFutureDroppedCallbackStruct {
        uint64_t handle;
        UniffiForeignFutureDroppedCallback free;
    } UniffiForeignFutureDroppedCallbackStruct;typedef struct UniffiForeignFutureResultU8 {
        uint8_t return_value;
        RustCallStatus call_status;
    } UniffiForeignFutureResultU8;
    typedef void
    (*UniffiForeignFutureCompleteU8)(
    uint64_t callback_data, 
    UniffiForeignFutureResultU8 result
    );typedef struct UniffiForeignFutureResultI8 {
        int8_t return_value;
        RustCallStatus call_status;
    } UniffiForeignFutureResultI8;
    typedef void
    (*UniffiForeignFutureCompleteI8)(
    uint64_t callback_data, 
    UniffiForeignFutureResultI8 result
    );typedef struct UniffiForeignFutureResultU16 {
        uint16_t return_value;
        RustCallStatus call_status;
    } UniffiForeignFutureResultU16;
    typedef void
    (*UniffiForeignFutureCompleteU16)(
    uint64_t callback_data, 
    UniffiForeignFutureResultU16 result
    );typedef struct UniffiForeignFutureResultI16 {
        int16_t return_value;
        RustCallStatus call_status;
    } UniffiForeignFutureResultI16;
    typedef void
    (*UniffiForeignFutureCompleteI16)(
    uint64_t callback_data, 
    UniffiForeignFutureResultI16 result
    );typedef struct UniffiForeignFutureResultU32 {
        uint32_t return_value;
        RustCallStatus call_status;
    } UniffiForeignFutureResultU32;
    typedef void
    (*UniffiForeignFutureCompleteU32)(
    uint64_t callback_data, 
    UniffiForeignFutureResultU32 result
    );typedef struct UniffiForeignFutureResultI32 {
        int32_t return_value;
        RustCallStatus call_status;
    } UniffiForeignFutureResultI32;
    typedef void
    (*UniffiForeignFutureCompleteI32)(
    uint64_t callback_data, 
    UniffiForeignFutureResultI32 result
    );typedef struct UniffiForeignFutureResultU64 {
        uint64_t return_value;
        RustCallStatus call_status;
    } UniffiForeignFutureResultU64;
    typedef void
    (*UniffiForeignFutureCompleteU64)(
    uint64_t callback_data, 
    UniffiForeignFutureResultU64 result
    );typedef struct UniffiForeignFutureResultI64 {
        int64_t return_value;
        RustCallStatus call_status;
    } UniffiForeignFutureResultI64;
    typedef void
    (*UniffiForeignFutureCompleteI64)(
    uint64_t callback_data, 
    UniffiForeignFutureResultI64 result
    );typedef struct UniffiForeignFutureResultF32 {
        float return_value;
        RustCallStatus call_status;
    } UniffiForeignFutureResultF32;
    typedef void
    (*UniffiForeignFutureCompleteF32)(
    uint64_t callback_data, 
    UniffiForeignFutureResultF32 result
    );typedef struct UniffiForeignFutureResultF64 {
        double return_value;
        RustCallStatus call_status;
    } UniffiForeignFutureResultF64;
    typedef void
    (*UniffiForeignFutureCompleteF64)(
    uint64_t callback_data, 
    UniffiForeignFutureResultF64 result
    );typedef struct UniffiForeignFutureResultRustBuffer {
        RustBuffer return_value;
        RustCallStatus call_status;
    } UniffiForeignFutureResultRustBuffer;
    typedef void
    (*UniffiForeignFutureCompleteRustBuffer)(
    uint64_t callback_data, 
    UniffiForeignFutureResultRustBuffer result
    );typedef struct UniffiForeignFutureResultVoid {
        RustCallStatus call_status;
    } UniffiForeignFutureResultVoid;
    typedef void
    (*UniffiForeignFutureCompleteVoid)(
    uint64_t callback_data, 
    UniffiForeignFutureResultVoid result
    );
    typedef void
    (*UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod0)(
    uint64_t uniffi_handle, 
    uint64_t * uniffi_out_return, RustCallStatus* rust_call_status
    );
    typedef void
    (*UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod1)(
    uint64_t uniffi_handle, 
    RustBuffer destinations, 
    uint64_t fee_rate_sat_per_vb, 
    RustBuffer * uniffi_out_return, RustCallStatus* rust_call_status
    );
    typedef void
    (*UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod2)(
    uint64_t uniffi_handle, 
    RustBuffer address, 
    uint64_t fee_rate_sat_per_vb, 
    RustBuffer * uniffi_out_return, RustCallStatus* rust_call_status
    );
    typedef void
    (*UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod3)(
    uint64_t uniffi_handle, 
    RustBuffer psbt_base64, 
    RustBuffer * uniffi_out_return, RustCallStatus* rust_call_status
    );
    typedef void
    (*UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod4)(
    uint64_t uniffi_handle, 
    RustBuffer txid, 
    RustBuffer * uniffi_out_return, RustCallStatus* rust_call_status
    );
    typedef void
    (*UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod5)(
    uint64_t uniffi_handle, 
    RustBuffer txid, 
    RustBuffer * uniffi_out_return, RustCallStatus* rust_call_status
    );
    typedef void
    (*UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod6)(
    uint64_t uniffi_handle, 
    RustBuffer outpoint, 
    RustBuffer * uniffi_out_return, RustCallStatus* rust_call_status
    );
    typedef void
    (*UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod7)(
    uint64_t uniffi_handle, 
    RustBuffer params, 
    RustBuffer * uniffi_out_return, RustCallStatus* rust_call_status
    );
    typedef void
    (*UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod8)(
    uint64_t uniffi_handle, 
    RustBuffer tx_hex, 
    void * uniffi_out_return, RustCallStatus* rust_call_status
    );
    typedef void
    (*UniffiCallbackInterfaceBarkLoggerMethod0)(
    uint64_t uniffi_handle, 
    RustBuffer level, 
    RustBuffer target, 
    RustBuffer message, 
    void * uniffi_out_return, RustCallStatus* rust_call_status
    );typedef struct UniffiVTableCallbackInterfaceCustomOnchainWalletCallbacks {
        UniffiCallbackInterfaceFree uniffi_free;
        UniffiCallbackInterfaceClone uniffi_clone;
        UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod0 get_balance;
        UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod1 prepare_tx;
        UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod2 prepare_drain_tx;
        UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod3 finish_psbt;
        UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod4 get_wallet_tx;
        UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod5 get_wallet_tx_confirmed_block;
        UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod6 get_spending_tx;
        UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod7 make_signed_p2a_cpfp;
        UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod8 store_signed_p2a_cpfp;
    } UniffiVTableCallbackInterfaceCustomOnchainWalletCallbacks;typedef struct UniffiVTableCallbackInterfaceBarkLogger {
        UniffiCallbackInterfaceFree uniffi_free;
        UniffiCallbackInterfaceClone uniffi_clone;
        UniffiCallbackInterfaceBarkLoggerMethod0 log;
    } UniffiVTableCallbackInterfaceBarkLogger;
    /*handle*/ uint64_t uniffi_bark_ffi_fn_clone_notificationholder(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void uniffi_bark_ffi_fn_free_notificationholder(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void uniffi_bark_ffi_fn_method_notificationholder_cancel_next_notification_wait(
        /*handle*/ uint64_t ptr, 
        RustCallStatus *uniffi_out_err
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_notificationholder_next_notification(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_clone_customonchainwalletcallbacks(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void uniffi_bark_ffi_fn_free_customonchainwalletcallbacks(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void uniffi_bark_ffi_fn_init_callback_vtable_customonchainwalletcallbacks(
        UniffiVTableCallbackInterfaceCustomOnchainWalletCallbacks * vtable
    );
    uint64_t uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_balance(
        /*handle*/ uint64_t ptr, 
        RustCallStatus *uniffi_out_err
    );
    RustBuffer uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_prepare_tx(
        /*handle*/ uint64_t ptr, 
        RustBuffer destinations, 
        uint64_t fee_rate_sat_per_vb, 
        RustCallStatus *uniffi_out_err
    );
    RustBuffer uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_prepare_drain_tx(
        /*handle*/ uint64_t ptr, 
        RustBuffer address, 
        uint64_t fee_rate_sat_per_vb, 
        RustCallStatus *uniffi_out_err
    );
    RustBuffer uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_finish_psbt(
        /*handle*/ uint64_t ptr, 
        RustBuffer psbt_base64, 
        RustCallStatus *uniffi_out_err
    );
    RustBuffer uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_wallet_tx(
        /*handle*/ uint64_t ptr, 
        RustBuffer txid, 
        RustCallStatus *uniffi_out_err
    );
    RustBuffer uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_wallet_tx_confirmed_block(
        /*handle*/ uint64_t ptr, 
        RustBuffer txid, 
        RustCallStatus *uniffi_out_err
    );
    RustBuffer uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_spending_tx(
        /*handle*/ uint64_t ptr, 
        RustBuffer outpoint, 
        RustCallStatus *uniffi_out_err
    );
    RustBuffer uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_make_signed_p2a_cpfp(
        /*handle*/ uint64_t ptr, 
        RustBuffer params, 
        RustCallStatus *uniffi_out_err
    );
    void uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_store_signed_p2a_cpfp(
        /*handle*/ uint64_t ptr, 
        RustBuffer tx_hex, 
        RustCallStatus *uniffi_out_err
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_clone_barklogger(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void uniffi_bark_ffi_fn_free_barklogger(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void uniffi_bark_ffi_fn_init_callback_vtable_barklogger(
        UniffiVTableCallbackInterfaceBarkLogger * vtable
    );
    void uniffi_bark_ffi_fn_method_barklogger_log(
        /*handle*/ uint64_t ptr, 
        RustBuffer level, 
        RustBuffer target, 
        RustBuffer message, 
        RustCallStatus *uniffi_out_err
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_clone_onchainwallet(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void uniffi_bark_ffi_fn_free_onchainwallet(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_constructor_onchainwallet_custom(
        /*handle*/ uint64_t callbacks, 
        RustCallStatus *uniffi_out_err
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_constructor_onchainwallet_default(
        RustBuffer mnemonic, 
        RustBuffer config, 
        RustBuffer datadir
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_onchainwallet_balance(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_onchainwallet_new_address(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_onchainwallet_send(
        /*handle*/ uint64_t ptr, 
        RustBuffer address, 
        uint64_t amount_sats, 
        uint64_t fee_rate_sat_per_vb
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_onchainwallet_sync(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_clone_wallet(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void uniffi_bark_ffi_fn_free_wallet(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_constructor_wallet_create(
        RustBuffer mnemonic, 
        RustBuffer config, 
        RustBuffer datadir, 
        int8_t force_rescan
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_constructor_wallet_create_with_onchain(
        RustBuffer mnemonic, 
        RustBuffer config, 
        RustBuffer datadir, 
        /*handle*/ uint64_t onchain_wallet, 
        int8_t force_rescan
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_constructor_wallet_open(
        RustBuffer mnemonic, 
        RustBuffer config, 
        RustBuffer datadir
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_constructor_wallet_open_with_daemon(
        RustBuffer mnemonic, 
        RustBuffer config, 
        RustBuffer datadir, 
        RustBuffer onchain_wallet
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_constructor_wallet_open_with_onchain(
        RustBuffer mnemonic, 
        RustBuffer config, 
        RustBuffer datadir, 
        /*handle*/ uint64_t onchain_wallet
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_all_exits_claimable_at_height(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_all_vtxos(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_allow_lightning_send_to_exit(
        /*handle*/ uint64_t ptr, 
        RustBuffer payment_hash
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_ark_info(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_attempt_lightning_receive_exit(
        /*handle*/ uint64_t ptr, 
        RustBuffer payment_hash
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_balance(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_board_all(
        /*handle*/ uint64_t ptr, 
        /*handle*/ uint64_t onchain_wallet
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_board_amount(
        /*handle*/ uint64_t ptr, 
        /*handle*/ uint64_t onchain_wallet, 
        uint64_t amount_sats
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_bolt11_invoice(
        /*handle*/ uint64_t ptr, 
        uint64_t amount_sats, 
        RustBuffer description
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_broadcast_tx(
        /*handle*/ uint64_t ptr, 
        RustBuffer tx_hex
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_cancel_all_pending_rounds(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_cancel_lightning_receive(
        /*handle*/ uint64_t ptr, 
        RustBuffer payment_hash
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_cancel_pending_round(
        /*handle*/ uint64_t ptr, 
        uint32_t round_id
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_check_lightning_payment(
        /*handle*/ uint64_t ptr, 
        RustBuffer payment_hash, 
        int8_t wait
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_claimable_lightning_receive_balance_sats(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_config(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_drain_exits(
        /*handle*/ uint64_t ptr, 
        RustBuffer vtxo_ids, 
        RustBuffer address, 
        RustBuffer fee_rate_sat_per_vb
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_estimate_arkoor_payment_fee(
        /*handle*/ uint64_t ptr, 
        uint64_t amount_sats
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_estimate_board_fee(
        /*handle*/ uint64_t ptr, 
        uint64_t amount_sats
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_estimate_lightning_receive_fee(
        /*handle*/ uint64_t ptr, 
        uint64_t amount_sats
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_estimate_lightning_send_fee(
        /*handle*/ uint64_t ptr, 
        uint64_t amount_sats
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_estimate_offboard_all_fee(
        /*handle*/ uint64_t ptr, 
        RustBuffer address
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_estimate_offboard_fee(
        /*handle*/ uint64_t ptr, 
        RustBuffer address, 
        RustBuffer vtxo_ids
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_estimate_refresh_fee(
        /*handle*/ uint64_t ptr, 
        RustBuffer vtxo_ids
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_estimate_send_onchain_fee(
        /*handle*/ uint64_t ptr, 
        RustBuffer address, 
        uint64_t amount_sats
    );
    RustBuffer uniffi_bark_ffi_fn_method_wallet_fingerprint(
        /*handle*/ uint64_t ptr, 
        RustCallStatus *uniffi_out_err
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_get_exit_status(
        /*handle*/ uint64_t ptr, 
        RustBuffer vtxo_id, 
        int8_t include_history, 
        int8_t include_transactions
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_get_exit_vtxos(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_get_expiring_vtxos(
        /*handle*/ uint64_t ptr, 
        uint32_t threshold_blocks
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_get_first_expiring_vtxo_blockheight(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_get_next_required_refresh_blockheight(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_get_vtxo_by_id(
        /*handle*/ uint64_t ptr, 
        RustBuffer vtxo_id
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_get_vtxos_to_refresh(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_has_pending_exits(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_history(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_history_by_payment_method(
        /*handle*/ uint64_t ptr, 
        RustBuffer payment_method_type, 
        RustBuffer payment_method_value
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_import_vtxo(
        /*handle*/ uint64_t ptr, 
        RustBuffer vtxo_base64
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_is_invoice_paid(
        /*handle*/ uint64_t ptr, 
        RustBuffer payment_hash
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_lightning_receive_status(
        /*handle*/ uint64_t ptr, 
        RustBuffer payment_hash
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_lightning_send_state(
        /*handle*/ uint64_t ptr, 
        RustBuffer payment_hash
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_list_claimable_exits(
        /*handle*/ uint64_t ptr
    );
    RustBuffer uniffi_bark_ffi_fn_method_wallet_mailbox_authorization(
        /*handle*/ uint64_t ptr, 
        RustCallStatus *uniffi_out_err
    );
    RustBuffer uniffi_bark_ffi_fn_method_wallet_mailbox_identifier(
        /*handle*/ uint64_t ptr, 
        RustCallStatus *uniffi_out_err
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_maintenance(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_maintenance_delegated(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_maintenance_refresh(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_maintenance_with_onchain(
        /*handle*/ uint64_t ptr, 
        /*handle*/ uint64_t onchain_wallet
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_maintenance_with_onchain_delegated(
        /*handle*/ uint64_t ptr, 
        /*handle*/ uint64_t onchain_wallet
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_maybe_schedule_maintenance_refresh(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_network(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_new_address(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_new_address_with_index(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_next_round_start_time(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_notifications(
        /*handle*/ uint64_t ptr, 
        RustCallStatus *uniffi_out_err
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_offboard_all(
        /*handle*/ uint64_t ptr, 
        RustBuffer bitcoin_address
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_offboard_vtxos(
        /*handle*/ uint64_t ptr, 
        RustBuffer vtxo_ids, 
        RustBuffer bitcoin_address
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_pay_lightning_address(
        /*handle*/ uint64_t ptr, 
        RustBuffer lightning_address, 
        uint64_t amount_sats, 
        RustBuffer comment, 
        int8_t wait
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_pay_lightning_invoice(
        /*handle*/ uint64_t ptr, 
        RustBuffer invoice, 
        RustBuffer amount_sats, 
        int8_t wait
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_pay_lightning_offer(
        /*handle*/ uint64_t ptr, 
        RustBuffer offer, 
        RustBuffer amount_sats, 
        int8_t wait
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_peek_address(
        /*handle*/ uint64_t ptr, 
        uint32_t index
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_pending_board_vtxos(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_pending_boards(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_pending_exits_total_sats(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_pending_lightning_receives(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_pending_lightning_send_vtxos(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_pending_lightning_sends(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_pending_round_input_vtxos(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_pending_round_states(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_progress_exits(
        /*handle*/ uint64_t ptr, 
        /*handle*/ uint64_t onchain_wallet, 
        RustBuffer fee_rate_sat_per_vb
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_progress_pending_rounds(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_properties(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_refresh_server(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_refresh_vtxos(
        /*handle*/ uint64_t ptr, 
        RustBuffer vtxo_ids
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_refresh_vtxos_delegated(
        /*handle*/ uint64_t ptr, 
        RustBuffer vtxo_ids
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_run_daemon(
        /*handle*/ uint64_t ptr, 
        RustBuffer onchain_wallet
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_send_arkoor_payment(
        /*handle*/ uint64_t ptr, 
        RustBuffer ark_address, 
        uint64_t amount_sats
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_send_onchain(
        /*handle*/ uint64_t ptr, 
        RustBuffer address, 
        uint64_t amount_sats
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_sign_exit_claim_inputs(
        /*handle*/ uint64_t ptr, 
        RustBuffer psbt_base64
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_spendable_vtxos(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_start_exit_for_entire_wallet(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_start_exit_for_vtxos(
        /*handle*/ uint64_t ptr, 
        RustBuffer vtxo_ids
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_stop_daemon(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_stuck_failed_lightning_sends(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_sync(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_sync_exits(
        /*handle*/ uint64_t ptr, 
        /*handle*/ uint64_t onchain_wallet
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_sync_pending_boards(
        /*handle*/ uint64_t ptr
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_try_claim_all_lightning_receives(
        /*handle*/ uint64_t ptr, 
        int8_t wait
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_try_claim_lightning_receive(
        /*handle*/ uint64_t ptr, 
        RustBuffer payment_hash, 
        int8_t wait
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_validate_arkoor_address(
        /*handle*/ uint64_t ptr, 
        RustBuffer address
    );
    /*handle*/ uint64_t uniffi_bark_ffi_fn_method_wallet_vtxos(
        /*handle*/ uint64_t ptr
    );
    RustBuffer uniffi_bark_ffi_fn_func_extract_tx_from_psbt(
        RustBuffer psbt_base64, 
        RustCallStatus *uniffi_out_err
    );
    RustBuffer uniffi_bark_ffi_fn_func_generate_mnemonic(RustCallStatus *uniffi_out_err
    );
    int8_t uniffi_bark_ffi_fn_func_validate_ark_address(
        RustBuffer address, 
        RustCallStatus *uniffi_out_err
    );
    int8_t uniffi_bark_ffi_fn_func_validate_mnemonic(
        RustBuffer mnemonic, 
        RustCallStatus *uniffi_out_err
    );
    void uniffi_bark_ffi_fn_func_set_logger(
        /*handle*/ uint64_t logger, 
        RustBuffer max_level, 
        RustCallStatus *uniffi_out_err
    );
    RustBuffer ffi_bark_ffi_rustbuffer_alloc(
        uint64_t size, 
        RustCallStatus *uniffi_out_err
    );
    RustBuffer ffi_bark_ffi_rustbuffer_from_bytes(
        ForeignBytes bytes, 
        RustCallStatus *uniffi_out_err
    );
    void ffi_bark_ffi_rustbuffer_free(
        RustBuffer buf, 
        RustCallStatus *uniffi_out_err
    );
    RustBuffer ffi_bark_ffi_rustbuffer_reserve(
        RustBuffer buf, 
        uint64_t additional, 
        RustCallStatus *uniffi_out_err
    );
    void ffi_bark_ffi_rust_future_poll_u8(
        /*handle*/ uint64_t handle, 
        UniffiRustFutureContinuationCallback callback, 
        /*handle*/ uint64_t callback_data
    );
    void ffi_bark_ffi_rust_future_cancel_u8(
        /*handle*/ uint64_t handle
    );
    void ffi_bark_ffi_rust_future_free_u8(
        /*handle*/ uint64_t handle
    );
    uint8_t ffi_bark_ffi_rust_future_complete_u8(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void ffi_bark_ffi_rust_future_poll_i8(
        /*handle*/ uint64_t handle, 
        UniffiRustFutureContinuationCallback callback, 
        /*handle*/ uint64_t callback_data
    );
    void ffi_bark_ffi_rust_future_cancel_i8(
        /*handle*/ uint64_t handle
    );
    void ffi_bark_ffi_rust_future_free_i8(
        /*handle*/ uint64_t handle
    );
    int8_t ffi_bark_ffi_rust_future_complete_i8(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void ffi_bark_ffi_rust_future_poll_u16(
        /*handle*/ uint64_t handle, 
        UniffiRustFutureContinuationCallback callback, 
        /*handle*/ uint64_t callback_data
    );
    void ffi_bark_ffi_rust_future_cancel_u16(
        /*handle*/ uint64_t handle
    );
    void ffi_bark_ffi_rust_future_free_u16(
        /*handle*/ uint64_t handle
    );
    uint16_t ffi_bark_ffi_rust_future_complete_u16(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void ffi_bark_ffi_rust_future_poll_i16(
        /*handle*/ uint64_t handle, 
        UniffiRustFutureContinuationCallback callback, 
        /*handle*/ uint64_t callback_data
    );
    void ffi_bark_ffi_rust_future_cancel_i16(
        /*handle*/ uint64_t handle
    );
    void ffi_bark_ffi_rust_future_free_i16(
        /*handle*/ uint64_t handle
    );
    int16_t ffi_bark_ffi_rust_future_complete_i16(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void ffi_bark_ffi_rust_future_poll_u32(
        /*handle*/ uint64_t handle, 
        UniffiRustFutureContinuationCallback callback, 
        /*handle*/ uint64_t callback_data
    );
    void ffi_bark_ffi_rust_future_cancel_u32(
        /*handle*/ uint64_t handle
    );
    void ffi_bark_ffi_rust_future_free_u32(
        /*handle*/ uint64_t handle
    );
    uint32_t ffi_bark_ffi_rust_future_complete_u32(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void ffi_bark_ffi_rust_future_poll_i32(
        /*handle*/ uint64_t handle, 
        UniffiRustFutureContinuationCallback callback, 
        /*handle*/ uint64_t callback_data
    );
    void ffi_bark_ffi_rust_future_cancel_i32(
        /*handle*/ uint64_t handle
    );
    void ffi_bark_ffi_rust_future_free_i32(
        /*handle*/ uint64_t handle
    );
    int32_t ffi_bark_ffi_rust_future_complete_i32(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void ffi_bark_ffi_rust_future_poll_u64(
        /*handle*/ uint64_t handle, 
        UniffiRustFutureContinuationCallback callback, 
        /*handle*/ uint64_t callback_data
    );
    void ffi_bark_ffi_rust_future_cancel_u64(
        /*handle*/ uint64_t handle
    );
    void ffi_bark_ffi_rust_future_free_u64(
        /*handle*/ uint64_t handle
    );
    uint64_t ffi_bark_ffi_rust_future_complete_u64(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void ffi_bark_ffi_rust_future_poll_i64(
        /*handle*/ uint64_t handle, 
        UniffiRustFutureContinuationCallback callback, 
        /*handle*/ uint64_t callback_data
    );
    void ffi_bark_ffi_rust_future_cancel_i64(
        /*handle*/ uint64_t handle
    );
    void ffi_bark_ffi_rust_future_free_i64(
        /*handle*/ uint64_t handle
    );
    int64_t ffi_bark_ffi_rust_future_complete_i64(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void ffi_bark_ffi_rust_future_poll_f32(
        /*handle*/ uint64_t handle, 
        UniffiRustFutureContinuationCallback callback, 
        /*handle*/ uint64_t callback_data
    );
    void ffi_bark_ffi_rust_future_cancel_f32(
        /*handle*/ uint64_t handle
    );
    void ffi_bark_ffi_rust_future_free_f32(
        /*handle*/ uint64_t handle
    );
    float ffi_bark_ffi_rust_future_complete_f32(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void ffi_bark_ffi_rust_future_poll_f64(
        /*handle*/ uint64_t handle, 
        UniffiRustFutureContinuationCallback callback, 
        /*handle*/ uint64_t callback_data
    );
    void ffi_bark_ffi_rust_future_cancel_f64(
        /*handle*/ uint64_t handle
    );
    void ffi_bark_ffi_rust_future_free_f64(
        /*handle*/ uint64_t handle
    );
    double ffi_bark_ffi_rust_future_complete_f64(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void ffi_bark_ffi_rust_future_poll_rust_buffer(
        /*handle*/ uint64_t handle, 
        UniffiRustFutureContinuationCallback callback, 
        /*handle*/ uint64_t callback_data
    );
    void ffi_bark_ffi_rust_future_cancel_rust_buffer(
        /*handle*/ uint64_t handle
    );
    void ffi_bark_ffi_rust_future_free_rust_buffer(
        /*handle*/ uint64_t handle
    );
    RustBuffer ffi_bark_ffi_rust_future_complete_rust_buffer(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    void ffi_bark_ffi_rust_future_poll_void(
        /*handle*/ uint64_t handle, 
        UniffiRustFutureContinuationCallback callback, 
        /*handle*/ uint64_t callback_data
    );
    void ffi_bark_ffi_rust_future_cancel_void(
        /*handle*/ uint64_t handle
    );
    void ffi_bark_ffi_rust_future_free_void(
        /*handle*/ uint64_t handle
    );
    void ffi_bark_ffi_rust_future_complete_void(
        /*handle*/ uint64_t handle, 
        RustCallStatus *uniffi_out_err
    );
    uint16_t uniffi_bark_ffi_checksum_func_extract_tx_from_psbt(
    );
    uint16_t uniffi_bark_ffi_checksum_func_generate_mnemonic(
    );
    uint16_t uniffi_bark_ffi_checksum_func_validate_ark_address(
    );
    uint16_t uniffi_bark_ffi_checksum_func_validate_mnemonic(
    );
    uint16_t uniffi_bark_ffi_checksum_func_set_logger(
    );
    uint16_t uniffi_bark_ffi_checksum_method_notificationholder_cancel_next_notification_wait(
    );
    uint16_t uniffi_bark_ffi_checksum_method_notificationholder_next_notification(
    );
    uint16_t uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_balance(
    );
    uint16_t uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_prepare_tx(
    );
    uint16_t uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_prepare_drain_tx(
    );
    uint16_t uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_finish_psbt(
    );
    uint16_t uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_wallet_tx(
    );
    uint16_t uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_wallet_tx_confirmed_block(
    );
    uint16_t uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_spending_tx(
    );
    uint16_t uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_make_signed_p2a_cpfp(
    );
    uint16_t uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_store_signed_p2a_cpfp(
    );
    uint16_t uniffi_bark_ffi_checksum_method_barklogger_log(
    );
    uint16_t uniffi_bark_ffi_checksum_method_onchainwallet_balance(
    );
    uint16_t uniffi_bark_ffi_checksum_method_onchainwallet_new_address(
    );
    uint16_t uniffi_bark_ffi_checksum_method_onchainwallet_send(
    );
    uint16_t uniffi_bark_ffi_checksum_method_onchainwallet_sync(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_all_exits_claimable_at_height(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_all_vtxos(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_allow_lightning_send_to_exit(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_ark_info(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_attempt_lightning_receive_exit(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_balance(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_board_all(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_board_amount(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_bolt11_invoice(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_broadcast_tx(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_cancel_all_pending_rounds(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_cancel_lightning_receive(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_cancel_pending_round(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_check_lightning_payment(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_claimable_lightning_receive_balance_sats(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_config(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_drain_exits(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_estimate_arkoor_payment_fee(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_estimate_board_fee(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_estimate_lightning_receive_fee(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_estimate_lightning_send_fee(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_estimate_offboard_all_fee(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_estimate_offboard_fee(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_estimate_refresh_fee(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_estimate_send_onchain_fee(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_fingerprint(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_get_exit_status(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_get_exit_vtxos(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_get_expiring_vtxos(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_get_first_expiring_vtxo_blockheight(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_get_next_required_refresh_blockheight(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_get_vtxo_by_id(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_get_vtxos_to_refresh(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_has_pending_exits(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_history(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_history_by_payment_method(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_import_vtxo(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_is_invoice_paid(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_lightning_receive_status(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_lightning_send_state(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_list_claimable_exits(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_mailbox_authorization(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_mailbox_identifier(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_maintenance(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_maintenance_delegated(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_maintenance_refresh(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_maintenance_with_onchain(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_maintenance_with_onchain_delegated(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_maybe_schedule_maintenance_refresh(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_network(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_new_address(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_new_address_with_index(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_next_round_start_time(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_notifications(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_offboard_all(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_offboard_vtxos(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_pay_lightning_address(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_pay_lightning_invoice(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_pay_lightning_offer(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_peek_address(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_pending_board_vtxos(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_pending_boards(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_pending_exits_total_sats(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_pending_lightning_receives(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_pending_lightning_send_vtxos(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_pending_lightning_sends(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_pending_round_input_vtxos(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_pending_round_states(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_progress_exits(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_progress_pending_rounds(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_properties(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_refresh_server(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_refresh_vtxos(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_refresh_vtxos_delegated(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_run_daemon(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_send_arkoor_payment(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_send_onchain(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_sign_exit_claim_inputs(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_spendable_vtxos(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_start_exit_for_entire_wallet(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_start_exit_for_vtxos(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_stop_daemon(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_stuck_failed_lightning_sends(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_sync(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_sync_exits(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_sync_pending_boards(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_try_claim_all_lightning_receives(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_try_claim_lightning_receive(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_validate_arkoor_address(
    );
    uint16_t uniffi_bark_ffi_checksum_method_wallet_vtxos(
    );
    uint16_t uniffi_bark_ffi_checksum_constructor_onchainwallet_custom(
    );
    uint16_t uniffi_bark_ffi_checksum_constructor_onchainwallet_default(
    );
    uint16_t uniffi_bark_ffi_checksum_constructor_wallet_create(
    );
    uint16_t uniffi_bark_ffi_checksum_constructor_wallet_create_with_onchain(
    );
    uint16_t uniffi_bark_ffi_checksum_constructor_wallet_open(
    );
    uint16_t uniffi_bark_ffi_checksum_constructor_wallet_open_with_daemon(
    );
    uint16_t uniffi_bark_ffi_checksum_constructor_wallet_open_with_onchain(
    );
    uint32_t ffi_bark_ffi_uniffi_contract_version(
    );
}


namespace uniffi::bark {
template <typename T> struct Bridging;

using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <typename T> struct Bridging<ReferenceHolder<T>> {
  static jsi::Value jsNew(jsi::Runtime &rt) {
    auto holder = jsi::Object(rt);
    return holder;
  }
  static T fromJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker> callInvoker,
                  const jsi::Value &value) {
    auto obj = value.asObject(rt);
    if (obj.hasProperty(rt, "pointee")) {
      auto pointee = obj.getProperty(rt, "pointee");
      return uniffi::bark::Bridging<T>::fromJs(rt, callInvoker, pointee);
    }
    throw jsi::JSError(
      rt,
      "Expected ReferenceHolder to have a pointee property. This is likely a bug in uniffi-bindgen-react-native"
    );
  }
};
} // namespace uniffi::bark
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<RustBuffer> {
  static RustBuffer rustbuffer_alloc(int32_t size) {
      RustCallStatus status = { UNIFFI_CALL_STATUS_OK };
      return ffi_bark_ffi_rustbuffer_alloc(
          size,
          &status
      );
  }

  static void rustbuffer_free(RustBuffer buf) {
    RustCallStatus status = { UNIFFI_CALL_STATUS_OK };
    ffi_bark_ffi_rustbuffer_free(
        buf,
        &status
    );
  }

  static RustBuffer rustbuffer_from_bytes(ForeignBytes bytes) {
    RustCallStatus status = { UNIFFI_CALL_STATUS_OK };
    return ffi_bark_ffi_rustbuffer_from_bytes(
      bytes,
      &status
    );
  }

  static RustBuffer fromJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker>,
                           const jsi::Value &value) {
    try {
      auto buffer = uniffi_jsi::Bridging<jsi::ArrayBuffer>::value_to_arraybuffer(rt, value);
      auto bytes = ForeignBytes{
          .len = static_cast<int32_t>(buffer.length(rt)),
          .data = buffer.data(rt),
      };

      // This buffer is constructed from foreign bytes. Rust scaffolding copies
      // the bytes, to make the RustBuffer.
      auto buf = rustbuffer_from_bytes(bytes);
      // Once it leaves this function, the buffer is immediately passed back
      // into Rust, where it's used to deserialize into the Rust versions of the
      // arguments. At that point, the copy is destroyed.
      return buf;
    } catch (const std::logic_error &e) {
      throw jsi::JSError(rt, e.what());
    }
  }

  static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker>,
                         RustBuffer buf) {
    // We need to make a copy of the bytes from Rust's memory space into
    // Javascripts memory space. We need to do this because the two languages
    // manages memory very differently: a garbage collector needs to track all
    // the memory at runtime, Rust is doing it all closer to compile time.
    uint8_t *bytes = new uint8_t[buf.len];
    std::memcpy(bytes, buf.data, buf.len);

    // Construct an ArrayBuffer with copy of the bytes from the RustBuffer.
    auto payload = std::make_shared<uniffi_jsi::CMutableBuffer>(
        uniffi_jsi::CMutableBuffer((uint8_t *)bytes, buf.len));
    auto arrayBuffer = jsi::ArrayBuffer(rt, payload);

    // Once we have a Javascript version, we no longer need the Rust version, so
    // we can call into Rust to tell it it's okay to free that memory.
    rustbuffer_free(buf);

    // Finally, return the ArrayBuffer.
    return uniffi_jsi::Bridging<jsi::ArrayBuffer>::arraybuffer_to_value(rt, arrayBuffer);;
  }
};

} // namespace uniffi::bark

namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<RustCallStatus> {
  static jsi::Value jsSuccess(jsi::Runtime &rt) {
    auto statusObject = jsi::Object(rt);
    statusObject.setProperty(rt, "code", jsi::Value(rt, UNIFFI_CALL_STATUS_OK));
    return statusObject;
  }
  static RustCallStatus rustSuccess(jsi::Runtime &rt) {
    return {UNIFFI_CALL_STATUS_OK};
  }
  static void copyIntoJs(jsi::Runtime &rt,
                         std::shared_ptr<CallInvoker> callInvoker,
                         const RustCallStatus status,
                         const jsi::Value &jsStatus) {
    auto statusObject = jsStatus.asObject(rt);
    if (status.error_buf.data != nullptr) {
      auto rbuf = Bridging<RustBuffer>::toJs(rt, callInvoker,
                                                         status.error_buf);
      statusObject.setProperty(rt, "errorBuf", rbuf);
    }
    if (status.code != UNIFFI_CALL_STATUS_OK) {
      auto code =
          uniffi_jsi::Bridging<uint8_t>::toJs(rt, callInvoker, status.code);
      statusObject.setProperty(rt, "code", code);
    }
  }

  static RustCallStatus fromJs(jsi::Runtime &rt,
                               std::shared_ptr<CallInvoker> invoker,
                               const jsi::Value &jsStatus) {
    RustCallStatus status;
    auto statusObject = jsStatus.asObject(rt);
    if (statusObject.hasProperty(rt, "errorBuf")) {
      auto rbuf = statusObject.getProperty(rt, "errorBuf");
      status.error_buf =
          Bridging<RustBuffer>::fromJs(rt, invoker, rbuf);
    }
    if (statusObject.hasProperty(rt, "code")) {
      auto code = statusObject.getProperty(rt, "code");
      status.code = uniffi_jsi::Bridging<uint8_t>::fromJs(rt, invoker, code);
    }
    return status;
  }

  static void copyFromJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker> invoker,
                         const jsi::Value &jsStatus, RustCallStatus *status) {
    auto statusObject = jsStatus.asObject(rt);
    if (statusObject.hasProperty(rt, "errorBuf")) {
      auto rbuf = statusObject.getProperty(rt, "errorBuf");
      status->error_buf =
          Bridging<RustBuffer>::fromJs(rt, invoker, rbuf);
    }
    if (statusObject.hasProperty(rt, "code")) {
      auto code = statusObject.getProperty(rt, "code");
      status->code = uniffi_jsi::Bridging<uint8_t>::fromJs(rt, invoker, code);
    }
  }
};

} // namespace uniffi::bark
// In other uniffi bindings, it is assumed that the foreign language holds on
// to the vtable, which the Rust just gets a pointer to.
// Here, we need to hold on to them, but also be able to clear them at just the
// right time so we can support hot-reloading.
namespace uniffi::bark::registry {
    template <typename T>
    class VTableHolder {
    public:
        T vtable;
        VTableHolder(T v) : vtable(v) {}
    };

    // Mutex to bind the storage and setting of vtable together.
    // We declare it here, but the lock is taken by callers of the putTable
    // method who are also sending a pointer to Rust.
    static std::mutex vtableMutex;

    // Registry to hold all vtables so they persist even when JS objects are GC'd.
    // The only reason this exists is to prevent a dangling pointer in the
    // Rust machinery: i.e. we don't need to access or write to this registry
    // after startup.
    // Registry to hold all vtables so they persist even when JS objects are GC'd.
    // Maps string identifiers to vtable holders using type erasure
    static std::unordered_map<std::string, std::shared_ptr<void>> vtableRegistry;

    // Add a vtable to the registry with an identifier
    template <typename T>
    static T* putTable(std::string_view identifier, T vtable) {
        auto holder = std::make_shared<VTableHolder<T>>(vtable);
        // Store the raw pointer to the vtable before type erasure
        T* rawPtr = &(holder->vtable);
        // Store the holder using type erasure with the string identifier
        vtableRegistry[std::string(identifier)] = std::shared_ptr<void>(holder);
        return rawPtr;
    }

    // Clear the registry.
    //
    // Conceptually, this is called after teardown of the module (i.e. after
    // teardown of the jsi::Runtime). However, because Rust is dropping callbacks
    // because the Runtime is being torn down, we must keep the registry intact
    // until after the runtime goes away.
    //
    // Therefore, in practice we should call this when the next runtime is
    // being stood up.
    static void clearRegistry() {
        std::lock_guard<std::mutex> lock(vtableMutex);
        vtableRegistry.clear();
    }
} // namespace uniffi::bark::registry

// This calls into Rust.
    // Implementation of callback function calling from Rust to JS RustFutureContinuationCallback

// Callback function: uniffi::bark::cb::rustfuturecontinuationcallback::UniffiRustFutureContinuationCallback
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::cb::rustfuturecontinuationcallback {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t, int8_t)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_data
            ,int8_t rs_pollResult) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_data = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_data);
        auto js_pollResult = uniffi_jsi::Bridging<int8_t>::toJs(rt, callInvoker, rs_pollResult);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_data, js_pollResult
            );

            

            
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiRustFutureContinuationCallback: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static void callback(uint64_t rs_data, int8_t rs_pollResult) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return;
        }

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_data, 
            rs_pollResult);
    }

    [[maybe_unused]] static UniffiRustFutureContinuationCallback
    makeCallbackFunction( // uniffi::bark::cb::rustfuturecontinuationcallback
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_data, int8_t rs_pollResult) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_data
                    , rs_pollResult](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_data
                        , rs_pollResult);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                
                callInvoker->invokeNonBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::cb::rustfuturecontinuationcallback
    // Implementation of callback function calling from Rust to JS ForeignFutureDroppedCallback

// Callback function: uniffi::bark::cb::foreignfuturedroppedcallback::UniffiForeignFutureDroppedCallback
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::cb::foreignfuturedroppedcallback {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_handle) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_handle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_handle);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_handle
            );

            

            
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiForeignFutureDroppedCallback: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static void callback(uint64_t rs_handle) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return;
        }

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_handle);
    }

    [[maybe_unused]] static UniffiForeignFutureDroppedCallback
    makeCallbackFunction( // uniffi::bark::cb::foreignfuturedroppedcallback
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_handle) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_handle](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_handle);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                
                callInvoker->invokeNonBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::cb::foreignfuturedroppedcallback
    // Implementation of free callback function CallbackInterfaceFree


// Callback function: uniffi::bark::st::vtablecallbackinterfacecustomonchainwalletcallbacks::vtablecallbackinterfacecustomonchainwalletcallbacks::free::UniffiCallbackInterfaceFree
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::st::vtablecallbackinterfacecustomonchainwalletcallbacks::vtablecallbackinterfacecustomonchainwalletcallbacks::free {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_handle) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_handle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_handle);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_handle
            );

            

            
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiCallbackInterfaceFree: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static void callback(uint64_t rs_handle) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return;
        }

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_handle);
    }

    [[maybe_unused]] static UniffiCallbackInterfaceFree
    makeCallbackFunction( // uniffi::bark::st::vtablecallbackinterfacecustomonchainwalletcallbacks::vtablecallbackinterfacecustomonchainwalletcallbacks::free
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_handle) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_handle](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_handle);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                
                callInvoker->invokeNonBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::st::vtablecallbackinterfacecustomonchainwalletcallbacks::vtablecallbackinterfacecustomonchainwalletcallbacks::free

// Callback function: uniffi::bark::st::vtablecallbackinterfacebarklogger::vtablecallbackinterfacebarklogger::free::UniffiCallbackInterfaceFree
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::st::vtablecallbackinterfacebarklogger::vtablecallbackinterfacebarklogger::free {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_handle) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_handle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_handle);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_handle
            );

            

            
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiCallbackInterfaceFree: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static void callback(uint64_t rs_handle) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return;
        }

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_handle);
    }

    [[maybe_unused]] static UniffiCallbackInterfaceFree
    makeCallbackFunction( // uniffi::bark::st::vtablecallbackinterfacebarklogger::vtablecallbackinterfacebarklogger::free
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_handle) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_handle](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_handle);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                
                callInvoker->invokeNonBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::st::vtablecallbackinterfacebarklogger::vtablecallbackinterfacebarklogger::free
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureDroppedCallbackStruct> {
  static UniffiForeignFutureDroppedCallbackStruct fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureDroppedCallbackStruct");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiForeignFutureDroppedCallbackStruct rsObject;

    // Create the vtable from the js callbacks.
    rsObject.handle = uniffi_jsi::Bridging<uint64_t>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "handle")
      );
    rsObject.free = uniffi::bark::cb::foreignfuturedroppedcallback::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "free")
        );

    return rsObject;
  }
};

} // namespace uniffi::bark
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureResultU8> {
  static UniffiForeignFutureResultU8 fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureResultU8");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiForeignFutureResultU8 rsObject;

    // Create the vtable from the js callbacks.
    rsObject.return_value = uniffi_jsi::Bridging<uint8_t>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "returnValue")
      );
    rsObject.call_status = uniffi::bark::Bridging<RustCallStatus>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "callStatus")
      );

    return rsObject;
  }
};

} // namespace uniffi::bark
    // Implementation of callback function calling from JS to Rust ForeignFutureCompleteU8,
    // passed from Rust to JS as part of async callbacks.
namespace uniffi::bark {
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureCompleteU8> {
  static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker> callInvoker, UniffiForeignFutureCompleteU8 rsCallback) {
    return jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteU8"),
        2,
        [rsCallback, callInvoker](
            jsi::Runtime &rt,
            const jsi::Value &thisValue,
            const jsi::Value *arguments,
            size_t count) -> jsi::Value
        {
            return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback);
        }
    );
  }

  static jsi::Value intoRust(
      jsi::Runtime &rt,
      std::shared_ptr<CallInvoker> callInvoker,
      const jsi::Value &thisValue,
      const jsi::Value *args,
      size_t count,
      UniffiForeignFutureCompleteU8 func) {
    // Convert the arguments into the Rust, with Bridging<T>::fromJs,
    // then call the rs_callback with those arguments.
        func(uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiForeignFutureResultU8>::fromJs(rt, callInvoker, args[1])
        );

        
        return jsi::Value::undefined();
  }
};
} // namespace uniffi::bark
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureResultI8> {
  static UniffiForeignFutureResultI8 fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureResultI8");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiForeignFutureResultI8 rsObject;

    // Create the vtable from the js callbacks.
    rsObject.return_value = uniffi_jsi::Bridging<int8_t>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "returnValue")
      );
    rsObject.call_status = uniffi::bark::Bridging<RustCallStatus>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "callStatus")
      );

    return rsObject;
  }
};

} // namespace uniffi::bark
    // Implementation of callback function calling from JS to Rust ForeignFutureCompleteI8,
    // passed from Rust to JS as part of async callbacks.
namespace uniffi::bark {
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureCompleteI8> {
  static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker> callInvoker, UniffiForeignFutureCompleteI8 rsCallback) {
    return jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteI8"),
        2,
        [rsCallback, callInvoker](
            jsi::Runtime &rt,
            const jsi::Value &thisValue,
            const jsi::Value *arguments,
            size_t count) -> jsi::Value
        {
            return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback);
        }
    );
  }

  static jsi::Value intoRust(
      jsi::Runtime &rt,
      std::shared_ptr<CallInvoker> callInvoker,
      const jsi::Value &thisValue,
      const jsi::Value *args,
      size_t count,
      UniffiForeignFutureCompleteI8 func) {
    // Convert the arguments into the Rust, with Bridging<T>::fromJs,
    // then call the rs_callback with those arguments.
        func(uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiForeignFutureResultI8>::fromJs(rt, callInvoker, args[1])
        );

        
        return jsi::Value::undefined();
  }
};
} // namespace uniffi::bark
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureResultU16> {
  static UniffiForeignFutureResultU16 fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureResultU16");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiForeignFutureResultU16 rsObject;

    // Create the vtable from the js callbacks.
    rsObject.return_value = uniffi_jsi::Bridging<uint16_t>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "returnValue")
      );
    rsObject.call_status = uniffi::bark::Bridging<RustCallStatus>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "callStatus")
      );

    return rsObject;
  }
};

} // namespace uniffi::bark
    // Implementation of callback function calling from JS to Rust ForeignFutureCompleteU16,
    // passed from Rust to JS as part of async callbacks.
namespace uniffi::bark {
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureCompleteU16> {
  static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker> callInvoker, UniffiForeignFutureCompleteU16 rsCallback) {
    return jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteU16"),
        2,
        [rsCallback, callInvoker](
            jsi::Runtime &rt,
            const jsi::Value &thisValue,
            const jsi::Value *arguments,
            size_t count) -> jsi::Value
        {
            return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback);
        }
    );
  }

  static jsi::Value intoRust(
      jsi::Runtime &rt,
      std::shared_ptr<CallInvoker> callInvoker,
      const jsi::Value &thisValue,
      const jsi::Value *args,
      size_t count,
      UniffiForeignFutureCompleteU16 func) {
    // Convert the arguments into the Rust, with Bridging<T>::fromJs,
    // then call the rs_callback with those arguments.
        func(uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiForeignFutureResultU16>::fromJs(rt, callInvoker, args[1])
        );

        
        return jsi::Value::undefined();
  }
};
} // namespace uniffi::bark
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureResultI16> {
  static UniffiForeignFutureResultI16 fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureResultI16");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiForeignFutureResultI16 rsObject;

    // Create the vtable from the js callbacks.
    rsObject.return_value = uniffi_jsi::Bridging<int16_t>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "returnValue")
      );
    rsObject.call_status = uniffi::bark::Bridging<RustCallStatus>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "callStatus")
      );

    return rsObject;
  }
};

} // namespace uniffi::bark
    // Implementation of callback function calling from JS to Rust ForeignFutureCompleteI16,
    // passed from Rust to JS as part of async callbacks.
namespace uniffi::bark {
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureCompleteI16> {
  static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker> callInvoker, UniffiForeignFutureCompleteI16 rsCallback) {
    return jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteI16"),
        2,
        [rsCallback, callInvoker](
            jsi::Runtime &rt,
            const jsi::Value &thisValue,
            const jsi::Value *arguments,
            size_t count) -> jsi::Value
        {
            return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback);
        }
    );
  }

  static jsi::Value intoRust(
      jsi::Runtime &rt,
      std::shared_ptr<CallInvoker> callInvoker,
      const jsi::Value &thisValue,
      const jsi::Value *args,
      size_t count,
      UniffiForeignFutureCompleteI16 func) {
    // Convert the arguments into the Rust, with Bridging<T>::fromJs,
    // then call the rs_callback with those arguments.
        func(uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiForeignFutureResultI16>::fromJs(rt, callInvoker, args[1])
        );

        
        return jsi::Value::undefined();
  }
};
} // namespace uniffi::bark
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureResultU32> {
  static UniffiForeignFutureResultU32 fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureResultU32");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiForeignFutureResultU32 rsObject;

    // Create the vtable from the js callbacks.
    rsObject.return_value = uniffi_jsi::Bridging<uint32_t>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "returnValue")
      );
    rsObject.call_status = uniffi::bark::Bridging<RustCallStatus>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "callStatus")
      );

    return rsObject;
  }
};

} // namespace uniffi::bark
    // Implementation of callback function calling from JS to Rust ForeignFutureCompleteU32,
    // passed from Rust to JS as part of async callbacks.
namespace uniffi::bark {
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureCompleteU32> {
  static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker> callInvoker, UniffiForeignFutureCompleteU32 rsCallback) {
    return jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteU32"),
        2,
        [rsCallback, callInvoker](
            jsi::Runtime &rt,
            const jsi::Value &thisValue,
            const jsi::Value *arguments,
            size_t count) -> jsi::Value
        {
            return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback);
        }
    );
  }

  static jsi::Value intoRust(
      jsi::Runtime &rt,
      std::shared_ptr<CallInvoker> callInvoker,
      const jsi::Value &thisValue,
      const jsi::Value *args,
      size_t count,
      UniffiForeignFutureCompleteU32 func) {
    // Convert the arguments into the Rust, with Bridging<T>::fromJs,
    // then call the rs_callback with those arguments.
        func(uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiForeignFutureResultU32>::fromJs(rt, callInvoker, args[1])
        );

        
        return jsi::Value::undefined();
  }
};
} // namespace uniffi::bark
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureResultI32> {
  static UniffiForeignFutureResultI32 fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureResultI32");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiForeignFutureResultI32 rsObject;

    // Create the vtable from the js callbacks.
    rsObject.return_value = uniffi_jsi::Bridging<int32_t>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "returnValue")
      );
    rsObject.call_status = uniffi::bark::Bridging<RustCallStatus>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "callStatus")
      );

    return rsObject;
  }
};

} // namespace uniffi::bark
    // Implementation of callback function calling from JS to Rust ForeignFutureCompleteI32,
    // passed from Rust to JS as part of async callbacks.
namespace uniffi::bark {
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureCompleteI32> {
  static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker> callInvoker, UniffiForeignFutureCompleteI32 rsCallback) {
    return jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteI32"),
        2,
        [rsCallback, callInvoker](
            jsi::Runtime &rt,
            const jsi::Value &thisValue,
            const jsi::Value *arguments,
            size_t count) -> jsi::Value
        {
            return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback);
        }
    );
  }

  static jsi::Value intoRust(
      jsi::Runtime &rt,
      std::shared_ptr<CallInvoker> callInvoker,
      const jsi::Value &thisValue,
      const jsi::Value *args,
      size_t count,
      UniffiForeignFutureCompleteI32 func) {
    // Convert the arguments into the Rust, with Bridging<T>::fromJs,
    // then call the rs_callback with those arguments.
        func(uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiForeignFutureResultI32>::fromJs(rt, callInvoker, args[1])
        );

        
        return jsi::Value::undefined();
  }
};
} // namespace uniffi::bark
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureResultU64> {
  static UniffiForeignFutureResultU64 fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureResultU64");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiForeignFutureResultU64 rsObject;

    // Create the vtable from the js callbacks.
    rsObject.return_value = uniffi_jsi::Bridging<uint64_t>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "returnValue")
      );
    rsObject.call_status = uniffi::bark::Bridging<RustCallStatus>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "callStatus")
      );

    return rsObject;
  }
};

} // namespace uniffi::bark
    // Implementation of callback function calling from JS to Rust ForeignFutureCompleteU64,
    // passed from Rust to JS as part of async callbacks.
namespace uniffi::bark {
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureCompleteU64> {
  static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker> callInvoker, UniffiForeignFutureCompleteU64 rsCallback) {
    return jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteU64"),
        2,
        [rsCallback, callInvoker](
            jsi::Runtime &rt,
            const jsi::Value &thisValue,
            const jsi::Value *arguments,
            size_t count) -> jsi::Value
        {
            return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback);
        }
    );
  }

  static jsi::Value intoRust(
      jsi::Runtime &rt,
      std::shared_ptr<CallInvoker> callInvoker,
      const jsi::Value &thisValue,
      const jsi::Value *args,
      size_t count,
      UniffiForeignFutureCompleteU64 func) {
    // Convert the arguments into the Rust, with Bridging<T>::fromJs,
    // then call the rs_callback with those arguments.
        func(uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiForeignFutureResultU64>::fromJs(rt, callInvoker, args[1])
        );

        
        return jsi::Value::undefined();
  }
};
} // namespace uniffi::bark
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureResultI64> {
  static UniffiForeignFutureResultI64 fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureResultI64");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiForeignFutureResultI64 rsObject;

    // Create the vtable from the js callbacks.
    rsObject.return_value = uniffi_jsi::Bridging<int64_t>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "returnValue")
      );
    rsObject.call_status = uniffi::bark::Bridging<RustCallStatus>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "callStatus")
      );

    return rsObject;
  }
};

} // namespace uniffi::bark
    // Implementation of callback function calling from JS to Rust ForeignFutureCompleteI64,
    // passed from Rust to JS as part of async callbacks.
namespace uniffi::bark {
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureCompleteI64> {
  static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker> callInvoker, UniffiForeignFutureCompleteI64 rsCallback) {
    return jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteI64"),
        2,
        [rsCallback, callInvoker](
            jsi::Runtime &rt,
            const jsi::Value &thisValue,
            const jsi::Value *arguments,
            size_t count) -> jsi::Value
        {
            return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback);
        }
    );
  }

  static jsi::Value intoRust(
      jsi::Runtime &rt,
      std::shared_ptr<CallInvoker> callInvoker,
      const jsi::Value &thisValue,
      const jsi::Value *args,
      size_t count,
      UniffiForeignFutureCompleteI64 func) {
    // Convert the arguments into the Rust, with Bridging<T>::fromJs,
    // then call the rs_callback with those arguments.
        func(uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiForeignFutureResultI64>::fromJs(rt, callInvoker, args[1])
        );

        
        return jsi::Value::undefined();
  }
};
} // namespace uniffi::bark
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureResultF32> {
  static UniffiForeignFutureResultF32 fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureResultF32");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiForeignFutureResultF32 rsObject;

    // Create the vtable from the js callbacks.
    rsObject.return_value = uniffi_jsi::Bridging<float>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "returnValue")
      );
    rsObject.call_status = uniffi::bark::Bridging<RustCallStatus>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "callStatus")
      );

    return rsObject;
  }
};

} // namespace uniffi::bark
    // Implementation of callback function calling from JS to Rust ForeignFutureCompleteF32,
    // passed from Rust to JS as part of async callbacks.
namespace uniffi::bark {
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureCompleteF32> {
  static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker> callInvoker, UniffiForeignFutureCompleteF32 rsCallback) {
    return jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteF32"),
        2,
        [rsCallback, callInvoker](
            jsi::Runtime &rt,
            const jsi::Value &thisValue,
            const jsi::Value *arguments,
            size_t count) -> jsi::Value
        {
            return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback);
        }
    );
  }

  static jsi::Value intoRust(
      jsi::Runtime &rt,
      std::shared_ptr<CallInvoker> callInvoker,
      const jsi::Value &thisValue,
      const jsi::Value *args,
      size_t count,
      UniffiForeignFutureCompleteF32 func) {
    // Convert the arguments into the Rust, with Bridging<T>::fromJs,
    // then call the rs_callback with those arguments.
        func(uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiForeignFutureResultF32>::fromJs(rt, callInvoker, args[1])
        );

        
        return jsi::Value::undefined();
  }
};
} // namespace uniffi::bark
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureResultF64> {
  static UniffiForeignFutureResultF64 fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureResultF64");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiForeignFutureResultF64 rsObject;

    // Create the vtable from the js callbacks.
    rsObject.return_value = uniffi_jsi::Bridging<double>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "returnValue")
      );
    rsObject.call_status = uniffi::bark::Bridging<RustCallStatus>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "callStatus")
      );

    return rsObject;
  }
};

} // namespace uniffi::bark
    // Implementation of callback function calling from JS to Rust ForeignFutureCompleteF64,
    // passed from Rust to JS as part of async callbacks.
namespace uniffi::bark {
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureCompleteF64> {
  static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker> callInvoker, UniffiForeignFutureCompleteF64 rsCallback) {
    return jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteF64"),
        2,
        [rsCallback, callInvoker](
            jsi::Runtime &rt,
            const jsi::Value &thisValue,
            const jsi::Value *arguments,
            size_t count) -> jsi::Value
        {
            return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback);
        }
    );
  }

  static jsi::Value intoRust(
      jsi::Runtime &rt,
      std::shared_ptr<CallInvoker> callInvoker,
      const jsi::Value &thisValue,
      const jsi::Value *args,
      size_t count,
      UniffiForeignFutureCompleteF64 func) {
    // Convert the arguments into the Rust, with Bridging<T>::fromJs,
    // then call the rs_callback with those arguments.
        func(uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiForeignFutureResultF64>::fromJs(rt, callInvoker, args[1])
        );

        
        return jsi::Value::undefined();
  }
};
} // namespace uniffi::bark
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureResultRustBuffer> {
  static UniffiForeignFutureResultRustBuffer fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureResultRustBuffer");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiForeignFutureResultRustBuffer rsObject;

    // Create the vtable from the js callbacks.
    rsObject.return_value = uniffi::bark::Bridging<RustBuffer>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "returnValue")
      );
    rsObject.call_status = uniffi::bark::Bridging<RustCallStatus>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "callStatus")
      );

    return rsObject;
  }
};

} // namespace uniffi::bark
    // Implementation of callback function calling from JS to Rust ForeignFutureCompleteRustBuffer,
    // passed from Rust to JS as part of async callbacks.
namespace uniffi::bark {
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureCompleteRustBuffer> {
  static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker> callInvoker, UniffiForeignFutureCompleteRustBuffer rsCallback) {
    return jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteRustBuffer"),
        2,
        [rsCallback, callInvoker](
            jsi::Runtime &rt,
            const jsi::Value &thisValue,
            const jsi::Value *arguments,
            size_t count) -> jsi::Value
        {
            return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback);
        }
    );
  }

  static jsi::Value intoRust(
      jsi::Runtime &rt,
      std::shared_ptr<CallInvoker> callInvoker,
      const jsi::Value &thisValue,
      const jsi::Value *args,
      size_t count,
      UniffiForeignFutureCompleteRustBuffer func) {
    // Convert the arguments into the Rust, with Bridging<T>::fromJs,
    // then call the rs_callback with those arguments.
        func(uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiForeignFutureResultRustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return jsi::Value::undefined();
  }
};
} // namespace uniffi::bark
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureResultVoid> {
  static UniffiForeignFutureResultVoid fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureResultVoid");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiForeignFutureResultVoid rsObject;

    // Create the vtable from the js callbacks.
    rsObject.call_status = uniffi::bark::Bridging<RustCallStatus>::fromJs(
        rt, callInvoker,
        jsObject.getProperty(rt, "callStatus")
      );

    return rsObject;
  }
};

} // namespace uniffi::bark
    // Implementation of callback function calling from JS to Rust ForeignFutureCompleteVoid,
    // passed from Rust to JS as part of async callbacks.
namespace uniffi::bark {
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiForeignFutureCompleteVoid> {
  static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr<CallInvoker> callInvoker, UniffiForeignFutureCompleteVoid rsCallback) {
    return jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteVoid"),
        2,
        [rsCallback, callInvoker](
            jsi::Runtime &rt,
            const jsi::Value &thisValue,
            const jsi::Value *arguments,
            size_t count) -> jsi::Value
        {
            return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback);
        }
    );
  }

  static jsi::Value intoRust(
      jsi::Runtime &rt,
      std::shared_ptr<CallInvoker> callInvoker,
      const jsi::Value &thisValue,
      const jsi::Value *args,
      size_t count,
      UniffiForeignFutureCompleteVoid func) {
    // Convert the arguments into the Rust, with Bridging<T>::fromJs,
    // then call the rs_callback with those arguments.
        func(uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiForeignFutureResultVoid>::fromJs(rt, callInvoker, args[1])
        );

        
        return jsi::Value::undefined();
  }
};
} // namespace uniffi::bark
    // Implementation of CallbackInterfaceClone for vtable field uniffi_clone in VTableCallbackInterfaceCustomOnchainWalletCallbacks


// Callback function: uniffi::bark::cb::callbackinterfaceclone::vtablecallbackinterfacecustomonchainwalletcallbacks::UniffiCallbackInterfaceClone
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::cb::callbackinterfaceclone::vtablecallbackinterfacecustomonchainwalletcallbacks {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t, uint64_t*)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_handle
            , uint64_t* uniffi_direct_return) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_handle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_handle);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_handle
            );

            

            
            // Write the direct return value back to the caller.
            if (uniffi_direct_return != nullptr) {
                *uniffi_direct_return = uniffi_jsi::Bridging<uint64_t>::fromJs(
                    rt, callInvoker, uniffiResult
                );
            }
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiCallbackInterfaceClone: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static uint64_t callback(uint64_t rs_handle) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return 0;
        }
        uint64_t uniffi_result = 0;

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_handle, 
            &uniffi_result);
        return uniffi_result;
    }

    [[maybe_unused]] static UniffiCallbackInterfaceClone
    makeCallbackFunction( // uniffi::bark::cb::callbackinterfaceclone::vtablecallbackinterfacecustomonchainwalletcallbacks
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_handle, uint64_t* uniffi_direct_return) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_handle, uniffi_direct_return](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_handle, uniffi_direct_return);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                callInvoker->invokeBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::cb::callbackinterfaceclone::vtablecallbackinterfacecustomonchainwalletcallbacks
    // Implementation of CallbackInterfaceCustomOnchainWalletCallbacksMethod0 for vtable field get_balance in VTableCallbackInterfaceCustomOnchainWalletCallbacks


// Callback function: uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod0::vtablecallbackinterfacecustomonchainwalletcallbacks::UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod0
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod0::vtablecallbackinterfacecustomonchainwalletcallbacks {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t, uint64_t *, RustCallStatus*)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_uniffiHandle
            ,uint64_t * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_uniffiHandle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_uniffiHandle);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_uniffiHandle
            );

            // Now copy the result back from JS into the RustCallStatus object.
            uniffi::bark::Bridging<RustCallStatus>::copyFromJs(rt, callInvoker, uniffiResult, uniffi_call_status);

            if (uniffi_call_status->code != UNIFFI_CALL_STATUS_OK) {
                // The JS callback finished abnormally, so we cannot retrieve the return value.
                return;
            }

            
            // return type is UInt64
            // Finally, we need to copy the return value back into the Rust pointer.
            *rs_uniffiOutReturn =
                uniffi_jsi::Bridging<
                    ReferenceHolder<uint64_t>
                >::fromJs(
                    rt, callInvoker, uniffiResult
                );
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod0: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static void callback(uint64_t rs_uniffiHandle, uint64_t * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return;
        }

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_uniffiHandle, 
            rs_uniffiOutReturn, uniffi_call_status);
    }

    [[maybe_unused]] static UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod0
    makeCallbackFunction( // uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod0::vtablecallbackinterfacecustomonchainwalletcallbacks
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_uniffiHandle, uint64_t * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_uniffiHandle
                    , rs_uniffiOutReturn, uniffi_call_status](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_uniffiHandle
                        , rs_uniffiOutReturn, uniffi_call_status);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                callInvoker->invokeBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod0::vtablecallbackinterfacecustomonchainwalletcallbacks
    // Implementation of CallbackInterfaceCustomOnchainWalletCallbacksMethod1 for vtable field prepare_tx in VTableCallbackInterfaceCustomOnchainWalletCallbacks


// Callback function: uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod1::vtablecallbackinterfacecustomonchainwalletcallbacks::UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod1
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod1::vtablecallbackinterfacecustomonchainwalletcallbacks {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t, RustBuffer, uint64_t, RustBuffer *, RustCallStatus*)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_uniffiHandle
            ,RustBuffer rs_destinations
            ,uint64_t rs_feeRateSatPerVb
            ,RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_uniffiHandle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_uniffiHandle);
        auto js_destinations = uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, rs_destinations);
        auto js_feeRateSatPerVb = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_feeRateSatPerVb);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_uniffiHandle, js_destinations, js_feeRateSatPerVb
            );

            // Now copy the result back from JS into the RustCallStatus object.
            uniffi::bark::Bridging<RustCallStatus>::copyFromJs(rt, callInvoker, uniffiResult, uniffi_call_status);

            if (uniffi_call_status->code != UNIFFI_CALL_STATUS_OK) {
                // The JS callback finished abnormally, so we cannot retrieve the return value.
                return;
            }

            
            // return type is RustBuffer(None)
            // Finally, we need to copy the return value back into the Rust pointer.
            *rs_uniffiOutReturn =
                uniffi::bark::Bridging<
                    ReferenceHolder<RustBuffer>
                >::fromJs(
                    rt, callInvoker, uniffiResult
                );
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod1: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static void callback(uint64_t rs_uniffiHandle, RustBuffer rs_destinations, uint64_t rs_feeRateSatPerVb, RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return;
        }

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_uniffiHandle, 
            rs_destinations, 
            rs_feeRateSatPerVb, 
            rs_uniffiOutReturn, uniffi_call_status);
    }

    [[maybe_unused]] static UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod1
    makeCallbackFunction( // uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod1::vtablecallbackinterfacecustomonchainwalletcallbacks
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_uniffiHandle, RustBuffer rs_destinations, uint64_t rs_feeRateSatPerVb, RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_uniffiHandle
                    , rs_destinations
                    , rs_feeRateSatPerVb
                    , rs_uniffiOutReturn, uniffi_call_status](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_uniffiHandle
                        , rs_destinations
                        , rs_feeRateSatPerVb
                        , rs_uniffiOutReturn, uniffi_call_status);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                callInvoker->invokeBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod1::vtablecallbackinterfacecustomonchainwalletcallbacks
    // Implementation of CallbackInterfaceCustomOnchainWalletCallbacksMethod2 for vtable field prepare_drain_tx in VTableCallbackInterfaceCustomOnchainWalletCallbacks


// Callback function: uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod2::vtablecallbackinterfacecustomonchainwalletcallbacks::UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod2
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod2::vtablecallbackinterfacecustomonchainwalletcallbacks {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t, RustBuffer, uint64_t, RustBuffer *, RustCallStatus*)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_uniffiHandle
            ,RustBuffer rs_address
            ,uint64_t rs_feeRateSatPerVb
            ,RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_uniffiHandle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_uniffiHandle);
        auto js_address = uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, rs_address);
        auto js_feeRateSatPerVb = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_feeRateSatPerVb);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_uniffiHandle, js_address, js_feeRateSatPerVb
            );

            // Now copy the result back from JS into the RustCallStatus object.
            uniffi::bark::Bridging<RustCallStatus>::copyFromJs(rt, callInvoker, uniffiResult, uniffi_call_status);

            if (uniffi_call_status->code != UNIFFI_CALL_STATUS_OK) {
                // The JS callback finished abnormally, so we cannot retrieve the return value.
                return;
            }

            
            // return type is RustBuffer(None)
            // Finally, we need to copy the return value back into the Rust pointer.
            *rs_uniffiOutReturn =
                uniffi::bark::Bridging<
                    ReferenceHolder<RustBuffer>
                >::fromJs(
                    rt, callInvoker, uniffiResult
                );
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod2: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static void callback(uint64_t rs_uniffiHandle, RustBuffer rs_address, uint64_t rs_feeRateSatPerVb, RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return;
        }

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_uniffiHandle, 
            rs_address, 
            rs_feeRateSatPerVb, 
            rs_uniffiOutReturn, uniffi_call_status);
    }

    [[maybe_unused]] static UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod2
    makeCallbackFunction( // uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod2::vtablecallbackinterfacecustomonchainwalletcallbacks
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_uniffiHandle, RustBuffer rs_address, uint64_t rs_feeRateSatPerVb, RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_uniffiHandle
                    , rs_address
                    , rs_feeRateSatPerVb
                    , rs_uniffiOutReturn, uniffi_call_status](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_uniffiHandle
                        , rs_address
                        , rs_feeRateSatPerVb
                        , rs_uniffiOutReturn, uniffi_call_status);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                callInvoker->invokeBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod2::vtablecallbackinterfacecustomonchainwalletcallbacks
    // Implementation of CallbackInterfaceCustomOnchainWalletCallbacksMethod3 for vtable field finish_psbt in VTableCallbackInterfaceCustomOnchainWalletCallbacks


// Callback function: uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod3::vtablecallbackinterfacecustomonchainwalletcallbacks::UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod3
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod3::vtablecallbackinterfacecustomonchainwalletcallbacks {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t, RustBuffer, RustBuffer *, RustCallStatus*)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_uniffiHandle
            ,RustBuffer rs_psbtBase64
            ,RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_uniffiHandle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_uniffiHandle);
        auto js_psbtBase64 = uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, rs_psbtBase64);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_uniffiHandle, js_psbtBase64
            );

            // Now copy the result back from JS into the RustCallStatus object.
            uniffi::bark::Bridging<RustCallStatus>::copyFromJs(rt, callInvoker, uniffiResult, uniffi_call_status);

            if (uniffi_call_status->code != UNIFFI_CALL_STATUS_OK) {
                // The JS callback finished abnormally, so we cannot retrieve the return value.
                return;
            }

            
            // return type is RustBuffer(None)
            // Finally, we need to copy the return value back into the Rust pointer.
            *rs_uniffiOutReturn =
                uniffi::bark::Bridging<
                    ReferenceHolder<RustBuffer>
                >::fromJs(
                    rt, callInvoker, uniffiResult
                );
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod3: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static void callback(uint64_t rs_uniffiHandle, RustBuffer rs_psbtBase64, RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return;
        }

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_uniffiHandle, 
            rs_psbtBase64, 
            rs_uniffiOutReturn, uniffi_call_status);
    }

    [[maybe_unused]] static UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod3
    makeCallbackFunction( // uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod3::vtablecallbackinterfacecustomonchainwalletcallbacks
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_uniffiHandle, RustBuffer rs_psbtBase64, RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_uniffiHandle
                    , rs_psbtBase64
                    , rs_uniffiOutReturn, uniffi_call_status](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_uniffiHandle
                        , rs_psbtBase64
                        , rs_uniffiOutReturn, uniffi_call_status);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                callInvoker->invokeBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod3::vtablecallbackinterfacecustomonchainwalletcallbacks
    // Implementation of CallbackInterfaceCustomOnchainWalletCallbacksMethod4 for vtable field get_wallet_tx in VTableCallbackInterfaceCustomOnchainWalletCallbacks


// Callback function: uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod4::vtablecallbackinterfacecustomonchainwalletcallbacks::UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod4
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod4::vtablecallbackinterfacecustomonchainwalletcallbacks {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t, RustBuffer, RustBuffer *, RustCallStatus*)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_uniffiHandle
            ,RustBuffer rs_txid
            ,RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_uniffiHandle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_uniffiHandle);
        auto js_txid = uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, rs_txid);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_uniffiHandle, js_txid
            );

            // Now copy the result back from JS into the RustCallStatus object.
            uniffi::bark::Bridging<RustCallStatus>::copyFromJs(rt, callInvoker, uniffiResult, uniffi_call_status);

            if (uniffi_call_status->code != UNIFFI_CALL_STATUS_OK) {
                // The JS callback finished abnormally, so we cannot retrieve the return value.
                return;
            }

            
            // return type is RustBuffer(None)
            // Finally, we need to copy the return value back into the Rust pointer.
            *rs_uniffiOutReturn =
                uniffi::bark::Bridging<
                    ReferenceHolder<RustBuffer>
                >::fromJs(
                    rt, callInvoker, uniffiResult
                );
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod4: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static void callback(uint64_t rs_uniffiHandle, RustBuffer rs_txid, RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return;
        }

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_uniffiHandle, 
            rs_txid, 
            rs_uniffiOutReturn, uniffi_call_status);
    }

    [[maybe_unused]] static UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod4
    makeCallbackFunction( // uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod4::vtablecallbackinterfacecustomonchainwalletcallbacks
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_uniffiHandle, RustBuffer rs_txid, RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_uniffiHandle
                    , rs_txid
                    , rs_uniffiOutReturn, uniffi_call_status](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_uniffiHandle
                        , rs_txid
                        , rs_uniffiOutReturn, uniffi_call_status);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                callInvoker->invokeBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod4::vtablecallbackinterfacecustomonchainwalletcallbacks
    // Implementation of CallbackInterfaceCustomOnchainWalletCallbacksMethod5 for vtable field get_wallet_tx_confirmed_block in VTableCallbackInterfaceCustomOnchainWalletCallbacks


// Callback function: uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod5::vtablecallbackinterfacecustomonchainwalletcallbacks::UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod5
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod5::vtablecallbackinterfacecustomonchainwalletcallbacks {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t, RustBuffer, RustBuffer *, RustCallStatus*)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_uniffiHandle
            ,RustBuffer rs_txid
            ,RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_uniffiHandle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_uniffiHandle);
        auto js_txid = uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, rs_txid);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_uniffiHandle, js_txid
            );

            // Now copy the result back from JS into the RustCallStatus object.
            uniffi::bark::Bridging<RustCallStatus>::copyFromJs(rt, callInvoker, uniffiResult, uniffi_call_status);

            if (uniffi_call_status->code != UNIFFI_CALL_STATUS_OK) {
                // The JS callback finished abnormally, so we cannot retrieve the return value.
                return;
            }

            
            // return type is RustBuffer(None)
            // Finally, we need to copy the return value back into the Rust pointer.
            *rs_uniffiOutReturn =
                uniffi::bark::Bridging<
                    ReferenceHolder<RustBuffer>
                >::fromJs(
                    rt, callInvoker, uniffiResult
                );
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod5: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static void callback(uint64_t rs_uniffiHandle, RustBuffer rs_txid, RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return;
        }

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_uniffiHandle, 
            rs_txid, 
            rs_uniffiOutReturn, uniffi_call_status);
    }

    [[maybe_unused]] static UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod5
    makeCallbackFunction( // uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod5::vtablecallbackinterfacecustomonchainwalletcallbacks
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_uniffiHandle, RustBuffer rs_txid, RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_uniffiHandle
                    , rs_txid
                    , rs_uniffiOutReturn, uniffi_call_status](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_uniffiHandle
                        , rs_txid
                        , rs_uniffiOutReturn, uniffi_call_status);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                callInvoker->invokeBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod5::vtablecallbackinterfacecustomonchainwalletcallbacks
    // Implementation of CallbackInterfaceCustomOnchainWalletCallbacksMethod6 for vtable field get_spending_tx in VTableCallbackInterfaceCustomOnchainWalletCallbacks


// Callback function: uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod6::vtablecallbackinterfacecustomonchainwalletcallbacks::UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod6
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod6::vtablecallbackinterfacecustomonchainwalletcallbacks {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t, RustBuffer, RustBuffer *, RustCallStatus*)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_uniffiHandle
            ,RustBuffer rs_outpoint
            ,RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_uniffiHandle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_uniffiHandle);
        auto js_outpoint = uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, rs_outpoint);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_uniffiHandle, js_outpoint
            );

            // Now copy the result back from JS into the RustCallStatus object.
            uniffi::bark::Bridging<RustCallStatus>::copyFromJs(rt, callInvoker, uniffiResult, uniffi_call_status);

            if (uniffi_call_status->code != UNIFFI_CALL_STATUS_OK) {
                // The JS callback finished abnormally, so we cannot retrieve the return value.
                return;
            }

            
            // return type is RustBuffer(None)
            // Finally, we need to copy the return value back into the Rust pointer.
            *rs_uniffiOutReturn =
                uniffi::bark::Bridging<
                    ReferenceHolder<RustBuffer>
                >::fromJs(
                    rt, callInvoker, uniffiResult
                );
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod6: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static void callback(uint64_t rs_uniffiHandle, RustBuffer rs_outpoint, RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return;
        }

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_uniffiHandle, 
            rs_outpoint, 
            rs_uniffiOutReturn, uniffi_call_status);
    }

    [[maybe_unused]] static UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod6
    makeCallbackFunction( // uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod6::vtablecallbackinterfacecustomonchainwalletcallbacks
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_uniffiHandle, RustBuffer rs_outpoint, RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_uniffiHandle
                    , rs_outpoint
                    , rs_uniffiOutReturn, uniffi_call_status](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_uniffiHandle
                        , rs_outpoint
                        , rs_uniffiOutReturn, uniffi_call_status);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                callInvoker->invokeBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod6::vtablecallbackinterfacecustomonchainwalletcallbacks
    // Implementation of CallbackInterfaceCustomOnchainWalletCallbacksMethod7 for vtable field make_signed_p2a_cpfp in VTableCallbackInterfaceCustomOnchainWalletCallbacks


// Callback function: uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod7::vtablecallbackinterfacecustomonchainwalletcallbacks::UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod7
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod7::vtablecallbackinterfacecustomonchainwalletcallbacks {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t, RustBuffer, RustBuffer *, RustCallStatus*)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_uniffiHandle
            ,RustBuffer rs_params
            ,RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_uniffiHandle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_uniffiHandle);
        auto js_params = uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, rs_params);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_uniffiHandle, js_params
            );

            // Now copy the result back from JS into the RustCallStatus object.
            uniffi::bark::Bridging<RustCallStatus>::copyFromJs(rt, callInvoker, uniffiResult, uniffi_call_status);

            if (uniffi_call_status->code != UNIFFI_CALL_STATUS_OK) {
                // The JS callback finished abnormally, so we cannot retrieve the return value.
                return;
            }

            
            // return type is RustBuffer(None)
            // Finally, we need to copy the return value back into the Rust pointer.
            *rs_uniffiOutReturn =
                uniffi::bark::Bridging<
                    ReferenceHolder<RustBuffer>
                >::fromJs(
                    rt, callInvoker, uniffiResult
                );
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod7: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static void callback(uint64_t rs_uniffiHandle, RustBuffer rs_params, RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return;
        }

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_uniffiHandle, 
            rs_params, 
            rs_uniffiOutReturn, uniffi_call_status);
    }

    [[maybe_unused]] static UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod7
    makeCallbackFunction( // uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod7::vtablecallbackinterfacecustomonchainwalletcallbacks
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_uniffiHandle, RustBuffer rs_params, RustBuffer * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_uniffiHandle
                    , rs_params
                    , rs_uniffiOutReturn, uniffi_call_status](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_uniffiHandle
                        , rs_params
                        , rs_uniffiOutReturn, uniffi_call_status);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                callInvoker->invokeBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod7::vtablecallbackinterfacecustomonchainwalletcallbacks
    // Implementation of CallbackInterfaceCustomOnchainWalletCallbacksMethod8 for vtable field store_signed_p2a_cpfp in VTableCallbackInterfaceCustomOnchainWalletCallbacks


// Callback function: uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod8::vtablecallbackinterfacecustomonchainwalletcallbacks::UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod8
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod8::vtablecallbackinterfacecustomonchainwalletcallbacks {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t, RustBuffer, void *, RustCallStatus*)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_uniffiHandle
            ,RustBuffer rs_txHex
            ,void * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_uniffiHandle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_uniffiHandle);
        auto js_txHex = uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, rs_txHex);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_uniffiHandle, js_txHex
            );

            // Now copy the result back from JS into the RustCallStatus object.
            uniffi::bark::Bridging<RustCallStatus>::copyFromJs(rt, callInvoker, uniffiResult, uniffi_call_status);

            if (uniffi_call_status->code != UNIFFI_CALL_STATUS_OK) {
                // The JS callback finished abnormally, so we cannot retrieve the return value.
                return;
            }

            
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod8: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static void callback(uint64_t rs_uniffiHandle, RustBuffer rs_txHex, void * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return;
        }

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_uniffiHandle, 
            rs_txHex, 
            rs_uniffiOutReturn, uniffi_call_status);
    }

    [[maybe_unused]] static UniffiCallbackInterfaceCustomOnchainWalletCallbacksMethod8
    makeCallbackFunction( // uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod8::vtablecallbackinterfacecustomonchainwalletcallbacks
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_uniffiHandle, RustBuffer rs_txHex, void * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_uniffiHandle
                    , rs_txHex
                    , rs_uniffiOutReturn, uniffi_call_status](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_uniffiHandle
                        , rs_txHex
                        , rs_uniffiOutReturn, uniffi_call_status);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                callInvoker->invokeBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod8::vtablecallbackinterfacecustomonchainwalletcallbacks
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiVTableCallbackInterfaceCustomOnchainWalletCallbacks> {
  static UniffiVTableCallbackInterfaceCustomOnchainWalletCallbacks fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiVTableCallbackInterfaceCustomOnchainWalletCallbacks");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiVTableCallbackInterfaceCustomOnchainWalletCallbacks rsObject;

    // Create the vtable from the js callbacks.
    rsObject.uniffi_free = uniffi::bark::st::vtablecallbackinterfacecustomonchainwalletcallbacks::vtablecallbackinterfacecustomonchainwalletcallbacks::free::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "uniffiFree")
        );
    rsObject.uniffi_clone = uniffi::bark::cb::callbackinterfaceclone::vtablecallbackinterfacecustomonchainwalletcallbacks::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "uniffiClone")
        );
    rsObject.get_balance = uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod0::vtablecallbackinterfacecustomonchainwalletcallbacks::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "getBalance")
        );
    rsObject.prepare_tx = uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod1::vtablecallbackinterfacecustomonchainwalletcallbacks::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "prepareTx")
        );
    rsObject.prepare_drain_tx = uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod2::vtablecallbackinterfacecustomonchainwalletcallbacks::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "prepareDrainTx")
        );
    rsObject.finish_psbt = uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod3::vtablecallbackinterfacecustomonchainwalletcallbacks::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "finishPsbt")
        );
    rsObject.get_wallet_tx = uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod4::vtablecallbackinterfacecustomonchainwalletcallbacks::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "getWalletTx")
        );
    rsObject.get_wallet_tx_confirmed_block = uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod5::vtablecallbackinterfacecustomonchainwalletcallbacks::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "getWalletTxConfirmedBlock")
        );
    rsObject.get_spending_tx = uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod6::vtablecallbackinterfacecustomonchainwalletcallbacks::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "getSpendingTx")
        );
    rsObject.make_signed_p2a_cpfp = uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod7::vtablecallbackinterfacecustomonchainwalletcallbacks::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "makeSignedP2aCpfp")
        );
    rsObject.store_signed_p2a_cpfp = uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod8::vtablecallbackinterfacecustomonchainwalletcallbacks::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "storeSignedP2aCpfp")
        );

    return rsObject;
  }
};

} // namespace uniffi::bark
    // Implementation of CallbackInterfaceClone for vtable field uniffi_clone in VTableCallbackInterfaceBarkLogger


// Callback function: uniffi::bark::cb::callbackinterfaceclone::vtablecallbackinterfacebarklogger::UniffiCallbackInterfaceClone
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::cb::callbackinterfaceclone::vtablecallbackinterfacebarklogger {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t, uint64_t*)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_handle
            , uint64_t* uniffi_direct_return) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_handle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_handle);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_handle
            );

            

            
            // Write the direct return value back to the caller.
            if (uniffi_direct_return != nullptr) {
                *uniffi_direct_return = uniffi_jsi::Bridging<uint64_t>::fromJs(
                    rt, callInvoker, uniffiResult
                );
            }
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiCallbackInterfaceClone: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static uint64_t callback(uint64_t rs_handle) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return 0;
        }
        uint64_t uniffi_result = 0;

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_handle, 
            &uniffi_result);
        return uniffi_result;
    }

    [[maybe_unused]] static UniffiCallbackInterfaceClone
    makeCallbackFunction( // uniffi::bark::cb::callbackinterfaceclone::vtablecallbackinterfacebarklogger
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_handle, uint64_t* uniffi_direct_return) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_handle, uniffi_direct_return](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_handle, uniffi_direct_return);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                callInvoker->invokeBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::cb::callbackinterfaceclone::vtablecallbackinterfacebarklogger
    // Implementation of CallbackInterfaceBarkLoggerMethod0 for vtable field log in VTableCallbackInterfaceBarkLogger


// Callback function: uniffi::bark::cb::callbackinterfacebarkloggermethod0::vtablecallbackinterfacebarklogger::UniffiCallbackInterfaceBarkLoggerMethod0
//
// We have the following constraints:
// - we need to pass a function pointer to Rust.
// - we need a jsi::Runtime and jsi::Function to call into JS.
// - function pointers can't store state, so we can't use a lamda.
//
// For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls
// the lambda, which itself calls the `body` which then calls into JS.
//
// We then give the `callback` function pointer to Rust which will call the lambda sometime in the
// future.
namespace uniffi::bark::cb::callbackinterfacebarkloggermethod0::vtablecallbackinterfacebarklogger {
    using namespace facebook;

    // We need to store a lambda in a global so we can call it from
    // a function pointer. The function pointer is passed to Rust.
    static std::function<void(uint64_t, RustBuffer, RustBuffer, RustBuffer, void *, RustCallStatus*)> rsLambda = nullptr;

    // This is the main body of the callback. It's called from the lambda,
    // which itself is called from the callback function which is passed to Rust.
    static void body(jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     std::shared_ptr<jsi::Value> callbackValue
            ,uint64_t rs_uniffiHandle
            ,RustBuffer rs_level
            ,RustBuffer rs_target
            ,RustBuffer rs_message
            ,void * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {

        // Convert the arguments from Rust, into jsi::Values.
        // We'll use the Bridging class to do this…
        auto js_uniffiHandle = uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, rs_uniffiHandle);
        auto js_level = uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, rs_level);
        auto js_target = uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, rs_target);
        auto js_message = uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, rs_message);

        // Now we are ready to call the callback.
        // We are already on the JS thread, because this `body` function was
        // invoked from the CallInvoker.
        try {
            // Getting the callback function
            auto cb = callbackValue->asObject(rt).asFunction(rt);
            auto uniffiResult = cb.call(rt, js_uniffiHandle, js_level, js_target, js_message
            );

            // Now copy the result back from JS into the RustCallStatus object.
            uniffi::bark::Bridging<RustCallStatus>::copyFromJs(rt, callInvoker, uniffiResult, uniffi_call_status);

            if (uniffi_call_status->code != UNIFFI_CALL_STATUS_OK) {
                // The JS callback finished abnormally, so we cannot retrieve the return value.
                return;
            }

            
        } catch (const jsi::JSError &error) {
            std::cout << "Error in callback UniffiCallbackInterfaceBarkLoggerMethod0: "
                    << error.what() << std::endl;
            throw error;
        }
    }

    static void callback(uint64_t rs_uniffiHandle, RustBuffer rs_level, RustBuffer rs_target, RustBuffer rs_message, void * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
        // If the runtime has shutdown, then there is no point in trying to
        // call into Javascript. BUT how do we tell if the runtime has shutdown?
        //
        // Answer: the module destructor calls into callback `cleanup` method,
        // which nulls out the rsLamda.
        //
        // If rsLamda is null, then there is no runtime to call into.
        if (rsLambda == nullptr) {
            // This only occurs when destructors are calling into Rust free/drop,
            // which causes the JS callback to be dropped.
            return;
        }

        // The runtime, the actual callback jsi::funtion, and the callInvoker
        // are all in the lambda.
        rsLambda(
            rs_uniffiHandle, 
            rs_level, 
            rs_target, 
            rs_message, 
            rs_uniffiOutReturn, uniffi_call_status);
    }

    [[maybe_unused]] static UniffiCallbackInterfaceBarkLoggerMethod0
    makeCallbackFunction( // uniffi::bark::cb::callbackinterfacebarkloggermethod0::vtablecallbackinterfacebarklogger
                    jsi::Runtime &rt,
                     std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker,
                     const jsi::Value &value) {
        if (rsLambda != nullptr) {
            // `makeCallbackFunction` is called in two circumstances:
            //
            // 1. at startup, when initializing callback interface vtables.
            // 2. when polling futures. This happens at least once per future that is
            //    exposed to Javascript. We know that this is always the same function,
            //    `uniffiFutureContinuationCallback` in `async-rust-calls.ts`.
            //
            // We can therefore return the callback function without making anything
            // new if we've been initialized already.
            return callback;
        }
        auto callbackFunction = value.asObject(rt).asFunction(rt);
        auto callbackValue = std::make_shared<jsi::Value>(rt, callbackFunction);
        rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_uniffiHandle, RustBuffer rs_level, RustBuffer rs_target, RustBuffer rs_message, void * rs_uniffiOutReturn, RustCallStatus* uniffi_call_status) {
                // We immediately make a lambda which will do the work of transforming the
                // arguments into JSI values and calling the callback.
                uniffi_runtime::UniffiCallFunc jsLambda = [
                    callInvoker,
                    callbackValue
                    , rs_uniffiHandle
                    , rs_level
                    , rs_target
                    , rs_message
                    , rs_uniffiOutReturn, uniffi_call_status](jsi::Runtime &rt) mutable {
                    body(rt, callInvoker, callbackValue
                        , rs_uniffiHandle
                        , rs_level
                        , rs_target
                        , rs_message
                        , rs_uniffiOutReturn, uniffi_call_status);
                };
                // We'll then call that lambda from the callInvoker which will
                // look after calling it on the correct thread.
                callInvoker->invokeBlocking(rt, jsLambda);
        };
        return callback;
    }

    // This method is called from the destructor of NativeBark, which only happens
    // when the jsi::Runtime is being destroyed.
    static void cleanup() {
        // The lambda holds a reference to the the Runtime, so when this is nulled out,
        // then the pointer will no longer be left dangling.
        rsLambda = nullptr;
    }
} // namespace uniffi::bark::cb::callbackinterfacebarkloggermethod0::vtablecallbackinterfacebarklogger
namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiVTableCallbackInterfaceBarkLogger> {
  static UniffiVTableCallbackInterfaceBarkLogger fromJs(jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &jsValue
  ) {
    // Check if the input is an object
    if (!jsValue.isObject()) {
      throw jsi::JSError(rt, "Expected an object for UniffiVTableCallbackInterfaceBarkLogger");
    }

    // Get the object from the jsi::Value
    auto jsObject = jsValue.getObject(rt);

    // Create the vtable struct
    UniffiVTableCallbackInterfaceBarkLogger rsObject;

    // Create the vtable from the js callbacks.
    rsObject.uniffi_free = uniffi::bark::st::vtablecallbackinterfacebarklogger::vtablecallbackinterfacebarklogger::free::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "uniffiFree")
        );
    rsObject.uniffi_clone = uniffi::bark::cb::callbackinterfaceclone::vtablecallbackinterfacebarklogger::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "uniffiClone")
        );
    rsObject.log = uniffi::bark::cb::callbackinterfacebarkloggermethod0::vtablecallbackinterfacebarklogger::makeCallbackFunction(
          rt, callInvoker, jsObject.getProperty(rt, "log")
        );

    return rsObject;
  }
};

} // namespace uniffi::bark


namespace uniffi::bark {
using namespace facebook;
using CallInvoker = uniffi_runtime::UniffiCallInvoker;

template <> struct Bridging<UniffiRustFutureContinuationCallback> {
  static UniffiRustFutureContinuationCallback fromJs(
    jsi::Runtime &rt,
    std::shared_ptr<CallInvoker> callInvoker,
    const jsi::Value &value
  ) {
    try {
      return uniffi::bark::cb::rustfuturecontinuationcallback::makeCallbackFunction(
        rt,
        callInvoker,
        value
      );
    } catch (const std::logic_error &e) {
      throw jsi::JSError(rt, e.what());
    }
  }
};

} // namespace uniffi::bark

NativeBark::NativeBark(
    jsi::Runtime &rt,
    std::shared_ptr<uniffi_runtime::UniffiCallInvoker> invoker
) : callInvoker(invoker), props() {
    // Map from Javascript names to the cpp names
    props["ubrn_uniffi_internal_fn_func_ffi__string_to_byte_length"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_internal_fn_func_ffi__string_to_byte_length"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_internal_fn_func_ffi__string_to_byte_length(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_internal_fn_func_ffi__string_to_arraybuffer"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_internal_fn_func_ffi__string_to_arraybuffer"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_internal_fn_func_ffi__string_to_arraybuffer(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_internal_fn_func_ffi__arraybuffer_to_string"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_internal_fn_func_ffi__arraybuffer_to_string"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_internal_fn_func_ffi__arraybuffer_to_string(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_clone_notificationholder"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_clone_notificationholder"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_clone_notificationholder(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_free_notificationholder"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_free_notificationholder"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_free_notificationholder(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_notificationholder_cancel_next_notification_wait"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_notificationholder_cancel_next_notification_wait"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_notificationholder_cancel_next_notification_wait(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_notificationholder_next_notification"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_notificationholder_next_notification"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_notificationholder_next_notification(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_clone_customonchainwalletcallbacks"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_clone_customonchainwalletcallbacks"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_clone_customonchainwalletcallbacks(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_free_customonchainwalletcallbacks"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_free_customonchainwalletcallbacks"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_free_customonchainwalletcallbacks(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_init_callback_vtable_customonchainwalletcallbacks"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_init_callback_vtable_customonchainwalletcallbacks"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_init_callback_vtable_customonchainwalletcallbacks(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_balance"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_balance"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_balance(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_prepare_tx"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_prepare_tx"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_prepare_tx(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_prepare_drain_tx"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_prepare_drain_tx"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_prepare_drain_tx(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_finish_psbt"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_finish_psbt"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_finish_psbt(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_wallet_tx"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_wallet_tx"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_wallet_tx(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_wallet_tx_confirmed_block"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_wallet_tx_confirmed_block"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_wallet_tx_confirmed_block(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_spending_tx"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_spending_tx"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_spending_tx(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_make_signed_p2a_cpfp"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_make_signed_p2a_cpfp"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_make_signed_p2a_cpfp(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_store_signed_p2a_cpfp"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_store_signed_p2a_cpfp"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_store_signed_p2a_cpfp(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_clone_barklogger"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_clone_barklogger"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_clone_barklogger(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_free_barklogger"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_free_barklogger"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_free_barklogger(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_init_callback_vtable_barklogger"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_init_callback_vtable_barklogger"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_init_callback_vtable_barklogger(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_barklogger_log"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_barklogger_log"),
        4,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_barklogger_log(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_clone_onchainwallet"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_clone_onchainwallet"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_clone_onchainwallet(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_free_onchainwallet"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_free_onchainwallet"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_free_onchainwallet(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_constructor_onchainwallet_custom"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_constructor_onchainwallet_custom"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_constructor_onchainwallet_custom(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_constructor_onchainwallet_default"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_constructor_onchainwallet_default"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_constructor_onchainwallet_default(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_onchainwallet_balance"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_onchainwallet_balance"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_onchainwallet_balance(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_onchainwallet_new_address"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_onchainwallet_new_address"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_onchainwallet_new_address(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_onchainwallet_send"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_onchainwallet_send"),
        4,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_onchainwallet_send(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_onchainwallet_sync"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_onchainwallet_sync"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_onchainwallet_sync(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_clone_wallet"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_clone_wallet"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_clone_wallet(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_free_wallet"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_free_wallet"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_free_wallet(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_constructor_wallet_create"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_constructor_wallet_create"),
        4,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_constructor_wallet_create(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_constructor_wallet_create_with_onchain"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_constructor_wallet_create_with_onchain"),
        5,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_constructor_wallet_create_with_onchain(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_constructor_wallet_open"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_constructor_wallet_open"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_constructor_wallet_open(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_constructor_wallet_open_with_daemon"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_constructor_wallet_open_with_daemon"),
        4,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_constructor_wallet_open_with_daemon(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_constructor_wallet_open_with_onchain"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_constructor_wallet_open_with_onchain"),
        4,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_constructor_wallet_open_with_onchain(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_all_exits_claimable_at_height"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_all_exits_claimable_at_height"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_all_exits_claimable_at_height(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_all_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_all_vtxos"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_all_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_allow_lightning_send_to_exit"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_allow_lightning_send_to_exit"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_allow_lightning_send_to_exit(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_ark_info"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_ark_info"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_ark_info(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_attempt_lightning_receive_exit"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_attempt_lightning_receive_exit"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_attempt_lightning_receive_exit(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_balance"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_balance"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_balance(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_board_all"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_board_all"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_board_all(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_board_amount"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_board_amount"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_board_amount(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_bolt11_invoice"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_bolt11_invoice"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_bolt11_invoice(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_broadcast_tx"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_broadcast_tx"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_broadcast_tx(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_cancel_all_pending_rounds"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_cancel_all_pending_rounds"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_cancel_all_pending_rounds(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_cancel_lightning_receive"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_cancel_lightning_receive"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_cancel_lightning_receive(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_cancel_pending_round"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_cancel_pending_round"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_cancel_pending_round(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_check_lightning_payment"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_check_lightning_payment"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_check_lightning_payment(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_claimable_lightning_receive_balance_sats"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_claimable_lightning_receive_balance_sats"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_claimable_lightning_receive_balance_sats(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_config"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_config"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_config(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_drain_exits"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_drain_exits"),
        4,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_drain_exits(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_arkoor_payment_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_arkoor_payment_fee"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_estimate_arkoor_payment_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_board_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_board_fee"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_estimate_board_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_lightning_receive_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_lightning_receive_fee"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_estimate_lightning_receive_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_lightning_send_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_lightning_send_fee"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_estimate_lightning_send_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_offboard_all_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_offboard_all_fee"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_estimate_offboard_all_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_offboard_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_offboard_fee"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_estimate_offboard_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_refresh_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_refresh_fee"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_estimate_refresh_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_send_onchain_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_estimate_send_onchain_fee"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_estimate_send_onchain_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_fingerprint"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_fingerprint"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_fingerprint(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_get_exit_status"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_get_exit_status"),
        4,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_get_exit_status(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_get_exit_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_get_exit_vtxos"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_get_exit_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_get_expiring_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_get_expiring_vtxos"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_get_expiring_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_get_first_expiring_vtxo_blockheight"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_get_first_expiring_vtxo_blockheight"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_get_first_expiring_vtxo_blockheight(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_get_next_required_refresh_blockheight"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_get_next_required_refresh_blockheight"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_get_next_required_refresh_blockheight(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_get_vtxo_by_id"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_get_vtxo_by_id"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_get_vtxo_by_id(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_get_vtxos_to_refresh"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_get_vtxos_to_refresh"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_get_vtxos_to_refresh(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_has_pending_exits"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_has_pending_exits"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_has_pending_exits(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_history"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_history"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_history(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_history_by_payment_method"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_history_by_payment_method"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_history_by_payment_method(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_import_vtxo"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_import_vtxo"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_import_vtxo(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_is_invoice_paid"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_is_invoice_paid"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_is_invoice_paid(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_lightning_receive_status"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_lightning_receive_status"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_lightning_receive_status(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_lightning_send_state"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_lightning_send_state"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_lightning_send_state(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_list_claimable_exits"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_list_claimable_exits"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_list_claimable_exits(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_mailbox_authorization"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_mailbox_authorization"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_mailbox_authorization(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_mailbox_identifier"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_mailbox_identifier"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_mailbox_identifier(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_maintenance"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_maintenance"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_maintenance(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_maintenance_delegated"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_maintenance_delegated"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_maintenance_delegated(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_maintenance_refresh"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_maintenance_refresh"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_maintenance_refresh(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_maintenance_with_onchain"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_maintenance_with_onchain"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_maintenance_with_onchain(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_maintenance_with_onchain_delegated"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_maintenance_with_onchain_delegated"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_maintenance_with_onchain_delegated(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_maybe_schedule_maintenance_refresh"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_maybe_schedule_maintenance_refresh"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_maybe_schedule_maintenance_refresh(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_network"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_network"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_network(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_new_address"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_new_address"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_new_address(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_new_address_with_index"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_new_address_with_index"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_new_address_with_index(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_next_round_start_time"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_next_round_start_time"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_next_round_start_time(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_notifications"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_notifications"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_notifications(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_offboard_all"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_offboard_all"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_offboard_all(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_offboard_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_offboard_vtxos"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_offboard_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_pay_lightning_address"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_pay_lightning_address"),
        5,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_pay_lightning_address(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_pay_lightning_invoice"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_pay_lightning_invoice"),
        4,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_pay_lightning_invoice(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_pay_lightning_offer"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_pay_lightning_offer"),
        4,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_pay_lightning_offer(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_peek_address"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_peek_address"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_peek_address(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_pending_board_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_pending_board_vtxos"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_pending_board_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_pending_boards"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_pending_boards"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_pending_boards(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_pending_exits_total_sats"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_pending_exits_total_sats"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_pending_exits_total_sats(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_pending_lightning_receives"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_pending_lightning_receives"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_pending_lightning_receives(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_pending_lightning_send_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_pending_lightning_send_vtxos"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_pending_lightning_send_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_pending_lightning_sends"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_pending_lightning_sends"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_pending_lightning_sends(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_pending_round_input_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_pending_round_input_vtxos"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_pending_round_input_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_pending_round_states"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_pending_round_states"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_pending_round_states(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_progress_exits"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_progress_exits"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_progress_exits(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_progress_pending_rounds"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_progress_pending_rounds"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_progress_pending_rounds(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_properties"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_properties"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_properties(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_refresh_server"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_refresh_server"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_refresh_server(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_refresh_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_refresh_vtxos"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_refresh_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_refresh_vtxos_delegated"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_refresh_vtxos_delegated"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_refresh_vtxos_delegated(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_run_daemon"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_run_daemon"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_run_daemon(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_send_arkoor_payment"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_send_arkoor_payment"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_send_arkoor_payment(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_send_onchain"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_send_onchain"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_send_onchain(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_sign_exit_claim_inputs"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_sign_exit_claim_inputs"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_sign_exit_claim_inputs(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_spendable_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_spendable_vtxos"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_spendable_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_start_exit_for_entire_wallet"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_start_exit_for_entire_wallet"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_start_exit_for_entire_wallet(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_start_exit_for_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_start_exit_for_vtxos"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_start_exit_for_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_stop_daemon"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_stop_daemon"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_stop_daemon(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_stuck_failed_lightning_sends"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_stuck_failed_lightning_sends"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_stuck_failed_lightning_sends(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_sync"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_sync"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_sync(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_sync_exits"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_sync_exits"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_sync_exits(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_sync_pending_boards"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_sync_pending_boards"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_sync_pending_boards(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_try_claim_all_lightning_receives"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_try_claim_all_lightning_receives"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_try_claim_all_lightning_receives(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_try_claim_lightning_receive"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_try_claim_lightning_receive"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_try_claim_lightning_receive(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_validate_arkoor_address"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_validate_arkoor_address"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_validate_arkoor_address(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_method_wallet_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_method_wallet_vtxos"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_method_wallet_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_func_extract_tx_from_psbt"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_func_extract_tx_from_psbt"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_func_extract_tx_from_psbt(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_func_generate_mnemonic"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_func_generate_mnemonic"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_func_generate_mnemonic(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_func_validate_ark_address"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_func_validate_ark_address"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_func_validate_ark_address(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_func_validate_mnemonic"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_func_validate_mnemonic"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_func_validate_mnemonic(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_fn_func_set_logger"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_fn_func_set_logger"),
        2,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_fn_func_set_logger(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_poll_u8"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_poll_u8"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_poll_u8(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_cancel_u8"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_cancel_u8"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_cancel_u8(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_free_u8"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_free_u8"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_free_u8(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_complete_u8"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_complete_u8"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_complete_u8(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_poll_i8"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_poll_i8"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_poll_i8(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_cancel_i8"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_cancel_i8"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_cancel_i8(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_free_i8"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_free_i8"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_free_i8(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_complete_i8"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_complete_i8"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_complete_i8(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_poll_u16"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_poll_u16"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_poll_u16(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_cancel_u16"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_cancel_u16"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_cancel_u16(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_free_u16"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_free_u16"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_free_u16(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_complete_u16"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_complete_u16"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_complete_u16(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_poll_i16"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_poll_i16"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_poll_i16(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_cancel_i16"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_cancel_i16"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_cancel_i16(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_free_i16"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_free_i16"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_free_i16(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_complete_i16"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_complete_i16"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_complete_i16(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_poll_u32"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_poll_u32"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_poll_u32(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_cancel_u32"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_cancel_u32"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_cancel_u32(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_free_u32"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_free_u32"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_free_u32(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_complete_u32"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_complete_u32"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_complete_u32(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_poll_i32"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_poll_i32"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_poll_i32(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_cancel_i32"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_cancel_i32"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_cancel_i32(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_free_i32"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_free_i32"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_free_i32(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_complete_i32"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_complete_i32"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_complete_i32(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_poll_u64"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_poll_u64"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_poll_u64(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_cancel_u64"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_cancel_u64"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_cancel_u64(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_free_u64"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_free_u64"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_free_u64(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_complete_u64"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_complete_u64"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_complete_u64(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_poll_i64"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_poll_i64"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_poll_i64(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_cancel_i64"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_cancel_i64"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_cancel_i64(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_free_i64"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_free_i64"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_free_i64(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_complete_i64"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_complete_i64"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_complete_i64(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_poll_f32"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_poll_f32"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_poll_f32(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_cancel_f32"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_cancel_f32"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_cancel_f32(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_free_f32"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_free_f32"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_free_f32(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_complete_f32"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_complete_f32"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_complete_f32(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_poll_f64"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_poll_f64"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_poll_f64(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_cancel_f64"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_cancel_f64"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_cancel_f64(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_free_f64"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_free_f64"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_free_f64(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_complete_f64"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_complete_f64"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_complete_f64(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_poll_rust_buffer"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_poll_rust_buffer"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_poll_rust_buffer(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_cancel_rust_buffer"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_cancel_rust_buffer"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_cancel_rust_buffer(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_free_rust_buffer"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_free_rust_buffer"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_free_rust_buffer(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_complete_rust_buffer"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_complete_rust_buffer"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_complete_rust_buffer(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_poll_void"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_poll_void"),
        3,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_poll_void(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_cancel_void"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_cancel_void"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_cancel_void(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_free_void"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_free_void"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_free_void(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_rust_future_complete_void"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_rust_future_complete_void"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_rust_future_complete_void(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_func_extract_tx_from_psbt"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_func_extract_tx_from_psbt"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_func_extract_tx_from_psbt(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_func_generate_mnemonic"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_func_generate_mnemonic"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_func_generate_mnemonic(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_func_validate_ark_address"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_func_validate_ark_address"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_func_validate_ark_address(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_func_validate_mnemonic"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_func_validate_mnemonic"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_func_validate_mnemonic(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_func_set_logger"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_func_set_logger"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_func_set_logger(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_notificationholder_cancel_next_notification_wait"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_notificationholder_cancel_next_notification_wait"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_notificationholder_cancel_next_notification_wait(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_notificationholder_next_notification"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_notificationholder_next_notification"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_notificationholder_next_notification(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_balance"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_balance"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_balance(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_prepare_tx"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_prepare_tx"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_prepare_tx(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_prepare_drain_tx"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_prepare_drain_tx"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_prepare_drain_tx(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_finish_psbt"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_finish_psbt"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_finish_psbt(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_wallet_tx"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_wallet_tx"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_wallet_tx(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_wallet_tx_confirmed_block"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_wallet_tx_confirmed_block"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_wallet_tx_confirmed_block(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_spending_tx"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_spending_tx"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_spending_tx(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_make_signed_p2a_cpfp"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_make_signed_p2a_cpfp"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_make_signed_p2a_cpfp(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_store_signed_p2a_cpfp"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_store_signed_p2a_cpfp"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_store_signed_p2a_cpfp(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_barklogger_log"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_barklogger_log"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_barklogger_log(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_onchainwallet_balance"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_onchainwallet_balance"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_onchainwallet_balance(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_onchainwallet_new_address"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_onchainwallet_new_address"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_onchainwallet_new_address(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_onchainwallet_send"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_onchainwallet_send"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_onchainwallet_send(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_onchainwallet_sync"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_onchainwallet_sync"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_onchainwallet_sync(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_all_exits_claimable_at_height"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_all_exits_claimable_at_height"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_all_exits_claimable_at_height(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_all_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_all_vtxos"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_all_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_allow_lightning_send_to_exit"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_allow_lightning_send_to_exit"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_allow_lightning_send_to_exit(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_ark_info"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_ark_info"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_ark_info(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_attempt_lightning_receive_exit"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_attempt_lightning_receive_exit"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_attempt_lightning_receive_exit(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_balance"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_balance"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_balance(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_board_all"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_board_all"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_board_all(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_board_amount"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_board_amount"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_board_amount(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_bolt11_invoice"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_bolt11_invoice"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_bolt11_invoice(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_broadcast_tx"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_broadcast_tx"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_broadcast_tx(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_cancel_all_pending_rounds"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_cancel_all_pending_rounds"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_cancel_all_pending_rounds(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_cancel_lightning_receive"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_cancel_lightning_receive"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_cancel_lightning_receive(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_cancel_pending_round"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_cancel_pending_round"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_cancel_pending_round(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_check_lightning_payment"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_check_lightning_payment"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_check_lightning_payment(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_claimable_lightning_receive_balance_sats"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_claimable_lightning_receive_balance_sats"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_claimable_lightning_receive_balance_sats(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_config"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_config"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_config(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_drain_exits"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_drain_exits"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_drain_exits(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_arkoor_payment_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_arkoor_payment_fee"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_arkoor_payment_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_board_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_board_fee"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_board_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_lightning_receive_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_lightning_receive_fee"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_lightning_receive_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_lightning_send_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_lightning_send_fee"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_lightning_send_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_offboard_all_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_offboard_all_fee"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_offboard_all_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_offboard_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_offboard_fee"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_offboard_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_refresh_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_refresh_fee"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_refresh_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_send_onchain_fee"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_estimate_send_onchain_fee"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_send_onchain_fee(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_fingerprint"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_fingerprint"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_fingerprint(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_get_exit_status"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_get_exit_status"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_get_exit_status(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_get_exit_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_get_exit_vtxos"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_get_exit_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_get_expiring_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_get_expiring_vtxos"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_get_expiring_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_get_first_expiring_vtxo_blockheight"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_get_first_expiring_vtxo_blockheight"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_get_first_expiring_vtxo_blockheight(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_get_next_required_refresh_blockheight"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_get_next_required_refresh_blockheight"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_get_next_required_refresh_blockheight(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_get_vtxo_by_id"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_get_vtxo_by_id"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_get_vtxo_by_id(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_get_vtxos_to_refresh"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_get_vtxos_to_refresh"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_get_vtxos_to_refresh(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_has_pending_exits"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_has_pending_exits"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_has_pending_exits(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_history"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_history"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_history(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_history_by_payment_method"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_history_by_payment_method"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_history_by_payment_method(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_import_vtxo"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_import_vtxo"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_import_vtxo(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_is_invoice_paid"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_is_invoice_paid"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_is_invoice_paid(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_lightning_receive_status"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_lightning_receive_status"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_lightning_receive_status(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_lightning_send_state"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_lightning_send_state"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_lightning_send_state(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_list_claimable_exits"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_list_claimable_exits"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_list_claimable_exits(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_mailbox_authorization"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_mailbox_authorization"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_mailbox_authorization(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_mailbox_identifier"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_mailbox_identifier"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_mailbox_identifier(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_maintenance"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_maintenance"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_maintenance(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_maintenance_delegated"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_maintenance_delegated"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_maintenance_delegated(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_maintenance_refresh"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_maintenance_refresh"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_maintenance_refresh(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_maintenance_with_onchain"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_maintenance_with_onchain"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_maintenance_with_onchain(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_maintenance_with_onchain_delegated"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_maintenance_with_onchain_delegated"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_maintenance_with_onchain_delegated(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_maybe_schedule_maintenance_refresh"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_maybe_schedule_maintenance_refresh"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_maybe_schedule_maintenance_refresh(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_network"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_network"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_network(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_new_address"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_new_address"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_new_address(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_new_address_with_index"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_new_address_with_index"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_new_address_with_index(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_next_round_start_time"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_next_round_start_time"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_next_round_start_time(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_notifications"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_notifications"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_notifications(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_offboard_all"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_offboard_all"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_offboard_all(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_offboard_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_offboard_vtxos"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_offboard_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_pay_lightning_address"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_pay_lightning_address"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_pay_lightning_address(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_pay_lightning_invoice"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_pay_lightning_invoice"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_pay_lightning_invoice(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_pay_lightning_offer"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_pay_lightning_offer"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_pay_lightning_offer(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_peek_address"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_peek_address"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_peek_address(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_board_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_board_vtxos"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_pending_board_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_boards"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_boards"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_pending_boards(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_exits_total_sats"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_exits_total_sats"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_pending_exits_total_sats(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_lightning_receives"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_lightning_receives"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_pending_lightning_receives(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_lightning_send_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_lightning_send_vtxos"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_pending_lightning_send_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_lightning_sends"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_lightning_sends"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_pending_lightning_sends(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_round_input_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_round_input_vtxos"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_pending_round_input_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_round_states"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_pending_round_states"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_pending_round_states(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_progress_exits"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_progress_exits"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_progress_exits(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_progress_pending_rounds"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_progress_pending_rounds"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_progress_pending_rounds(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_properties"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_properties"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_properties(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_refresh_server"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_refresh_server"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_refresh_server(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_refresh_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_refresh_vtxos"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_refresh_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_refresh_vtxos_delegated"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_refresh_vtxos_delegated"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_refresh_vtxos_delegated(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_run_daemon"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_run_daemon"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_run_daemon(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_send_arkoor_payment"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_send_arkoor_payment"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_send_arkoor_payment(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_send_onchain"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_send_onchain"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_send_onchain(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_sign_exit_claim_inputs"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_sign_exit_claim_inputs"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_sign_exit_claim_inputs(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_spendable_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_spendable_vtxos"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_spendable_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_start_exit_for_entire_wallet"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_start_exit_for_entire_wallet"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_start_exit_for_entire_wallet(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_start_exit_for_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_start_exit_for_vtxos"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_start_exit_for_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_stop_daemon"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_stop_daemon"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_stop_daemon(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_stuck_failed_lightning_sends"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_stuck_failed_lightning_sends"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_stuck_failed_lightning_sends(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_sync"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_sync"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_sync(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_sync_exits"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_sync_exits"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_sync_exits(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_sync_pending_boards"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_sync_pending_boards"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_sync_pending_boards(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_try_claim_all_lightning_receives"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_try_claim_all_lightning_receives"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_try_claim_all_lightning_receives(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_try_claim_lightning_receive"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_try_claim_lightning_receive"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_try_claim_lightning_receive(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_validate_arkoor_address"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_validate_arkoor_address"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_validate_arkoor_address(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_method_wallet_vtxos"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_method_wallet_vtxos"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_method_wallet_vtxos(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_constructor_onchainwallet_custom"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_constructor_onchainwallet_custom"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_constructor_onchainwallet_custom(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_constructor_onchainwallet_default"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_constructor_onchainwallet_default"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_constructor_onchainwallet_default(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_constructor_wallet_create"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_constructor_wallet_create"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_constructor_wallet_create(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_constructor_wallet_create_with_onchain"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_constructor_wallet_create_with_onchain"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_constructor_wallet_create_with_onchain(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_constructor_wallet_open"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_constructor_wallet_open"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_constructor_wallet_open(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_constructor_wallet_open_with_daemon"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_constructor_wallet_open_with_daemon"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_constructor_wallet_open_with_daemon(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_bark_ffi_checksum_constructor_wallet_open_with_onchain"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_bark_ffi_checksum_constructor_wallet_open_with_onchain"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_bark_ffi_checksum_constructor_wallet_open_with_onchain(rt, thisVal, args, count);
        }
    );
    props["ubrn_ffi_bark_ffi_uniffi_contract_version"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_ffi_bark_ffi_uniffi_contract_version"),
        0,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_ffi_bark_ffi_uniffi_contract_version(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_internal_fn_method_notificationholder_ffi__bless_pointer"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_internal_fn_method_notificationholder_ffi__bless_pointer"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_internal_fn_method_notificationholder_ffi__bless_pointer(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_internal_fn_method_customonchainwalletcallbacks_ffi__bless_pointer"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_internal_fn_method_customonchainwalletcallbacks_ffi__bless_pointer"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_internal_fn_method_customonchainwalletcallbacks_ffi__bless_pointer(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_internal_fn_method_barklogger_ffi__bless_pointer"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_internal_fn_method_barklogger_ffi__bless_pointer"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_internal_fn_method_barklogger_ffi__bless_pointer(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_internal_fn_method_onchainwallet_ffi__bless_pointer"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_internal_fn_method_onchainwallet_ffi__bless_pointer"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_internal_fn_method_onchainwallet_ffi__bless_pointer(rt, thisVal, args, count);
        }
    );
    props["ubrn_uniffi_internal_fn_method_wallet_ffi__bless_pointer"] = jsi::Function::createFromHostFunction(
        rt,
        jsi::PropNameID::forAscii(rt, "ubrn_uniffi_internal_fn_method_wallet_ffi__bless_pointer"),
        1,
        [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
            return this->cpp_uniffi_internal_fn_method_wallet_ffi__bless_pointer(rt, thisVal, args, count);
        }
    );
}

void NativeBark::registerModule(jsi::Runtime &rt, std::shared_ptr<react::CallInvoker> callInvoker) {
    auto invoker = std::make_shared<uniffi_runtime::UniffiCallInvoker>(callInvoker);
    auto tm = std::make_shared<NativeBark>(rt, invoker);
    auto obj = rt.global().createFromHostObject(rt, tm);
    rt.global().setProperty(rt, "NativeBark", obj);
}

void NativeBark::unregisterModule(jsi::Runtime &rt) {
    uniffi::bark::registry::clearRegistry();
}

jsi::Value NativeBark::get(jsi::Runtime& rt, const jsi::PropNameID& name) {
    try {
        return jsi::Value(rt, props.at(name.utf8(rt)));
    }
    catch (std::out_of_range &e) {
        return jsi::Value::undefined();
    }
}

std::vector<jsi::PropNameID> NativeBark::getPropertyNames(jsi::Runtime& rt) {
    std::vector<jsi::PropNameID> rval;
    for (auto& [key, value] : props) {
        rval.push_back(jsi::PropNameID::forUtf8(rt, key));
    }
    return rval;
}

void NativeBark::set(jsi::Runtime& rt, const jsi::PropNameID& name, const jsi::Value& value) {
    props.insert_or_assign(name.utf8(rt), &value);
}

NativeBark::~NativeBark() {
    // Cleanup for callback function RustFutureContinuationCallback
uniffi::bark::cb::rustfuturecontinuationcallback::cleanup();
    // Cleanup for callback function ForeignFutureDroppedCallback
uniffi::bark::cb::foreignfuturedroppedcallback::cleanup();
    // Cleanup for "free" callback function CallbackInterfaceFree
uniffi::bark::st::vtablecallbackinterfacecustomonchainwalletcallbacks::vtablecallbackinterfacecustomonchainwalletcallbacks::free::cleanup();uniffi::bark::st::vtablecallbackinterfacebarklogger::vtablecallbackinterfacebarklogger::free::cleanup();
uniffi::bark::cb::callbackinterfaceclone::vtablecallbackinterfacecustomonchainwalletcallbacks::cleanup();
uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod0::vtablecallbackinterfacecustomonchainwalletcallbacks::cleanup();
uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod1::vtablecallbackinterfacecustomonchainwalletcallbacks::cleanup();
uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod2::vtablecallbackinterfacecustomonchainwalletcallbacks::cleanup();
uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod3::vtablecallbackinterfacecustomonchainwalletcallbacks::cleanup();
uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod4::vtablecallbackinterfacecustomonchainwalletcallbacks::cleanup();
uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod5::vtablecallbackinterfacecustomonchainwalletcallbacks::cleanup();
uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod6::vtablecallbackinterfacecustomonchainwalletcallbacks::cleanup();
uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod7::vtablecallbackinterfacecustomonchainwalletcallbacks::cleanup();
uniffi::bark::cb::callbackinterfacecustomonchainwalletcallbacksmethod8::vtablecallbackinterfacecustomonchainwalletcallbacks::cleanup();
uniffi::bark::cb::callbackinterfaceclone::vtablecallbackinterfacebarklogger::cleanup();
uniffi::bark::cb::callbackinterfacebarkloggermethod0::vtablecallbackinterfacebarklogger::cleanup();
}

// Utility functions for serialization/deserialization of strings.
jsi::Value NativeBark::cpp_uniffi_internal_fn_func_ffi__string_to_byte_length(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
    return uniffi_jsi::Bridging<std::string>::string_to_bytelength(rt, args[0]);
}

jsi::Value NativeBark::cpp_uniffi_internal_fn_func_ffi__string_to_arraybuffer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
    return uniffi_jsi::Bridging<std::string>::string_to_arraybuffer(rt, args[0]);
}

jsi::Value NativeBark::cpp_uniffi_internal_fn_func_ffi__arraybuffer_to_string(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
    return uniffi_jsi::Bridging<std::string>::arraybuffer_to_string(rt, args[0]);
}jsi::Value NativeBark::cpp_uniffi_internal_fn_method_notificationholder_ffi__bless_pointer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
    auto pointer = uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]);
    auto static destructor = [](uint64_t p) {
        RustCallStatus status = {0};
        uniffi_bark_ffi_fn_free_notificationholder(p, &status);
    };
    auto ptrObj = std::make_shared<uniffi_jsi::DestructibleObject>(pointer, destructor);
    auto obj = jsi::Object::createFromHostObject(rt, ptrObj);
    return jsi::Value(rt, obj);
}jsi::Value NativeBark::cpp_uniffi_internal_fn_method_customonchainwalletcallbacks_ffi__bless_pointer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
    auto pointer = uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]);
    auto static destructor = [](uint64_t p) {
        RustCallStatus status = {0};
        uniffi_bark_ffi_fn_free_customonchainwalletcallbacks(p, &status);
    };
    auto ptrObj = std::make_shared<uniffi_jsi::DestructibleObject>(pointer, destructor);
    auto obj = jsi::Object::createFromHostObject(rt, ptrObj);
    return jsi::Value(rt, obj);
}jsi::Value NativeBark::cpp_uniffi_internal_fn_method_barklogger_ffi__bless_pointer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
    auto pointer = uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]);
    auto static destructor = [](uint64_t p) {
        RustCallStatus status = {0};
        uniffi_bark_ffi_fn_free_barklogger(p, &status);
    };
    auto ptrObj = std::make_shared<uniffi_jsi::DestructibleObject>(pointer, destructor);
    auto obj = jsi::Object::createFromHostObject(rt, ptrObj);
    return jsi::Value(rt, obj);
}jsi::Value NativeBark::cpp_uniffi_internal_fn_method_onchainwallet_ffi__bless_pointer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
    auto pointer = uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]);
    auto static destructor = [](uint64_t p) {
        RustCallStatus status = {0};
        uniffi_bark_ffi_fn_free_onchainwallet(p, &status);
    };
    auto ptrObj = std::make_shared<uniffi_jsi::DestructibleObject>(pointer, destructor);
    auto obj = jsi::Object::createFromHostObject(rt, ptrObj);
    return jsi::Value(rt, obj);
}jsi::Value NativeBark::cpp_uniffi_internal_fn_method_wallet_ffi__bless_pointer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
    auto pointer = uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[0]);
    auto static destructor = [](uint64_t p) {
        RustCallStatus status = {0};
        uniffi_bark_ffi_fn_free_wallet(p, &status);
    };
    auto ptrObj = std::make_shared<uniffi_jsi::DestructibleObject>(pointer, destructor);
    auto obj = jsi::Object::createFromHostObject(rt, ptrObj);
    return jsi::Value(rt, obj);
}

// Methods calling directly into the uniffi generated C API of the Rust crate.
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_clone_notificationholder(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_clone_notificationholder(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_free_notificationholder(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        uniffi_bark_ffi_fn_free_notificationholder(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_notificationholder_cancel_next_notification_wait(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        uniffi_bark_ffi_fn_method_notificationholder_cancel_next_notification_wait(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_notificationholder_next_notification(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_notificationholder_next_notification(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_clone_customonchainwalletcallbacks(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_clone_customonchainwalletcallbacks(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_free_customonchainwalletcallbacks(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        uniffi_bark_ffi_fn_free_customonchainwalletcallbacks(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_init_callback_vtable_customonchainwalletcallbacks(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
    auto vtableInstance =
        uniffi::bark::Bridging<UniffiVTableCallbackInterfaceCustomOnchainWalletCallbacks>::fromJs(
            rt,
            callInvoker,
            args[0]
        );

    std::lock_guard<std::mutex> lock(uniffi::bark::registry::vtableMutex);
    uniffi_bark_ffi_fn_init_callback_vtable_customonchainwalletcallbacks(
        uniffi::bark::registry::putTable(
            "UniffiVTableCallbackInterfaceCustomOnchainWalletCallbacks",
            vtableInstance
        )
    );
    return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_balance(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_balance(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_prepare_tx(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_prepare_tx(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_prepare_drain_tx(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_prepare_drain_tx(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_finish_psbt(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_finish_psbt(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_wallet_tx(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_wallet_tx(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_wallet_tx_confirmed_block(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_wallet_tx_confirmed_block(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_spending_tx(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_get_spending_tx(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_make_signed_p2a_cpfp(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_make_signed_p2a_cpfp(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_store_signed_p2a_cpfp(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        uniffi_bark_ffi_fn_method_customonchainwalletcallbacks_store_signed_p2a_cpfp(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_clone_barklogger(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_clone_barklogger(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_free_barklogger(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        uniffi_bark_ffi_fn_free_barklogger(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_init_callback_vtable_barklogger(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
    auto vtableInstance =
        uniffi::bark::Bridging<UniffiVTableCallbackInterfaceBarkLogger>::fromJs(
            rt,
            callInvoker,
            args[0]
        );

    std::lock_guard<std::mutex> lock(uniffi::bark::registry::vtableMutex);
    uniffi_bark_ffi_fn_init_callback_vtable_barklogger(
        uniffi::bark::registry::putTable(
            "UniffiVTableCallbackInterfaceBarkLogger",
            vtableInstance
        )
    );
    return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_barklogger_log(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        uniffi_bark_ffi_fn_method_barklogger_log(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[3]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_clone_onchainwallet(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_clone_onchainwallet(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_free_onchainwallet(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        uniffi_bark_ffi_fn_free_onchainwallet(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_constructor_onchainwallet_custom(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_constructor_onchainwallet_custom(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_constructor_onchainwallet_default(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_constructor_onchainwallet_default(uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_onchainwallet_balance(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_onchainwallet_balance(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_onchainwallet_new_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_onchainwallet_new_address(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_onchainwallet_send(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_onchainwallet_send(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[3])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_onchainwallet_sync(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_onchainwallet_sync(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_clone_wallet(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_clone_wallet(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_free_wallet(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        uniffi_bark_ffi_fn_free_wallet(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_constructor_wallet_create(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_constructor_wallet_create(uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging<int8_t>::fromJs(rt, callInvoker, args[3])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_constructor_wallet_create_with_onchain(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_constructor_wallet_create_with_onchain(uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[3]), uniffi_jsi::Bridging<int8_t>::fromJs(rt, callInvoker, args[4])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_constructor_wallet_open(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_constructor_wallet_open(uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_constructor_wallet_open_with_daemon(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_constructor_wallet_open_with_daemon(uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[3])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_constructor_wallet_open_with_onchain(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_constructor_wallet_open_with_onchain(uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[3])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_all_exits_claimable_at_height(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_all_exits_claimable_at_height(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_all_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_all_vtxos(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_allow_lightning_send_to_exit(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_allow_lightning_send_to_exit(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_ark_info(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_ark_info(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_attempt_lightning_receive_exit(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_attempt_lightning_receive_exit(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_balance(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_balance(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_board_all(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_board_all(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_board_amount(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_board_amount(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_bolt11_invoice(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_bolt11_invoice(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_broadcast_tx(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_broadcast_tx(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_cancel_all_pending_rounds(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_cancel_all_pending_rounds(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_cancel_lightning_receive(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_cancel_lightning_receive(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_cancel_pending_round(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_cancel_pending_round(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging<uint32_t>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_check_lightning_payment(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_check_lightning_payment(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<int8_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_claimable_lightning_receive_balance_sats(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_claimable_lightning_receive_balance_sats(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_config(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_config(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_drain_exits(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_drain_exits(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[3])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_estimate_arkoor_payment_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_estimate_arkoor_payment_fee(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_estimate_board_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_estimate_board_fee(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_estimate_lightning_receive_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_estimate_lightning_receive_fee(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_estimate_lightning_send_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_estimate_lightning_send_fee(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_estimate_offboard_all_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_estimate_offboard_all_fee(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_estimate_offboard_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_estimate_offboard_fee(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_estimate_refresh_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_estimate_refresh_fee(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_estimate_send_onchain_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_estimate_send_onchain_fee(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_fingerprint(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_method_wallet_fingerprint(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_get_exit_status(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_get_exit_status(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<int8_t>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging<int8_t>::fromJs(rt, callInvoker, args[3])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_get_exit_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_get_exit_vtxos(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_get_expiring_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_get_expiring_vtxos(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging<uint32_t>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_get_first_expiring_vtxo_blockheight(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_get_first_expiring_vtxo_blockheight(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_get_next_required_refresh_blockheight(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_get_next_required_refresh_blockheight(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_get_vtxo_by_id(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_get_vtxo_by_id(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_get_vtxos_to_refresh(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_get_vtxos_to_refresh(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_has_pending_exits(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_has_pending_exits(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_history(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_history(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_history_by_payment_method(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_history_by_payment_method(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_import_vtxo(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_import_vtxo(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_is_invoice_paid(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_is_invoice_paid(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_lightning_receive_status(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_lightning_receive_status(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_lightning_send_state(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_lightning_send_state(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_list_claimable_exits(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_list_claimable_exits(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_mailbox_authorization(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_method_wallet_mailbox_authorization(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_mailbox_identifier(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_method_wallet_mailbox_identifier(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_maintenance(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_maintenance(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_maintenance_delegated(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_maintenance_delegated(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_maintenance_refresh(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_maintenance_refresh(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_maintenance_with_onchain(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_maintenance_with_onchain(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_maintenance_with_onchain_delegated(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_maintenance_with_onchain_delegated(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_maybe_schedule_maintenance_refresh(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_maybe_schedule_maintenance_refresh(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_network(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_network(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_new_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_new_address(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_new_address_with_index(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_new_address_with_index(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_next_round_start_time(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_next_round_start_time(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_notifications(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_method_wallet_notifications(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_offboard_all(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_offboard_all(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_offboard_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_offboard_vtxos(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_pay_lightning_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_pay_lightning_address(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[3]), uniffi_jsi::Bridging<int8_t>::fromJs(rt, callInvoker, args[4])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_pay_lightning_invoice(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_pay_lightning_invoice(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging<int8_t>::fromJs(rt, callInvoker, args[3])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_pay_lightning_offer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_pay_lightning_offer(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging<int8_t>::fromJs(rt, callInvoker, args[3])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_peek_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_peek_address(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging<uint32_t>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_pending_board_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_pending_board_vtxos(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_pending_boards(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_pending_boards(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_pending_exits_total_sats(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_pending_exits_total_sats(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_pending_lightning_receives(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_pending_lightning_receives(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_pending_lightning_send_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_pending_lightning_send_vtxos(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_pending_lightning_sends(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_pending_lightning_sends(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_pending_round_input_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_pending_round_input_vtxos(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_pending_round_states(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_pending_round_states(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_progress_exits(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_progress_exits(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[1]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[2])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_progress_pending_rounds(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_progress_pending_rounds(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_properties(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_properties(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_refresh_server(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_refresh_server(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_refresh_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_refresh_vtxos(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_refresh_vtxos_delegated(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_refresh_vtxos_delegated(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_run_daemon(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_run_daemon(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_send_arkoor_payment(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_send_arkoor_payment(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_send_onchain(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_send_onchain(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_sign_exit_claim_inputs(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_sign_exit_claim_inputs(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_spendable_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_spendable_vtxos(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_start_exit_for_entire_wallet(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_start_exit_for_entire_wallet(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_start_exit_for_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_start_exit_for_vtxos(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_stop_daemon(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_stop_daemon(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_stuck_failed_lightning_sends(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_stuck_failed_lightning_sends(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_sync(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_sync(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_sync_exits(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_sync_exits(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_sync_pending_boards(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_sync_pending_boards(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_try_claim_all_lightning_receives(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_try_claim_all_lightning_receives(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging<int8_t>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_try_claim_lightning_receive(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_try_claim_lightning_receive(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<int8_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_validate_arkoor_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_validate_arkoor_address(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_method_wallet_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_fn_method_wallet_vtxos(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return uniffi_jsi::Bridging</*handle*/ uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_func_extract_tx_from_psbt(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_func_extract_tx_from_psbt(uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_func_generate_mnemonic(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_func_generate_mnemonic(&status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_func_validate_ark_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_func_validate_ark_address(uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging<int8_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_func_validate_mnemonic(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = uniffi_bark_ffi_fn_func_validate_mnemonic(uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging<int8_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_fn_func_set_logger(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        uniffi_bark_ffi_fn_func_set_logger(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_poll_u8(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_poll_u8(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiRustFutureContinuationCallback>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_cancel_u8(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_cancel_u8(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_free_u8(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_free_u8(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_complete_u8(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = ffi_bark_ffi_rust_future_complete_u8(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging<uint8_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_poll_i8(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_poll_i8(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiRustFutureContinuationCallback>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_cancel_i8(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_cancel_i8(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_free_i8(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_free_i8(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_complete_i8(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = ffi_bark_ffi_rust_future_complete_i8(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging<int8_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_poll_u16(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_poll_u16(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiRustFutureContinuationCallback>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_cancel_u16(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_cancel_u16(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_free_u16(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_free_u16(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_complete_u16(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = ffi_bark_ffi_rust_future_complete_u16(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_poll_i16(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_poll_i16(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiRustFutureContinuationCallback>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_cancel_i16(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_cancel_i16(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_free_i16(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_free_i16(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_complete_i16(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = ffi_bark_ffi_rust_future_complete_i16(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging<int16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_poll_u32(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_poll_u32(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiRustFutureContinuationCallback>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_cancel_u32(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_cancel_u32(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_free_u32(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_free_u32(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_complete_u32(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = ffi_bark_ffi_rust_future_complete_u32(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging<uint32_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_poll_i32(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_poll_i32(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiRustFutureContinuationCallback>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_cancel_i32(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_cancel_i32(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_free_i32(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_free_i32(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_complete_i32(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = ffi_bark_ffi_rust_future_complete_i32(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging<int32_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_poll_u64(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_poll_u64(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiRustFutureContinuationCallback>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_cancel_u64(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_cancel_u64(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_free_u64(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_free_u64(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_complete_u64(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = ffi_bark_ffi_rust_future_complete_u64(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging<uint64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_poll_i64(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_poll_i64(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiRustFutureContinuationCallback>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_cancel_i64(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_cancel_i64(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_free_i64(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_free_i64(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_complete_i64(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = ffi_bark_ffi_rust_future_complete_i64(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging<int64_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_poll_f32(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_poll_f32(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiRustFutureContinuationCallback>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_cancel_f32(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_cancel_f32(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_free_f32(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_free_f32(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_complete_f32(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = ffi_bark_ffi_rust_future_complete_f32(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging<float>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_poll_f64(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_poll_f64(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiRustFutureContinuationCallback>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_cancel_f64(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_cancel_f64(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_free_f64(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_free_f64(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_complete_f64(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = ffi_bark_ffi_rust_future_complete_f64(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi_jsi::Bridging<double>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_poll_rust_buffer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_poll_rust_buffer(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiRustFutureContinuationCallback>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_cancel_rust_buffer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_cancel_rust_buffer(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_free_rust_buffer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_free_rust_buffer(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_complete_rust_buffer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        auto value = ffi_bark_ffi_rust_future_complete_rust_buffer(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return uniffi::bark::Bridging<RustBuffer>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_poll_void(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_poll_void(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::bark::Bridging<UniffiRustFutureContinuationCallback>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[2])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_cancel_void(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_cancel_void(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_free_void(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        ffi_bark_ffi_rust_future_free_void(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0])
        );

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_rust_future_complete_void(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        RustCallStatus status = uniffi::bark::Bridging<RustCallStatus>::rustSuccess(rt);
        ffi_bark_ffi_rust_future_complete_void(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), 
            &status
        );
        uniffi::bark::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);

        
        return jsi::Value::undefined();
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_func_extract_tx_from_psbt(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_func_extract_tx_from_psbt(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_func_generate_mnemonic(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_func_generate_mnemonic(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_func_validate_ark_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_func_validate_ark_address(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_func_validate_mnemonic(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_func_validate_mnemonic(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_func_set_logger(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_func_set_logger(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_notificationholder_cancel_next_notification_wait(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_notificationholder_cancel_next_notification_wait(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_notificationholder_next_notification(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_notificationholder_next_notification(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_balance(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_balance(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_prepare_tx(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_prepare_tx(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_prepare_drain_tx(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_prepare_drain_tx(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_finish_psbt(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_finish_psbt(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_wallet_tx(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_wallet_tx(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_wallet_tx_confirmed_block(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_wallet_tx_confirmed_block(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_spending_tx(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_spending_tx(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_make_signed_p2a_cpfp(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_make_signed_p2a_cpfp(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_store_signed_p2a_cpfp(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_store_signed_p2a_cpfp(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_barklogger_log(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_barklogger_log(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_onchainwallet_balance(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_onchainwallet_balance(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_onchainwallet_new_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_onchainwallet_new_address(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_onchainwallet_send(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_onchainwallet_send(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_onchainwallet_sync(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_onchainwallet_sync(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_all_exits_claimable_at_height(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_all_exits_claimable_at_height(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_all_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_all_vtxos(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_allow_lightning_send_to_exit(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_allow_lightning_send_to_exit(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_ark_info(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_ark_info(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_attempt_lightning_receive_exit(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_attempt_lightning_receive_exit(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_balance(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_balance(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_board_all(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_board_all(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_board_amount(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_board_amount(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_bolt11_invoice(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_bolt11_invoice(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_broadcast_tx(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_broadcast_tx(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_cancel_all_pending_rounds(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_cancel_all_pending_rounds(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_cancel_lightning_receive(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_cancel_lightning_receive(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_cancel_pending_round(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_cancel_pending_round(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_check_lightning_payment(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_check_lightning_payment(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_claimable_lightning_receive_balance_sats(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_claimable_lightning_receive_balance_sats(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_config(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_config(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_drain_exits(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_drain_exits(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_arkoor_payment_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_estimate_arkoor_payment_fee(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_board_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_estimate_board_fee(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_lightning_receive_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_estimate_lightning_receive_fee(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_lightning_send_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_estimate_lightning_send_fee(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_offboard_all_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_estimate_offboard_all_fee(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_offboard_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_estimate_offboard_fee(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_refresh_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_estimate_refresh_fee(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_estimate_send_onchain_fee(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_estimate_send_onchain_fee(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_fingerprint(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_fingerprint(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_get_exit_status(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_get_exit_status(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_get_exit_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_get_exit_vtxos(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_get_expiring_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_get_expiring_vtxos(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_get_first_expiring_vtxo_blockheight(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_get_first_expiring_vtxo_blockheight(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_get_next_required_refresh_blockheight(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_get_next_required_refresh_blockheight(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_get_vtxo_by_id(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_get_vtxo_by_id(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_get_vtxos_to_refresh(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_get_vtxos_to_refresh(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_has_pending_exits(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_has_pending_exits(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_history(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_history(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_history_by_payment_method(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_history_by_payment_method(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_import_vtxo(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_import_vtxo(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_is_invoice_paid(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_is_invoice_paid(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_lightning_receive_status(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_lightning_receive_status(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_lightning_send_state(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_lightning_send_state(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_list_claimable_exits(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_list_claimable_exits(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_mailbox_authorization(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_mailbox_authorization(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_mailbox_identifier(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_mailbox_identifier(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_maintenance(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_maintenance(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_maintenance_delegated(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_maintenance_delegated(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_maintenance_refresh(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_maintenance_refresh(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_maintenance_with_onchain(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_maintenance_with_onchain(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_maintenance_with_onchain_delegated(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_maintenance_with_onchain_delegated(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_maybe_schedule_maintenance_refresh(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_maybe_schedule_maintenance_refresh(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_network(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_network(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_new_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_new_address(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_new_address_with_index(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_new_address_with_index(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_next_round_start_time(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_next_round_start_time(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_notifications(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_notifications(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_offboard_all(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_offboard_all(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_offboard_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_offboard_vtxos(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_pay_lightning_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_pay_lightning_address(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_pay_lightning_invoice(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_pay_lightning_invoice(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_pay_lightning_offer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_pay_lightning_offer(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_peek_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_peek_address(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_pending_board_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_pending_board_vtxos(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_pending_boards(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_pending_boards(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_pending_exits_total_sats(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_pending_exits_total_sats(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_pending_lightning_receives(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_pending_lightning_receives(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_pending_lightning_send_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_pending_lightning_send_vtxos(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_pending_lightning_sends(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_pending_lightning_sends(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_pending_round_input_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_pending_round_input_vtxos(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_pending_round_states(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_pending_round_states(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_progress_exits(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_progress_exits(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_progress_pending_rounds(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_progress_pending_rounds(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_properties(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_properties(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_refresh_server(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_refresh_server(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_refresh_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_refresh_vtxos(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_refresh_vtxos_delegated(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_refresh_vtxos_delegated(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_run_daemon(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_run_daemon(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_send_arkoor_payment(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_send_arkoor_payment(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_send_onchain(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_send_onchain(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_sign_exit_claim_inputs(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_sign_exit_claim_inputs(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_spendable_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_spendable_vtxos(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_start_exit_for_entire_wallet(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_start_exit_for_entire_wallet(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_start_exit_for_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_start_exit_for_vtxos(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_stop_daemon(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_stop_daemon(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_stuck_failed_lightning_sends(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_stuck_failed_lightning_sends(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_sync(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_sync(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_sync_exits(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_sync_exits(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_sync_pending_boards(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_sync_pending_boards(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_try_claim_all_lightning_receives(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_try_claim_all_lightning_receives(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_try_claim_lightning_receive(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_try_claim_lightning_receive(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_validate_arkoor_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_validate_arkoor_address(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_method_wallet_vtxos(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_method_wallet_vtxos(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_constructor_onchainwallet_custom(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_constructor_onchainwallet_custom(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_constructor_onchainwallet_default(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_constructor_onchainwallet_default(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_constructor_wallet_create(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_constructor_wallet_create(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_constructor_wallet_create_with_onchain(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_constructor_wallet_create_with_onchain(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_constructor_wallet_open(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_constructor_wallet_open(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_constructor_wallet_open_with_daemon(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_constructor_wallet_open_with_daemon(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_uniffi_bark_ffi_checksum_constructor_wallet_open_with_onchain(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = uniffi_bark_ffi_checksum_constructor_wallet_open_with_onchain(
        );

        
        return uniffi_jsi::Bridging<uint16_t>::toJs(rt, callInvoker, value);
}
jsi::Value NativeBark::cpp_ffi_bark_ffi_uniffi_contract_version(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
        auto value = ffi_bark_ffi_uniffi_contract_version(
        );

        
        return uniffi_jsi::Bridging<uint32_t>::toJs(rt, callInvoker, value);
}