Update auto-generated bindings with new upstream.
[ldk-java] / src / main / java / org / ldk / structs / KeysInterface.java
index e60efc5a2cc710edd092e1a5dac3c9e69bb7e07c..84a2762347e31262dd20aad3042b620e4a46b6b9 100644 (file)
@@ -25,9 +25,12 @@ public class KeysInterface extends CommonBase {
                byte[] get_shutdown_pubkey();
                ChannelKeys get_channel_keys(boolean inbound, long channel_value_satoshis);
                byte[] get_secure_random_bytes();
+               Result_ChannelKeysDecodeErrorZ read_chan_signer(byte[] reader);
        }
-       public KeysInterface(KeysInterfaceInterface arg) {
-               this(new bindings.LDKKeysInterface() {
+       private static class LDKKeysInterfaceHolder { KeysInterface held; }
+       public static KeysInterface new_impl(KeysInterfaceInterface arg) {
+               final LDKKeysInterfaceHolder impl_holder = new LDKKeysInterfaceHolder();
+               impl_holder.held = new KeysInterface(new bindings.LDKKeysInterface() {
                        @Override public byte[] get_node_secret() {
                                byte[] ret = arg.get_node_secret();
                                return ret;
@@ -42,15 +45,21 @@ public class KeysInterface extends CommonBase {
                        }
                        @Override public long get_channel_keys(boolean inbound, long channel_value_satoshis) {
                                ChannelKeys ret = arg.get_channel_keys(inbound, channel_value_satoshis);
-                               long result = ret.ptr;
-                               ret.ptr = 0;
+                               long result = ret == null ? 0 : ret.ptr;
+                               impl_holder.held.ptrs_to.add(ret);
                                return result;
                        }
                        @Override public byte[] get_secure_random_bytes() {
                                byte[] ret = arg.get_secure_random_bytes();
                                return ret;
                        }
+                       @Override public long read_chan_signer(byte[] reader) {
+                               Result_ChannelKeysDecodeErrorZ ret = arg.read_chan_signer(reader);
+                               long result = ret != null ? ret.ptr : 0;
+                               return result;
+                       }
                });
+               return impl_holder.held;
        }
        public byte[] get_node_secret() {
                byte[] ret = bindings.KeysInterface_get_node_secret(this.ptr);
@@ -79,4 +88,10 @@ public class KeysInterface extends CommonBase {
                return ret;
        }
 
+       public Result_ChannelKeysDecodeErrorZ read_chan_signer(byte[] reader) {
+               long ret = bindings.KeysInterface_read_chan_signer(this.ptr, reader);
+               Result_ChannelKeysDecodeErrorZ ret_hu_conv = Result_ChannelKeysDecodeErrorZ.constr_from_ptr(ret);
+               return ret_hu_conv;
+       }
+
 }