X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FKeysInterface.java;h=d3463631db8a6f09ac8fa9a7e95f3af5fc4e82c5;hb=276893d3b8bd3fcb2bb10e3cab73a69d34831909;hp=3aa894b83be1b9e32118370da4f2b6dd4893425e;hpb=0ddbeb5d1cddaa1d89cad2a63548434b2e1e227a;p=ldk-java diff --git a/src/main/java/org/ldk/structs/KeysInterface.java b/src/main/java/org/ldk/structs/KeysInterface.java index 3aa894b8..d3463631 100644 --- a/src/main/java/org/ldk/structs/KeysInterface.java +++ b/src/main/java/org/ldk/structs/KeysInterface.java @@ -23,11 +23,14 @@ public class KeysInterface extends CommonBase { byte[] get_node_secret(); byte[] get_destination_script(); byte[] get_shutdown_pubkey(); - ChannelKeys get_channel_keys(boolean inbound, long channel_value_satoshis); + Sign get_channel_signer(boolean inbound, long channel_value_satoshis); byte[] get_secure_random_bytes(); + Result_SignDecodeErrorZ 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; @@ -40,18 +43,23 @@ public class KeysInterface extends CommonBase { byte[] ret = arg.get_shutdown_pubkey(); return ret; } - @Override public long get_channel_keys(boolean inbound, long channel_value_satoshis) { - ChannelKeys ret = arg.get_channel_keys(inbound, channel_value_satoshis); + @Override public long get_channel_signer(boolean inbound, long channel_value_satoshis) { + Sign ret = arg.get_channel_signer(inbound, channel_value_satoshis); long result = ret == null ? 0 : ret.ptr; - //TODO: May need to call: this.ptrs_to.add(ret); - ret.ptr = 0; + 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_SignDecodeErrorZ 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); @@ -68,9 +76,9 @@ public class KeysInterface extends CommonBase { return ret; } - public ChannelKeys get_channel_keys(boolean inbound, long channel_value_satoshis) { - long ret = bindings.KeysInterface_get_channel_keys(this.ptr, inbound, channel_value_satoshis); - ChannelKeys ret_hu_conv = new ChannelKeys(null, ret); + public Sign get_channel_signer(boolean inbound, long channel_value_satoshis) { + long ret = bindings.KeysInterface_get_channel_signer(this.ptr, inbound, channel_value_satoshis); + Sign ret_hu_conv = new Sign(null, ret); ret_hu_conv.ptrs_to.add(this); return ret_hu_conv; } @@ -80,4 +88,10 @@ public class KeysInterface extends CommonBase { return ret; } + public Result_SignDecodeErrorZ read_chan_signer(byte[] reader) { + long ret = bindings.KeysInterface_read_chan_signer(this.ptr, reader); + Result_SignDecodeErrorZ ret_hu_conv = Result_SignDecodeErrorZ.constr_from_ptr(ret); + return ret_hu_conv; + } + }