]> git.bitcoin.ninja Git - ldk-java/blobdiff - src/main/java/org/ldk/impl/bindings.java
Convert slices - requires some machinery to call Release, but otherwise not bad
[ldk-java] / src / main / java / org / ldk / impl / bindings.java
index d0a39204719bc660e831cffaa4a420eea666403f..4d5e57aa4f9b5bdfd9b9f6ebe7f073adba0a8589 100644 (file)
@@ -360,15 +360,15 @@ public class bindings {
        // LDKCVec_MonitorEventZ Watch_call_release_pending_monitor_events LDKWatch* this_arg
        public static native long Watch_call_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);
+       public static native void Filter_call_register_tx(long this_arg, byte[] txid, byte[] 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);
+       public static native void Filter_call_register_output(long this_arg, long outpoint, byte[] script_pubkey);
        public interface LDKBroadcasterInterface {
                 void broadcast_transaction(long tx);
        }
@@ -545,7 +545,7 @@ public class bindings {
        // 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);
        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();
@@ -553,7 +553,7 @@ public class bindings {
        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);
+       public static native long SocketDescriptor_call_send_data(long this_arg, byte[] 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
@@ -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);