- public ChannelManager(LDKNetwork network, FeeEstimator fee_est, Watch chain_monitor, BroadcasterInterface tx_broadcaster, Logger logger, KeysInterface keys_manager, UserConfig config, long current_blockchain_height) {
- super(bindings.ChannelManager_new(network, fee_est == null ? 0 : fee_est.ptr, chain_monitor == null ? 0 : chain_monitor.ptr, tx_broadcaster == null ? 0 : tx_broadcaster.ptr, logger == null ? 0 : logger.ptr, keys_manager == null ? 0 : keys_manager.ptr, config == null ? 0 : config.ptr & ~1, current_blockchain_height));
- this.ptrs_to.add(fee_est);
- this.ptrs_to.add(chain_monitor);
- this.ptrs_to.add(tx_broadcaster);
- this.ptrs_to.add(logger);
- this.ptrs_to.add(keys_manager);
- this.ptrs_to.add(config);
+ public static ChannelManager constructor_new(LDKNetwork network, FeeEstimator fee_est, Watch chain_monitor, BroadcasterInterface tx_broadcaster, Logger logger, KeysInterface keys_manager, UserConfig config, long current_blockchain_height) {
+ long ret = bindings.ChannelManager_new(network, fee_est == null ? 0 : fee_est.ptr, chain_monitor == null ? 0 : chain_monitor.ptr, tx_broadcaster == null ? 0 : tx_broadcaster.ptr, logger == null ? 0 : logger.ptr, keys_manager == null ? 0 : keys_manager.ptr, config == null ? 0 : config.ptr & ~1, current_blockchain_height);
+ ChannelManager ret_hu_conv = new ChannelManager(null, ret);
+ ret_hu_conv.ptrs_to.add(fee_est);
+ ret_hu_conv.ptrs_to.add(chain_monitor);
+ ret_hu_conv.ptrs_to.add(tx_broadcaster);
+ ret_hu_conv.ptrs_to.add(logger);
+ ret_hu_conv.ptrs_to.add(keys_manager);
+ ret_hu_conv.ptrs_to.add(config);
+ return ret_hu_conv;
+ }
+
+ public Result_NoneAPIErrorZ create_channel(byte[] their_network_key, long channel_value_satoshis, long push_msat, long user_id, UserConfig override_config) {
+ long ret = bindings.ChannelManager_create_channel(this.ptr, their_network_key, channel_value_satoshis, push_msat, user_id, override_config == null ? 0 : override_config.ptr & ~1);
+ Result_NoneAPIErrorZ ret_hu_conv = Result_NoneAPIErrorZ.constr_from_ptr(ret);
+ ret_hu_conv.ptrs_to.add(this);
+ this.ptrs_to.add(override_config);
+ return ret_hu_conv;
+ }
+
+ public ChannelDetails[] list_channels() {
+ long[] ret = bindings.ChannelManager_list_channels(this.ptr);
+ ChannelDetails[] arr_conv_16_arr = new ChannelDetails[ret.length];
+ for (int q = 0; q < ret.length; q++) {
+ long arr_conv_16 = ret[q];
+ ChannelDetails arr_conv_16_hu_conv = new ChannelDetails(null, arr_conv_16);
+ arr_conv_16_arr[q] = arr_conv_16_hu_conv;
+ }
+ return arr_conv_16_arr;
+ }
+
+ public ChannelDetails[] list_usable_channels() {
+ long[] ret = bindings.ChannelManager_list_usable_channels(this.ptr);
+ ChannelDetails[] arr_conv_16_arr = new ChannelDetails[ret.length];
+ for (int q = 0; q < ret.length; q++) {
+ long arr_conv_16 = ret[q];
+ ChannelDetails arr_conv_16_hu_conv = new ChannelDetails(null, arr_conv_16);
+ arr_conv_16_arr[q] = arr_conv_16_hu_conv;
+ }
+ return arr_conv_16_arr;
+ }
+
+ public Result_NoneAPIErrorZ close_channel(byte[] channel_id) {
+ long ret = bindings.ChannelManager_close_channel(this.ptr, channel_id);
+ Result_NoneAPIErrorZ ret_hu_conv = Result_NoneAPIErrorZ.constr_from_ptr(ret);
+ ret_hu_conv.ptrs_to.add(this);
+ return ret_hu_conv;