- long ret = bindings.C2Tuple_BlockHashChannelManagerZ_new(a, bindings.ChannelManager_new(b_fee_est == null ? 0 : b_fee_est.ptr, b_chain_monitor == null ? 0 : b_chain_monitor.ptr, b_tx_broadcaster == null ? 0 : b_tx_broadcaster.ptr, b_logger == null ? 0 : b_logger.ptr, b_keys_manager == null ? 0 : b_keys_manager.ptr, b_config == null ? 0 : b_config.ptr & ~1, b_params == null ? 0 : b_params.ptr & ~1));
- if (ret >= 0 && ret < 1024) { return null; }
+ long ret = bindings.C2Tuple_BlockHashChannelManagerZ_new(InternalUtils.check_arr_len(a, 32), bindings.ChannelManager_new(b_fee_est == null ? 0 : b_fee_est.ptr, b_chain_monitor == null ? 0 : b_chain_monitor.ptr, b_tx_broadcaster == null ? 0 : b_tx_broadcaster.ptr, b_logger == null ? 0 : b_logger.ptr, b_keys_manager == null ? 0 : b_keys_manager.ptr, b_config == null ? 0 : b_config.ptr & ~1, b_params == null ? 0 : b_params.ptr & ~1));
+ Reference.reachabilityFence(a);
+ Reference.reachabilityFence(b_fee_est);
+ Reference.reachabilityFence(b_chain_monitor);
+ Reference.reachabilityFence(b_tx_broadcaster);
+ Reference.reachabilityFence(b_logger);
+ Reference.reachabilityFence(b_keys_manager);
+ Reference.reachabilityFence(b_config);
+ Reference.reachabilityFence(b_params);
+ if (ret >= 0 && ret <= 4096) { return null; }