- public static ChannelDetails of(byte[] channel_id_arg, ChannelCounterparty counterparty_arg, OutPoint funding_txo_arg, Option_u64Z short_channel_id_arg, long channel_value_satoshis_arg, Option_u64Z unspendable_punishment_reserve_arg, long user_channel_id_arg, long outbound_capacity_msat_arg, long inbound_capacity_msat_arg, Option_u32Z confirmations_required_arg, Option_u16Z force_close_spend_delay_arg, boolean is_outbound_arg, boolean is_funding_locked_arg, boolean is_usable_arg, boolean is_public_arg) {
- long ret = bindings.ChannelDetails_new(channel_id_arg, counterparty_arg == null ? 0 : counterparty_arg.ptr & ~1, funding_txo_arg == null ? 0 : funding_txo_arg.ptr & ~1, short_channel_id_arg.ptr, channel_value_satoshis_arg, unspendable_punishment_reserve_arg.ptr, user_channel_id_arg, outbound_capacity_msat_arg, inbound_capacity_msat_arg, confirmations_required_arg.ptr, force_close_spend_delay_arg.ptr, is_outbound_arg, is_funding_locked_arg, is_usable_arg, is_public_arg);
- if (ret >= 0 && ret < 1024) { return null; }
- ChannelDetails ret_hu_conv = new ChannelDetails(null, ret);
+ public static ChannelDetails of(byte[] channel_id_arg, ChannelCounterparty counterparty_arg, OutPoint funding_txo_arg, Option_u64Z short_channel_id_arg, long channel_value_satoshis_arg, Option_u64Z unspendable_punishment_reserve_arg, long user_channel_id_arg, long balance_msat_arg, long outbound_capacity_msat_arg, long inbound_capacity_msat_arg, Option_u32Z confirmations_required_arg, Option_u16Z force_close_spend_delay_arg, boolean is_outbound_arg, boolean is_funding_locked_arg, boolean is_usable_arg, boolean is_public_arg) {
+ long ret = bindings.ChannelDetails_new(InternalUtils.check_arr_len(channel_id_arg, 32), counterparty_arg == null ? 0 : counterparty_arg.ptr & ~1, funding_txo_arg == null ? 0 : funding_txo_arg.ptr & ~1, short_channel_id_arg.ptr, channel_value_satoshis_arg, unspendable_punishment_reserve_arg.ptr, user_channel_id_arg, balance_msat_arg, outbound_capacity_msat_arg, inbound_capacity_msat_arg, confirmations_required_arg.ptr, force_close_spend_delay_arg.ptr, is_outbound_arg, is_funding_locked_arg, is_usable_arg, is_public_arg);
+ Reference.reachabilityFence(channel_id_arg);
+ Reference.reachabilityFence(counterparty_arg);
+ Reference.reachabilityFence(funding_txo_arg);
+ Reference.reachabilityFence(short_channel_id_arg);
+ Reference.reachabilityFence(channel_value_satoshis_arg);
+ Reference.reachabilityFence(unspendable_punishment_reserve_arg);
+ Reference.reachabilityFence(user_channel_id_arg);
+ Reference.reachabilityFence(balance_msat_arg);
+ Reference.reachabilityFence(outbound_capacity_msat_arg);
+ Reference.reachabilityFence(inbound_capacity_msat_arg);
+ Reference.reachabilityFence(confirmations_required_arg);
+ Reference.reachabilityFence(force_close_spend_delay_arg);
+ Reference.reachabilityFence(is_outbound_arg);
+ Reference.reachabilityFence(is_funding_locked_arg);
+ Reference.reachabilityFence(is_usable_arg);
+ Reference.reachabilityFence(is_public_arg);
+ if (ret >= 0 && ret <= 4096) { return null; }
+ ChannelDetails ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new ChannelDetails(null, ret); }