X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FChannelTransactionParameters.java;h=cba450382f4de9038dd2ee6e54375506a0e5deb0;hb=07d5d868dfe064aadb28a7f7ca6002c16be9723d;hp=be9f47f656f814438388f43c0a6aa6496ed0bf67;hpb=330ca992be304d0eac79bd59b411980dff294b03;p=ldk-java diff --git a/src/main/java/org/ldk/structs/ChannelTransactionParameters.java b/src/main/java/org/ldk/structs/ChannelTransactionParameters.java index be9f47f6..cba45038 100644 --- a/src/main/java/org/ldk/structs/ChannelTransactionParameters.java +++ b/src/main/java/org/ldk/structs/ChannelTransactionParameters.java @@ -141,65 +141,50 @@ public class ChannelTransactionParameters extends CommonBase { } /** - * Are anchors (zero fee HTLC transaction variant) used for this channel. Boolean is - * serialization backwards-compatible. + * This channel's type, as negotiated during channel open. For old objects where this field + * wasn't serialized, it will default to static_remote_key at deserialization. */ - public COption_NoneZ get_opt_anchors() { - COption_NoneZ ret = bindings.ChannelTransactionParameters_get_opt_anchors(this.ptr); + public ChannelTypeFeatures get_channel_type_features() { + long ret = bindings.ChannelTransactionParameters_get_channel_type_features(this.ptr); Reference.reachabilityFence(this); - return ret; - } - - /** - * Are anchors (zero fee HTLC transaction variant) used for this channel. Boolean is - * serialization backwards-compatible. - */ - public void set_opt_anchors(org.ldk.enums.COption_NoneZ val) { - bindings.ChannelTransactionParameters_set_opt_anchors(this.ptr, val); - Reference.reachabilityFence(this); - Reference.reachabilityFence(val); - } - - /** - * Are non-zero-fee anchors are enabled (used in conjuction with opt_anchors) - * It is intended merely for backwards compatibility with signers that need it. - * There is no support for this feature in LDK channel negotiation. - */ - public COption_NoneZ get_opt_non_zero_fee_anchors() { - COption_NoneZ ret = bindings.ChannelTransactionParameters_get_opt_non_zero_fee_anchors(this.ptr); - Reference.reachabilityFence(this); - return ret; + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.ChannelTypeFeatures ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.ChannelTypeFeatures(null, ret); } + if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(this); }; + return ret_hu_conv; } /** - * Are non-zero-fee anchors are enabled (used in conjuction with opt_anchors) - * It is intended merely for backwards compatibility with signers that need it. - * There is no support for this feature in LDK channel negotiation. + * This channel's type, as negotiated during channel open. For old objects where this field + * wasn't serialized, it will default to static_remote_key at deserialization. */ - public void set_opt_non_zero_fee_anchors(org.ldk.enums.COption_NoneZ val) { - bindings.ChannelTransactionParameters_set_opt_non_zero_fee_anchors(this.ptr, val); + public void set_channel_type_features(org.ldk.structs.ChannelTypeFeatures val) { + bindings.ChannelTransactionParameters_set_channel_type_features(this.ptr, val == null ? 0 : val.ptr); Reference.reachabilityFence(this); Reference.reachabilityFence(val); + if (this != null) { this.ptrs_to.add(val); }; } /** * Constructs a new ChannelTransactionParameters given each field + * + * Note that counterparty_parameters_arg (or a relevant inner pointer) may be NULL or all-0s to represent None + * Note that funding_outpoint_arg (or a relevant inner pointer) may be NULL or all-0s to represent None */ - public static ChannelTransactionParameters of(org.ldk.structs.ChannelPublicKeys holder_pubkeys_arg, short holder_selected_contest_delay_arg, boolean is_outbound_from_holder_arg, org.ldk.structs.CounterpartyChannelTransactionParameters counterparty_parameters_arg, org.ldk.structs.OutPoint funding_outpoint_arg, org.ldk.enums.COption_NoneZ opt_anchors_arg, org.ldk.enums.COption_NoneZ opt_non_zero_fee_anchors_arg) { - long ret = bindings.ChannelTransactionParameters_new(holder_pubkeys_arg == null ? 0 : holder_pubkeys_arg.ptr, holder_selected_contest_delay_arg, is_outbound_from_holder_arg, counterparty_parameters_arg == null ? 0 : counterparty_parameters_arg.ptr, funding_outpoint_arg == null ? 0 : funding_outpoint_arg.ptr, opt_anchors_arg, opt_non_zero_fee_anchors_arg); + public static ChannelTransactionParameters of(org.ldk.structs.ChannelPublicKeys holder_pubkeys_arg, short holder_selected_contest_delay_arg, boolean is_outbound_from_holder_arg, @Nullable org.ldk.structs.CounterpartyChannelTransactionParameters counterparty_parameters_arg, @Nullable org.ldk.structs.OutPoint funding_outpoint_arg, org.ldk.structs.ChannelTypeFeatures channel_type_features_arg) { + long ret = bindings.ChannelTransactionParameters_new(holder_pubkeys_arg == null ? 0 : holder_pubkeys_arg.ptr, holder_selected_contest_delay_arg, is_outbound_from_holder_arg, counterparty_parameters_arg == null ? 0 : counterparty_parameters_arg.ptr, funding_outpoint_arg == null ? 0 : funding_outpoint_arg.ptr, channel_type_features_arg == null ? 0 : channel_type_features_arg.ptr); Reference.reachabilityFence(holder_pubkeys_arg); Reference.reachabilityFence(holder_selected_contest_delay_arg); Reference.reachabilityFence(is_outbound_from_holder_arg); Reference.reachabilityFence(counterparty_parameters_arg); Reference.reachabilityFence(funding_outpoint_arg); - Reference.reachabilityFence(opt_anchors_arg); - Reference.reachabilityFence(opt_non_zero_fee_anchors_arg); + Reference.reachabilityFence(channel_type_features_arg); if (ret >= 0 && ret <= 4096) { return null; } org.ldk.structs.ChannelTransactionParameters ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.ChannelTransactionParameters(null, ret); } if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); }; if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(holder_pubkeys_arg); }; if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(counterparty_parameters_arg); }; if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(funding_outpoint_arg); }; + if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(channel_type_features_arg); }; return ret_hu_conv; } @@ -221,6 +206,35 @@ public class ChannelTransactionParameters extends CommonBase { return ret_hu_conv; } + /** + * Generates a non-cryptographic 64-bit hash of the ChannelTransactionParameters. + */ + public long hash() { + long ret = bindings.ChannelTransactionParameters_hash(this.ptr); + Reference.reachabilityFence(this); + return ret; + } + + @Override public int hashCode() { + return (int)this.hash(); + } + /** + * Checks if two ChannelTransactionParameterss contain equal inner contents. + * This ignores pointers and is_owned flags and looks at the values in fields. + * Two objects with NULL inner values will be considered "equal" here. + */ + public boolean eq(org.ldk.structs.ChannelTransactionParameters b) { + boolean ret = bindings.ChannelTransactionParameters_eq(this.ptr, b == null ? 0 : b.ptr); + Reference.reachabilityFence(this); + Reference.reachabilityFence(b); + if (this != null) { this.ptrs_to.add(b); }; + return ret; + } + + @Override public boolean equals(Object o) { + if (!(o instanceof ChannelTransactionParameters)) return false; + return this.eq((ChannelTransactionParameters)o); + } /** * Whether the late bound parameters are populated. */