diff --git a/daemon/lightningd.c b/daemon/lightningd.c index 9530961b3..2832acf8f 100644 --- a/daemon/lightningd.c +++ b/daemon/lightningd.c @@ -117,7 +117,7 @@ static void config_register_opts(struct lightningd_state *dstate) "Minimum percentage of fee to accept for commitment"); opt_register_arg("--commit-fee-max=", opt_set_u32, opt_show_u32, &dstate->config.commitment_fee_max_percent, - "Maximum percentage of fee to accept for commitment"); + "Maximum percentage of fee to accept for commitment (0 for unlimited)"); opt_register_arg("--commit-fee=", opt_set_u32, opt_show_u32, &dstate->config.commitment_fee_percent, "Percentage of fee to request for their commitment"); @@ -226,7 +226,8 @@ static void default_config(struct config *config) static void check_config(struct lightningd_state *dstate) { /* We do this by ensuring it's less than the minimum we would accept. */ - if (dstate->config.commitment_fee_max_percent + if (dstate->config.commitment_fee_max_percent != 0 + && dstate->config.commitment_fee_max_percent < dstate->config.commitment_fee_min_percent) fatal("Commitment fee invalid min-max %u-%u", dstate->config.commitment_fee_min_percent, diff --git a/daemon/packets.c b/daemon/packets.c index 2e9275ec2..985231777 100644 --- a/daemon/packets.c +++ b/daemon/packets.c @@ -308,8 +308,9 @@ Pkt *accept_pkt_open(struct peer *peer, const Pkt *pkt, return pkt_err(peer, "Commitment fee %u below %"PRIu64" x %u%%", o->initial_fee_rate, feerate, peer->dstate->config.commitment_fee_min_percent); - if (o->initial_fee_rate - > feerate * peer->dstate->config.commitment_fee_max_percent / 100) + if (peer->dstate->config.commitment_fee_max_percent != 0 + && (o->initial_fee_rate + > feerate * peer->dstate->config.commitment_fee_max_percent/100)) return pkt_err(peer, "Commitment fee %u above %"PRIu64" x %u%%", o->initial_fee_rate, feerate, peer->dstate->config.commitment_fee_max_percent);