[C#] Update auto-generated C# bindings
[ldk-java] / c_sharp / src / org / ldk / structs / RecentPaymentDetails.cs
index b52df11977560b41d22985c3fddec112b3ee2e8a..0a258bae374b852c6860b405d1d7b2814693affa 100644 (file)
@@ -18,16 +18,35 @@ public class RecentPaymentDetails : CommonBase {
        internal static RecentPaymentDetails constr_from_ptr(long ptr) {
                long raw_ty = bindings.LDKRecentPaymentDetails_ty_from_ptr(ptr);
                switch (raw_ty) {
-                       case 0: return new RecentPaymentDetails_Pending(ptr);
-                       case 1: return new RecentPaymentDetails_Fulfilled(ptr);
-                       case 2: return new RecentPaymentDetails_Abandoned(ptr);
+                       case 0: return new RecentPaymentDetails_AwaitingInvoice(ptr);
+                       case 1: return new RecentPaymentDetails_Pending(ptr);
+                       case 2: return new RecentPaymentDetails_Fulfilled(ptr);
+                       case 3: return new RecentPaymentDetails_Abandoned(ptr);
                        default:
                                throw new ArgumentException("Impossible enum variant");
                }
        }
 
+       /** A RecentPaymentDetails of type AwaitingInvoice */
+       public class RecentPaymentDetails_AwaitingInvoice : RecentPaymentDetails {
+               /**
+                * A user-provided identifier in [`ChannelManager::send_payment`] used to uniquely identify
+                * a payment and ensure idempotency in LDK.
+                */
+               public byte[] payment_id;
+               internal RecentPaymentDetails_AwaitingInvoice(long ptr) : base(null, ptr) {
+                       long payment_id = bindings.LDKRecentPaymentDetails_AwaitingInvoice_get_payment_id(ptr);
+                       byte[] payment_id_conv = InternalUtils.decodeUint8Array(payment_id);
+                       this.payment_id = payment_id_conv;
+               }
+       }
        /** A RecentPaymentDetails of type Pending */
        public class RecentPaymentDetails_Pending : RecentPaymentDetails {
+               /**
+                * A user-provided identifier in [`ChannelManager::send_payment`] used to uniquely identify
+                * a payment and ensure idempotency in LDK.
+                */
+               public byte[] payment_id;
                /**
                 * Hash of the payment that is currently being sent but has yet to be fulfilled or
                 * abandoned.
@@ -39,32 +58,55 @@ public class RecentPaymentDetails : CommonBase {
                 */
                public long total_msat;
                internal RecentPaymentDetails_Pending(long ptr) : base(null, ptr) {
-                       this.payment_hash = bindings.LDKRecentPaymentDetails_Pending_get_payment_hash(ptr);
+                       long payment_id = bindings.LDKRecentPaymentDetails_Pending_get_payment_id(ptr);
+                       byte[] payment_id_conv = InternalUtils.decodeUint8Array(payment_id);
+                       this.payment_id = payment_id_conv;
+                       long payment_hash = bindings.LDKRecentPaymentDetails_Pending_get_payment_hash(ptr);
+                       byte[] payment_hash_conv = InternalUtils.decodeUint8Array(payment_hash);
+                       this.payment_hash = payment_hash_conv;
                        this.total_msat = bindings.LDKRecentPaymentDetails_Pending_get_total_msat(ptr);
                }
        }
        /** A RecentPaymentDetails of type Fulfilled */
        public class RecentPaymentDetails_Fulfilled : RecentPaymentDetails {
+               /**
+                * A user-provided identifier in [`ChannelManager::send_payment`] used to uniquely identify
+                * a payment and ensure idempotency in LDK.
+                */
+               public byte[] payment_id;
                /**
                 * Hash of the payment that was claimed. `None` for serializations of [`ChannelManager`]
                 * made before LDK version 0.0.104.
                 */
-               public Option_PaymentHashZ payment_hash;
+               public Option_ThirtyTwoBytesZ payment_hash;
                internal RecentPaymentDetails_Fulfilled(long ptr) : base(null, ptr) {
+                       long payment_id = bindings.LDKRecentPaymentDetails_Fulfilled_get_payment_id(ptr);
+                       byte[] payment_id_conv = InternalUtils.decodeUint8Array(payment_id);
+                       this.payment_id = payment_id_conv;
                        long payment_hash = bindings.LDKRecentPaymentDetails_Fulfilled_get_payment_hash(ptr);
-                       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.AddLast(this); };
                        this.payment_hash = payment_hash_hu_conv;
                }
        }
        /** A RecentPaymentDetails of type Abandoned */
        public class RecentPaymentDetails_Abandoned : RecentPaymentDetails {
+               /**
+                * A user-provided identifier in [`ChannelManager::send_payment`] used to uniquely identify
+                * a payment and ensure idempotency in LDK.
+                */
+               public byte[] payment_id;
                /**
                 * Hash of the payment that we have given up trying to send.
                 */
                public byte[] payment_hash;
                internal RecentPaymentDetails_Abandoned(long ptr) : base(null, ptr) {
-                       this.payment_hash = bindings.LDKRecentPaymentDetails_Abandoned_get_payment_hash(ptr);
+                       long payment_id = bindings.LDKRecentPaymentDetails_Abandoned_get_payment_id(ptr);
+                       byte[] payment_id_conv = InternalUtils.decodeUint8Array(payment_id);
+                       this.payment_id = payment_id_conv;
+                       long payment_hash = bindings.LDKRecentPaymentDetails_Abandoned_get_payment_hash(ptr);
+                       byte[] payment_hash_conv = InternalUtils.decodeUint8Array(payment_hash);
+                       this.payment_hash = payment_hash_conv;
                }
        }
        internal long clone_ptr() {
@@ -85,11 +127,24 @@ public class RecentPaymentDetails : 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.encodeUint8Array(InternalUtils.check_arr_len(payment_id, 32)));
+               GC.KeepAlive(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.AddLast(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.encodeUint8Array(InternalUtils.check_arr_len(payment_id, 32)), InternalUtils.encodeUint8Array(InternalUtils.check_arr_len(payment_hash, 32)), total_msat);
+               GC.KeepAlive(payment_id);
                GC.KeepAlive(payment_hash);
                GC.KeepAlive(total_msat);
                if (ret >= 0 && ret <= 4096) { return null; }
@@ -101,8 +156,9 @@ public class RecentPaymentDetails : 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.encodeUint8Array(InternalUtils.check_arr_len(payment_id, 32)), payment_hash.ptr);
+               GC.KeepAlive(payment_id);
                GC.KeepAlive(payment_hash);
                if (ret >= 0 && ret <= 4096) { return null; }
                org.ldk.structs.RecentPaymentDetails ret_hu_conv = org.ldk.structs.RecentPaymentDetails.constr_from_ptr(ret);
@@ -114,8 +170,9 @@ public class RecentPaymentDetails : 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.encodeUint8Array(InternalUtils.check_arr_len(payment_id, 32)), InternalUtils.encodeUint8Array(InternalUtils.check_arr_len(payment_hash, 32)));
+               GC.KeepAlive(payment_id);
                GC.KeepAlive(payment_hash);
                if (ret >= 0 && ret <= 4096) { return null; }
                org.ldk.structs.RecentPaymentDetails ret_hu_conv = org.ldk.structs.RecentPaymentDetails.constr_from_ptr(ret);