[Java] Update auto-generated bindings to LDK-C-Bindings 0.0.123.1
[ldk-java] / src / main / java / org / ldk / impl / bindings.java
index 4d4fd2357b386f92df787761d6a675589b62d633..80bb46ebae2217180c818b439e97e6857cd9f169 100644 (file)
@@ -58,8 +58,10 @@ public class bindings {
        static { Direction.values(); /* Force enum statics to run */ }
        static { HTLCClaim.values(); /* Force enum statics to run */ }
        static { IOError.values(); /* Force enum statics to run */ }
+       static { InboundHTLCStateDetails.values(); /* Force enum statics to run */ }
        static { Level.values(); /* Force enum statics to run */ }
        static { Network.values(); /* Force enum statics to run */ }
+       static { OutboundHTLCStateDetails.values(); /* Force enum statics to run */ }
        static { PaymentFailureReason.values(); /* Force enum statics to run */ }
        static { Recipient.values(); /* Force enum statics to run */ }
        static { RetryableSendFailure.values(); /* Force enum statics to run */ }
@@ -1373,19 +1375,6 @@ public class bindings {
        }
        static { LDKCOption_C2Tuple_u64u16ZZ.init(); }
        public static native LDKCOption_C2Tuple_u64u16ZZ LDKCOption_C2Tuple_u64u16ZZ_ref_from_ptr(long ptr);
-       public static class LDKCOption_ChannelShutdownStateZ {
-               private LDKCOption_ChannelShutdownStateZ() {}
-               public final static class Some extends LDKCOption_ChannelShutdownStateZ {
-                       public org.ldk.enums.ChannelShutdownState some;
-                       Some(org.ldk.enums.ChannelShutdownState some) { this.some = some; }
-               }
-               public final static class None extends LDKCOption_ChannelShutdownStateZ {
-                       None() { }
-               }
-               static native void init();
-       }
-       static { LDKCOption_ChannelShutdownStateZ.init(); }
-       public static native LDKCOption_ChannelShutdownStateZ LDKCOption_ChannelShutdownStateZ_ref_from_ptr(long ptr);
        // struct LDKChannelId CResult_ChannelIdAPIErrorZ_get_ok(LDKCResult_ChannelIdAPIErrorZ *NONNULL_PTR owner);
        public static native long CResult_ChannelIdAPIErrorZ_get_ok(long owner);
        // struct LDKAPIError CResult_ChannelIdAPIErrorZ_get_err(LDKCResult_ChannelIdAPIErrorZ *NONNULL_PTR owner);
@@ -1564,18 +1553,6 @@ public class bindings {
        public static native long C3Tuple_OffersMessageDestinationBlindedPathZ_get_b(long owner);
        // struct LDKBlindedPath C3Tuple_OffersMessageDestinationBlindedPathZ_get_c(LDKC3Tuple_OffersMessageDestinationBlindedPathZ *NONNULL_PTR owner);
        public static native long C3Tuple_OffersMessageDestinationBlindedPathZ_get_c(long owner);
-       // struct LDKCounterpartyForwardingInfo CResult_CounterpartyForwardingInfoDecodeErrorZ_get_ok(LDKCResult_CounterpartyForwardingInfoDecodeErrorZ *NONNULL_PTR owner);
-       public static native long CResult_CounterpartyForwardingInfoDecodeErrorZ_get_ok(long owner);
-       // struct LDKDecodeError CResult_CounterpartyForwardingInfoDecodeErrorZ_get_err(LDKCResult_CounterpartyForwardingInfoDecodeErrorZ *NONNULL_PTR owner);
-       public static native long CResult_CounterpartyForwardingInfoDecodeErrorZ_get_err(long owner);
-       // struct LDKChannelCounterparty CResult_ChannelCounterpartyDecodeErrorZ_get_ok(LDKCResult_ChannelCounterpartyDecodeErrorZ *NONNULL_PTR owner);
-       public static native long CResult_ChannelCounterpartyDecodeErrorZ_get_ok(long owner);
-       // struct LDKDecodeError CResult_ChannelCounterpartyDecodeErrorZ_get_err(LDKCResult_ChannelCounterpartyDecodeErrorZ *NONNULL_PTR owner);
-       public static native long CResult_ChannelCounterpartyDecodeErrorZ_get_err(long owner);
-       // struct LDKChannelDetails CResult_ChannelDetailsDecodeErrorZ_get_ok(LDKCResult_ChannelDetailsDecodeErrorZ *NONNULL_PTR owner);
-       public static native long CResult_ChannelDetailsDecodeErrorZ_get_ok(long owner);
-       // struct LDKDecodeError CResult_ChannelDetailsDecodeErrorZ_get_err(LDKCResult_ChannelDetailsDecodeErrorZ *NONNULL_PTR owner);
-       public static native long CResult_ChannelDetailsDecodeErrorZ_get_err(long owner);
        // struct LDKPhantomRouteHints CResult_PhantomRouteHintsDecodeErrorZ_get_ok(LDKCResult_PhantomRouteHintsDecodeErrorZ *NONNULL_PTR owner);
        public static native long CResult_PhantomRouteHintsDecodeErrorZ_get_ok(long owner);
        // struct LDKDecodeError CResult_PhantomRouteHintsDecodeErrorZ_get_err(LDKCResult_PhantomRouteHintsDecodeErrorZ *NONNULL_PTR owner);
@@ -1627,10 +1604,6 @@ public class bindings {
        public static native BlindedFailure CResult_BlindedFailureDecodeErrorZ_get_ok(long owner);
        // struct LDKDecodeError CResult_BlindedFailureDecodeErrorZ_get_err(LDKCResult_BlindedFailureDecodeErrorZ *NONNULL_PTR owner);
        public static native long CResult_BlindedFailureDecodeErrorZ_get_err(long owner);
-       // enum LDKChannelShutdownState CResult_ChannelShutdownStateDecodeErrorZ_get_ok(LDKCResult_ChannelShutdownStateDecodeErrorZ *NONNULL_PTR owner);
-       public static native ChannelShutdownState CResult_ChannelShutdownStateDecodeErrorZ_get_ok(long owner);
-       // struct LDKDecodeError CResult_ChannelShutdownStateDecodeErrorZ_get_err(LDKCResult_ChannelShutdownStateDecodeErrorZ *NONNULL_PTR owner);
-       public static native long CResult_ChannelShutdownStateDecodeErrorZ_get_err(long owner);
        public interface LDKWatch {
                 long watch_channel(long funding_txo, long monitor);
                 ChannelMonitorUpdateStatus update_channel(long funding_txo, long update);
@@ -2317,6 +2290,77 @@ public class bindings {
        public static native long CResult_Bolt11InvoiceSignOrCreationErrorZ_get_ok(long owner);
        // struct LDKSignOrCreationError CResult_Bolt11InvoiceSignOrCreationErrorZ_get_err(LDKCResult_Bolt11InvoiceSignOrCreationErrorZ *NONNULL_PTR owner);
        public static native long CResult_Bolt11InvoiceSignOrCreationErrorZ_get_err(long owner);
+       public static class LDKCOption_InboundHTLCStateDetailsZ {
+               private LDKCOption_InboundHTLCStateDetailsZ() {}
+               public final static class Some extends LDKCOption_InboundHTLCStateDetailsZ {
+                       public org.ldk.enums.InboundHTLCStateDetails some;
+                       Some(org.ldk.enums.InboundHTLCStateDetails some) { this.some = some; }
+               }
+               public final static class None extends LDKCOption_InboundHTLCStateDetailsZ {
+                       None() { }
+               }
+               static native void init();
+       }
+       static { LDKCOption_InboundHTLCStateDetailsZ.init(); }
+       public static native LDKCOption_InboundHTLCStateDetailsZ LDKCOption_InboundHTLCStateDetailsZ_ref_from_ptr(long ptr);
+       // struct LDKCOption_InboundHTLCStateDetailsZ CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_get_ok(LDKCResult_COption_InboundHTLCStateDetailsZDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_get_ok(long owner);
+       // struct LDKDecodeError CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_get_err(LDKCResult_COption_InboundHTLCStateDetailsZDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_get_err(long owner);
+       // struct LDKInboundHTLCDetails CResult_InboundHTLCDetailsDecodeErrorZ_get_ok(LDKCResult_InboundHTLCDetailsDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_InboundHTLCDetailsDecodeErrorZ_get_ok(long owner);
+       // struct LDKDecodeError CResult_InboundHTLCDetailsDecodeErrorZ_get_err(LDKCResult_InboundHTLCDetailsDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_InboundHTLCDetailsDecodeErrorZ_get_err(long owner);
+       public static class LDKCOption_OutboundHTLCStateDetailsZ {
+               private LDKCOption_OutboundHTLCStateDetailsZ() {}
+               public final static class Some extends LDKCOption_OutboundHTLCStateDetailsZ {
+                       public org.ldk.enums.OutboundHTLCStateDetails some;
+                       Some(org.ldk.enums.OutboundHTLCStateDetails some) { this.some = some; }
+               }
+               public final static class None extends LDKCOption_OutboundHTLCStateDetailsZ {
+                       None() { }
+               }
+               static native void init();
+       }
+       static { LDKCOption_OutboundHTLCStateDetailsZ.init(); }
+       public static native LDKCOption_OutboundHTLCStateDetailsZ LDKCOption_OutboundHTLCStateDetailsZ_ref_from_ptr(long ptr);
+       // struct LDKCOption_OutboundHTLCStateDetailsZ CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_get_ok(LDKCResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_get_ok(long owner);
+       // struct LDKDecodeError CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_get_err(LDKCResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_get_err(long owner);
+       // struct LDKOutboundHTLCDetails CResult_OutboundHTLCDetailsDecodeErrorZ_get_ok(LDKCResult_OutboundHTLCDetailsDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_OutboundHTLCDetailsDecodeErrorZ_get_ok(long owner);
+       // struct LDKDecodeError CResult_OutboundHTLCDetailsDecodeErrorZ_get_err(LDKCResult_OutboundHTLCDetailsDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_OutboundHTLCDetailsDecodeErrorZ_get_err(long owner);
+       // struct LDKCounterpartyForwardingInfo CResult_CounterpartyForwardingInfoDecodeErrorZ_get_ok(LDKCResult_CounterpartyForwardingInfoDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_CounterpartyForwardingInfoDecodeErrorZ_get_ok(long owner);
+       // struct LDKDecodeError CResult_CounterpartyForwardingInfoDecodeErrorZ_get_err(LDKCResult_CounterpartyForwardingInfoDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_CounterpartyForwardingInfoDecodeErrorZ_get_err(long owner);
+       // struct LDKChannelCounterparty CResult_ChannelCounterpartyDecodeErrorZ_get_ok(LDKCResult_ChannelCounterpartyDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_ChannelCounterpartyDecodeErrorZ_get_ok(long owner);
+       // struct LDKDecodeError CResult_ChannelCounterpartyDecodeErrorZ_get_err(LDKCResult_ChannelCounterpartyDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_ChannelCounterpartyDecodeErrorZ_get_err(long owner);
+       public static class LDKCOption_ChannelShutdownStateZ {
+               private LDKCOption_ChannelShutdownStateZ() {}
+               public final static class Some extends LDKCOption_ChannelShutdownStateZ {
+                       public org.ldk.enums.ChannelShutdownState some;
+                       Some(org.ldk.enums.ChannelShutdownState some) { this.some = some; }
+               }
+               public final static class None extends LDKCOption_ChannelShutdownStateZ {
+                       None() { }
+               }
+               static native void init();
+       }
+       static { LDKCOption_ChannelShutdownStateZ.init(); }
+       public static native LDKCOption_ChannelShutdownStateZ LDKCOption_ChannelShutdownStateZ_ref_from_ptr(long ptr);
+       // struct LDKChannelDetails CResult_ChannelDetailsDecodeErrorZ_get_ok(LDKCResult_ChannelDetailsDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_ChannelDetailsDecodeErrorZ_get_ok(long owner);
+       // struct LDKDecodeError CResult_ChannelDetailsDecodeErrorZ_get_err(LDKCResult_ChannelDetailsDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_ChannelDetailsDecodeErrorZ_get_err(long owner);
+       // enum LDKChannelShutdownState CResult_ChannelShutdownStateDecodeErrorZ_get_ok(LDKCResult_ChannelShutdownStateDecodeErrorZ *NONNULL_PTR owner);
+       public static native ChannelShutdownState CResult_ChannelShutdownStateDecodeErrorZ_get_ok(long owner);
+       // struct LDKDecodeError CResult_ChannelShutdownStateDecodeErrorZ_get_err(LDKCResult_ChannelShutdownStateDecodeErrorZ *NONNULL_PTR owner);
+       public static native long CResult_ChannelShutdownStateDecodeErrorZ_get_err(long owner);
        // struct LDKOffersMessage CResult_OffersMessageDecodeErrorZ_get_ok(LDKCResult_OffersMessageDecodeErrorZ *NONNULL_PTR owner);
        public static native long CResult_OffersMessageDecodeErrorZ_get_ok(long owner);
        // struct LDKDecodeError CResult_OffersMessageDecodeErrorZ_get_err(LDKCResult_OffersMessageDecodeErrorZ *NONNULL_PTR owner);
@@ -5007,16 +5051,6 @@ public class bindings {
        public static native long COption_C2Tuple_u64u16ZZ_clone_ptr(long arg);
        // struct LDKCOption_C2Tuple_u64u16ZZ COption_C2Tuple_u64u16ZZ_clone(const struct LDKCOption_C2Tuple_u64u16ZZ *NONNULL_PTR orig);
        public static native long COption_C2Tuple_u64u16ZZ_clone(long orig);
-       // struct LDKCOption_ChannelShutdownStateZ COption_ChannelShutdownStateZ_some(enum LDKChannelShutdownState o);
-       public static native long COption_ChannelShutdownStateZ_some(ChannelShutdownState o);
-       // struct LDKCOption_ChannelShutdownStateZ COption_ChannelShutdownStateZ_none(void);
-       public static native long COption_ChannelShutdownStateZ_none();
-       // void COption_ChannelShutdownStateZ_free(struct LDKCOption_ChannelShutdownStateZ _res);
-       public static native void COption_ChannelShutdownStateZ_free(long _res);
-       // uint64_t COption_ChannelShutdownStateZ_clone_ptr(LDKCOption_ChannelShutdownStateZ *NONNULL_PTR arg);
-       public static native long COption_ChannelShutdownStateZ_clone_ptr(long arg);
-       // struct LDKCOption_ChannelShutdownStateZ COption_ChannelShutdownStateZ_clone(const struct LDKCOption_ChannelShutdownStateZ *NONNULL_PTR orig);
-       public static native long COption_ChannelShutdownStateZ_clone(long orig);
        // struct LDKCResult_ChannelIdAPIErrorZ CResult_ChannelIdAPIErrorZ_ok(struct LDKChannelId o);
        public static native long CResult_ChannelIdAPIErrorZ_ok(long o);
        // struct LDKCResult_ChannelIdAPIErrorZ CResult_ChannelIdAPIErrorZ_err(struct LDKAPIError e);
@@ -5191,42 +5225,6 @@ public class bindings {
        public static native void C3Tuple_OffersMessageDestinationBlindedPathZ_free(long _res);
        // void CVec_C3Tuple_OffersMessageDestinationBlindedPathZZ_free(struct LDKCVec_C3Tuple_OffersMessageDestinationBlindedPathZZ _res);
        public static native void CVec_C3Tuple_OffersMessageDestinationBlindedPathZZ_free(long[] _res);
-       // struct LDKCResult_CounterpartyForwardingInfoDecodeErrorZ CResult_CounterpartyForwardingInfoDecodeErrorZ_ok(struct LDKCounterpartyForwardingInfo o);
-       public static native long CResult_CounterpartyForwardingInfoDecodeErrorZ_ok(long o);
-       // struct LDKCResult_CounterpartyForwardingInfoDecodeErrorZ CResult_CounterpartyForwardingInfoDecodeErrorZ_err(struct LDKDecodeError e);
-       public static native long CResult_CounterpartyForwardingInfoDecodeErrorZ_err(long e);
-       // bool CResult_CounterpartyForwardingInfoDecodeErrorZ_is_ok(const struct LDKCResult_CounterpartyForwardingInfoDecodeErrorZ *NONNULL_PTR o);
-       public static native boolean CResult_CounterpartyForwardingInfoDecodeErrorZ_is_ok(long o);
-       // void CResult_CounterpartyForwardingInfoDecodeErrorZ_free(struct LDKCResult_CounterpartyForwardingInfoDecodeErrorZ _res);
-       public static native void CResult_CounterpartyForwardingInfoDecodeErrorZ_free(long _res);
-       // uint64_t CResult_CounterpartyForwardingInfoDecodeErrorZ_clone_ptr(LDKCResult_CounterpartyForwardingInfoDecodeErrorZ *NONNULL_PTR arg);
-       public static native long CResult_CounterpartyForwardingInfoDecodeErrorZ_clone_ptr(long arg);
-       // struct LDKCResult_CounterpartyForwardingInfoDecodeErrorZ CResult_CounterpartyForwardingInfoDecodeErrorZ_clone(const struct LDKCResult_CounterpartyForwardingInfoDecodeErrorZ *NONNULL_PTR orig);
-       public static native long CResult_CounterpartyForwardingInfoDecodeErrorZ_clone(long orig);
-       // struct LDKCResult_ChannelCounterpartyDecodeErrorZ CResult_ChannelCounterpartyDecodeErrorZ_ok(struct LDKChannelCounterparty o);
-       public static native long CResult_ChannelCounterpartyDecodeErrorZ_ok(long o);
-       // struct LDKCResult_ChannelCounterpartyDecodeErrorZ CResult_ChannelCounterpartyDecodeErrorZ_err(struct LDKDecodeError e);
-       public static native long CResult_ChannelCounterpartyDecodeErrorZ_err(long e);
-       // bool CResult_ChannelCounterpartyDecodeErrorZ_is_ok(const struct LDKCResult_ChannelCounterpartyDecodeErrorZ *NONNULL_PTR o);
-       public static native boolean CResult_ChannelCounterpartyDecodeErrorZ_is_ok(long o);
-       // void CResult_ChannelCounterpartyDecodeErrorZ_free(struct LDKCResult_ChannelCounterpartyDecodeErrorZ _res);
-       public static native void CResult_ChannelCounterpartyDecodeErrorZ_free(long _res);
-       // uint64_t CResult_ChannelCounterpartyDecodeErrorZ_clone_ptr(LDKCResult_ChannelCounterpartyDecodeErrorZ *NONNULL_PTR arg);
-       public static native long CResult_ChannelCounterpartyDecodeErrorZ_clone_ptr(long arg);
-       // struct LDKCResult_ChannelCounterpartyDecodeErrorZ CResult_ChannelCounterpartyDecodeErrorZ_clone(const struct LDKCResult_ChannelCounterpartyDecodeErrorZ *NONNULL_PTR orig);
-       public static native long CResult_ChannelCounterpartyDecodeErrorZ_clone(long orig);
-       // struct LDKCResult_ChannelDetailsDecodeErrorZ CResult_ChannelDetailsDecodeErrorZ_ok(struct LDKChannelDetails o);
-       public static native long CResult_ChannelDetailsDecodeErrorZ_ok(long o);
-       // struct LDKCResult_ChannelDetailsDecodeErrorZ CResult_ChannelDetailsDecodeErrorZ_err(struct LDKDecodeError e);
-       public static native long CResult_ChannelDetailsDecodeErrorZ_err(long e);
-       // bool CResult_ChannelDetailsDecodeErrorZ_is_ok(const struct LDKCResult_ChannelDetailsDecodeErrorZ *NONNULL_PTR o);
-       public static native boolean CResult_ChannelDetailsDecodeErrorZ_is_ok(long o);
-       // void CResult_ChannelDetailsDecodeErrorZ_free(struct LDKCResult_ChannelDetailsDecodeErrorZ _res);
-       public static native void CResult_ChannelDetailsDecodeErrorZ_free(long _res);
-       // uint64_t CResult_ChannelDetailsDecodeErrorZ_clone_ptr(LDKCResult_ChannelDetailsDecodeErrorZ *NONNULL_PTR arg);
-       public static native long CResult_ChannelDetailsDecodeErrorZ_clone_ptr(long arg);
-       // struct LDKCResult_ChannelDetailsDecodeErrorZ CResult_ChannelDetailsDecodeErrorZ_clone(const struct LDKCResult_ChannelDetailsDecodeErrorZ *NONNULL_PTR orig);
-       public static native long CResult_ChannelDetailsDecodeErrorZ_clone(long orig);
        // struct LDKCResult_PhantomRouteHintsDecodeErrorZ CResult_PhantomRouteHintsDecodeErrorZ_ok(struct LDKPhantomRouteHints o);
        public static native long CResult_PhantomRouteHintsDecodeErrorZ_ok(long o);
        // struct LDKCResult_PhantomRouteHintsDecodeErrorZ CResult_PhantomRouteHintsDecodeErrorZ_err(struct LDKDecodeError e);
@@ -5287,18 +5285,6 @@ public class bindings {
        public static native long CResult_BlindedFailureDecodeErrorZ_clone_ptr(long arg);
        // struct LDKCResult_BlindedFailureDecodeErrorZ CResult_BlindedFailureDecodeErrorZ_clone(const struct LDKCResult_BlindedFailureDecodeErrorZ *NONNULL_PTR orig);
        public static native long CResult_BlindedFailureDecodeErrorZ_clone(long orig);
-       // struct LDKCResult_ChannelShutdownStateDecodeErrorZ CResult_ChannelShutdownStateDecodeErrorZ_ok(enum LDKChannelShutdownState o);
-       public static native long CResult_ChannelShutdownStateDecodeErrorZ_ok(ChannelShutdownState o);
-       // struct LDKCResult_ChannelShutdownStateDecodeErrorZ CResult_ChannelShutdownStateDecodeErrorZ_err(struct LDKDecodeError e);
-       public static native long CResult_ChannelShutdownStateDecodeErrorZ_err(long e);
-       // bool CResult_ChannelShutdownStateDecodeErrorZ_is_ok(const struct LDKCResult_ChannelShutdownStateDecodeErrorZ *NONNULL_PTR o);
-       public static native boolean CResult_ChannelShutdownStateDecodeErrorZ_is_ok(long o);
-       // void CResult_ChannelShutdownStateDecodeErrorZ_free(struct LDKCResult_ChannelShutdownStateDecodeErrorZ _res);
-       public static native void CResult_ChannelShutdownStateDecodeErrorZ_free(long _res);
-       // uint64_t CResult_ChannelShutdownStateDecodeErrorZ_clone_ptr(LDKCResult_ChannelShutdownStateDecodeErrorZ *NONNULL_PTR arg);
-       public static native long CResult_ChannelShutdownStateDecodeErrorZ_clone_ptr(long arg);
-       // struct LDKCResult_ChannelShutdownStateDecodeErrorZ CResult_ChannelShutdownStateDecodeErrorZ_clone(const struct LDKCResult_ChannelShutdownStateDecodeErrorZ *NONNULL_PTR orig);
-       public static native long CResult_ChannelShutdownStateDecodeErrorZ_clone(long orig);
        // void CVec_ChannelMonitorZ_free(struct LDKCVec_ChannelMonitorZ _res);
        public static native void CVec_ChannelMonitorZ_free(long[] _res);
        // struct LDKC2Tuple_ThirtyTwoBytesChannelManagerZ C2Tuple_ThirtyTwoBytesChannelManagerZ_new(struct LDKThirtyTwoBytes a, struct LDKChannelManager b);
@@ -6429,6 +6415,136 @@ public class bindings {
        public static native long CResult_Bolt11InvoiceSignOrCreationErrorZ_clone_ptr(long arg);
        // struct LDKCResult_Bolt11InvoiceSignOrCreationErrorZ CResult_Bolt11InvoiceSignOrCreationErrorZ_clone(const struct LDKCResult_Bolt11InvoiceSignOrCreationErrorZ *NONNULL_PTR orig);
        public static native long CResult_Bolt11InvoiceSignOrCreationErrorZ_clone(long orig);
+       // struct LDKCOption_InboundHTLCStateDetailsZ COption_InboundHTLCStateDetailsZ_some(enum LDKInboundHTLCStateDetails o);
+       public static native long COption_InboundHTLCStateDetailsZ_some(InboundHTLCStateDetails o);
+       // struct LDKCOption_InboundHTLCStateDetailsZ COption_InboundHTLCStateDetailsZ_none(void);
+       public static native long COption_InboundHTLCStateDetailsZ_none();
+       // void COption_InboundHTLCStateDetailsZ_free(struct LDKCOption_InboundHTLCStateDetailsZ _res);
+       public static native void COption_InboundHTLCStateDetailsZ_free(long _res);
+       // uint64_t COption_InboundHTLCStateDetailsZ_clone_ptr(LDKCOption_InboundHTLCStateDetailsZ *NONNULL_PTR arg);
+       public static native long COption_InboundHTLCStateDetailsZ_clone_ptr(long arg);
+       // struct LDKCOption_InboundHTLCStateDetailsZ COption_InboundHTLCStateDetailsZ_clone(const struct LDKCOption_InboundHTLCStateDetailsZ *NONNULL_PTR orig);
+       public static native long COption_InboundHTLCStateDetailsZ_clone(long orig);
+       // struct LDKCResult_COption_InboundHTLCStateDetailsZDecodeErrorZ CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_ok(struct LDKCOption_InboundHTLCStateDetailsZ o);
+       public static native long CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_ok(long o);
+       // struct LDKCResult_COption_InboundHTLCStateDetailsZDecodeErrorZ CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_err(struct LDKDecodeError e);
+       public static native long CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_err(long e);
+       // bool CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_is_ok(const struct LDKCResult_COption_InboundHTLCStateDetailsZDecodeErrorZ *NONNULL_PTR o);
+       public static native boolean CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_is_ok(long o);
+       // void CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_free(struct LDKCResult_COption_InboundHTLCStateDetailsZDecodeErrorZ _res);
+       public static native void CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_free(long _res);
+       // uint64_t CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_clone_ptr(LDKCResult_COption_InboundHTLCStateDetailsZDecodeErrorZ *NONNULL_PTR arg);
+       public static native long CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_clone_ptr(long arg);
+       // struct LDKCResult_COption_InboundHTLCStateDetailsZDecodeErrorZ CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_clone(const struct LDKCResult_COption_InboundHTLCStateDetailsZDecodeErrorZ *NONNULL_PTR orig);
+       public static native long CResult_COption_InboundHTLCStateDetailsZDecodeErrorZ_clone(long orig);
+       // struct LDKCResult_InboundHTLCDetailsDecodeErrorZ CResult_InboundHTLCDetailsDecodeErrorZ_ok(struct LDKInboundHTLCDetails o);
+       public static native long CResult_InboundHTLCDetailsDecodeErrorZ_ok(long o);
+       // struct LDKCResult_InboundHTLCDetailsDecodeErrorZ CResult_InboundHTLCDetailsDecodeErrorZ_err(struct LDKDecodeError e);
+       public static native long CResult_InboundHTLCDetailsDecodeErrorZ_err(long e);
+       // bool CResult_InboundHTLCDetailsDecodeErrorZ_is_ok(const struct LDKCResult_InboundHTLCDetailsDecodeErrorZ *NONNULL_PTR o);
+       public static native boolean CResult_InboundHTLCDetailsDecodeErrorZ_is_ok(long o);
+       // void CResult_InboundHTLCDetailsDecodeErrorZ_free(struct LDKCResult_InboundHTLCDetailsDecodeErrorZ _res);
+       public static native void CResult_InboundHTLCDetailsDecodeErrorZ_free(long _res);
+       // uint64_t CResult_InboundHTLCDetailsDecodeErrorZ_clone_ptr(LDKCResult_InboundHTLCDetailsDecodeErrorZ *NONNULL_PTR arg);
+       public static native long CResult_InboundHTLCDetailsDecodeErrorZ_clone_ptr(long arg);
+       // struct LDKCResult_InboundHTLCDetailsDecodeErrorZ CResult_InboundHTLCDetailsDecodeErrorZ_clone(const struct LDKCResult_InboundHTLCDetailsDecodeErrorZ *NONNULL_PTR orig);
+       public static native long CResult_InboundHTLCDetailsDecodeErrorZ_clone(long orig);
+       // struct LDKCOption_OutboundHTLCStateDetailsZ COption_OutboundHTLCStateDetailsZ_some(enum LDKOutboundHTLCStateDetails o);
+       public static native long COption_OutboundHTLCStateDetailsZ_some(OutboundHTLCStateDetails o);
+       // struct LDKCOption_OutboundHTLCStateDetailsZ COption_OutboundHTLCStateDetailsZ_none(void);
+       public static native long COption_OutboundHTLCStateDetailsZ_none();
+       // void COption_OutboundHTLCStateDetailsZ_free(struct LDKCOption_OutboundHTLCStateDetailsZ _res);
+       public static native void COption_OutboundHTLCStateDetailsZ_free(long _res);
+       // uint64_t COption_OutboundHTLCStateDetailsZ_clone_ptr(LDKCOption_OutboundHTLCStateDetailsZ *NONNULL_PTR arg);
+       public static native long COption_OutboundHTLCStateDetailsZ_clone_ptr(long arg);
+       // struct LDKCOption_OutboundHTLCStateDetailsZ COption_OutboundHTLCStateDetailsZ_clone(const struct LDKCOption_OutboundHTLCStateDetailsZ *NONNULL_PTR orig);
+       public static native long COption_OutboundHTLCStateDetailsZ_clone(long orig);
+       // struct LDKCResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_ok(struct LDKCOption_OutboundHTLCStateDetailsZ o);
+       public static native long CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_ok(long o);
+       // struct LDKCResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_err(struct LDKDecodeError e);
+       public static native long CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_err(long e);
+       // bool CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_is_ok(const struct LDKCResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ *NONNULL_PTR o);
+       public static native boolean CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_is_ok(long o);
+       // void CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_free(struct LDKCResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ _res);
+       public static native void CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_free(long _res);
+       // uint64_t CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_clone_ptr(LDKCResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ *NONNULL_PTR arg);
+       public static native long CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_clone_ptr(long arg);
+       // struct LDKCResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_clone(const struct LDKCResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ *NONNULL_PTR orig);
+       public static native long CResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ_clone(long orig);
+       // struct LDKCResult_OutboundHTLCDetailsDecodeErrorZ CResult_OutboundHTLCDetailsDecodeErrorZ_ok(struct LDKOutboundHTLCDetails o);
+       public static native long CResult_OutboundHTLCDetailsDecodeErrorZ_ok(long o);
+       // struct LDKCResult_OutboundHTLCDetailsDecodeErrorZ CResult_OutboundHTLCDetailsDecodeErrorZ_err(struct LDKDecodeError e);
+       public static native long CResult_OutboundHTLCDetailsDecodeErrorZ_err(long e);
+       // bool CResult_OutboundHTLCDetailsDecodeErrorZ_is_ok(const struct LDKCResult_OutboundHTLCDetailsDecodeErrorZ *NONNULL_PTR o);
+       public static native boolean CResult_OutboundHTLCDetailsDecodeErrorZ_is_ok(long o);
+       // void CResult_OutboundHTLCDetailsDecodeErrorZ_free(struct LDKCResult_OutboundHTLCDetailsDecodeErrorZ _res);
+       public static native void CResult_OutboundHTLCDetailsDecodeErrorZ_free(long _res);
+       // uint64_t CResult_OutboundHTLCDetailsDecodeErrorZ_clone_ptr(LDKCResult_OutboundHTLCDetailsDecodeErrorZ *NONNULL_PTR arg);
+       public static native long CResult_OutboundHTLCDetailsDecodeErrorZ_clone_ptr(long arg);
+       // struct LDKCResult_OutboundHTLCDetailsDecodeErrorZ CResult_OutboundHTLCDetailsDecodeErrorZ_clone(const struct LDKCResult_OutboundHTLCDetailsDecodeErrorZ *NONNULL_PTR orig);
+       public static native long CResult_OutboundHTLCDetailsDecodeErrorZ_clone(long orig);
+       // struct LDKCResult_CounterpartyForwardingInfoDecodeErrorZ CResult_CounterpartyForwardingInfoDecodeErrorZ_ok(struct LDKCounterpartyForwardingInfo o);
+       public static native long CResult_CounterpartyForwardingInfoDecodeErrorZ_ok(long o);
+       // struct LDKCResult_CounterpartyForwardingInfoDecodeErrorZ CResult_CounterpartyForwardingInfoDecodeErrorZ_err(struct LDKDecodeError e);
+       public static native long CResult_CounterpartyForwardingInfoDecodeErrorZ_err(long e);
+       // bool CResult_CounterpartyForwardingInfoDecodeErrorZ_is_ok(const struct LDKCResult_CounterpartyForwardingInfoDecodeErrorZ *NONNULL_PTR o);
+       public static native boolean CResult_CounterpartyForwardingInfoDecodeErrorZ_is_ok(long o);
+       // void CResult_CounterpartyForwardingInfoDecodeErrorZ_free(struct LDKCResult_CounterpartyForwardingInfoDecodeErrorZ _res);
+       public static native void CResult_CounterpartyForwardingInfoDecodeErrorZ_free(long _res);
+       // uint64_t CResult_CounterpartyForwardingInfoDecodeErrorZ_clone_ptr(LDKCResult_CounterpartyForwardingInfoDecodeErrorZ *NONNULL_PTR arg);
+       public static native long CResult_CounterpartyForwardingInfoDecodeErrorZ_clone_ptr(long arg);
+       // struct LDKCResult_CounterpartyForwardingInfoDecodeErrorZ CResult_CounterpartyForwardingInfoDecodeErrorZ_clone(const struct LDKCResult_CounterpartyForwardingInfoDecodeErrorZ *NONNULL_PTR orig);
+       public static native long CResult_CounterpartyForwardingInfoDecodeErrorZ_clone(long orig);
+       // struct LDKCResult_ChannelCounterpartyDecodeErrorZ CResult_ChannelCounterpartyDecodeErrorZ_ok(struct LDKChannelCounterparty o);
+       public static native long CResult_ChannelCounterpartyDecodeErrorZ_ok(long o);
+       // struct LDKCResult_ChannelCounterpartyDecodeErrorZ CResult_ChannelCounterpartyDecodeErrorZ_err(struct LDKDecodeError e);
+       public static native long CResult_ChannelCounterpartyDecodeErrorZ_err(long e);
+       // bool CResult_ChannelCounterpartyDecodeErrorZ_is_ok(const struct LDKCResult_ChannelCounterpartyDecodeErrorZ *NONNULL_PTR o);
+       public static native boolean CResult_ChannelCounterpartyDecodeErrorZ_is_ok(long o);
+       // void CResult_ChannelCounterpartyDecodeErrorZ_free(struct LDKCResult_ChannelCounterpartyDecodeErrorZ _res);
+       public static native void CResult_ChannelCounterpartyDecodeErrorZ_free(long _res);
+       // uint64_t CResult_ChannelCounterpartyDecodeErrorZ_clone_ptr(LDKCResult_ChannelCounterpartyDecodeErrorZ *NONNULL_PTR arg);
+       public static native long CResult_ChannelCounterpartyDecodeErrorZ_clone_ptr(long arg);
+       // struct LDKCResult_ChannelCounterpartyDecodeErrorZ CResult_ChannelCounterpartyDecodeErrorZ_clone(const struct LDKCResult_ChannelCounterpartyDecodeErrorZ *NONNULL_PTR orig);
+       public static native long CResult_ChannelCounterpartyDecodeErrorZ_clone(long orig);
+       // struct LDKCOption_ChannelShutdownStateZ COption_ChannelShutdownStateZ_some(enum LDKChannelShutdownState o);
+       public static native long COption_ChannelShutdownStateZ_some(ChannelShutdownState o);
+       // struct LDKCOption_ChannelShutdownStateZ COption_ChannelShutdownStateZ_none(void);
+       public static native long COption_ChannelShutdownStateZ_none();
+       // void COption_ChannelShutdownStateZ_free(struct LDKCOption_ChannelShutdownStateZ _res);
+       public static native void COption_ChannelShutdownStateZ_free(long _res);
+       // uint64_t COption_ChannelShutdownStateZ_clone_ptr(LDKCOption_ChannelShutdownStateZ *NONNULL_PTR arg);
+       public static native long COption_ChannelShutdownStateZ_clone_ptr(long arg);
+       // struct LDKCOption_ChannelShutdownStateZ COption_ChannelShutdownStateZ_clone(const struct LDKCOption_ChannelShutdownStateZ *NONNULL_PTR orig);
+       public static native long COption_ChannelShutdownStateZ_clone(long orig);
+       // void CVec_InboundHTLCDetailsZ_free(struct LDKCVec_InboundHTLCDetailsZ _res);
+       public static native void CVec_InboundHTLCDetailsZ_free(long[] _res);
+       // void CVec_OutboundHTLCDetailsZ_free(struct LDKCVec_OutboundHTLCDetailsZ _res);
+       public static native void CVec_OutboundHTLCDetailsZ_free(long[] _res);
+       // struct LDKCResult_ChannelDetailsDecodeErrorZ CResult_ChannelDetailsDecodeErrorZ_ok(struct LDKChannelDetails o);
+       public static native long CResult_ChannelDetailsDecodeErrorZ_ok(long o);
+       // struct LDKCResult_ChannelDetailsDecodeErrorZ CResult_ChannelDetailsDecodeErrorZ_err(struct LDKDecodeError e);
+       public static native long CResult_ChannelDetailsDecodeErrorZ_err(long e);
+       // bool CResult_ChannelDetailsDecodeErrorZ_is_ok(const struct LDKCResult_ChannelDetailsDecodeErrorZ *NONNULL_PTR o);
+       public static native boolean CResult_ChannelDetailsDecodeErrorZ_is_ok(long o);
+       // void CResult_ChannelDetailsDecodeErrorZ_free(struct LDKCResult_ChannelDetailsDecodeErrorZ _res);
+       public static native void CResult_ChannelDetailsDecodeErrorZ_free(long _res);
+       // uint64_t CResult_ChannelDetailsDecodeErrorZ_clone_ptr(LDKCResult_ChannelDetailsDecodeErrorZ *NONNULL_PTR arg);
+       public static native long CResult_ChannelDetailsDecodeErrorZ_clone_ptr(long arg);
+       // struct LDKCResult_ChannelDetailsDecodeErrorZ CResult_ChannelDetailsDecodeErrorZ_clone(const struct LDKCResult_ChannelDetailsDecodeErrorZ *NONNULL_PTR orig);
+       public static native long CResult_ChannelDetailsDecodeErrorZ_clone(long orig);
+       // struct LDKCResult_ChannelShutdownStateDecodeErrorZ CResult_ChannelShutdownStateDecodeErrorZ_ok(enum LDKChannelShutdownState o);
+       public static native long CResult_ChannelShutdownStateDecodeErrorZ_ok(ChannelShutdownState o);
+       // struct LDKCResult_ChannelShutdownStateDecodeErrorZ CResult_ChannelShutdownStateDecodeErrorZ_err(struct LDKDecodeError e);
+       public static native long CResult_ChannelShutdownStateDecodeErrorZ_err(long e);
+       // bool CResult_ChannelShutdownStateDecodeErrorZ_is_ok(const struct LDKCResult_ChannelShutdownStateDecodeErrorZ *NONNULL_PTR o);
+       public static native boolean CResult_ChannelShutdownStateDecodeErrorZ_is_ok(long o);
+       // void CResult_ChannelShutdownStateDecodeErrorZ_free(struct LDKCResult_ChannelShutdownStateDecodeErrorZ _res);
+       public static native void CResult_ChannelShutdownStateDecodeErrorZ_free(long _res);
+       // uint64_t CResult_ChannelShutdownStateDecodeErrorZ_clone_ptr(LDKCResult_ChannelShutdownStateDecodeErrorZ *NONNULL_PTR arg);
+       public static native long CResult_ChannelShutdownStateDecodeErrorZ_clone_ptr(long arg);
+       // struct LDKCResult_ChannelShutdownStateDecodeErrorZ CResult_ChannelShutdownStateDecodeErrorZ_clone(const struct LDKCResult_ChannelShutdownStateDecodeErrorZ *NONNULL_PTR orig);
+       public static native long CResult_ChannelShutdownStateDecodeErrorZ_clone(long orig);
        // void CVec_FutureZ_free(struct LDKCVec_FutureZ _res);
        public static native void CVec_FutureZ_free(long[] _res);
        // struct LDKCResult_OffersMessageDecodeErrorZ CResult_OffersMessageDecodeErrorZ_ok(struct LDKOffersMessage o);
@@ -7409,6 +7525,8 @@ public class bindings {
        public static native boolean Hostname_eq(long a, long b);
        // MUST_USE_RES uint8_t Hostname_len(const struct LDKHostname *NONNULL_PTR this_arg);
        public static native byte Hostname_len(long this_arg);
+       // struct LDKStr Hostname_to_str(const struct LDKHostname *NONNULL_PTR o);
+       public static native String Hostname_to_str(long o);
        // struct LDKCVec_u8Z Hostname_write(const struct LDKHostname *NONNULL_PTR obj);
        public static native byte[] Hostname_write(long obj);
        // struct LDKCResult_HostnameDecodeErrorZ Hostname_read(struct LDKu8slice ser);
@@ -7497,6 +7615,8 @@ public class bindings {
        public static native byte[] UntrustedString_write(long obj);
        // struct LDKCResult_UntrustedStringDecodeErrorZ UntrustedString_read(struct LDKu8slice ser);
        public static native long UntrustedString_read(byte[] ser);
+       // struct LDKStr UntrustedString_to_str(const struct LDKUntrustedString *NONNULL_PTR o);
+       public static native String UntrustedString_to_str(long o);
        // void PrintableString_free(struct LDKPrintableString this_obj);
        public static native void PrintableString_free(long this_obj);
        // struct LDKStr PrintableString_get_a(const struct LDKPrintableString *NONNULL_PTR this_ptr);
@@ -7505,6 +7625,8 @@ public class bindings {
        public static native void PrintableString_set_a(long this_ptr, String val);
        // MUST_USE_RES struct LDKPrintableString PrintableString_new(struct LDKStr a_arg);
        public static native long PrintableString_new(String a_arg);
+       // struct LDKStr PrintableString_to_str(const struct LDKPrintableString *NONNULL_PTR o);
+       public static native String PrintableString_to_str(long o);
        // void TrackedSpendableOutput_free(struct LDKTrackedSpendableOutput this_obj);
        public static native void TrackedSpendableOutput_free(long this_obj);
        // struct LDKSpendableOutputDescriptor TrackedSpendableOutput_get_descriptor(const struct LDKTrackedSpendableOutput *NONNULL_PTR this_ptr);
@@ -7619,6 +7741,8 @@ public class bindings {
        public static native boolean Level_eq(long a, long b);
        // uint64_t Level_hash(const enum LDKLevel *NONNULL_PTR o);
        public static native long Level_hash(long o);
+       // struct LDKStr Level_to_str(const enum LDKLevel *NONNULL_PTR o);
+       public static native String Level_to_str(long o);
        // MUST_USE_RES enum LDKLevel Level_max(void);
        public static native Level Level_max();
        // void Record_free(struct LDKRecord this_obj);
@@ -8175,6 +8299,8 @@ public class bindings {
        public static native boolean OutPoint_eq(long a, long b);
        // uint64_t OutPoint_hash(const struct LDKOutPoint *NONNULL_PTR o);
        public static native long OutPoint_hash(long o);
+       // struct LDKStr OutPoint_to_str(const struct LDKOutPoint *NONNULL_PTR o);
+       public static native String OutPoint_to_str(long o);
        // struct LDKCVec_u8Z OutPoint_write(const struct LDKOutPoint *NONNULL_PTR obj);
        public static native byte[] OutPoint_write(long obj);
        // struct LDKCResult_OutPointDecodeErrorZ OutPoint_read(struct LDKu8slice ser);
@@ -8315,190 +8441,6 @@ public class bindings {
        public static native long ChainParameters_clone_ptr(long arg);
        // struct LDKChainParameters ChainParameters_clone(const struct LDKChainParameters *NONNULL_PTR orig);
        public static native long ChainParameters_clone(long orig);
-       // void CounterpartyForwardingInfo_free(struct LDKCounterpartyForwardingInfo this_obj);
-       public static native void CounterpartyForwardingInfo_free(long this_obj);
-       // uint32_t CounterpartyForwardingInfo_get_fee_base_msat(const struct LDKCounterpartyForwardingInfo *NONNULL_PTR this_ptr);
-       public static native int CounterpartyForwardingInfo_get_fee_base_msat(long this_ptr);
-       // void CounterpartyForwardingInfo_set_fee_base_msat(struct LDKCounterpartyForwardingInfo *NONNULL_PTR this_ptr, uint32_t val);
-       public static native void CounterpartyForwardingInfo_set_fee_base_msat(long this_ptr, int val);
-       // uint32_t CounterpartyForwardingInfo_get_fee_proportional_millionths(const struct LDKCounterpartyForwardingInfo *NONNULL_PTR this_ptr);
-       public static native int CounterpartyForwardingInfo_get_fee_proportional_millionths(long this_ptr);
-       // void CounterpartyForwardingInfo_set_fee_proportional_millionths(struct LDKCounterpartyForwardingInfo *NONNULL_PTR this_ptr, uint32_t val);
-       public static native void CounterpartyForwardingInfo_set_fee_proportional_millionths(long this_ptr, int val);
-       // uint16_t CounterpartyForwardingInfo_get_cltv_expiry_delta(const struct LDKCounterpartyForwardingInfo *NONNULL_PTR this_ptr);
-       public static native short CounterpartyForwardingInfo_get_cltv_expiry_delta(long this_ptr);
-       // void CounterpartyForwardingInfo_set_cltv_expiry_delta(struct LDKCounterpartyForwardingInfo *NONNULL_PTR this_ptr, uint16_t val);
-       public static native void CounterpartyForwardingInfo_set_cltv_expiry_delta(long this_ptr, short val);
-       // MUST_USE_RES struct LDKCounterpartyForwardingInfo CounterpartyForwardingInfo_new(uint32_t fee_base_msat_arg, uint32_t fee_proportional_millionths_arg, uint16_t cltv_expiry_delta_arg);
-       public static native long CounterpartyForwardingInfo_new(int fee_base_msat_arg, int fee_proportional_millionths_arg, short cltv_expiry_delta_arg);
-       // uint64_t CounterpartyForwardingInfo_clone_ptr(LDKCounterpartyForwardingInfo *NONNULL_PTR arg);
-       public static native long CounterpartyForwardingInfo_clone_ptr(long arg);
-       // struct LDKCounterpartyForwardingInfo CounterpartyForwardingInfo_clone(const struct LDKCounterpartyForwardingInfo *NONNULL_PTR orig);
-       public static native long CounterpartyForwardingInfo_clone(long orig);
-       // void ChannelCounterparty_free(struct LDKChannelCounterparty this_obj);
-       public static native void ChannelCounterparty_free(long this_obj);
-       // struct LDKPublicKey ChannelCounterparty_get_node_id(const struct LDKChannelCounterparty *NONNULL_PTR this_ptr);
-       public static native byte[] ChannelCounterparty_get_node_id(long this_ptr);
-       // void ChannelCounterparty_set_node_id(struct LDKChannelCounterparty *NONNULL_PTR this_ptr, struct LDKPublicKey val);
-       public static native void ChannelCounterparty_set_node_id(long this_ptr, byte[] val);
-       // struct LDKInitFeatures ChannelCounterparty_get_features(const struct LDKChannelCounterparty *NONNULL_PTR this_ptr);
-       public static native long ChannelCounterparty_get_features(long this_ptr);
-       // void ChannelCounterparty_set_features(struct LDKChannelCounterparty *NONNULL_PTR this_ptr, struct LDKInitFeatures val);
-       public static native void ChannelCounterparty_set_features(long this_ptr, long val);
-       // uint64_t ChannelCounterparty_get_unspendable_punishment_reserve(const struct LDKChannelCounterparty *NONNULL_PTR this_ptr);
-       public static native long ChannelCounterparty_get_unspendable_punishment_reserve(long this_ptr);
-       // void ChannelCounterparty_set_unspendable_punishment_reserve(struct LDKChannelCounterparty *NONNULL_PTR this_ptr, uint64_t val);
-       public static native void ChannelCounterparty_set_unspendable_punishment_reserve(long this_ptr, long val);
-       // struct LDKCounterpartyForwardingInfo ChannelCounterparty_get_forwarding_info(const struct LDKChannelCounterparty *NONNULL_PTR this_ptr);
-       public static native long ChannelCounterparty_get_forwarding_info(long this_ptr);
-       // void ChannelCounterparty_set_forwarding_info(struct LDKChannelCounterparty *NONNULL_PTR this_ptr, struct LDKCounterpartyForwardingInfo val);
-       public static native void ChannelCounterparty_set_forwarding_info(long this_ptr, long val);
-       // struct LDKCOption_u64Z ChannelCounterparty_get_outbound_htlc_minimum_msat(const struct LDKChannelCounterparty *NONNULL_PTR this_ptr);
-       public static native long ChannelCounterparty_get_outbound_htlc_minimum_msat(long this_ptr);
-       // void ChannelCounterparty_set_outbound_htlc_minimum_msat(struct LDKChannelCounterparty *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
-       public static native void ChannelCounterparty_set_outbound_htlc_minimum_msat(long this_ptr, long val);
-       // struct LDKCOption_u64Z ChannelCounterparty_get_outbound_htlc_maximum_msat(const struct LDKChannelCounterparty *NONNULL_PTR this_ptr);
-       public static native long ChannelCounterparty_get_outbound_htlc_maximum_msat(long this_ptr);
-       // void ChannelCounterparty_set_outbound_htlc_maximum_msat(struct LDKChannelCounterparty *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
-       public static native void ChannelCounterparty_set_outbound_htlc_maximum_msat(long this_ptr, long val);
-       // MUST_USE_RES struct LDKChannelCounterparty ChannelCounterparty_new(struct LDKPublicKey node_id_arg, struct LDKInitFeatures features_arg, uint64_t unspendable_punishment_reserve_arg, struct LDKCounterpartyForwardingInfo forwarding_info_arg, struct LDKCOption_u64Z outbound_htlc_minimum_msat_arg, struct LDKCOption_u64Z outbound_htlc_maximum_msat_arg);
-       public static native long ChannelCounterparty_new(byte[] node_id_arg, long features_arg, long unspendable_punishment_reserve_arg, long forwarding_info_arg, long outbound_htlc_minimum_msat_arg, long outbound_htlc_maximum_msat_arg);
-       // uint64_t ChannelCounterparty_clone_ptr(LDKChannelCounterparty *NONNULL_PTR arg);
-       public static native long ChannelCounterparty_clone_ptr(long arg);
-       // struct LDKChannelCounterparty ChannelCounterparty_clone(const struct LDKChannelCounterparty *NONNULL_PTR orig);
-       public static native long ChannelCounterparty_clone(long orig);
-       // void ChannelDetails_free(struct LDKChannelDetails this_obj);
-       public static native void ChannelDetails_free(long this_obj);
-       // struct LDKChannelId ChannelDetails_get_channel_id(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_channel_id(long this_ptr);
-       // void ChannelDetails_set_channel_id(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKChannelId val);
-       public static native void ChannelDetails_set_channel_id(long this_ptr, long val);
-       // struct LDKChannelCounterparty ChannelDetails_get_counterparty(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_counterparty(long this_ptr);
-       // void ChannelDetails_set_counterparty(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKChannelCounterparty val);
-       public static native void ChannelDetails_set_counterparty(long this_ptr, long val);
-       // struct LDKOutPoint ChannelDetails_get_funding_txo(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_funding_txo(long this_ptr);
-       // void ChannelDetails_set_funding_txo(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKOutPoint val);
-       public static native void ChannelDetails_set_funding_txo(long this_ptr, long val);
-       // struct LDKChannelTypeFeatures ChannelDetails_get_channel_type(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_channel_type(long this_ptr);
-       // void ChannelDetails_set_channel_type(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKChannelTypeFeatures val);
-       public static native void ChannelDetails_set_channel_type(long this_ptr, long val);
-       // struct LDKCOption_u64Z ChannelDetails_get_short_channel_id(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_short_channel_id(long this_ptr);
-       // void ChannelDetails_set_short_channel_id(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
-       public static native void ChannelDetails_set_short_channel_id(long this_ptr, long val);
-       // struct LDKCOption_u64Z ChannelDetails_get_outbound_scid_alias(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_outbound_scid_alias(long this_ptr);
-       // void ChannelDetails_set_outbound_scid_alias(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
-       public static native void ChannelDetails_set_outbound_scid_alias(long this_ptr, long val);
-       // struct LDKCOption_u64Z ChannelDetails_get_inbound_scid_alias(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_inbound_scid_alias(long this_ptr);
-       // void ChannelDetails_set_inbound_scid_alias(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
-       public static native void ChannelDetails_set_inbound_scid_alias(long this_ptr, long val);
-       // uint64_t ChannelDetails_get_channel_value_satoshis(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_channel_value_satoshis(long this_ptr);
-       // void ChannelDetails_set_channel_value_satoshis(struct LDKChannelDetails *NONNULL_PTR this_ptr, uint64_t val);
-       public static native void ChannelDetails_set_channel_value_satoshis(long this_ptr, long val);
-       // struct LDKCOption_u64Z ChannelDetails_get_unspendable_punishment_reserve(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_unspendable_punishment_reserve(long this_ptr);
-       // void ChannelDetails_set_unspendable_punishment_reserve(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
-       public static native void ChannelDetails_set_unspendable_punishment_reserve(long this_ptr, long val);
-       // struct LDKU128 ChannelDetails_get_user_channel_id(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native byte[] ChannelDetails_get_user_channel_id(long this_ptr);
-       // void ChannelDetails_set_user_channel_id(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKU128 val);
-       public static native void ChannelDetails_set_user_channel_id(long this_ptr, byte[] val);
-       // struct LDKCOption_u32Z ChannelDetails_get_feerate_sat_per_1000_weight(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_feerate_sat_per_1000_weight(long this_ptr);
-       // void ChannelDetails_set_feerate_sat_per_1000_weight(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u32Z val);
-       public static native void ChannelDetails_set_feerate_sat_per_1000_weight(long this_ptr, long val);
-       // uint64_t ChannelDetails_get_balance_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_balance_msat(long this_ptr);
-       // void ChannelDetails_set_balance_msat(struct LDKChannelDetails *NONNULL_PTR this_ptr, uint64_t val);
-       public static native void ChannelDetails_set_balance_msat(long this_ptr, long val);
-       // uint64_t ChannelDetails_get_outbound_capacity_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_outbound_capacity_msat(long this_ptr);
-       // void ChannelDetails_set_outbound_capacity_msat(struct LDKChannelDetails *NONNULL_PTR this_ptr, uint64_t val);
-       public static native void ChannelDetails_set_outbound_capacity_msat(long this_ptr, long val);
-       // uint64_t ChannelDetails_get_next_outbound_htlc_limit_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_next_outbound_htlc_limit_msat(long this_ptr);
-       // void ChannelDetails_set_next_outbound_htlc_limit_msat(struct LDKChannelDetails *NONNULL_PTR this_ptr, uint64_t val);
-       public static native void ChannelDetails_set_next_outbound_htlc_limit_msat(long this_ptr, long val);
-       // uint64_t ChannelDetails_get_next_outbound_htlc_minimum_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_next_outbound_htlc_minimum_msat(long this_ptr);
-       // void ChannelDetails_set_next_outbound_htlc_minimum_msat(struct LDKChannelDetails *NONNULL_PTR this_ptr, uint64_t val);
-       public static native void ChannelDetails_set_next_outbound_htlc_minimum_msat(long this_ptr, long val);
-       // uint64_t ChannelDetails_get_inbound_capacity_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_inbound_capacity_msat(long this_ptr);
-       // void ChannelDetails_set_inbound_capacity_msat(struct LDKChannelDetails *NONNULL_PTR this_ptr, uint64_t val);
-       public static native void ChannelDetails_set_inbound_capacity_msat(long this_ptr, long val);
-       // struct LDKCOption_u32Z ChannelDetails_get_confirmations_required(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_confirmations_required(long this_ptr);
-       // void ChannelDetails_set_confirmations_required(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u32Z val);
-       public static native void ChannelDetails_set_confirmations_required(long this_ptr, long val);
-       // struct LDKCOption_u32Z ChannelDetails_get_confirmations(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_confirmations(long this_ptr);
-       // void ChannelDetails_set_confirmations(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u32Z val);
-       public static native void ChannelDetails_set_confirmations(long this_ptr, long val);
-       // struct LDKCOption_u16Z ChannelDetails_get_force_close_spend_delay(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_force_close_spend_delay(long this_ptr);
-       // void ChannelDetails_set_force_close_spend_delay(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u16Z val);
-       public static native void ChannelDetails_set_force_close_spend_delay(long this_ptr, long val);
-       // bool ChannelDetails_get_is_outbound(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native boolean ChannelDetails_get_is_outbound(long this_ptr);
-       // void ChannelDetails_set_is_outbound(struct LDKChannelDetails *NONNULL_PTR this_ptr, bool val);
-       public static native void ChannelDetails_set_is_outbound(long this_ptr, boolean val);
-       // bool ChannelDetails_get_is_channel_ready(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native boolean ChannelDetails_get_is_channel_ready(long this_ptr);
-       // void ChannelDetails_set_is_channel_ready(struct LDKChannelDetails *NONNULL_PTR this_ptr, bool val);
-       public static native void ChannelDetails_set_is_channel_ready(long this_ptr, boolean val);
-       // struct LDKCOption_ChannelShutdownStateZ ChannelDetails_get_channel_shutdown_state(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_channel_shutdown_state(long this_ptr);
-       // void ChannelDetails_set_channel_shutdown_state(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_ChannelShutdownStateZ val);
-       public static native void ChannelDetails_set_channel_shutdown_state(long this_ptr, long val);
-       // bool ChannelDetails_get_is_usable(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native boolean ChannelDetails_get_is_usable(long this_ptr);
-       // void ChannelDetails_set_is_usable(struct LDKChannelDetails *NONNULL_PTR this_ptr, bool val);
-       public static native void ChannelDetails_set_is_usable(long this_ptr, boolean val);
-       // bool ChannelDetails_get_is_public(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native boolean ChannelDetails_get_is_public(long this_ptr);
-       // void ChannelDetails_set_is_public(struct LDKChannelDetails *NONNULL_PTR this_ptr, bool val);
-       public static native void ChannelDetails_set_is_public(long this_ptr, boolean val);
-       // struct LDKCOption_u64Z ChannelDetails_get_inbound_htlc_minimum_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_inbound_htlc_minimum_msat(long this_ptr);
-       // void ChannelDetails_set_inbound_htlc_minimum_msat(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
-       public static native void ChannelDetails_set_inbound_htlc_minimum_msat(long this_ptr, long val);
-       // struct LDKCOption_u64Z ChannelDetails_get_inbound_htlc_maximum_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_inbound_htlc_maximum_msat(long this_ptr);
-       // void ChannelDetails_set_inbound_htlc_maximum_msat(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
-       public static native void ChannelDetails_set_inbound_htlc_maximum_msat(long this_ptr, long val);
-       // struct LDKChannelConfig ChannelDetails_get_config(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
-       public static native long ChannelDetails_get_config(long this_ptr);
-       // void ChannelDetails_set_config(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKChannelConfig val);
-       public static native void ChannelDetails_set_config(long this_ptr, long val);
-       // uint64_t ChannelDetails_clone_ptr(LDKChannelDetails *NONNULL_PTR arg);
-       public static native long ChannelDetails_clone_ptr(long arg);
-       // struct LDKChannelDetails ChannelDetails_clone(const struct LDKChannelDetails *NONNULL_PTR orig);
-       public static native long ChannelDetails_clone(long orig);
-       // MUST_USE_RES struct LDKCOption_u64Z ChannelDetails_get_inbound_payment_scid(const struct LDKChannelDetails *NONNULL_PTR this_arg);
-       public static native long ChannelDetails_get_inbound_payment_scid(long this_arg);
-       // MUST_USE_RES struct LDKCOption_u64Z ChannelDetails_get_outbound_payment_scid(const struct LDKChannelDetails *NONNULL_PTR this_arg);
-       public static native long ChannelDetails_get_outbound_payment_scid(long this_arg);
-       // enum LDKChannelShutdownState ChannelShutdownState_clone(const enum LDKChannelShutdownState *NONNULL_PTR orig);
-       public static native ChannelShutdownState ChannelShutdownState_clone(long orig);
-       // enum LDKChannelShutdownState ChannelShutdownState_not_shutting_down(void);
-       public static native ChannelShutdownState ChannelShutdownState_not_shutting_down();
-       // enum LDKChannelShutdownState ChannelShutdownState_shutdown_initiated(void);
-       public static native ChannelShutdownState ChannelShutdownState_shutdown_initiated();
-       // enum LDKChannelShutdownState ChannelShutdownState_resolving_htlcs(void);
-       public static native ChannelShutdownState ChannelShutdownState_resolving_htlcs();
-       // enum LDKChannelShutdownState ChannelShutdownState_negotiating_closing_fee(void);
-       public static native ChannelShutdownState ChannelShutdownState_negotiating_closing_fee();
-       // enum LDKChannelShutdownState ChannelShutdownState_shutdown_complete(void);
-       public static native ChannelShutdownState ChannelShutdownState_shutdown_complete();
-       // bool ChannelShutdownState_eq(const enum LDKChannelShutdownState *NONNULL_PTR a, const enum LDKChannelShutdownState *NONNULL_PTR b);
-       public static native boolean ChannelShutdownState_eq(long a, long b);
        // void RecentPaymentDetails_free(struct LDKRecentPaymentDetails this_ptr);
        public static native void RecentPaymentDetails_free(long this_ptr);
        // uint64_t RecentPaymentDetails_clone_ptr(LDKRecentPaymentDetails *NONNULL_PTR arg);
@@ -8657,18 +8599,6 @@ public class bindings {
        public static native long ChannelManager_as_NodeIdLookUp(long this_arg);
        // struct LDKInitFeatures provided_init_features(const struct LDKUserConfig *NONNULL_PTR config);
        public static native long provided_init_features(long config);
-       // struct LDKCVec_u8Z CounterpartyForwardingInfo_write(const struct LDKCounterpartyForwardingInfo *NONNULL_PTR obj);
-       public static native byte[] CounterpartyForwardingInfo_write(long obj);
-       // struct LDKCResult_CounterpartyForwardingInfoDecodeErrorZ CounterpartyForwardingInfo_read(struct LDKu8slice ser);
-       public static native long CounterpartyForwardingInfo_read(byte[] ser);
-       // struct LDKCVec_u8Z ChannelCounterparty_write(const struct LDKChannelCounterparty *NONNULL_PTR obj);
-       public static native byte[] ChannelCounterparty_write(long obj);
-       // struct LDKCResult_ChannelCounterpartyDecodeErrorZ ChannelCounterparty_read(struct LDKu8slice ser);
-       public static native long ChannelCounterparty_read(byte[] ser);
-       // struct LDKCVec_u8Z ChannelDetails_write(const struct LDKChannelDetails *NONNULL_PTR obj);
-       public static native byte[] ChannelDetails_write(long obj);
-       // struct LDKCResult_ChannelDetailsDecodeErrorZ ChannelDetails_read(struct LDKu8slice ser);
-       public static native long ChannelDetails_read(byte[] ser);
        // struct LDKCVec_u8Z PhantomRouteHints_write(const struct LDKPhantomRouteHints *NONNULL_PTR obj);
        public static native byte[] PhantomRouteHints_write(long obj);
        // struct LDKCResult_PhantomRouteHintsDecodeErrorZ PhantomRouteHints_read(struct LDKu8slice ser);
@@ -8691,10 +8621,6 @@ public class bindings {
        public static native long BlindedFailure_read(byte[] ser);
        // struct LDKCVec_u8Z ChannelManager_write(const struct LDKChannelManager *NONNULL_PTR obj);
        public static native byte[] ChannelManager_write(long obj);
-       // struct LDKCVec_u8Z ChannelShutdownState_write(const enum LDKChannelShutdownState *NONNULL_PTR obj);
-       public static native byte[] ChannelShutdownState_write(long obj);
-       // struct LDKCResult_ChannelShutdownStateDecodeErrorZ ChannelShutdownState_read(struct LDKu8slice ser);
-       public static native long ChannelShutdownState_read(byte[] ser);
        // void ChannelManagerReadArgs_free(struct LDKChannelManagerReadArgs this_obj);
        public static native void ChannelManagerReadArgs_free(long this_obj);
        // const struct LDKEntropySource *ChannelManagerReadArgs_get_entropy_source(const struct LDKChannelManagerReadArgs *NONNULL_PTR this_ptr);
@@ -8881,6 +8807,320 @@ public class bindings {
        public static native byte[] RevocationKey_write(long obj);
        // struct LDKCResult_RevocationKeyDecodeErrorZ RevocationKey_read(struct LDKu8slice ser);
        public static native long RevocationKey_read(byte[] ser);
+       // enum LDKInboundHTLCStateDetails InboundHTLCStateDetails_clone(const enum LDKInboundHTLCStateDetails *NONNULL_PTR orig);
+       public static native InboundHTLCStateDetails InboundHTLCStateDetails_clone(long orig);
+       // enum LDKInboundHTLCStateDetails InboundHTLCStateDetails_awaiting_remote_revoke_to_add(void);
+       public static native InboundHTLCStateDetails InboundHTLCStateDetails_awaiting_remote_revoke_to_add();
+       // enum LDKInboundHTLCStateDetails InboundHTLCStateDetails_committed(void);
+       public static native InboundHTLCStateDetails InboundHTLCStateDetails_committed();
+       // enum LDKInboundHTLCStateDetails InboundHTLCStateDetails_awaiting_remote_revoke_to_remove_fulfill(void);
+       public static native InboundHTLCStateDetails InboundHTLCStateDetails_awaiting_remote_revoke_to_remove_fulfill();
+       // enum LDKInboundHTLCStateDetails InboundHTLCStateDetails_awaiting_remote_revoke_to_remove_fail(void);
+       public static native InboundHTLCStateDetails InboundHTLCStateDetails_awaiting_remote_revoke_to_remove_fail();
+       // struct LDKCVec_u8Z InboundHTLCStateDetails_write(const enum LDKInboundHTLCStateDetails *NONNULL_PTR obj);
+       public static native byte[] InboundHTLCStateDetails_write(long obj);
+       // struct LDKCResult_COption_InboundHTLCStateDetailsZDecodeErrorZ InboundHTLCStateDetails_read(struct LDKu8slice ser);
+       public static native long InboundHTLCStateDetails_read(byte[] ser);
+       // void InboundHTLCDetails_free(struct LDKInboundHTLCDetails this_obj);
+       public static native void InboundHTLCDetails_free(long this_obj);
+       // uint64_t InboundHTLCDetails_get_htlc_id(const struct LDKInboundHTLCDetails *NONNULL_PTR this_ptr);
+       public static native long InboundHTLCDetails_get_htlc_id(long this_ptr);
+       // void InboundHTLCDetails_set_htlc_id(struct LDKInboundHTLCDetails *NONNULL_PTR this_ptr, uint64_t val);
+       public static native void InboundHTLCDetails_set_htlc_id(long this_ptr, long val);
+       // uint64_t InboundHTLCDetails_get_amount_msat(const struct LDKInboundHTLCDetails *NONNULL_PTR this_ptr);
+       public static native long InboundHTLCDetails_get_amount_msat(long this_ptr);
+       // void InboundHTLCDetails_set_amount_msat(struct LDKInboundHTLCDetails *NONNULL_PTR this_ptr, uint64_t val);
+       public static native void InboundHTLCDetails_set_amount_msat(long this_ptr, long val);
+       // uint32_t InboundHTLCDetails_get_cltv_expiry(const struct LDKInboundHTLCDetails *NONNULL_PTR this_ptr);
+       public static native int InboundHTLCDetails_get_cltv_expiry(long this_ptr);
+       // void InboundHTLCDetails_set_cltv_expiry(struct LDKInboundHTLCDetails *NONNULL_PTR this_ptr, uint32_t val);
+       public static native void InboundHTLCDetails_set_cltv_expiry(long this_ptr, int val);
+       // const uint8_t (*InboundHTLCDetails_get_payment_hash(const struct LDKInboundHTLCDetails *NONNULL_PTR this_ptr))[32];
+       public static native byte[] InboundHTLCDetails_get_payment_hash(long this_ptr);
+       // void InboundHTLCDetails_set_payment_hash(struct LDKInboundHTLCDetails *NONNULL_PTR this_ptr, struct LDKThirtyTwoBytes val);
+       public static native void InboundHTLCDetails_set_payment_hash(long this_ptr, byte[] val);
+       // struct LDKCOption_InboundHTLCStateDetailsZ InboundHTLCDetails_get_state(const struct LDKInboundHTLCDetails *NONNULL_PTR this_ptr);
+       public static native long InboundHTLCDetails_get_state(long this_ptr);
+       // void InboundHTLCDetails_set_state(struct LDKInboundHTLCDetails *NONNULL_PTR this_ptr, struct LDKCOption_InboundHTLCStateDetailsZ val);
+       public static native void InboundHTLCDetails_set_state(long this_ptr, long val);
+       // bool InboundHTLCDetails_get_is_dust(const struct LDKInboundHTLCDetails *NONNULL_PTR this_ptr);
+       public static native boolean InboundHTLCDetails_get_is_dust(long this_ptr);
+       // void InboundHTLCDetails_set_is_dust(struct LDKInboundHTLCDetails *NONNULL_PTR this_ptr, bool val);
+       public static native void InboundHTLCDetails_set_is_dust(long this_ptr, boolean val);
+       // MUST_USE_RES struct LDKInboundHTLCDetails InboundHTLCDetails_new(uint64_t htlc_id_arg, uint64_t amount_msat_arg, uint32_t cltv_expiry_arg, struct LDKThirtyTwoBytes payment_hash_arg, struct LDKCOption_InboundHTLCStateDetailsZ state_arg, bool is_dust_arg);
+       public static native long InboundHTLCDetails_new(long htlc_id_arg, long amount_msat_arg, int cltv_expiry_arg, byte[] payment_hash_arg, long state_arg, boolean is_dust_arg);
+       // uint64_t InboundHTLCDetails_clone_ptr(LDKInboundHTLCDetails *NONNULL_PTR arg);
+       public static native long InboundHTLCDetails_clone_ptr(long arg);
+       // struct LDKInboundHTLCDetails InboundHTLCDetails_clone(const struct LDKInboundHTLCDetails *NONNULL_PTR orig);
+       public static native long InboundHTLCDetails_clone(long orig);
+       // struct LDKCVec_u8Z InboundHTLCDetails_write(const struct LDKInboundHTLCDetails *NONNULL_PTR obj);
+       public static native byte[] InboundHTLCDetails_write(long obj);
+       // struct LDKCResult_InboundHTLCDetailsDecodeErrorZ InboundHTLCDetails_read(struct LDKu8slice ser);
+       public static native long InboundHTLCDetails_read(byte[] ser);
+       // enum LDKOutboundHTLCStateDetails OutboundHTLCStateDetails_clone(const enum LDKOutboundHTLCStateDetails *NONNULL_PTR orig);
+       public static native OutboundHTLCStateDetails OutboundHTLCStateDetails_clone(long orig);
+       // enum LDKOutboundHTLCStateDetails OutboundHTLCStateDetails_awaiting_remote_revoke_to_add(void);
+       public static native OutboundHTLCStateDetails OutboundHTLCStateDetails_awaiting_remote_revoke_to_add();
+       // enum LDKOutboundHTLCStateDetails OutboundHTLCStateDetails_committed(void);
+       public static native OutboundHTLCStateDetails OutboundHTLCStateDetails_committed();
+       // enum LDKOutboundHTLCStateDetails OutboundHTLCStateDetails_awaiting_remote_revoke_to_remove_success(void);
+       public static native OutboundHTLCStateDetails OutboundHTLCStateDetails_awaiting_remote_revoke_to_remove_success();
+       // enum LDKOutboundHTLCStateDetails OutboundHTLCStateDetails_awaiting_remote_revoke_to_remove_failure(void);
+       public static native OutboundHTLCStateDetails OutboundHTLCStateDetails_awaiting_remote_revoke_to_remove_failure();
+       // struct LDKCVec_u8Z OutboundHTLCStateDetails_write(const enum LDKOutboundHTLCStateDetails *NONNULL_PTR obj);
+       public static native byte[] OutboundHTLCStateDetails_write(long obj);
+       // struct LDKCResult_COption_OutboundHTLCStateDetailsZDecodeErrorZ OutboundHTLCStateDetails_read(struct LDKu8slice ser);
+       public static native long OutboundHTLCStateDetails_read(byte[] ser);
+       // void OutboundHTLCDetails_free(struct LDKOutboundHTLCDetails this_obj);
+       public static native void OutboundHTLCDetails_free(long this_obj);
+       // struct LDKCOption_u64Z OutboundHTLCDetails_get_htlc_id(const struct LDKOutboundHTLCDetails *NONNULL_PTR this_ptr);
+       public static native long OutboundHTLCDetails_get_htlc_id(long this_ptr);
+       // void OutboundHTLCDetails_set_htlc_id(struct LDKOutboundHTLCDetails *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       public static native void OutboundHTLCDetails_set_htlc_id(long this_ptr, long val);
+       // uint64_t OutboundHTLCDetails_get_amount_msat(const struct LDKOutboundHTLCDetails *NONNULL_PTR this_ptr);
+       public static native long OutboundHTLCDetails_get_amount_msat(long this_ptr);
+       // void OutboundHTLCDetails_set_amount_msat(struct LDKOutboundHTLCDetails *NONNULL_PTR this_ptr, uint64_t val);
+       public static native void OutboundHTLCDetails_set_amount_msat(long this_ptr, long val);
+       // uint32_t OutboundHTLCDetails_get_cltv_expiry(const struct LDKOutboundHTLCDetails *NONNULL_PTR this_ptr);
+       public static native int OutboundHTLCDetails_get_cltv_expiry(long this_ptr);
+       // void OutboundHTLCDetails_set_cltv_expiry(struct LDKOutboundHTLCDetails *NONNULL_PTR this_ptr, uint32_t val);
+       public static native void OutboundHTLCDetails_set_cltv_expiry(long this_ptr, int val);
+       // const uint8_t (*OutboundHTLCDetails_get_payment_hash(const struct LDKOutboundHTLCDetails *NONNULL_PTR this_ptr))[32];
+       public static native byte[] OutboundHTLCDetails_get_payment_hash(long this_ptr);
+       // void OutboundHTLCDetails_set_payment_hash(struct LDKOutboundHTLCDetails *NONNULL_PTR this_ptr, struct LDKThirtyTwoBytes val);
+       public static native void OutboundHTLCDetails_set_payment_hash(long this_ptr, byte[] val);
+       // struct LDKCOption_OutboundHTLCStateDetailsZ OutboundHTLCDetails_get_state(const struct LDKOutboundHTLCDetails *NONNULL_PTR this_ptr);
+       public static native long OutboundHTLCDetails_get_state(long this_ptr);
+       // void OutboundHTLCDetails_set_state(struct LDKOutboundHTLCDetails *NONNULL_PTR this_ptr, struct LDKCOption_OutboundHTLCStateDetailsZ val);
+       public static native void OutboundHTLCDetails_set_state(long this_ptr, long val);
+       // struct LDKCOption_u64Z OutboundHTLCDetails_get_skimmed_fee_msat(const struct LDKOutboundHTLCDetails *NONNULL_PTR this_ptr);
+       public static native long OutboundHTLCDetails_get_skimmed_fee_msat(long this_ptr);
+       // void OutboundHTLCDetails_set_skimmed_fee_msat(struct LDKOutboundHTLCDetails *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       public static native void OutboundHTLCDetails_set_skimmed_fee_msat(long this_ptr, long val);
+       // bool OutboundHTLCDetails_get_is_dust(const struct LDKOutboundHTLCDetails *NONNULL_PTR this_ptr);
+       public static native boolean OutboundHTLCDetails_get_is_dust(long this_ptr);
+       // void OutboundHTLCDetails_set_is_dust(struct LDKOutboundHTLCDetails *NONNULL_PTR this_ptr, bool val);
+       public static native void OutboundHTLCDetails_set_is_dust(long this_ptr, boolean val);
+       // MUST_USE_RES struct LDKOutboundHTLCDetails OutboundHTLCDetails_new(struct LDKCOption_u64Z htlc_id_arg, uint64_t amount_msat_arg, uint32_t cltv_expiry_arg, struct LDKThirtyTwoBytes payment_hash_arg, struct LDKCOption_OutboundHTLCStateDetailsZ state_arg, struct LDKCOption_u64Z skimmed_fee_msat_arg, bool is_dust_arg);
+       public static native long OutboundHTLCDetails_new(long htlc_id_arg, long amount_msat_arg, int cltv_expiry_arg, byte[] payment_hash_arg, long state_arg, long skimmed_fee_msat_arg, boolean is_dust_arg);
+       // uint64_t OutboundHTLCDetails_clone_ptr(LDKOutboundHTLCDetails *NONNULL_PTR arg);
+       public static native long OutboundHTLCDetails_clone_ptr(long arg);
+       // struct LDKOutboundHTLCDetails OutboundHTLCDetails_clone(const struct LDKOutboundHTLCDetails *NONNULL_PTR orig);
+       public static native long OutboundHTLCDetails_clone(long orig);
+       // struct LDKCVec_u8Z OutboundHTLCDetails_write(const struct LDKOutboundHTLCDetails *NONNULL_PTR obj);
+       public static native byte[] OutboundHTLCDetails_write(long obj);
+       // struct LDKCResult_OutboundHTLCDetailsDecodeErrorZ OutboundHTLCDetails_read(struct LDKu8slice ser);
+       public static native long OutboundHTLCDetails_read(byte[] ser);
+       // void CounterpartyForwardingInfo_free(struct LDKCounterpartyForwardingInfo this_obj);
+       public static native void CounterpartyForwardingInfo_free(long this_obj);
+       // uint32_t CounterpartyForwardingInfo_get_fee_base_msat(const struct LDKCounterpartyForwardingInfo *NONNULL_PTR this_ptr);
+       public static native int CounterpartyForwardingInfo_get_fee_base_msat(long this_ptr);
+       // void CounterpartyForwardingInfo_set_fee_base_msat(struct LDKCounterpartyForwardingInfo *NONNULL_PTR this_ptr, uint32_t val);
+       public static native void CounterpartyForwardingInfo_set_fee_base_msat(long this_ptr, int val);
+       // uint32_t CounterpartyForwardingInfo_get_fee_proportional_millionths(const struct LDKCounterpartyForwardingInfo *NONNULL_PTR this_ptr);
+       public static native int CounterpartyForwardingInfo_get_fee_proportional_millionths(long this_ptr);
+       // void CounterpartyForwardingInfo_set_fee_proportional_millionths(struct LDKCounterpartyForwardingInfo *NONNULL_PTR this_ptr, uint32_t val);
+       public static native void CounterpartyForwardingInfo_set_fee_proportional_millionths(long this_ptr, int val);
+       // uint16_t CounterpartyForwardingInfo_get_cltv_expiry_delta(const struct LDKCounterpartyForwardingInfo *NONNULL_PTR this_ptr);
+       public static native short CounterpartyForwardingInfo_get_cltv_expiry_delta(long this_ptr);
+       // void CounterpartyForwardingInfo_set_cltv_expiry_delta(struct LDKCounterpartyForwardingInfo *NONNULL_PTR this_ptr, uint16_t val);
+       public static native void CounterpartyForwardingInfo_set_cltv_expiry_delta(long this_ptr, short val);
+       // MUST_USE_RES struct LDKCounterpartyForwardingInfo CounterpartyForwardingInfo_new(uint32_t fee_base_msat_arg, uint32_t fee_proportional_millionths_arg, uint16_t cltv_expiry_delta_arg);
+       public static native long CounterpartyForwardingInfo_new(int fee_base_msat_arg, int fee_proportional_millionths_arg, short cltv_expiry_delta_arg);
+       // uint64_t CounterpartyForwardingInfo_clone_ptr(LDKCounterpartyForwardingInfo *NONNULL_PTR arg);
+       public static native long CounterpartyForwardingInfo_clone_ptr(long arg);
+       // struct LDKCounterpartyForwardingInfo CounterpartyForwardingInfo_clone(const struct LDKCounterpartyForwardingInfo *NONNULL_PTR orig);
+       public static native long CounterpartyForwardingInfo_clone(long orig);
+       // struct LDKCVec_u8Z CounterpartyForwardingInfo_write(const struct LDKCounterpartyForwardingInfo *NONNULL_PTR obj);
+       public static native byte[] CounterpartyForwardingInfo_write(long obj);
+       // struct LDKCResult_CounterpartyForwardingInfoDecodeErrorZ CounterpartyForwardingInfo_read(struct LDKu8slice ser);
+       public static native long CounterpartyForwardingInfo_read(byte[] ser);
+       // void ChannelCounterparty_free(struct LDKChannelCounterparty this_obj);
+       public static native void ChannelCounterparty_free(long this_obj);
+       // struct LDKPublicKey ChannelCounterparty_get_node_id(const struct LDKChannelCounterparty *NONNULL_PTR this_ptr);
+       public static native byte[] ChannelCounterparty_get_node_id(long this_ptr);
+       // void ChannelCounterparty_set_node_id(struct LDKChannelCounterparty *NONNULL_PTR this_ptr, struct LDKPublicKey val);
+       public static native void ChannelCounterparty_set_node_id(long this_ptr, byte[] val);
+       // struct LDKInitFeatures ChannelCounterparty_get_features(const struct LDKChannelCounterparty *NONNULL_PTR this_ptr);
+       public static native long ChannelCounterparty_get_features(long this_ptr);
+       // void ChannelCounterparty_set_features(struct LDKChannelCounterparty *NONNULL_PTR this_ptr, struct LDKInitFeatures val);
+       public static native void ChannelCounterparty_set_features(long this_ptr, long val);
+       // uint64_t ChannelCounterparty_get_unspendable_punishment_reserve(const struct LDKChannelCounterparty *NONNULL_PTR this_ptr);
+       public static native long ChannelCounterparty_get_unspendable_punishment_reserve(long this_ptr);
+       // void ChannelCounterparty_set_unspendable_punishment_reserve(struct LDKChannelCounterparty *NONNULL_PTR this_ptr, uint64_t val);
+       public static native void ChannelCounterparty_set_unspendable_punishment_reserve(long this_ptr, long val);
+       // struct LDKCounterpartyForwardingInfo ChannelCounterparty_get_forwarding_info(const struct LDKChannelCounterparty *NONNULL_PTR this_ptr);
+       public static native long ChannelCounterparty_get_forwarding_info(long this_ptr);
+       // void ChannelCounterparty_set_forwarding_info(struct LDKChannelCounterparty *NONNULL_PTR this_ptr, struct LDKCounterpartyForwardingInfo val);
+       public static native void ChannelCounterparty_set_forwarding_info(long this_ptr, long val);
+       // struct LDKCOption_u64Z ChannelCounterparty_get_outbound_htlc_minimum_msat(const struct LDKChannelCounterparty *NONNULL_PTR this_ptr);
+       public static native long ChannelCounterparty_get_outbound_htlc_minimum_msat(long this_ptr);
+       // void ChannelCounterparty_set_outbound_htlc_minimum_msat(struct LDKChannelCounterparty *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       public static native void ChannelCounterparty_set_outbound_htlc_minimum_msat(long this_ptr, long val);
+       // struct LDKCOption_u64Z ChannelCounterparty_get_outbound_htlc_maximum_msat(const struct LDKChannelCounterparty *NONNULL_PTR this_ptr);
+       public static native long ChannelCounterparty_get_outbound_htlc_maximum_msat(long this_ptr);
+       // void ChannelCounterparty_set_outbound_htlc_maximum_msat(struct LDKChannelCounterparty *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       public static native void ChannelCounterparty_set_outbound_htlc_maximum_msat(long this_ptr, long val);
+       // MUST_USE_RES struct LDKChannelCounterparty ChannelCounterparty_new(struct LDKPublicKey node_id_arg, struct LDKInitFeatures features_arg, uint64_t unspendable_punishment_reserve_arg, struct LDKCounterpartyForwardingInfo forwarding_info_arg, struct LDKCOption_u64Z outbound_htlc_minimum_msat_arg, struct LDKCOption_u64Z outbound_htlc_maximum_msat_arg);
+       public static native long ChannelCounterparty_new(byte[] node_id_arg, long features_arg, long unspendable_punishment_reserve_arg, long forwarding_info_arg, long outbound_htlc_minimum_msat_arg, long outbound_htlc_maximum_msat_arg);
+       // uint64_t ChannelCounterparty_clone_ptr(LDKChannelCounterparty *NONNULL_PTR arg);
+       public static native long ChannelCounterparty_clone_ptr(long arg);
+       // struct LDKChannelCounterparty ChannelCounterparty_clone(const struct LDKChannelCounterparty *NONNULL_PTR orig);
+       public static native long ChannelCounterparty_clone(long orig);
+       // struct LDKCVec_u8Z ChannelCounterparty_write(const struct LDKChannelCounterparty *NONNULL_PTR obj);
+       public static native byte[] ChannelCounterparty_write(long obj);
+       // struct LDKCResult_ChannelCounterpartyDecodeErrorZ ChannelCounterparty_read(struct LDKu8slice ser);
+       public static native long ChannelCounterparty_read(byte[] ser);
+       // void ChannelDetails_free(struct LDKChannelDetails this_obj);
+       public static native void ChannelDetails_free(long this_obj);
+       // struct LDKChannelId ChannelDetails_get_channel_id(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_channel_id(long this_ptr);
+       // void ChannelDetails_set_channel_id(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKChannelId val);
+       public static native void ChannelDetails_set_channel_id(long this_ptr, long val);
+       // struct LDKChannelCounterparty ChannelDetails_get_counterparty(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_counterparty(long this_ptr);
+       // void ChannelDetails_set_counterparty(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKChannelCounterparty val);
+       public static native void ChannelDetails_set_counterparty(long this_ptr, long val);
+       // struct LDKOutPoint ChannelDetails_get_funding_txo(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_funding_txo(long this_ptr);
+       // void ChannelDetails_set_funding_txo(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKOutPoint val);
+       public static native void ChannelDetails_set_funding_txo(long this_ptr, long val);
+       // struct LDKChannelTypeFeatures ChannelDetails_get_channel_type(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_channel_type(long this_ptr);
+       // void ChannelDetails_set_channel_type(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKChannelTypeFeatures val);
+       public static native void ChannelDetails_set_channel_type(long this_ptr, long val);
+       // struct LDKCOption_u64Z ChannelDetails_get_short_channel_id(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_short_channel_id(long this_ptr);
+       // void ChannelDetails_set_short_channel_id(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       public static native void ChannelDetails_set_short_channel_id(long this_ptr, long val);
+       // struct LDKCOption_u64Z ChannelDetails_get_outbound_scid_alias(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_outbound_scid_alias(long this_ptr);
+       // void ChannelDetails_set_outbound_scid_alias(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       public static native void ChannelDetails_set_outbound_scid_alias(long this_ptr, long val);
+       // struct LDKCOption_u64Z ChannelDetails_get_inbound_scid_alias(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_inbound_scid_alias(long this_ptr);
+       // void ChannelDetails_set_inbound_scid_alias(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       public static native void ChannelDetails_set_inbound_scid_alias(long this_ptr, long val);
+       // uint64_t ChannelDetails_get_channel_value_satoshis(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_channel_value_satoshis(long this_ptr);
+       // void ChannelDetails_set_channel_value_satoshis(struct LDKChannelDetails *NONNULL_PTR this_ptr, uint64_t val);
+       public static native void ChannelDetails_set_channel_value_satoshis(long this_ptr, long val);
+       // struct LDKCOption_u64Z ChannelDetails_get_unspendable_punishment_reserve(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_unspendable_punishment_reserve(long this_ptr);
+       // void ChannelDetails_set_unspendable_punishment_reserve(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       public static native void ChannelDetails_set_unspendable_punishment_reserve(long this_ptr, long val);
+       // struct LDKU128 ChannelDetails_get_user_channel_id(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native byte[] ChannelDetails_get_user_channel_id(long this_ptr);
+       // void ChannelDetails_set_user_channel_id(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKU128 val);
+       public static native void ChannelDetails_set_user_channel_id(long this_ptr, byte[] val);
+       // struct LDKCOption_u32Z ChannelDetails_get_feerate_sat_per_1000_weight(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_feerate_sat_per_1000_weight(long this_ptr);
+       // void ChannelDetails_set_feerate_sat_per_1000_weight(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u32Z val);
+       public static native void ChannelDetails_set_feerate_sat_per_1000_weight(long this_ptr, long val);
+       // uint64_t ChannelDetails_get_balance_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_balance_msat(long this_ptr);
+       // void ChannelDetails_set_balance_msat(struct LDKChannelDetails *NONNULL_PTR this_ptr, uint64_t val);
+       public static native void ChannelDetails_set_balance_msat(long this_ptr, long val);
+       // uint64_t ChannelDetails_get_outbound_capacity_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_outbound_capacity_msat(long this_ptr);
+       // void ChannelDetails_set_outbound_capacity_msat(struct LDKChannelDetails *NONNULL_PTR this_ptr, uint64_t val);
+       public static native void ChannelDetails_set_outbound_capacity_msat(long this_ptr, long val);
+       // uint64_t ChannelDetails_get_next_outbound_htlc_limit_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_next_outbound_htlc_limit_msat(long this_ptr);
+       // void ChannelDetails_set_next_outbound_htlc_limit_msat(struct LDKChannelDetails *NONNULL_PTR this_ptr, uint64_t val);
+       public static native void ChannelDetails_set_next_outbound_htlc_limit_msat(long this_ptr, long val);
+       // uint64_t ChannelDetails_get_next_outbound_htlc_minimum_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_next_outbound_htlc_minimum_msat(long this_ptr);
+       // void ChannelDetails_set_next_outbound_htlc_minimum_msat(struct LDKChannelDetails *NONNULL_PTR this_ptr, uint64_t val);
+       public static native void ChannelDetails_set_next_outbound_htlc_minimum_msat(long this_ptr, long val);
+       // uint64_t ChannelDetails_get_inbound_capacity_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_inbound_capacity_msat(long this_ptr);
+       // void ChannelDetails_set_inbound_capacity_msat(struct LDKChannelDetails *NONNULL_PTR this_ptr, uint64_t val);
+       public static native void ChannelDetails_set_inbound_capacity_msat(long this_ptr, long val);
+       // struct LDKCOption_u32Z ChannelDetails_get_confirmations_required(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_confirmations_required(long this_ptr);
+       // void ChannelDetails_set_confirmations_required(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u32Z val);
+       public static native void ChannelDetails_set_confirmations_required(long this_ptr, long val);
+       // struct LDKCOption_u32Z ChannelDetails_get_confirmations(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_confirmations(long this_ptr);
+       // void ChannelDetails_set_confirmations(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u32Z val);
+       public static native void ChannelDetails_set_confirmations(long this_ptr, long val);
+       // struct LDKCOption_u16Z ChannelDetails_get_force_close_spend_delay(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_force_close_spend_delay(long this_ptr);
+       // void ChannelDetails_set_force_close_spend_delay(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u16Z val);
+       public static native void ChannelDetails_set_force_close_spend_delay(long this_ptr, long val);
+       // bool ChannelDetails_get_is_outbound(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native boolean ChannelDetails_get_is_outbound(long this_ptr);
+       // void ChannelDetails_set_is_outbound(struct LDKChannelDetails *NONNULL_PTR this_ptr, bool val);
+       public static native void ChannelDetails_set_is_outbound(long this_ptr, boolean val);
+       // bool ChannelDetails_get_is_channel_ready(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native boolean ChannelDetails_get_is_channel_ready(long this_ptr);
+       // void ChannelDetails_set_is_channel_ready(struct LDKChannelDetails *NONNULL_PTR this_ptr, bool val);
+       public static native void ChannelDetails_set_is_channel_ready(long this_ptr, boolean val);
+       // struct LDKCOption_ChannelShutdownStateZ ChannelDetails_get_channel_shutdown_state(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_channel_shutdown_state(long this_ptr);
+       // void ChannelDetails_set_channel_shutdown_state(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_ChannelShutdownStateZ val);
+       public static native void ChannelDetails_set_channel_shutdown_state(long this_ptr, long val);
+       // bool ChannelDetails_get_is_usable(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native boolean ChannelDetails_get_is_usable(long this_ptr);
+       // void ChannelDetails_set_is_usable(struct LDKChannelDetails *NONNULL_PTR this_ptr, bool val);
+       public static native void ChannelDetails_set_is_usable(long this_ptr, boolean val);
+       // bool ChannelDetails_get_is_public(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native boolean ChannelDetails_get_is_public(long this_ptr);
+       // void ChannelDetails_set_is_public(struct LDKChannelDetails *NONNULL_PTR this_ptr, bool val);
+       public static native void ChannelDetails_set_is_public(long this_ptr, boolean val);
+       // struct LDKCOption_u64Z ChannelDetails_get_inbound_htlc_minimum_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_inbound_htlc_minimum_msat(long this_ptr);
+       // void ChannelDetails_set_inbound_htlc_minimum_msat(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       public static native void ChannelDetails_set_inbound_htlc_minimum_msat(long this_ptr, long val);
+       // struct LDKCOption_u64Z ChannelDetails_get_inbound_htlc_maximum_msat(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_inbound_htlc_maximum_msat(long this_ptr);
+       // void ChannelDetails_set_inbound_htlc_maximum_msat(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCOption_u64Z val);
+       public static native void ChannelDetails_set_inbound_htlc_maximum_msat(long this_ptr, long val);
+       // struct LDKChannelConfig ChannelDetails_get_config(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long ChannelDetails_get_config(long this_ptr);
+       // void ChannelDetails_set_config(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKChannelConfig val);
+       public static native void ChannelDetails_set_config(long this_ptr, long val);
+       // struct LDKCVec_InboundHTLCDetailsZ ChannelDetails_get_pending_inbound_htlcs(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long[] ChannelDetails_get_pending_inbound_htlcs(long this_ptr);
+       // void ChannelDetails_set_pending_inbound_htlcs(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCVec_InboundHTLCDetailsZ val);
+       public static native void ChannelDetails_set_pending_inbound_htlcs(long this_ptr, long[] val);
+       // struct LDKCVec_OutboundHTLCDetailsZ ChannelDetails_get_pending_outbound_htlcs(const struct LDKChannelDetails *NONNULL_PTR this_ptr);
+       public static native long[] ChannelDetails_get_pending_outbound_htlcs(long this_ptr);
+       // void ChannelDetails_set_pending_outbound_htlcs(struct LDKChannelDetails *NONNULL_PTR this_ptr, struct LDKCVec_OutboundHTLCDetailsZ val);
+       public static native void ChannelDetails_set_pending_outbound_htlcs(long this_ptr, long[] val);
+       // MUST_USE_RES struct LDKChannelDetails ChannelDetails_new(struct LDKChannelId channel_id_arg, struct LDKChannelCounterparty counterparty_arg, struct LDKOutPoint funding_txo_arg, struct LDKChannelTypeFeatures channel_type_arg, struct LDKCOption_u64Z short_channel_id_arg, struct LDKCOption_u64Z outbound_scid_alias_arg, struct LDKCOption_u64Z inbound_scid_alias_arg, uint64_t channel_value_satoshis_arg, struct LDKCOption_u64Z unspendable_punishment_reserve_arg, struct LDKU128 user_channel_id_arg, struct LDKCOption_u32Z feerate_sat_per_1000_weight_arg, uint64_t balance_msat_arg, uint64_t outbound_capacity_msat_arg, uint64_t next_outbound_htlc_limit_msat_arg, uint64_t next_outbound_htlc_minimum_msat_arg, uint64_t inbound_capacity_msat_arg, struct LDKCOption_u32Z confirmations_required_arg, struct LDKCOption_u32Z confirmations_arg, struct LDKCOption_u16Z force_close_spend_delay_arg, bool is_outbound_arg, bool is_channel_ready_arg, struct LDKCOption_ChannelShutdownStateZ channel_shutdown_state_arg, bool is_usable_arg, bool is_public_arg, struct LDKCOption_u64Z inbound_htlc_minimum_msat_arg, struct LDKCOption_u64Z inbound_htlc_maximum_msat_arg, struct LDKChannelConfig config_arg, struct LDKCVec_InboundHTLCDetailsZ pending_inbound_htlcs_arg, struct LDKCVec_OutboundHTLCDetailsZ pending_outbound_htlcs_arg);
+       public static native long ChannelDetails_new(long channel_id_arg, long counterparty_arg, long funding_txo_arg, long channel_type_arg, long short_channel_id_arg, long outbound_scid_alias_arg, long inbound_scid_alias_arg, long channel_value_satoshis_arg, long unspendable_punishment_reserve_arg, byte[] user_channel_id_arg, long feerate_sat_per_1000_weight_arg, long balance_msat_arg, long outbound_capacity_msat_arg, long next_outbound_htlc_limit_msat_arg, long next_outbound_htlc_minimum_msat_arg, long inbound_capacity_msat_arg, long confirmations_required_arg, long confirmations_arg, long force_close_spend_delay_arg, boolean is_outbound_arg, boolean is_channel_ready_arg, long channel_shutdown_state_arg, boolean is_usable_arg, boolean is_public_arg, long inbound_htlc_minimum_msat_arg, long inbound_htlc_maximum_msat_arg, long config_arg, long[] pending_inbound_htlcs_arg, long[] pending_outbound_htlcs_arg);
+       // uint64_t ChannelDetails_clone_ptr(LDKChannelDetails *NONNULL_PTR arg);
+       public static native long ChannelDetails_clone_ptr(long arg);
+       // struct LDKChannelDetails ChannelDetails_clone(const struct LDKChannelDetails *NONNULL_PTR orig);
+       public static native long ChannelDetails_clone(long orig);
+       // MUST_USE_RES struct LDKCOption_u64Z ChannelDetails_get_inbound_payment_scid(const struct LDKChannelDetails *NONNULL_PTR this_arg);
+       public static native long ChannelDetails_get_inbound_payment_scid(long this_arg);
+       // MUST_USE_RES struct LDKCOption_u64Z ChannelDetails_get_outbound_payment_scid(const struct LDKChannelDetails *NONNULL_PTR this_arg);
+       public static native long ChannelDetails_get_outbound_payment_scid(long this_arg);
+       // struct LDKCVec_u8Z ChannelDetails_write(const struct LDKChannelDetails *NONNULL_PTR obj);
+       public static native byte[] ChannelDetails_write(long obj);
+       // struct LDKCResult_ChannelDetailsDecodeErrorZ ChannelDetails_read(struct LDKu8slice ser);
+       public static native long ChannelDetails_read(byte[] ser);
+       // enum LDKChannelShutdownState ChannelShutdownState_clone(const enum LDKChannelShutdownState *NONNULL_PTR orig);
+       public static native ChannelShutdownState ChannelShutdownState_clone(long orig);
+       // enum LDKChannelShutdownState ChannelShutdownState_not_shutting_down(void);
+       public static native ChannelShutdownState ChannelShutdownState_not_shutting_down();
+       // enum LDKChannelShutdownState ChannelShutdownState_shutdown_initiated(void);
+       public static native ChannelShutdownState ChannelShutdownState_shutdown_initiated();
+       // enum LDKChannelShutdownState ChannelShutdownState_resolving_htlcs(void);
+       public static native ChannelShutdownState ChannelShutdownState_resolving_htlcs();
+       // enum LDKChannelShutdownState ChannelShutdownState_negotiating_closing_fee(void);
+       public static native ChannelShutdownState ChannelShutdownState_negotiating_closing_fee();
+       // enum LDKChannelShutdownState ChannelShutdownState_shutdown_complete(void);
+       public static native ChannelShutdownState ChannelShutdownState_shutdown_complete();
+       // bool ChannelShutdownState_eq(const enum LDKChannelShutdownState *NONNULL_PTR a, const enum LDKChannelShutdownState *NONNULL_PTR b);
+       public static native boolean ChannelShutdownState_eq(long a, long b);
+       // struct LDKCVec_u8Z ChannelShutdownState_write(const enum LDKChannelShutdownState *NONNULL_PTR obj);
+       public static native byte[] ChannelShutdownState_write(long obj);
+       // struct LDKCResult_ChannelShutdownStateDecodeErrorZ ChannelShutdownState_read(struct LDKu8slice ser);
+       public static native long ChannelShutdownState_read(byte[] ser);
        // void ExpandedKey_free(struct LDKExpandedKey this_obj);
        public static native void ExpandedKey_free(long this_obj);
        // MUST_USE_RES struct LDKExpandedKey ExpandedKey_new(const uint8_t (*key_material)[32]);
@@ -10017,6 +10257,8 @@ public class bindings {
        public static native long SocketAddressParseError_hash(long o);
        // bool SocketAddressParseError_eq(const enum LDKSocketAddressParseError *NONNULL_PTR a, const enum LDKSocketAddressParseError *NONNULL_PTR b);
        public static native boolean SocketAddressParseError_eq(long a, long b);
+       // struct LDKStr SocketAddressParseError_to_str(const enum LDKSocketAddressParseError *NONNULL_PTR o);
+       public static native String SocketAddressParseError_to_str(long o);
        // struct LDKCResult_SocketAddressSocketAddressParseErrorZ parse_onion_address(struct LDKStr host, uint16_t port);
        public static native long parse_onion_address(String host, short port);
        // struct LDKStr SocketAddress_to_str(const struct LDKSocketAddress *NONNULL_PTR o);
@@ -10517,6 +10759,8 @@ public class bindings {
        public static native boolean TrampolineOnionPacket_eq(long a, long b);
        // struct LDKCVec_u8Z TrampolineOnionPacket_write(const struct LDKTrampolineOnionPacket *NONNULL_PTR obj);
        public static native byte[] TrampolineOnionPacket_write(long obj);
+       // struct LDKStr DecodeError_to_str(const struct LDKDecodeError *NONNULL_PTR o);
+       public static native String DecodeError_to_str(long o);
        // struct LDKCVec_u8Z AcceptChannel_write(const struct LDKAcceptChannel *NONNULL_PTR obj);
        public static native byte[] AcceptChannel_write(long obj);
        // struct LDKCResult_AcceptChannelDecodeErrorZ AcceptChannel_read(struct LDKu8slice ser);
@@ -10807,6 +11051,8 @@ public class bindings {
        public static native long PeerHandleError_clone_ptr(long arg);
        // struct LDKPeerHandleError PeerHandleError_clone(const struct LDKPeerHandleError *NONNULL_PTR orig);
        public static native long PeerHandleError_clone(long orig);
+       // struct LDKStr PeerHandleError_to_str(const struct LDKPeerHandleError *NONNULL_PTR o);
+       public static native String PeerHandleError_to_str(long o);
        // void PeerManager_free(struct LDKPeerManager this_obj);
        public static native void PeerManager_free(long this_obj);
        // MUST_USE_RES struct LDKPeerManager PeerManager_new(struct LDKMessageHandler message_handler, uint32_t current_time, const uint8_t (*ephemeral_random_data)[32], struct LDKLogger logger, struct LDKNodeSigner node_signer);
@@ -11889,6 +12135,8 @@ public class bindings {
        public static native byte[] ShutdownScript_as_legacy_pubkey(long this_arg);
        // MUST_USE_RES bool ShutdownScript_is_compatible(const struct LDKShutdownScript *NONNULL_PTR this_arg, const struct LDKInitFeatures *NONNULL_PTR features);
        public static native boolean ShutdownScript_is_compatible(long this_arg, long features);
+       // struct LDKStr ShutdownScript_to_str(const struct LDKShutdownScript *NONNULL_PTR o);
+       public static native String ShutdownScript_to_str(long o);
        // void ChannelId_free(struct LDKChannelId this_obj);
        public static native void ChannelId_free(long this_obj);
        // const uint8_t (*ChannelId_get_a(const struct LDKChannelId *NONNULL_PTR this_ptr))[32];
@@ -11925,6 +12173,8 @@ public class bindings {
        public static native byte[] ChannelId_write(long obj);
        // struct LDKCResult_ChannelIdDecodeErrorZ ChannelId_read(struct LDKu8slice ser);
        public static native long ChannelId_read(byte[] ser);
+       // struct LDKStr ChannelId_to_str(const struct LDKChannelId *NONNULL_PTR o);
+       public static native String ChannelId_to_str(long o);
        // void Retry_free(struct LDKRetry this_ptr);
        public static native void Retry_free(long this_ptr);
        // uint64_t Retry_clone_ptr(LDKRetry *NONNULL_PTR arg);
@@ -12159,6 +12409,8 @@ public class bindings {
        public static native long Quantity_one();
        // struct LDKCResult_OfferBolt12ParseErrorZ Offer_from_str(struct LDKStr s);
        public static native long Offer_from_str(String s);
+       // struct LDKStr Offer_to_str(const struct LDKOffer *NONNULL_PTR o);
+       public static native String Offer_to_str(long o);
        // void InvoiceWithExplicitSigningPubkeyBuilder_free(struct LDKInvoiceWithExplicitSigningPubkeyBuilder this_obj);
        public static native void InvoiceWithExplicitSigningPubkeyBuilder_free(long this_obj);
        // void InvoiceWithDerivedSigningPubkeyBuilder_free(struct LDKInvoiceWithDerivedSigningPubkeyBuilder this_obj);
@@ -12377,6 +12629,8 @@ public class bindings {
        public static native long ErroneousField_clone(long orig);
        // MUST_USE_RES struct LDKInvoiceError InvoiceError_from_string(struct LDKStr s);
        public static native long InvoiceError_from_string(String s);
+       // struct LDKStr InvoiceError_to_str(const struct LDKInvoiceError *NONNULL_PTR o);
+       public static native String InvoiceError_to_str(long o);
        // struct LDKCVec_u8Z InvoiceError_write(const struct LDKInvoiceError *NONNULL_PTR obj);
        public static native byte[] InvoiceError_write(long obj);
        // struct LDKCResult_InvoiceErrorDecodeErrorZ InvoiceError_read(struct LDKu8slice ser);
@@ -12733,6 +12987,8 @@ public class bindings {
        public static native byte[] Refund_write(long obj);
        // struct LDKCResult_RefundBolt12ParseErrorZ Refund_from_str(struct LDKStr s);
        public static native long Refund_from_str(String s);
+       // struct LDKStr Refund_to_str(const struct LDKRefund *NONNULL_PTR o);
+       public static native String Refund_to_str(long o);
        // enum LDKUtxoLookupError UtxoLookupError_clone(const enum LDKUtxoLookupError *NONNULL_PTR orig);
        public static native UtxoLookupError UtxoLookupError_clone(long orig);
        // enum LDKUtxoLookupError UtxoLookupError_unknown_chain(void);
@@ -12779,6 +13035,8 @@ public class bindings {
        public static native byte[] NodeId_as_array(long this_arg);
        // MUST_USE_RES struct LDKCResult_PublicKeySecp256k1ErrorZ NodeId_as_pubkey(const struct LDKNodeId *NONNULL_PTR this_arg);
        public static native long NodeId_as_pubkey(long this_arg);
+       // struct LDKStr NodeId_to_str(const struct LDKNodeId *NONNULL_PTR o);
+       public static native String NodeId_to_str(long o);
        // uint64_t NodeId_hash(const struct LDKNodeId *NONNULL_PTR o);
        public static native long NodeId_hash(long o);
        // struct LDKCVec_u8Z NodeId_write(const struct LDKNodeId *NONNULL_PTR obj);
@@ -12863,6 +13121,8 @@ public class bindings {
        public static native long ChannelUpdateInfo_clone(long orig);
        // bool ChannelUpdateInfo_eq(const struct LDKChannelUpdateInfo *NONNULL_PTR a, const struct LDKChannelUpdateInfo *NONNULL_PTR b);
        public static native boolean ChannelUpdateInfo_eq(long a, long b);
+       // struct LDKStr ChannelUpdateInfo_to_str(const struct LDKChannelUpdateInfo *NONNULL_PTR o);
+       public static native String ChannelUpdateInfo_to_str(long o);
        // struct LDKCVec_u8Z ChannelUpdateInfo_write(const struct LDKChannelUpdateInfo *NONNULL_PTR obj);
        public static native byte[] ChannelUpdateInfo_write(long obj);
        // struct LDKCResult_ChannelUpdateInfoDecodeErrorZ ChannelUpdateInfo_read(struct LDKu8slice ser);
@@ -12905,6 +13165,8 @@ public class bindings {
        public static native boolean ChannelInfo_eq(long a, long b);
        // MUST_USE_RES struct LDKChannelUpdateInfo ChannelInfo_get_directional_info(const struct LDKChannelInfo *NONNULL_PTR this_arg, uint8_t channel_flags);
        public static native long ChannelInfo_get_directional_info(long this_arg, byte channel_flags);
+       // struct LDKStr ChannelInfo_to_str(const struct LDKChannelInfo *NONNULL_PTR o);
+       public static native String ChannelInfo_to_str(long o);
        // struct LDKCVec_u8Z ChannelInfo_write(const struct LDKChannelInfo *NONNULL_PTR obj);
        public static native byte[] ChannelInfo_write(long obj);
        // struct LDKCResult_ChannelInfoDecodeErrorZ ChannelInfo_read(struct LDKu8slice ser);
@@ -13019,6 +13281,8 @@ public class bindings {
        public static native long NodeAlias_hash(long o);
        // bool NodeAlias_eq(const struct LDKNodeAlias *NONNULL_PTR a, const struct LDKNodeAlias *NONNULL_PTR b);
        public static native boolean NodeAlias_eq(long a, long b);
+       // struct LDKStr NodeAlias_to_str(const struct LDKNodeAlias *NONNULL_PTR o);
+       public static native String NodeAlias_to_str(long o);
        // struct LDKCVec_u8Z NodeAlias_write(const struct LDKNodeAlias *NONNULL_PTR obj);
        public static native byte[] NodeAlias_write(long obj);
        // struct LDKCResult_NodeAliasDecodeErrorZ NodeAlias_read(struct LDKu8slice ser);
@@ -13043,6 +13307,8 @@ public class bindings {
        public static native boolean NodeInfo_eq(long a, long b);
        // MUST_USE_RES bool NodeInfo_is_tor_only(const struct LDKNodeInfo *NONNULL_PTR this_arg);
        public static native boolean NodeInfo_is_tor_only(long this_arg);
+       // struct LDKStr NodeInfo_to_str(const struct LDKNodeInfo *NONNULL_PTR o);
+       public static native String NodeInfo_to_str(long o);
        // struct LDKCVec_u8Z NodeInfo_write(const struct LDKNodeInfo *NONNULL_PTR obj);
        public static native byte[] NodeInfo_write(long obj);
        // struct LDKCResult_NodeInfoDecodeErrorZ NodeInfo_read(struct LDKu8slice ser);
@@ -13051,6 +13317,8 @@ public class bindings {
        public static native byte[] NetworkGraph_write(long obj);
        // struct LDKCResult_NetworkGraphDecodeErrorZ NetworkGraph_read(struct LDKu8slice ser, struct LDKLogger arg);
        public static native long NetworkGraph_read(byte[] ser, long arg);
+       // struct LDKStr NetworkGraph_to_str(const struct LDKNetworkGraph *NONNULL_PTR o);
+       public static native String NetworkGraph_to_str(long o);
        // MUST_USE_RES struct LDKNetworkGraph NetworkGraph_new(enum LDKNetwork network, struct LDKLogger logger);
        public static native long NetworkGraph_new(Network network, long logger);
        // MUST_USE_RES struct LDKReadOnlyNetworkGraph NetworkGraph_read_only(const struct LDKNetworkGraph *NONNULL_PTR this_arg);
@@ -13255,6 +13523,8 @@ public class bindings {
        public static native long Route_get_total_fees(long this_arg);
        // MUST_USE_RES uint64_t Route_get_total_amount(const struct LDKRoute *NONNULL_PTR this_arg);
        public static native long Route_get_total_amount(long this_arg);
+       // struct LDKStr Route_to_str(const struct LDKRoute *NONNULL_PTR o);
+       public static native String Route_to_str(long o);
        // struct LDKCVec_u8Z Route_write(const struct LDKRoute *NONNULL_PTR obj);
        public static native byte[] Route_write(long obj);
        // struct LDKCResult_RouteDecodeErrorZ Route_read(struct LDKu8slice ser);
@@ -14549,6 +14819,8 @@ public class bindings {
        public static native long ClosureReason_htlcs_timed_out();
        // bool ClosureReason_eq(const struct LDKClosureReason *NONNULL_PTR a, const struct LDKClosureReason *NONNULL_PTR b);
        public static native boolean ClosureReason_eq(long a, long b);
+       // struct LDKStr ClosureReason_to_str(const struct LDKClosureReason *NONNULL_PTR o);
+       public static native String ClosureReason_to_str(long o);
        // struct LDKCVec_u8Z ClosureReason_write(const struct LDKClosureReason *NONNULL_PTR obj);
        public static native byte[] ClosureReason_write(long obj);
        // struct LDKCResult_COption_ClosureReasonZDecodeErrorZ ClosureReason_read(struct LDKu8slice ser);