[Java] Update auto-generated bindings to LDK 0.0.123
[ldk-java] / src / main / java / org / ldk / structs / SignerProvider.java
index 86a5cb7fd322d92a09dc50ee3f98ee7f8ea889dd..9a4cac9e6e271cd01d4183a55a1a07e4d0ce5398 100644 (file)
@@ -38,7 +38,7 @@ public class SignerProvider extends CommonBase {
        }
        public static interface SignerProviderInterface {
                /**
-                * Generates a unique `channel_keys_id` that can be used to obtain a [`Self::Signer`] through
+                * Generates a unique `channel_keys_id` that can be used to obtain a [`Self::EcdsaSigner`] through
                 * [`SignerProvider::derive_channel_signer`]. The `user_channel_id` is provided to allow
                 * implementations of [`SignerProvider`] to maintain a mapping between itself and the generated
                 * `channel_keys_id`.
@@ -66,7 +66,7 @@ public class SignerProvider extends CommonBase {
                 * This method is slowly being phased out -- it will only be called when reading objects
                 * written by LDK versions prior to 0.0.113.
                 * 
-                * [`Signer`]: Self::Signer
+                * [`Signer`]: Self::EcdsaSigner
                 * [`ChannelMonitor`]: crate::chain::channelmonitor::ChannelMonitor
                 * [`ChannelManager`]: crate::ln::channelmanager::ChannelManager
                 */
@@ -74,17 +74,24 @@ public class SignerProvider extends CommonBase {
                /**
                 * Get a script pubkey which we send funds to when claiming on-chain contestable outputs.
                 * 
+                * If this function returns an error, this will result in a channel failing to open.
+                * 
                 * This method should return a different value each time it is called, to avoid linking
-                * on-chain funds across channels as controlled to the same user.
+                * on-chain funds across channels as controlled to the same user. `channel_keys_id` may be
+                * used to derive a unique value for each channel.
                 */
-               byte[] get_destination_script();
+               Result_CVec_u8ZNoneZ get_destination_script(byte[] channel_keys_id);
                /**
                 * Get a script pubkey which we will send funds to when closing a channel.
                 * 
+                * If this function returns an error, this will result in a channel failing to open or close.
+                * In the event of a failure when the counterparty is initiating a close, this can result in a
+                * channel force close.
+                * 
                 * This method should return a different value each time it is called, to avoid linking
                 * on-chain funds across channels as controlled to the same user.
                 */
-               ShutdownScript get_shutdown_scriptpubkey();
+               Result_ShutdownScriptNoneZ get_shutdown_scriptpubkey();
        }
        private static class LDKSignerProviderHolder { SignerProvider held; }
        public static SignerProvider new_impl(SignerProviderInterface arg) {
@@ -100,32 +107,33 @@ public class SignerProvider extends CommonBase {
                        @Override public long derive_channel_signer(long channel_value_satoshis, byte[] channel_keys_id) {
                                WriteableEcdsaChannelSigner ret = arg.derive_channel_signer(channel_value_satoshis, channel_keys_id);
                                Reference.reachabilityFence(arg);
-                               long result = ret == null ? 0 : ret.clone_ptr();
+                               long result = ret.clone_ptr();
                                if (impl_holder.held != null) { impl_holder.held.ptrs_to.add(ret); };
                                return result;
                        }
                        @Override public long read_chan_signer(byte[] reader) {
                                Result_WriteableEcdsaChannelSignerDecodeErrorZ ret = arg.read_chan_signer(reader);
                                Reference.reachabilityFence(arg);
-                               long result = ret == null ? 0 : ret.clone_ptr();
+                               long result = ret.clone_ptr();
                                return result;
                        }
-                       @Override public byte[] get_destination_script() {
-                               byte[] ret = arg.get_destination_script();
+                       @Override public long get_destination_script(byte[] channel_keys_id) {
+                               Result_CVec_u8ZNoneZ ret = arg.get_destination_script(channel_keys_id);
                                Reference.reachabilityFence(arg);
-                               return ret;
+                               long result = ret.clone_ptr();
+                               return result;
                        }
                        @Override public long get_shutdown_scriptpubkey() {
-                               ShutdownScript ret = arg.get_shutdown_scriptpubkey();
+                               Result_ShutdownScriptNoneZ ret = arg.get_shutdown_scriptpubkey();
                                Reference.reachabilityFence(arg);
-                               long result = ret == null ? 0 : ret.clone_ptr();
+                               long result = ret.clone_ptr();
                                return result;
                        }
                });
                return impl_holder.held;
        }
        /**
-        * Generates a unique `channel_keys_id` that can be used to obtain a [`Self::Signer`] through
+        * Generates a unique `channel_keys_id` that can be used to obtain a [`Self::EcdsaSigner`] through
         * [`SignerProvider::derive_channel_signer`]. The `user_channel_id` is provided to allow
         * implementations of [`SignerProvider`] to maintain a mapping between itself and the generated
         * `channel_keys_id`.
@@ -171,7 +179,7 @@ public class SignerProvider extends CommonBase {
         * This method is slowly being phased out -- it will only be called when reading objects
         * written by LDK versions prior to 0.0.113.
         * 
-        * [`Signer`]: Self::Signer
+        * [`Signer`]: Self::EcdsaSigner
         * [`ChannelMonitor`]: crate::chain::channelmonitor::ChannelMonitor
         * [`ChannelManager`]: crate::ln::channelmanager::ChannelManager
         */
@@ -187,27 +195,36 @@ public class SignerProvider extends CommonBase {
        /**
         * Get a script pubkey which we send funds to when claiming on-chain contestable outputs.
         * 
+        * If this function returns an error, this will result in a channel failing to open.
+        * 
         * This method should return a different value each time it is called, to avoid linking
-        * on-chain funds across channels as controlled to the same user.
+        * on-chain funds across channels as controlled to the same user. `channel_keys_id` may be
+        * used to derive a unique value for each channel.
         */
-       public byte[] get_destination_script() {
-               byte[] ret = bindings.SignerProvider_get_destination_script(this.ptr);
+       public Result_CVec_u8ZNoneZ get_destination_script(byte[] channel_keys_id) {
+               long ret = bindings.SignerProvider_get_destination_script(this.ptr, InternalUtils.check_arr_len(channel_keys_id, 32));
                Reference.reachabilityFence(this);
-               return ret;
+               Reference.reachabilityFence(channel_keys_id);
+               if (ret >= 0 && ret <= 4096) { return null; }
+               Result_CVec_u8ZNoneZ ret_hu_conv = Result_CVec_u8ZNoneZ.constr_from_ptr(ret);
+               return ret_hu_conv;
        }
 
        /**
         * Get a script pubkey which we will send funds to when closing a channel.
         * 
+        * If this function returns an error, this will result in a channel failing to open or close.
+        * In the event of a failure when the counterparty is initiating a close, this can result in a
+        * channel force close.
+        * 
         * This method should return a different value each time it is called, to avoid linking
         * on-chain funds across channels as controlled to the same user.
         */
-       public ShutdownScript get_shutdown_scriptpubkey() {
+       public Result_ShutdownScriptNoneZ get_shutdown_scriptpubkey() {
                long ret = bindings.SignerProvider_get_shutdown_scriptpubkey(this.ptr);
                Reference.reachabilityFence(this);
                if (ret >= 0 && ret <= 4096) { return null; }
-               org.ldk.structs.ShutdownScript ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.ShutdownScript(null, ret); }
-               if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(this); };
+               Result_ShutdownScriptNoneZ ret_hu_conv = Result_ShutdownScriptNoneZ.constr_from_ptr(ret);
                return ret_hu_conv;
        }