[Java] Update auto-generated bindings to 0.0.117
[ldk-java] / src / main / java / org / ldk / structs / RecentPaymentDetails.java
index c543dd73eb802bcca6faed5c7dac4b01f12119b1..895d56a7fc2e3ed7f279f531bbb8864677a626a4 100644 (file)
@@ -22,6 +22,9 @@ public class RecentPaymentDetails extends CommonBase {
        }
        static RecentPaymentDetails constr_from_ptr(long ptr) {
                bindings.LDKRecentPaymentDetails raw_val = bindings.LDKRecentPaymentDetails_ref_from_ptr(ptr);
+               if (raw_val.getClass() == bindings.LDKRecentPaymentDetails.AwaitingInvoice.class) {
+                       return new AwaitingInvoice(ptr, (bindings.LDKRecentPaymentDetails.AwaitingInvoice)raw_val);
+               }
                if (raw_val.getClass() == bindings.LDKRecentPaymentDetails.Pending.class) {
                        return new Pending(ptr, (bindings.LDKRecentPaymentDetails.Pending)raw_val);
                }
@@ -34,10 +37,29 @@ public class RecentPaymentDetails extends CommonBase {
                assert false; return null; // Unreachable without extending the (internal) bindings interface
        }
 
+       /**
+        * When an invoice was requested and thus a payment has not yet been sent.
+        */
+       public final static class AwaitingInvoice extends RecentPaymentDetails {
+               /**
+                * A user-provided identifier in [`ChannelManager::send_payment`] used to uniquely identify
+                * a payment and ensure idempotency in LDK.
+               */
+               public final byte[] payment_id;
+               private AwaitingInvoice(long ptr, bindings.LDKRecentPaymentDetails.AwaitingInvoice obj) {
+                       super(null, ptr);
+                       this.payment_id = obj.payment_id;
+               }
+       }
        /**
         * When a payment is still being sent and awaiting successful delivery.
         */
        public final static class Pending extends RecentPaymentDetails {
+               /**
+                * A user-provided identifier in [`ChannelManager::send_payment`] used to uniquely identify
+                * a payment and ensure idempotency in LDK.
+               */
+               public final byte[] payment_id;
                /**
                 * Hash of the payment that is currently being sent but has yet to be fulfilled or
                 * abandoned.
@@ -50,6 +72,7 @@ public class RecentPaymentDetails extends CommonBase {
                public final long total_msat;
                private Pending(long ptr, bindings.LDKRecentPaymentDetails.Pending obj) {
                        super(null, ptr);
+                       this.payment_id = obj.payment_id;
                        this.payment_hash = obj.payment_hash;
                        this.total_msat = obj.total_msat;
                }
@@ -60,15 +83,21 @@ public class RecentPaymentDetails extends CommonBase {
         * payment is removed from tracking.
         */
        public final static class Fulfilled extends RecentPaymentDetails {
+               /**
+                * A user-provided identifier in [`ChannelManager::send_payment`] used to uniquely identify
+                * a payment and ensure idempotency in LDK.
+               */
+               public final byte[] payment_id;
                /**
                 * Hash of the payment that was claimed. `None` for serializations of [`ChannelManager`]
                 * made before LDK version 0.0.104.
                */
-               public final org.ldk.structs.Option_PaymentHashZ payment_hash;
+               public final org.ldk.structs.Option_ThirtyTwoBytesZ payment_hash;
                private Fulfilled(long ptr, bindings.LDKRecentPaymentDetails.Fulfilled obj) {
                        super(null, ptr);
+                       this.payment_id = obj.payment_id;
                        long payment_hash = obj.payment_hash;
-                       org.ldk.structs.Option_PaymentHashZ payment_hash_hu_conv = org.ldk.structs.Option_PaymentHashZ.constr_from_ptr(payment_hash);
+                       org.ldk.structs.Option_ThirtyTwoBytesZ payment_hash_hu_conv = org.ldk.structs.Option_ThirtyTwoBytesZ.constr_from_ptr(payment_hash);
                        if (payment_hash_hu_conv != null) { payment_hash_hu_conv.ptrs_to.add(this); };
                        this.payment_hash = payment_hash_hu_conv;
                }
@@ -79,12 +108,18 @@ public class RecentPaymentDetails extends CommonBase {
         * pending HTLCs for this payment resolve and an [`Event::PaymentFailed`] is generated.
         */
        public final static class Abandoned extends RecentPaymentDetails {
+               /**
+                * A user-provided identifier in [`ChannelManager::send_payment`] used to uniquely identify
+                * a payment and ensure idempotency in LDK.
+               */
+               public final byte[] payment_id;
                /**
                 * Hash of the payment that we have given up trying to send.
                */
                public final byte[] payment_hash;
                private Abandoned(long ptr, bindings.LDKRecentPaymentDetails.Abandoned obj) {
                        super(null, ptr);
+                       this.payment_id = obj.payment_id;
                        this.payment_hash = obj.payment_hash;
                }
        }
@@ -106,11 +141,24 @@ public class RecentPaymentDetails extends CommonBase {
                return ret_hu_conv;
        }
 
+       /**
+        * Utility method to constructs a new AwaitingInvoice-variant RecentPaymentDetails
+        */
+       public static RecentPaymentDetails awaiting_invoice(byte[] payment_id) {
+               long ret = bindings.RecentPaymentDetails_awaiting_invoice(InternalUtils.check_arr_len(payment_id, 32));
+               Reference.reachabilityFence(payment_id);
+               if (ret >= 0 && ret <= 4096) { return null; }
+               org.ldk.structs.RecentPaymentDetails ret_hu_conv = org.ldk.structs.RecentPaymentDetails.constr_from_ptr(ret);
+               if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); };
+               return ret_hu_conv;
+       }
+
        /**
         * Utility method to constructs a new Pending-variant RecentPaymentDetails
         */
-       public static RecentPaymentDetails pending(byte[] payment_hash, long total_msat) {
-               long ret = bindings.RecentPaymentDetails_pending(InternalUtils.check_arr_len(payment_hash, 32), total_msat);
+       public static RecentPaymentDetails pending(byte[] payment_id, byte[] payment_hash, long total_msat) {
+               long ret = bindings.RecentPaymentDetails_pending(InternalUtils.check_arr_len(payment_id, 32), InternalUtils.check_arr_len(payment_hash, 32), total_msat);
+               Reference.reachabilityFence(payment_id);
                Reference.reachabilityFence(payment_hash);
                Reference.reachabilityFence(total_msat);
                if (ret >= 0 && ret <= 4096) { return null; }
@@ -122,8 +170,9 @@ public class RecentPaymentDetails extends CommonBase {
        /**
         * Utility method to constructs a new Fulfilled-variant RecentPaymentDetails
         */
-       public static RecentPaymentDetails fulfilled(org.ldk.structs.Option_PaymentHashZ payment_hash) {
-               long ret = bindings.RecentPaymentDetails_fulfilled(payment_hash.ptr);
+       public static RecentPaymentDetails fulfilled(byte[] payment_id, org.ldk.structs.Option_ThirtyTwoBytesZ payment_hash) {
+               long ret = bindings.RecentPaymentDetails_fulfilled(InternalUtils.check_arr_len(payment_id, 32), payment_hash.ptr);
+               Reference.reachabilityFence(payment_id);
                Reference.reachabilityFence(payment_hash);
                if (ret >= 0 && ret <= 4096) { return null; }
                org.ldk.structs.RecentPaymentDetails ret_hu_conv = org.ldk.structs.RecentPaymentDetails.constr_from_ptr(ret);
@@ -135,8 +184,9 @@ public class RecentPaymentDetails extends CommonBase {
        /**
         * Utility method to constructs a new Abandoned-variant RecentPaymentDetails
         */
-       public static RecentPaymentDetails abandoned(byte[] payment_hash) {
-               long ret = bindings.RecentPaymentDetails_abandoned(InternalUtils.check_arr_len(payment_hash, 32));
+       public static RecentPaymentDetails abandoned(byte[] payment_id, byte[] payment_hash) {
+               long ret = bindings.RecentPaymentDetails_abandoned(InternalUtils.check_arr_len(payment_id, 32), InternalUtils.check_arr_len(payment_hash, 32));
+               Reference.reachabilityFence(payment_id);
                Reference.reachabilityFence(payment_hash);
                if (ret >= 0 && ret <= 4096) { return null; }
                org.ldk.structs.RecentPaymentDetails ret_hu_conv = org.ldk.structs.RecentPaymentDetails.constr_from_ptr(ret);