Drop the _call insertion
[ldk-java] / src / main / java / org / ldk / impl / bindings.java
index d0a39204719bc660e831cffaa4a420eea666403f..37a9bc332908f3a46494bd89abaef65bb72f9feb 100644 (file)
@@ -280,8 +280,8 @@ public class bindings {
        }
        public static native long LDKMessageSendEventsProvider_new(LDKMessageSendEventsProvider impl);
        public static native LDKMessageSendEventsProvider LDKMessageSendEventsProvider_get_obj_from_jcalls(long val);
-       // LDKCVec_MessageSendEventZ MessageSendEventsProvider_call_get_and_clear_pending_msg_events LDKMessageSendEventsProvider* this_arg
-       public static native long MessageSendEventsProvider_call_get_and_clear_pending_msg_events(long this_arg);
+       // LDKCVec_MessageSendEventZ MessageSendEventsProvider_get_and_clear_pending_msg_events LDKMessageSendEventsProvider* this_arg
+       public static native long MessageSendEventsProvider_get_and_clear_pending_msg_events(long this_arg);
        public static native VecOrSliceDef LDKCVecTempl_Event_arr_info(long vec_ptr);
        public static native long LDKCVecTempl_Event_new(long[] elems);
        public interface LDKEventsProvider {
@@ -289,8 +289,8 @@ public class bindings {
        }
        public static native long LDKEventsProvider_new(LDKEventsProvider impl);
        public static native LDKEventsProvider LDKEventsProvider_get_obj_from_jcalls(long val);
-       // LDKCVec_EventZ EventsProvider_call_get_and_clear_pending_events LDKEventsProvider* this_arg
-       public static native long EventsProvider_call_get_and_clear_pending_events(long this_arg);
+       // LDKCVec_EventZ EventsProvider_get_and_clear_pending_events LDKEventsProvider* this_arg
+       public static native long EventsProvider_get_and_clear_pending_events(long this_arg);
        public interface LDKLogger {
                 void log(String record);
        }
@@ -303,8 +303,8 @@ public class bindings {
        }
        public static native long LDKAccess_new(LDKAccess impl);
        public static native LDKAccess LDKAccess_get_obj_from_jcalls(long val);
-       // LDKCResult_TxOutAccessErrorZ Access_call_get_utxo LDKAccess* this_arg, const uint8_t (*genesis_hash)[32], uint64_t short_channel_id
-       public static native long Access_call_get_utxo(long this_arg, byte[] genesis_hash, long short_channel_id);
+       // LDKCResult_TxOutAccessErrorZ Access_get_utxo LDKAccess* this_arg, const uint8_t (*genesis_hash)[32], uint64_t short_channel_id
+       public static native long Access_get_utxo(long this_arg, byte[] genesis_hash, long short_channel_id);
        public static native long[] LDKCVecTempl_HTLCOutputInCommitment_arr_info(long vec_ptr);
        public static native long LDKCVecTempl_HTLCOutputInCommitment_new(long[] elems);
        public interface LDKChannelKeys {
@@ -322,28 +322,28 @@ public class bindings {
        }
        public static native long LDKChannelKeys_new(LDKChannelKeys impl);
        public static native LDKChannelKeys LDKChannelKeys_get_obj_from_jcalls(long val);
-       // LDKPublicKey ChannelKeys_call_get_per_commitment_point LDKChannelKeys* this_arg, uint64_t idx
-       public static native byte[] ChannelKeys_call_get_per_commitment_point(long this_arg, long idx);
-       // LDKThirtyTwoBytes ChannelKeys_call_release_commitment_secret LDKChannelKeys* this_arg, uint64_t idx
-       public static native byte[] ChannelKeys_call_release_commitment_secret(long this_arg, long idx);
-       // LDKC2Tuple_u64u64Z ChannelKeys_call_key_derivation_params LDKChannelKeys* this_arg
-       public static native long ChannelKeys_call_key_derivation_params(long this_arg);
-       // LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ ChannelKeys_call_sign_counterparty_commitment LDKChannelKeys* this_arg, uint32_t feerate_per_kw, LDKTransaction commitment_tx, const LDKPreCalculatedTxCreationKeys *keys, LDKCVec_HTLCOutputInCommitmentZ htlcs
-       public static native long ChannelKeys_call_sign_counterparty_commitment(long this_arg, int feerate_per_kw, long commitment_tx, long keys, long htlcs);
-       // LDKCResult_SignatureNoneZ ChannelKeys_call_sign_holder_commitment LDKChannelKeys* this_arg, const LDKHolderCommitmentTransaction *holder_commitment_tx
-       public static native long ChannelKeys_call_sign_holder_commitment(long this_arg, long holder_commitment_tx);
-       // LDKCResult_CVec_SignatureZNoneZ ChannelKeys_call_sign_holder_commitment_htlc_transactions LDKChannelKeys* this_arg, const LDKHolderCommitmentTransaction *holder_commitment_tx
-       public static native long ChannelKeys_call_sign_holder_commitment_htlc_transactions(long this_arg, long holder_commitment_tx);
-       // LDKCResult_SignatureNoneZ ChannelKeys_call_sign_justice_transaction LDKChannelKeys* this_arg, LDKTransaction justice_tx, uintptr_t input, uint64_t amount, const uint8_t (*per_commitment_key)[32], const LDKHTLCOutputInCommitment *htlc
-       public static native long ChannelKeys_call_sign_justice_transaction(long this_arg, long justice_tx, long input, long amount, byte[] per_commitment_key, long htlc);
-       // LDKCResult_SignatureNoneZ ChannelKeys_call_sign_counterparty_htlc_transaction LDKChannelKeys* this_arg, LDKTransaction htlc_tx, uintptr_t input, uint64_t amount, LDKPublicKey per_commitment_point, const LDKHTLCOutputInCommitment *htlc
-       public static native long ChannelKeys_call_sign_counterparty_htlc_transaction(long this_arg, long htlc_tx, long input, long amount, byte[] per_commitment_point, long htlc);
-       // LDKCResult_SignatureNoneZ ChannelKeys_call_sign_closing_transaction LDKChannelKeys* this_arg, LDKTransaction closing_tx
-       public static native long ChannelKeys_call_sign_closing_transaction(long this_arg, long closing_tx);
-       // LDKCResult_SignatureNoneZ ChannelKeys_call_sign_channel_announcement LDKChannelKeys* this_arg, const LDKUnsignedChannelAnnouncement *msg
-       public static native long ChannelKeys_call_sign_channel_announcement(long this_arg, long msg);
-       // void ChannelKeys_call_on_accept LDKChannelKeys* this_arg, const LDKChannelPublicKeys *channel_points, uint16_t counterparty_selected_contest_delay, uint16_t holder_selected_contest_delay
-       public static native void ChannelKeys_call_on_accept(long this_arg, long channel_points, short counterparty_selected_contest_delay, short holder_selected_contest_delay);
+       // LDKPublicKey ChannelKeys_get_per_commitment_point LDKChannelKeys* this_arg, uint64_t idx
+       public static native byte[] ChannelKeys_get_per_commitment_point(long this_arg, long idx);
+       // LDKThirtyTwoBytes ChannelKeys_release_commitment_secret LDKChannelKeys* this_arg, uint64_t idx
+       public static native byte[] ChannelKeys_release_commitment_secret(long this_arg, long idx);
+       // LDKC2Tuple_u64u64Z ChannelKeys_key_derivation_params LDKChannelKeys* this_arg
+       public static native long ChannelKeys_key_derivation_params(long this_arg);
+       // LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ ChannelKeys_sign_counterparty_commitment LDKChannelKeys* this_arg, uint32_t feerate_per_kw, LDKTransaction commitment_tx, const LDKPreCalculatedTxCreationKeys *keys, LDKCVec_HTLCOutputInCommitmentZ htlcs
+       public static native long ChannelKeys_sign_counterparty_commitment(long this_arg, int feerate_per_kw, long commitment_tx, long keys, long htlcs);
+       // LDKCResult_SignatureNoneZ ChannelKeys_sign_holder_commitment LDKChannelKeys* this_arg, const LDKHolderCommitmentTransaction *holder_commitment_tx
+       public static native long ChannelKeys_sign_holder_commitment(long this_arg, long holder_commitment_tx);
+       // LDKCResult_CVec_SignatureZNoneZ ChannelKeys_sign_holder_commitment_htlc_transactions LDKChannelKeys* this_arg, const LDKHolderCommitmentTransaction *holder_commitment_tx
+       public static native long ChannelKeys_sign_holder_commitment_htlc_transactions(long this_arg, long holder_commitment_tx);
+       // LDKCResult_SignatureNoneZ ChannelKeys_sign_justice_transaction LDKChannelKeys* this_arg, LDKTransaction justice_tx, uintptr_t input, uint64_t amount, const uint8_t (*per_commitment_key)[32], const LDKHTLCOutputInCommitment *htlc
+       public static native long ChannelKeys_sign_justice_transaction(long this_arg, long justice_tx, long input, long amount, byte[] per_commitment_key, long htlc);
+       // LDKCResult_SignatureNoneZ ChannelKeys_sign_counterparty_htlc_transaction LDKChannelKeys* this_arg, LDKTransaction htlc_tx, uintptr_t input, uint64_t amount, LDKPublicKey per_commitment_point, const LDKHTLCOutputInCommitment *htlc
+       public static native long ChannelKeys_sign_counterparty_htlc_transaction(long this_arg, long htlc_tx, long input, long amount, byte[] per_commitment_point, long htlc);
+       // LDKCResult_SignatureNoneZ ChannelKeys_sign_closing_transaction LDKChannelKeys* this_arg, LDKTransaction closing_tx
+       public static native long ChannelKeys_sign_closing_transaction(long this_arg, long closing_tx);
+       // LDKCResult_SignatureNoneZ ChannelKeys_sign_channel_announcement LDKChannelKeys* this_arg, const LDKUnsignedChannelAnnouncement *msg
+       public static native long ChannelKeys_sign_channel_announcement(long this_arg, long msg);
+       // void ChannelKeys_on_accept LDKChannelKeys* this_arg, const LDKChannelPublicKeys *channel_points, uint16_t counterparty_selected_contest_delay, uint16_t holder_selected_contest_delay
+       public static native void ChannelKeys_on_accept(long this_arg, long channel_points, short counterparty_selected_contest_delay, short holder_selected_contest_delay);
        public static native long[] LDKCVecTempl_MonitorEvent_arr_info(long vec_ptr);
        public static native long LDKCVecTempl_MonitorEvent_new(long[] elems);
        public interface LDKWatch {
@@ -353,36 +353,36 @@ public class bindings {
        }
        public static native long LDKWatch_new(LDKWatch impl);
        public static native LDKWatch LDKWatch_get_obj_from_jcalls(long val);
-       // LDKCResult_NoneChannelMonitorUpdateErrZ Watch_call_watch_channel LDKWatch* this_arg, LDKOutPoint funding_txo, LDKChannelMonitor monitor
-       public static native long Watch_call_watch_channel(long this_arg, long funding_txo, long monitor);
-       // LDKCResult_NoneChannelMonitorUpdateErrZ Watch_call_update_channel LDKWatch* this_arg, LDKOutPoint funding_txo, LDKChannelMonitorUpdate update
-       public static native long Watch_call_update_channel(long this_arg, long funding_txo, long update);
-       // LDKCVec_MonitorEventZ Watch_call_release_pending_monitor_events LDKWatch* this_arg
-       public static native long Watch_call_release_pending_monitor_events(long this_arg);
+       // LDKCResult_NoneChannelMonitorUpdateErrZ Watch_watch_channel LDKWatch* this_arg, LDKOutPoint funding_txo, LDKChannelMonitor monitor
+       public static native long Watch_watch_channel(long this_arg, long funding_txo, long monitor);
+       // LDKCResult_NoneChannelMonitorUpdateErrZ Watch_update_channel LDKWatch* this_arg, LDKOutPoint funding_txo, LDKChannelMonitorUpdate update
+       public static native long Watch_update_channel(long this_arg, long funding_txo, long update);
+       // LDKCVec_MonitorEventZ Watch_release_pending_monitor_events LDKWatch* this_arg
+       public static native long Watch_release_pending_monitor_events(long this_arg);
        public interface LDKFilter {
-                void register_tx(byte[] txid, long script_pubkey);
-                void register_output(long outpoint, long script_pubkey);
+                void register_tx(byte[] txid, byte[] script_pubkey);
+                void register_output(long outpoint, byte[] script_pubkey);
        }
        public static native long LDKFilter_new(LDKFilter impl);
        public static native LDKFilter LDKFilter_get_obj_from_jcalls(long val);
-       // void Filter_call_register_tx LDKFilter* this_arg, const uint8_t (*txid)[32], LDKu8slice script_pubkey
-       public static native void Filter_call_register_tx(long this_arg, byte[] txid, long script_pubkey);
-       // void Filter_call_register_output LDKFilter* this_arg, const LDKOutPoint *outpoint, LDKu8slice script_pubkey
-       public static native void Filter_call_register_output(long this_arg, long outpoint, long script_pubkey);
+       // void Filter_register_tx LDKFilter* this_arg, const uint8_t (*txid)[32], LDKu8slice script_pubkey
+       public static native void Filter_register_tx(long this_arg, byte[] txid, byte[] script_pubkey);
+       // void Filter_register_output LDKFilter* this_arg, const LDKOutPoint *outpoint, LDKu8slice script_pubkey
+       public static native void Filter_register_output(long this_arg, long outpoint, byte[] script_pubkey);
        public interface LDKBroadcasterInterface {
                 void broadcast_transaction(long tx);
        }
        public static native long LDKBroadcasterInterface_new(LDKBroadcasterInterface impl);
        public static native LDKBroadcasterInterface LDKBroadcasterInterface_get_obj_from_jcalls(long val);
-       // void BroadcasterInterface_call_broadcast_transaction LDKBroadcasterInterface* this_arg, LDKTransaction tx
-       public static native void BroadcasterInterface_call_broadcast_transaction(long this_arg, long tx);
+       // void BroadcasterInterface_broadcast_transaction LDKBroadcasterInterface* this_arg, LDKTransaction tx
+       public static native void BroadcasterInterface_broadcast_transaction(long this_arg, long tx);
        public interface LDKFeeEstimator {
                 int get_est_sat_per_1000_weight(LDKConfirmationTarget confirmation_target);
        }
        public static native long LDKFeeEstimator_new(LDKFeeEstimator impl);
        public static native LDKFeeEstimator LDKFeeEstimator_get_obj_from_jcalls(long val);
-       // uint32_t FeeEstimator_call_get_est_sat_per_1000_weight LDKFeeEstimator* this_arg, LDKConfirmationTarget confirmation_target
-       public static native int FeeEstimator_call_get_est_sat_per_1000_weight(long this_arg, LDKConfirmationTarget confirmation_target);
+       // uint32_t FeeEstimator_get_est_sat_per_1000_weight LDKFeeEstimator* this_arg, LDKConfirmationTarget confirmation_target
+       public static native int FeeEstimator_get_est_sat_per_1000_weight(long this_arg, LDKConfirmationTarget confirmation_target);
        public static native VecOrSliceDef LDKCVecTempl_C2TupleTempl_usize__Transaction_arr_info(long vec_ptr);
        public static native long LDKCVecTempl_C2TupleTempl_usize__Transaction_new(long[] elems);
        public static native VecOrSliceDef LDKCVecTempl_Transaction_arr_info(long vec_ptr);
@@ -398,16 +398,16 @@ public class bindings {
        }
        public static native long LDKKeysInterface_new(LDKKeysInterface impl);
        public static native LDKKeysInterface LDKKeysInterface_get_obj_from_jcalls(long val);
-       // LDKSecretKey KeysInterface_call_get_node_secret LDKKeysInterface* this_arg
-       public static native byte[] KeysInterface_call_get_node_secret(long this_arg);
-       // LDKCVec_u8Z KeysInterface_call_get_destination_script LDKKeysInterface* this_arg
-       public static native long KeysInterface_call_get_destination_script(long this_arg);
-       // LDKPublicKey KeysInterface_call_get_shutdown_pubkey LDKKeysInterface* this_arg
-       public static native byte[] KeysInterface_call_get_shutdown_pubkey(long this_arg);
-       // LDKChannelKeys KeysInterface_call_get_channel_keys LDKKeysInterface* this_arg, bool inbound, uint64_t channel_value_satoshis
-       public static native long KeysInterface_call_get_channel_keys(long this_arg, boolean inbound, long channel_value_satoshis);
-       // LDKThirtyTwoBytes KeysInterface_call_get_secure_random_bytes LDKKeysInterface* this_arg
-       public static native byte[] KeysInterface_call_get_secure_random_bytes(long this_arg);
+       // LDKSecretKey KeysInterface_get_node_secret LDKKeysInterface* this_arg
+       public static native byte[] KeysInterface_get_node_secret(long this_arg);
+       // LDKCVec_u8Z KeysInterface_get_destination_script LDKKeysInterface* this_arg
+       public static native long KeysInterface_get_destination_script(long this_arg);
+       // LDKPublicKey KeysInterface_get_shutdown_pubkey LDKKeysInterface* this_arg
+       public static native byte[] KeysInterface_get_shutdown_pubkey(long this_arg);
+       // LDKChannelKeys KeysInterface_get_channel_keys LDKKeysInterface* this_arg, bool inbound, uint64_t channel_value_satoshis
+       public static native long KeysInterface_get_channel_keys(long this_arg, boolean inbound, long channel_value_satoshis);
+       // LDKThirtyTwoBytes KeysInterface_get_secure_random_bytes LDKKeysInterface* this_arg
+       public static native byte[] KeysInterface_get_secure_random_bytes(long this_arg);
        public static native long[] LDKCVecTempl_ChannelDetails_arr_info(long vec_ptr);
        public static native long LDKCVecTempl_ChannelDetails_new(long[] elems);
        public static class LDKNetAddress {
@@ -463,44 +463,44 @@ public class bindings {
        }
        public static native long LDKChannelMessageHandler_new(LDKChannelMessageHandler impl, LDKMessageSendEventsProvider MessageSendEventsProvider);
        public static native LDKChannelMessageHandler LDKChannelMessageHandler_get_obj_from_jcalls(long val);
-       // void ChannelMessageHandler_call_handle_open_channel LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, LDKInitFeatures their_features, const LDKOpenChannel *msg
-       public static native void ChannelMessageHandler_call_handle_open_channel(long this_arg, byte[] their_node_id, long their_features, long msg);
-       // void ChannelMessageHandler_call_handle_accept_channel LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, LDKInitFeatures their_features, const LDKAcceptChannel *msg
-       public static native void ChannelMessageHandler_call_handle_accept_channel(long this_arg, byte[] their_node_id, long their_features, long msg);
-       // void ChannelMessageHandler_call_handle_funding_created LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKFundingCreated *msg
-       public static native void ChannelMessageHandler_call_handle_funding_created(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_handle_funding_signed LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKFundingSigned *msg
-       public static native void ChannelMessageHandler_call_handle_funding_signed(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_handle_funding_locked LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKFundingLocked *msg
-       public static native void ChannelMessageHandler_call_handle_funding_locked(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_handle_shutdown LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKShutdown *msg
-       public static native void ChannelMessageHandler_call_handle_shutdown(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_handle_closing_signed LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKClosingSigned *msg
-       public static native void ChannelMessageHandler_call_handle_closing_signed(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_handle_update_add_htlc LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKUpdateAddHTLC *msg
-       public static native void ChannelMessageHandler_call_handle_update_add_htlc(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_handle_update_fulfill_htlc LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKUpdateFulfillHTLC *msg
-       public static native void ChannelMessageHandler_call_handle_update_fulfill_htlc(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_handle_update_fail_htlc LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKUpdateFailHTLC *msg
-       public static native void ChannelMessageHandler_call_handle_update_fail_htlc(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_handle_update_fail_malformed_htlc LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKUpdateFailMalformedHTLC *msg
-       public static native void ChannelMessageHandler_call_handle_update_fail_malformed_htlc(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_handle_commitment_signed LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKCommitmentSigned *msg
-       public static native void ChannelMessageHandler_call_handle_commitment_signed(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_handle_revoke_and_ack LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKRevokeAndACK *msg
-       public static native void ChannelMessageHandler_call_handle_revoke_and_ack(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_handle_update_fee LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKUpdateFee *msg
-       public static native void ChannelMessageHandler_call_handle_update_fee(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_handle_announcement_signatures LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKAnnouncementSignatures *msg
-       public static native void ChannelMessageHandler_call_handle_announcement_signatures(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_peer_disconnected LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, bool no_connection_possible
-       public static native void ChannelMessageHandler_call_peer_disconnected(long this_arg, byte[] their_node_id, boolean no_connection_possible);
-       // void ChannelMessageHandler_call_peer_connected LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKInit *msg
-       public static native void ChannelMessageHandler_call_peer_connected(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_handle_channel_reestablish LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKChannelReestablish *msg
-       public static native void ChannelMessageHandler_call_handle_channel_reestablish(long this_arg, byte[] their_node_id, long msg);
-       // void ChannelMessageHandler_call_handle_error LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKErrorMessage *msg
-       public static native void ChannelMessageHandler_call_handle_error(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_open_channel LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, LDKInitFeatures their_features, const LDKOpenChannel *msg
+       public static native void ChannelMessageHandler_handle_open_channel(long this_arg, byte[] their_node_id, long their_features, long msg);
+       // void ChannelMessageHandler_handle_accept_channel LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, LDKInitFeatures their_features, const LDKAcceptChannel *msg
+       public static native void ChannelMessageHandler_handle_accept_channel(long this_arg, byte[] their_node_id, long their_features, long msg);
+       // void ChannelMessageHandler_handle_funding_created LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKFundingCreated *msg
+       public static native void ChannelMessageHandler_handle_funding_created(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_funding_signed LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKFundingSigned *msg
+       public static native void ChannelMessageHandler_handle_funding_signed(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_funding_locked LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKFundingLocked *msg
+       public static native void ChannelMessageHandler_handle_funding_locked(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_shutdown LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKShutdown *msg
+       public static native void ChannelMessageHandler_handle_shutdown(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_closing_signed LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKClosingSigned *msg
+       public static native void ChannelMessageHandler_handle_closing_signed(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_update_add_htlc LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKUpdateAddHTLC *msg
+       public static native void ChannelMessageHandler_handle_update_add_htlc(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_update_fulfill_htlc LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKUpdateFulfillHTLC *msg
+       public static native void ChannelMessageHandler_handle_update_fulfill_htlc(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_update_fail_htlc LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKUpdateFailHTLC *msg
+       public static native void ChannelMessageHandler_handle_update_fail_htlc(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_update_fail_malformed_htlc LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKUpdateFailMalformedHTLC *msg
+       public static native void ChannelMessageHandler_handle_update_fail_malformed_htlc(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_commitment_signed LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKCommitmentSigned *msg
+       public static native void ChannelMessageHandler_handle_commitment_signed(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_revoke_and_ack LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKRevokeAndACK *msg
+       public static native void ChannelMessageHandler_handle_revoke_and_ack(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_update_fee LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKUpdateFee *msg
+       public static native void ChannelMessageHandler_handle_update_fee(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_announcement_signatures LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKAnnouncementSignatures *msg
+       public static native void ChannelMessageHandler_handle_announcement_signatures(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_peer_disconnected LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, bool no_connection_possible
+       public static native void ChannelMessageHandler_peer_disconnected(long this_arg, byte[] their_node_id, boolean no_connection_possible);
+       // void ChannelMessageHandler_peer_connected LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKInit *msg
+       public static native void ChannelMessageHandler_peer_connected(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_channel_reestablish LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKChannelReestablish *msg
+       public static native void ChannelMessageHandler_handle_channel_reestablish(long this_arg, byte[] their_node_id, long msg);
+       // void ChannelMessageHandler_handle_error LDKChannelMessageHandler* this_arg, LDKPublicKey their_node_id, const LDKErrorMessage *msg
+       public static native void ChannelMessageHandler_handle_error(long this_arg, byte[] their_node_id, long msg);
        public static native long[] LDKCVecTempl_ChannelMonitor_arr_info(long vec_ptr);
        public static native long LDKCVecTempl_ChannelMonitor_new(long[] elems);
        public static native VecOrSliceDef LDKCVecTempl_u64_arr_info(long vec_ptr);
@@ -530,34 +530,34 @@ public class bindings {
        }
        public static native long LDKRoutingMessageHandler_new(LDKRoutingMessageHandler impl);
        public static native LDKRoutingMessageHandler LDKRoutingMessageHandler_get_obj_from_jcalls(long val);
-       // LDKCResult_boolLightningErrorZ RoutingMessageHandler_call_handle_node_announcement LDKRoutingMessageHandler* this_arg, const LDKNodeAnnouncement *msg
-       public static native long RoutingMessageHandler_call_handle_node_announcement(long this_arg, long msg);
-       // LDKCResult_boolLightningErrorZ RoutingMessageHandler_call_handle_channel_announcement LDKRoutingMessageHandler* this_arg, const LDKChannelAnnouncement *msg
-       public static native long RoutingMessageHandler_call_handle_channel_announcement(long this_arg, long msg);
-       // LDKCResult_boolLightningErrorZ RoutingMessageHandler_call_handle_channel_update LDKRoutingMessageHandler* this_arg, const LDKChannelUpdate *msg
-       public static native long RoutingMessageHandler_call_handle_channel_update(long this_arg, long msg);
-       // void RoutingMessageHandler_call_handle_htlc_fail_channel_update LDKRoutingMessageHandler* this_arg, const LDKHTLCFailChannelUpdate *update
-       public static native void RoutingMessageHandler_call_handle_htlc_fail_channel_update(long this_arg, long update);
-       // LDKCVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ RoutingMessageHandler_call_get_next_channel_announcements LDKRoutingMessageHandler* this_arg, uint64_t starting_point, uint8_t batch_amount
-       public static native long RoutingMessageHandler_call_get_next_channel_announcements(long this_arg, long starting_point, byte batch_amount);
-       // LDKCVec_NodeAnnouncementZ RoutingMessageHandler_call_get_next_node_announcements LDKRoutingMessageHandler* this_arg, LDKPublicKey starting_point, uint8_t batch_amount
-       public static native long RoutingMessageHandler_call_get_next_node_announcements(long this_arg, byte[] starting_point, byte batch_amount);
-       // bool RoutingMessageHandler_call_should_request_full_sync LDKRoutingMessageHandler* this_arg, LDKPublicKey node_id
-       public static native boolean RoutingMessageHandler_call_should_request_full_sync(long this_arg, byte[] node_id);
+       // LDKCResult_boolLightningErrorZ RoutingMessageHandler_handle_node_announcement LDKRoutingMessageHandler* this_arg, const LDKNodeAnnouncement *msg
+       public static native long RoutingMessageHandler_handle_node_announcement(long this_arg, long msg);
+       // LDKCResult_boolLightningErrorZ RoutingMessageHandler_handle_channel_announcement LDKRoutingMessageHandler* this_arg, const LDKChannelAnnouncement *msg
+       public static native long RoutingMessageHandler_handle_channel_announcement(long this_arg, long msg);
+       // LDKCResult_boolLightningErrorZ RoutingMessageHandler_handle_channel_update LDKRoutingMessageHandler* this_arg, const LDKChannelUpdate *msg
+       public static native long RoutingMessageHandler_handle_channel_update(long this_arg, long msg);
+       // void RoutingMessageHandler_handle_htlc_fail_channel_update LDKRoutingMessageHandler* this_arg, const LDKHTLCFailChannelUpdate *update
+       public static native void RoutingMessageHandler_handle_htlc_fail_channel_update(long this_arg, long update);
+       // LDKCVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ RoutingMessageHandler_get_next_channel_announcements LDKRoutingMessageHandler* this_arg, uint64_t starting_point, uint8_t batch_amount
+       public static native long RoutingMessageHandler_get_next_channel_announcements(long this_arg, long starting_point, byte batch_amount);
+       // LDKCVec_NodeAnnouncementZ RoutingMessageHandler_get_next_node_announcements LDKRoutingMessageHandler* this_arg, LDKPublicKey starting_point, uint8_t batch_amount
+       public static native long RoutingMessageHandler_get_next_node_announcements(long this_arg, byte[] starting_point, byte batch_amount);
+       // bool RoutingMessageHandler_should_request_full_sync LDKRoutingMessageHandler* this_arg, LDKPublicKey node_id
+       public static native boolean RoutingMessageHandler_should_request_full_sync(long this_arg, byte[] node_id);
        public interface LDKSocketDescriptor {
-                long send_data(long data, boolean resume_read);
+                long send_data(byte[] data, boolean resume_read);
                 void disconnect_socket();
                 boolean eq(long other_arg);
                 long hash();
        }
        public static native long LDKSocketDescriptor_new(LDKSocketDescriptor impl);
        public static native LDKSocketDescriptor LDKSocketDescriptor_get_obj_from_jcalls(long val);
-       // uintptr_t SocketDescriptor_call_send_data LDKSocketDescriptor* this_arg, LDKu8slice data, bool resume_read
-       public static native long SocketDescriptor_call_send_data(long this_arg, long data, boolean resume_read);
-       // void SocketDescriptor_call_disconnect_socket LDKSocketDescriptor* this_arg
-       public static native void SocketDescriptor_call_disconnect_socket(long this_arg);
-       // uint64_t SocketDescriptor_call_hash LDKSocketDescriptor* this_arg
-       public static native long SocketDescriptor_call_hash(long this_arg);
+       // uintptr_t SocketDescriptor_send_data LDKSocketDescriptor* this_arg, LDKu8slice data, bool resume_read
+       public static native long SocketDescriptor_send_data(long this_arg, byte[] data, boolean resume_read);
+       // void SocketDescriptor_disconnect_socket LDKSocketDescriptor* this_arg
+       public static native void SocketDescriptor_disconnect_socket(long this_arg);
+       // uint64_t SocketDescriptor_hash LDKSocketDescriptor* this_arg
+       public static native long SocketDescriptor_hash(long this_arg);
        public static native VecOrSliceDef LDKCVecTempl_PublicKey_arr_info(long vec_ptr);
        public static native boolean LDKCResult_CVec_u8ZPeerHandleErrorZ_result_ok(long arg);
        public static native long LDKCResult_CVec_u8ZPeerHandleErrorZ_get_inner(long arg);
@@ -864,7 +864,7 @@ public class bindings {
        // LDKCVec_u8Z ChannelConfig_write(const LDKChannelConfig *obj);
        public static native long ChannelConfig_write(long obj);
        // LDKChannelConfig ChannelConfig_read(LDKu8slice ser);
-       public static native long ChannelConfig_read(long ser);
+       public static native long ChannelConfig_read(byte[] ser);
        // void UserConfig_free(LDKUserConfig this_ptr);
        public static native void UserConfig_free(long this_ptr);
        // LDKUserConfig UserConfig_clone(const LDKUserConfig *orig);
@@ -918,7 +918,7 @@ public class bindings {
        // LDKCVec_u8Z ChannelMonitorUpdate_write(const LDKChannelMonitorUpdate *obj);
        public static native long ChannelMonitorUpdate_write(long obj);
        // LDKChannelMonitorUpdate ChannelMonitorUpdate_read(LDKu8slice ser);
-       public static native long ChannelMonitorUpdate_read(long ser);
+       public static native long ChannelMonitorUpdate_read(byte[] ser);
        // void MonitorUpdateError_free(LDKMonitorUpdateError this_ptr);
        public static native void MonitorUpdateError_free(long this_ptr);
        // void MonitorEvent_free(LDKMonitorEvent this_ptr);
@@ -930,7 +930,7 @@ public class bindings {
        // LDKCVec_u8Z HTLCUpdate_write(const LDKHTLCUpdate *obj);
        public static native long HTLCUpdate_write(long obj);
        // LDKHTLCUpdate HTLCUpdate_read(LDKu8slice ser);
-       public static native long HTLCUpdate_read(long ser);
+       public static native long HTLCUpdate_read(byte[] ser);
        // void ChannelMonitor_free(LDKChannelMonitor this_ptr);
        public static native void ChannelMonitor_free(long this_ptr);
        // MUST_USE_RES LDKCResult_NoneMonitorUpdateErrorZ ChannelMonitor_update_monitor(LDKChannelMonitor *this_arg, LDKChannelMonitorUpdate updates, const LDKBroadcasterInterface *broadcaster, const LDKLogger *logger);
@@ -968,7 +968,7 @@ public class bindings {
        // LDKCVec_u8Z OutPoint_write(const LDKOutPoint *obj);
        public static native long OutPoint_write(long obj);
        // LDKOutPoint OutPoint_read(LDKu8slice ser);
-       public static native long OutPoint_read(long ser);
+       public static native long OutPoint_read(byte[] ser);
        // void SpendableOutputDescriptor_free(LDKSpendableOutputDescriptor this_ptr);
        public static native void SpendableOutputDescriptor_free(long this_ptr);
        // void ChannelKeys_free(LDKChannelKeys this_ptr);
@@ -1016,7 +1016,7 @@ public class bindings {
        // LDKCVec_u8Z InMemoryChannelKeys_write(const LDKInMemoryChannelKeys *obj);
        public static native long InMemoryChannelKeys_write(long obj);
        // LDKInMemoryChannelKeys InMemoryChannelKeys_read(LDKu8slice ser);
-       public static native long InMemoryChannelKeys_read(long ser);
+       public static native long InMemoryChannelKeys_read(byte[] ser);
        // void KeysManager_free(LDKKeysManager this_ptr);
        public static native void KeysManager_free(long this_ptr);
        // MUST_USE_RES LDKKeysManager KeysManager_new(const uint8_t (*seed)[32], LDKNetwork network, uint64_t starting_time_secs, uint32_t starting_time_nanos);
@@ -1029,6 +1029,8 @@ public class bindings {
        public static native void ChannelManager_free(long this_ptr);
        // void ChannelDetails_free(LDKChannelDetails this_ptr);
        public static native void ChannelDetails_free(long this_ptr);
+       // LDKChannelDetails ChannelDetails_clone(const LDKChannelDetails *orig);
+       public static native long ChannelDetails_clone(long orig);
        // const uint8_t (*ChannelDetails_get_channel_id(const LDKChannelDetails *this_ptr))[32];
        public static native byte[] ChannelDetails_get_channel_id(long this_ptr);
        // void ChannelDetails_set_channel_id(LDKChannelDetails *this_ptr, LDKThirtyTwoBytes val);
@@ -1082,7 +1084,7 @@ public class bindings {
        // void ChannelManager_funding_transaction_generated(const LDKChannelManager *this_arg, const uint8_t (*temporary_channel_id)[32], LDKOutPoint funding_txo);
        public static native void ChannelManager_funding_transaction_generated(long this_arg, byte[] temporary_channel_id, long funding_txo);
        // void ChannelManager_broadcast_node_announcement(const LDKChannelManager *this_arg, LDKThreeBytes rgb, LDKThirtyTwoBytes alias, LDKCVec_NetAddressZ addresses);
-       public static native void ChannelManager_broadcast_node_announcement(long this_arg, long rgb, byte[] alias, long addresses);
+       public static native void ChannelManager_broadcast_node_announcement(long this_arg, byte[] rgb, byte[] alias, long addresses);
        // void ChannelManager_process_pending_htlc_forwards(const LDKChannelManager *this_arg);
        public static native void ChannelManager_process_pending_htlc_forwards(long this_arg);
        // void ChannelManager_timer_chan_freshness_every_min(const LDKChannelManager *this_arg);
@@ -1137,6 +1139,8 @@ public class bindings {
        public static native void DecodeError_free(long this_ptr);
        // void Init_free(LDKInit this_ptr);
        public static native void Init_free(long this_ptr);
+       // LDKInit Init_clone(const LDKInit *orig);
+       public static native long Init_clone(long orig);
        // void ErrorMessage_free(LDKErrorMessage this_ptr);
        public static native void ErrorMessage_free(long this_ptr);
        // LDKErrorMessage ErrorMessage_clone(const LDKErrorMessage *orig);
@@ -1153,6 +1157,8 @@ public class bindings {
        public static native long ErrorMessage_new(byte[] channel_id_arg, long data_arg);
        // void Ping_free(LDKPing this_ptr);
        public static native void Ping_free(long this_ptr);
+       // LDKPing Ping_clone(const LDKPing *orig);
+       public static native long Ping_clone(long orig);
        // uint16_t Ping_get_ponglen(const LDKPing *this_ptr);
        public static native short Ping_get_ponglen(long this_ptr);
        // void Ping_set_ponglen(LDKPing *this_ptr, uint16_t val);
@@ -1165,6 +1171,8 @@ public class bindings {
        public static native long Ping_new(short ponglen_arg, short byteslen_arg);
        // void Pong_free(LDKPong this_ptr);
        public static native void Pong_free(long this_ptr);
+       // LDKPong Pong_clone(const LDKPong *orig);
+       public static native long Pong_clone(long orig);
        // uint16_t Pong_get_byteslen(const LDKPong *this_ptr);
        public static native short Pong_get_byteslen(long this_ptr);
        // void Pong_set_byteslen(LDKPong *this_ptr, uint16_t val);
@@ -1366,7 +1374,7 @@ public class bindings {
        // void Shutdown_set_channel_id(LDKShutdown *this_ptr, LDKThirtyTwoBytes val);
        public static native void Shutdown_set_channel_id(long this_ptr, byte[] val);
        // LDKu8slice Shutdown_get_scriptpubkey(const LDKShutdown *this_ptr);
-       public static native long Shutdown_get_scriptpubkey(long this_ptr);
+       public static native byte[] Shutdown_get_scriptpubkey(long this_ptr);
        // void Shutdown_set_scriptpubkey(LDKShutdown *this_ptr, LDKCVec_u8Z val);
        public static native void Shutdown_set_scriptpubkey(long this_ptr, long val);
        // MUST_USE_RES LDKShutdown Shutdown_new(LDKThirtyTwoBytes channel_id_arg, LDKCVec_u8Z scriptpubkey_arg);
@@ -1580,7 +1588,7 @@ public class bindings {
        // const uint8_t (*UnsignedNodeAnnouncement_get_rgb(const LDKUnsignedNodeAnnouncement *this_ptr))[3];
        public static native byte[] UnsignedNodeAnnouncement_get_rgb(long this_ptr);
        // void UnsignedNodeAnnouncement_set_rgb(LDKUnsignedNodeAnnouncement *this_ptr, LDKThreeBytes val);
-       public static native void UnsignedNodeAnnouncement_set_rgb(long this_ptr, long val);
+       public static native void UnsignedNodeAnnouncement_set_rgb(long this_ptr, byte[] val);
        // const uint8_t (*UnsignedNodeAnnouncement_get_alias(const LDKUnsignedNodeAnnouncement *this_ptr))[32];
        public static native byte[] UnsignedNodeAnnouncement_get_alias(long this_ptr);
        // void UnsignedNodeAnnouncement_set_alias(LDKUnsignedNodeAnnouncement *this_ptr, LDKThirtyTwoBytes val);
@@ -1840,125 +1848,125 @@ public class bindings {
        // LDKCVec_u8Z AcceptChannel_write(const LDKAcceptChannel *obj);
        public static native long AcceptChannel_write(long obj);
        // LDKAcceptChannel AcceptChannel_read(LDKu8slice ser);
-       public static native long AcceptChannel_read(long ser);
+       public static native long AcceptChannel_read(byte[] ser);
        // LDKCVec_u8Z AnnouncementSignatures_write(const LDKAnnouncementSignatures *obj);
        public static native long AnnouncementSignatures_write(long obj);
        // LDKAnnouncementSignatures AnnouncementSignatures_read(LDKu8slice ser);
-       public static native long AnnouncementSignatures_read(long ser);
+       public static native long AnnouncementSignatures_read(byte[] ser);
        // LDKCVec_u8Z ChannelReestablish_write(const LDKChannelReestablish *obj);
        public static native long ChannelReestablish_write(long obj);
        // LDKChannelReestablish ChannelReestablish_read(LDKu8slice ser);
-       public static native long ChannelReestablish_read(long ser);
+       public static native long ChannelReestablish_read(byte[] ser);
        // LDKCVec_u8Z ClosingSigned_write(const LDKClosingSigned *obj);
        public static native long ClosingSigned_write(long obj);
        // LDKClosingSigned ClosingSigned_read(LDKu8slice ser);
-       public static native long ClosingSigned_read(long ser);
+       public static native long ClosingSigned_read(byte[] ser);
        // LDKCVec_u8Z CommitmentSigned_write(const LDKCommitmentSigned *obj);
        public static native long CommitmentSigned_write(long obj);
        // LDKCommitmentSigned CommitmentSigned_read(LDKu8slice ser);
-       public static native long CommitmentSigned_read(long ser);
+       public static native long CommitmentSigned_read(byte[] ser);
        // LDKCVec_u8Z FundingCreated_write(const LDKFundingCreated *obj);
        public static native long FundingCreated_write(long obj);
        // LDKFundingCreated FundingCreated_read(LDKu8slice ser);
-       public static native long FundingCreated_read(long ser);
+       public static native long FundingCreated_read(byte[] ser);
        // LDKCVec_u8Z FundingSigned_write(const LDKFundingSigned *obj);
        public static native long FundingSigned_write(long obj);
        // LDKFundingSigned FundingSigned_read(LDKu8slice ser);
-       public static native long FundingSigned_read(long ser);
+       public static native long FundingSigned_read(byte[] ser);
        // LDKCVec_u8Z FundingLocked_write(const LDKFundingLocked *obj);
        public static native long FundingLocked_write(long obj);
        // LDKFundingLocked FundingLocked_read(LDKu8slice ser);
-       public static native long FundingLocked_read(long ser);
+       public static native long FundingLocked_read(byte[] ser);
        // LDKCVec_u8Z Init_write(const LDKInit *obj);
        public static native long Init_write(long obj);
        // LDKInit Init_read(LDKu8slice ser);
-       public static native long Init_read(long ser);
+       public static native long Init_read(byte[] ser);
        // LDKCVec_u8Z OpenChannel_write(const LDKOpenChannel *obj);
        public static native long OpenChannel_write(long obj);
        // LDKOpenChannel OpenChannel_read(LDKu8slice ser);
-       public static native long OpenChannel_read(long ser);
+       public static native long OpenChannel_read(byte[] ser);
        // LDKCVec_u8Z RevokeAndACK_write(const LDKRevokeAndACK *obj);
        public static native long RevokeAndACK_write(long obj);
        // LDKRevokeAndACK RevokeAndACK_read(LDKu8slice ser);
-       public static native long RevokeAndACK_read(long ser);
+       public static native long RevokeAndACK_read(byte[] ser);
        // LDKCVec_u8Z Shutdown_write(const LDKShutdown *obj);
        public static native long Shutdown_write(long obj);
        // LDKShutdown Shutdown_read(LDKu8slice ser);
-       public static native long Shutdown_read(long ser);
+       public static native long Shutdown_read(byte[] ser);
        // LDKCVec_u8Z UpdateFailHTLC_write(const LDKUpdateFailHTLC *obj);
        public static native long UpdateFailHTLC_write(long obj);
        // LDKUpdateFailHTLC UpdateFailHTLC_read(LDKu8slice ser);
-       public static native long UpdateFailHTLC_read(long ser);
+       public static native long UpdateFailHTLC_read(byte[] ser);
        // LDKCVec_u8Z UpdateFailMalformedHTLC_write(const LDKUpdateFailMalformedHTLC *obj);
        public static native long UpdateFailMalformedHTLC_write(long obj);
        // LDKUpdateFailMalformedHTLC UpdateFailMalformedHTLC_read(LDKu8slice ser);
-       public static native long UpdateFailMalformedHTLC_read(long ser);
+       public static native long UpdateFailMalformedHTLC_read(byte[] ser);
        // LDKCVec_u8Z UpdateFee_write(const LDKUpdateFee *obj);
        public static native long UpdateFee_write(long obj);
        // LDKUpdateFee UpdateFee_read(LDKu8slice ser);
-       public static native long UpdateFee_read(long ser);
+       public static native long UpdateFee_read(byte[] ser);
        // LDKCVec_u8Z UpdateFulfillHTLC_write(const LDKUpdateFulfillHTLC *obj);
        public static native long UpdateFulfillHTLC_write(long obj);
        // LDKUpdateFulfillHTLC UpdateFulfillHTLC_read(LDKu8slice ser);
-       public static native long UpdateFulfillHTLC_read(long ser);
+       public static native long UpdateFulfillHTLC_read(byte[] ser);
        // LDKCVec_u8Z UpdateAddHTLC_write(const LDKUpdateAddHTLC *obj);
        public static native long UpdateAddHTLC_write(long obj);
        // LDKUpdateAddHTLC UpdateAddHTLC_read(LDKu8slice ser);
-       public static native long UpdateAddHTLC_read(long ser);
+       public static native long UpdateAddHTLC_read(byte[] ser);
        // LDKCVec_u8Z Ping_write(const LDKPing *obj);
        public static native long Ping_write(long obj);
        // LDKPing Ping_read(LDKu8slice ser);
-       public static native long Ping_read(long ser);
+       public static native long Ping_read(byte[] ser);
        // LDKCVec_u8Z Pong_write(const LDKPong *obj);
        public static native long Pong_write(long obj);
        // LDKPong Pong_read(LDKu8slice ser);
-       public static native long Pong_read(long ser);
+       public static native long Pong_read(byte[] ser);
        // LDKCVec_u8Z UnsignedChannelAnnouncement_write(const LDKUnsignedChannelAnnouncement *obj);
        public static native long UnsignedChannelAnnouncement_write(long obj);
        // LDKUnsignedChannelAnnouncement UnsignedChannelAnnouncement_read(LDKu8slice ser);
-       public static native long UnsignedChannelAnnouncement_read(long ser);
+       public static native long UnsignedChannelAnnouncement_read(byte[] ser);
        // LDKCVec_u8Z ChannelAnnouncement_write(const LDKChannelAnnouncement *obj);
        public static native long ChannelAnnouncement_write(long obj);
        // LDKChannelAnnouncement ChannelAnnouncement_read(LDKu8slice ser);
-       public static native long ChannelAnnouncement_read(long ser);
+       public static native long ChannelAnnouncement_read(byte[] ser);
        // LDKCVec_u8Z UnsignedChannelUpdate_write(const LDKUnsignedChannelUpdate *obj);
        public static native long UnsignedChannelUpdate_write(long obj);
        // LDKUnsignedChannelUpdate UnsignedChannelUpdate_read(LDKu8slice ser);
-       public static native long UnsignedChannelUpdate_read(long ser);
+       public static native long UnsignedChannelUpdate_read(byte[] ser);
        // LDKCVec_u8Z ChannelUpdate_write(const LDKChannelUpdate *obj);
        public static native long ChannelUpdate_write(long obj);
        // LDKChannelUpdate ChannelUpdate_read(LDKu8slice ser);
-       public static native long ChannelUpdate_read(long ser);
+       public static native long ChannelUpdate_read(byte[] ser);
        // LDKCVec_u8Z ErrorMessage_write(const LDKErrorMessage *obj);
        public static native long ErrorMessage_write(long obj);
        // LDKErrorMessage ErrorMessage_read(LDKu8slice ser);
-       public static native long ErrorMessage_read(long ser);
+       public static native long ErrorMessage_read(byte[] ser);
        // LDKCVec_u8Z UnsignedNodeAnnouncement_write(const LDKUnsignedNodeAnnouncement *obj);
        public static native long UnsignedNodeAnnouncement_write(long obj);
        // LDKUnsignedNodeAnnouncement UnsignedNodeAnnouncement_read(LDKu8slice ser);
-       public static native long UnsignedNodeAnnouncement_read(long ser);
+       public static native long UnsignedNodeAnnouncement_read(byte[] ser);
        // LDKCVec_u8Z NodeAnnouncement_write(const LDKNodeAnnouncement *obj);
        public static native long NodeAnnouncement_write(long obj);
        // LDKNodeAnnouncement NodeAnnouncement_read(LDKu8slice ser);
-       public static native long NodeAnnouncement_read(long ser);
+       public static native long NodeAnnouncement_read(byte[] ser);
        // LDKQueryShortChannelIds QueryShortChannelIds_read(LDKu8slice ser);
-       public static native long QueryShortChannelIds_read(long ser);
+       public static native long QueryShortChannelIds_read(byte[] ser);
        // LDKCVec_u8Z QueryShortChannelIds_write(const LDKQueryShortChannelIds *obj);
        public static native long QueryShortChannelIds_write(long obj);
        // LDKReplyShortChannelIdsEnd ReplyShortChannelIdsEnd_read(LDKu8slice ser);
-       public static native long ReplyShortChannelIdsEnd_read(long ser);
+       public static native long ReplyShortChannelIdsEnd_read(byte[] ser);
        // LDKCVec_u8Z ReplyShortChannelIdsEnd_write(const LDKReplyShortChannelIdsEnd *obj);
        public static native long ReplyShortChannelIdsEnd_write(long obj);
        // LDKQueryChannelRange QueryChannelRange_read(LDKu8slice ser);
-       public static native long QueryChannelRange_read(long ser);
+       public static native long QueryChannelRange_read(byte[] ser);
        // LDKCVec_u8Z QueryChannelRange_write(const LDKQueryChannelRange *obj);
        public static native long QueryChannelRange_write(long obj);
        // LDKReplyChannelRange ReplyChannelRange_read(LDKu8slice ser);
-       public static native long ReplyChannelRange_read(long ser);
+       public static native long ReplyChannelRange_read(byte[] ser);
        // LDKCVec_u8Z ReplyChannelRange_write(const LDKReplyChannelRange *obj);
        public static native long ReplyChannelRange_write(long obj);
        // LDKGossipTimestampFilter GossipTimestampFilter_read(LDKu8slice ser);
-       public static native long GossipTimestampFilter_read(long ser);
+       public static native long GossipTimestampFilter_read(byte[] ser);
        // LDKCVec_u8Z GossipTimestampFilter_write(const LDKGossipTimestampFilter *obj);
        public static native long GossipTimestampFilter_write(long obj);
        // void MessageHandler_free(LDKMessageHandler this_ptr);
@@ -1996,7 +2004,7 @@ public class bindings {
        // MUST_USE_RES LDKCResult_NonePeerHandleErrorZ PeerManager_write_buffer_space_avail(const LDKPeerManager *this_arg, LDKSocketDescriptor *descriptor);
        public static native long PeerManager_write_buffer_space_avail(long this_arg, long descriptor);
        // MUST_USE_RES LDKCResult_boolPeerHandleErrorZ PeerManager_read_event(const LDKPeerManager *this_arg, LDKSocketDescriptor *peer_descriptor, LDKu8slice data);
-       public static native long PeerManager_read_event(long this_arg, long peer_descriptor, long data);
+       public static native long PeerManager_read_event(long this_arg, long peer_descriptor, byte[] data);
        // void PeerManager_process_events(const LDKPeerManager *this_arg);
        public static native void PeerManager_process_events(long this_arg);
        // void PeerManager_socket_disconnected(const LDKPeerManager *this_arg, const LDKSocketDescriptor *descriptor);
@@ -2042,7 +2050,7 @@ public class bindings {
        // LDKCVec_u8Z TxCreationKeys_write(const LDKTxCreationKeys *obj);
        public static native long TxCreationKeys_write(long obj);
        // LDKTxCreationKeys TxCreationKeys_read(LDKu8slice ser);
-       public static native long TxCreationKeys_read(long ser);
+       public static native long TxCreationKeys_read(byte[] ser);
        // void PreCalculatedTxCreationKeys_free(LDKPreCalculatedTxCreationKeys this_ptr);
        public static native void PreCalculatedTxCreationKeys_free(long this_ptr);
        // MUST_USE_RES LDKPreCalculatedTxCreationKeys PreCalculatedTxCreationKeys_new(LDKTxCreationKeys keys);
@@ -2080,7 +2088,7 @@ public class bindings {
        // LDKCVec_u8Z ChannelPublicKeys_write(const LDKChannelPublicKeys *obj);
        public static native long ChannelPublicKeys_write(long obj);
        // LDKChannelPublicKeys ChannelPublicKeys_read(LDKu8slice ser);
-       public static native long ChannelPublicKeys_read(long ser);
+       public static native long ChannelPublicKeys_read(byte[] ser);
        // MUST_USE_RES LDKCResult_TxCreationKeysSecpErrorZ TxCreationKeys_derive_new(LDKPublicKey per_commitment_point, LDKPublicKey broadcaster_delayed_payment_base, LDKPublicKey broadcaster_htlc_base, LDKPublicKey countersignatory_revocation_base, LDKPublicKey countersignatory_htlc_base);
        public static native long TxCreationKeys_derive_new(byte[] per_commitment_point, byte[] broadcaster_delayed_payment_base, byte[] broadcaster_htlc_base, byte[] countersignatory_revocation_base, byte[] countersignatory_htlc_base);
        // LDKCVec_u8Z get_revokeable_redeemscript(LDKPublicKey revocation_key, uint16_t contest_delay, LDKPublicKey broadcaster_delayed_payment_key);
@@ -2108,7 +2116,7 @@ public class bindings {
        // LDKCVec_u8Z HTLCOutputInCommitment_write(const LDKHTLCOutputInCommitment *obj);
        public static native long HTLCOutputInCommitment_write(long obj);
        // LDKHTLCOutputInCommitment HTLCOutputInCommitment_read(LDKu8slice ser);
-       public static native long HTLCOutputInCommitment_read(long ser);
+       public static native long HTLCOutputInCommitment_read(byte[] ser);
        // LDKCVec_u8Z get_htlc_redeemscript(const LDKHTLCOutputInCommitment *htlc, const LDKTxCreationKeys *keys);
        public static native long get_htlc_redeemscript(long htlc, long keys);
        // LDKCVec_u8Z make_funding_redeemscript(LDKPublicKey broadcaster, LDKPublicKey countersignatory);
@@ -2140,13 +2148,13 @@ public class bindings {
        // MUST_USE_RES LDKThirtyTwoBytes HolderCommitmentTransaction_txid(const LDKHolderCommitmentTransaction *this_arg);
        public static native byte[] HolderCommitmentTransaction_txid(long this_arg);
        // MUST_USE_RES LDKSignature HolderCommitmentTransaction_get_holder_sig(const LDKHolderCommitmentTransaction *this_arg, const uint8_t (*funding_key)[32], LDKu8slice funding_redeemscript, uint64_t channel_value_satoshis);
-       public static native byte[] HolderCommitmentTransaction_get_holder_sig(long this_arg, byte[] funding_key, long funding_redeemscript, long channel_value_satoshis);
+       public static native byte[] HolderCommitmentTransaction_get_holder_sig(long this_arg, byte[] funding_key, byte[] funding_redeemscript, long channel_value_satoshis);
        // MUST_USE_RES LDKCResult_CVec_SignatureZNoneZ HolderCommitmentTransaction_get_htlc_sigs(const LDKHolderCommitmentTransaction *this_arg, const uint8_t (*htlc_base_key)[32], uint16_t counterparty_selected_contest_delay);
        public static native long HolderCommitmentTransaction_get_htlc_sigs(long this_arg, byte[] htlc_base_key, short counterparty_selected_contest_delay);
        // LDKCVec_u8Z HolderCommitmentTransaction_write(const LDKHolderCommitmentTransaction *obj);
        public static native long HolderCommitmentTransaction_write(long obj);
        // LDKHolderCommitmentTransaction HolderCommitmentTransaction_read(LDKu8slice ser);
-       public static native long HolderCommitmentTransaction_read(long ser);
+       public static native long HolderCommitmentTransaction_read(byte[] ser);
        // void InitFeatures_free(LDKInitFeatures this_ptr);
        public static native void InitFeatures_free(long this_ptr);
        // void NodeFeatures_free(LDKNodeFeatures this_ptr);
@@ -2194,9 +2202,11 @@ public class bindings {
        // LDKCVec_u8Z Route_write(const LDKRoute *obj);
        public static native long Route_write(long obj);
        // LDKRoute Route_read(LDKu8slice ser);
-       public static native long Route_read(long ser);
+       public static native long Route_read(byte[] ser);
        // void RouteHint_free(LDKRouteHint this_ptr);
        public static native void RouteHint_free(long this_ptr);
+       // LDKRouteHint RouteHint_clone(const LDKRouteHint *orig);
+       public static native long RouteHint_clone(long orig);
        // LDKPublicKey RouteHint_get_src_node_id(const LDKRouteHint *this_ptr);
        public static native byte[] RouteHint_get_src_node_id(long this_ptr);
        // void RouteHint_set_src_node_id(LDKRouteHint *this_ptr, LDKPublicKey val);
@@ -2262,7 +2272,7 @@ public class bindings {
        // LDKCVec_u8Z DirectionalChannelInfo_write(const LDKDirectionalChannelInfo *obj);
        public static native long DirectionalChannelInfo_write(long obj);
        // LDKDirectionalChannelInfo DirectionalChannelInfo_read(LDKu8slice ser);
-       public static native long DirectionalChannelInfo_read(long ser);
+       public static native long DirectionalChannelInfo_read(byte[] ser);
        // void ChannelInfo_free(LDKChannelInfo this_ptr);
        public static native void ChannelInfo_free(long this_ptr);
        // LDKChannelFeatures ChannelInfo_get_features(const LDKChannelInfo *this_ptr);
@@ -2292,7 +2302,7 @@ public class bindings {
        // LDKCVec_u8Z ChannelInfo_write(const LDKChannelInfo *obj);
        public static native long ChannelInfo_write(long obj);
        // LDKChannelInfo ChannelInfo_read(LDKu8slice ser);
-       public static native long ChannelInfo_read(long ser);
+       public static native long ChannelInfo_read(byte[] ser);
        // void RoutingFees_free(LDKRoutingFees this_ptr);
        public static native void RoutingFees_free(long this_ptr);
        // LDKRoutingFees RoutingFees_clone(const LDKRoutingFees *orig);
@@ -2308,7 +2318,7 @@ public class bindings {
        // MUST_USE_RES LDKRoutingFees RoutingFees_new(uint32_t base_msat_arg, uint32_t proportional_millionths_arg);
        public static native long RoutingFees_new(int base_msat_arg, int proportional_millionths_arg);
        // LDKRoutingFees RoutingFees_read(LDKu8slice ser);
-       public static native long RoutingFees_read(long ser);
+       public static native long RoutingFees_read(byte[] ser);
        // LDKCVec_u8Z RoutingFees_write(const LDKRoutingFees *obj);
        public static native long RoutingFees_write(long obj);
        // void NodeAnnouncementInfo_free(LDKNodeAnnouncementInfo this_ptr);
@@ -2324,7 +2334,7 @@ public class bindings {
        // const uint8_t (*NodeAnnouncementInfo_get_rgb(const LDKNodeAnnouncementInfo *this_ptr))[3];
        public static native byte[] NodeAnnouncementInfo_get_rgb(long this_ptr);
        // void NodeAnnouncementInfo_set_rgb(LDKNodeAnnouncementInfo *this_ptr, LDKThreeBytes val);
-       public static native void NodeAnnouncementInfo_set_rgb(long this_ptr, long val);
+       public static native void NodeAnnouncementInfo_set_rgb(long this_ptr, byte[] val);
        // const uint8_t (*NodeAnnouncementInfo_get_alias(const LDKNodeAnnouncementInfo *this_ptr))[32];
        public static native byte[] NodeAnnouncementInfo_get_alias(long this_ptr);
        // void NodeAnnouncementInfo_set_alias(LDKNodeAnnouncementInfo *this_ptr, LDKThirtyTwoBytes val);
@@ -2336,11 +2346,11 @@ public class bindings {
        // void NodeAnnouncementInfo_set_announcement_message(LDKNodeAnnouncementInfo *this_ptr, LDKNodeAnnouncement val);
        public static native void NodeAnnouncementInfo_set_announcement_message(long this_ptr, long val);
        // MUST_USE_RES LDKNodeAnnouncementInfo NodeAnnouncementInfo_new(LDKNodeFeatures features_arg, uint32_t last_update_arg, LDKThreeBytes rgb_arg, LDKThirtyTwoBytes alias_arg, LDKCVec_NetAddressZ addresses_arg, LDKNodeAnnouncement announcement_message_arg);
-       public static native long NodeAnnouncementInfo_new(long features_arg, int last_update_arg, long rgb_arg, byte[] alias_arg, long addresses_arg, long announcement_message_arg);
+       public static native long NodeAnnouncementInfo_new(long features_arg, int last_update_arg, byte[] rgb_arg, byte[] alias_arg, long addresses_arg, long announcement_message_arg);
        // LDKCVec_u8Z NodeAnnouncementInfo_write(const LDKNodeAnnouncementInfo *obj);
        public static native long NodeAnnouncementInfo_write(long obj);
        // LDKNodeAnnouncementInfo NodeAnnouncementInfo_read(LDKu8slice ser);
-       public static native long NodeAnnouncementInfo_read(long ser);
+       public static native long NodeAnnouncementInfo_read(byte[] ser);
        // void NodeInfo_free(LDKNodeInfo this_ptr);
        public static native void NodeInfo_free(long this_ptr);
        // void NodeInfo_set_channels(LDKNodeInfo *this_ptr, LDKCVec_u64Z val);
@@ -2358,11 +2368,11 @@ public class bindings {
        // LDKCVec_u8Z NodeInfo_write(const LDKNodeInfo *obj);
        public static native long NodeInfo_write(long obj);
        // LDKNodeInfo NodeInfo_read(LDKu8slice ser);
-       public static native long NodeInfo_read(long ser);
+       public static native long NodeInfo_read(byte[] ser);
        // LDKCVec_u8Z NetworkGraph_write(const LDKNetworkGraph *obj);
        public static native long NetworkGraph_write(long obj);
        // LDKNetworkGraph NetworkGraph_read(LDKu8slice ser);
-       public static native long NetworkGraph_read(long ser);
+       public static native long NetworkGraph_read(byte[] ser);
        // MUST_USE_RES LDKNetworkGraph NetworkGraph_new(void);
        public static native long NetworkGraph_new();
        // void NetworkGraph_close_channel_from_update(LDKNetworkGraph *this_arg, uint64_t short_channel_id, bool is_permanent);