diff --git a/lightningd/lightningd.h b/lightningd/lightningd.h index 11d047154..0bcbbbf1b 100644 --- a/lightningd/lightningd.h +++ b/lightningd/lightningd.h @@ -67,6 +67,9 @@ struct config { /* Are we allowed to use DNS lookup for peers. */ bool use_dns; + + /* Minimal amount of effective funding_satoshis for accepting channels */ + u64 min_capacity_sat; }; struct lightningd { diff --git a/lightningd/opening_control.c b/lightningd/opening_control.c index 2fb72b3e6..7d80df179 100644 --- a/lightningd/opening_control.c +++ b/lightningd/opening_control.c @@ -662,8 +662,10 @@ static void channel_config(struct lightningd *ld, { /* FIXME: depend on feerate. */ *max_to_self_delay = ld->config.locktime_max; - /* This is 1c at $1000/BTC */ - *min_effective_htlc_capacity = AMOUNT_MSAT(1000000); + + /* Take minimal effective capacity from config min_capacity_sat */ + amount_msat_from_sat_u64(min_effective_htlc_capacity, + ld->config.min_capacity_sat); /* BOLT #2: * diff --git a/lightningd/options.c b/lightningd/options.c index 8e6209e71..4f6441f60 100644 --- a/lightningd/options.c +++ b/lightningd/options.c @@ -376,6 +376,9 @@ static void config_register_opts(struct lightningd *ld) opt_register_arg("--fee-per-satoshi", opt_set_u32, opt_show_u32, &ld->config.fee_per_satoshi, "Microsatoshi fee for every satoshi in HTLC"); + opt_register_arg("--min-capacity-sat", opt_set_u64, opt_show_u64, + &ld->config.min_capacity_sat, + "Minimum capacity in satoshis for accepting channels"); opt_register_arg("--addr", opt_add_addr, NULL, ld, "Set an IP address (v4 or v6) to listen on and announce to the network for incoming connections"); @@ -544,6 +547,9 @@ static const struct config testnet_config = { .max_fee_multiplier = 10, .use_dns = true, + + /* Sets min_effective_htlc_capacity - at 1000$/BTC this is 1ct */ + .min_capacity_sat = 1000, }; /* aka. "Dude, where's my coins?" */ @@ -607,6 +613,9 @@ static const struct config mainnet_config = { .max_fee_multiplier = 10, .use_dns = true, + + /* Sets min_effective_htlc_capacity - at 1000$/BTC this is 1ct */ + .min_capacity_sat = 1000, }; static void check_config(struct lightningd *ld) diff --git a/wallet/test/test_utils.c b/wallet/test/test_utils.c index 78bcd81cb..2bd8f13be 100644 --- a/wallet/test/test_utils.c +++ b/wallet/test/test_utils.c @@ -22,4 +22,5 @@ const struct config test_config = { .rescan = 30, .max_fee_multiplier = 10, .use_dns = true, + .min_capacity_sat = 1000, };