Skip to content

Commit

Permalink
config: don't ignore the --commit-fee option.
Browse files Browse the repository at this point in the history
We did not take the value set by the user of --commit-fee : this removes
the unused option from lightningd and instead registers it in bcli,
where we set the actual feerate of commitment transactions. This also
corrects the documentation.

Changelog-Fixed: config: we now take the --commit-fee parameter into account.
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
  • Loading branch information
darosior committed May 17, 2020
1 parent 3c625b3 commit b96f00f
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 17 deletions.
4 changes: 2 additions & 2 deletions doc/lightningd-config.5
Original file line number Diff line number Diff line change
Expand Up @@ -332,8 +332,8 @@ opens a channel before the channel is usable\.


\fBcommit-fee\fR=\fIPERCENT\fR
The percentage of \fIestimatesmartfee 2\fR to use for the bitcoin
transaction which funds a channel: can be greater than 100\.
The percentage of \fIestimatesmartfee 2/CONSERVATIVE\fR to use for the commitment
transactions: default is 100\.


\fBcommit-fee-min\fR=\fIPERCENT\fR
Expand Down
4 changes: 2 additions & 2 deletions doc/lightningd-config.5.md
Original file line number Diff line number Diff line change
Expand Up @@ -270,8 +270,8 @@ Confirmations required for the funding transaction when the other side
opens a channel before the channel is usable.

**commit-fee**=*PERCENT*
The percentage of *estimatesmartfee 2* to use for the bitcoin
transaction which funds a channel: can be greater than 100.
The percentage of *estimatesmartfee 2/CONSERVATIVE* to use for the commitment
transactions: default is 100.

**commit-fee-min**=*PERCENT*
**commit-fee-max**=*PERCENT*
Expand Down
3 changes: 0 additions & 3 deletions lightningd/lightningd.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,6 @@ struct config {
/* Minimum percent of fee rate we'll accept. */
u32 commitment_fee_min_percent;

/* Percent of fee rate we'll use. */
u32 commitment_fee_percent;

/* Minimum CLTV to subtract from incoming HTLCs to outgoing */
u32 cltv_expiry_delta;

Expand Down
9 changes: 0 additions & 9 deletions lightningd/options.c
Original file line number Diff line number Diff line change
Expand Up @@ -570,9 +570,6 @@ static const struct config testnet_config = {
.commitment_fee_min_percent = 0,
.commitment_fee_max_percent = 0,

/* We offer to pay 5 times 2-block fee */
.commitment_fee_percent = 500,

/* Testnet blockspace is free. */
.max_concurrent_htlcs = 483,

Expand Down Expand Up @@ -618,9 +615,6 @@ static const struct config mainnet_config = {
.commitment_fee_min_percent = 200,
.commitment_fee_max_percent = 2000,

/* We offer to pay 5 times 2-block fee */
.commitment_fee_percent = 500,

/* While up to 483 htlcs are possible we do 30 by default (as eclair does) to save blockspace */
.max_concurrent_htlcs = 30,

Expand Down Expand Up @@ -819,9 +813,6 @@ static void register_opts(struct lightningd *ld)
opt_register_arg("--commit-fee-max=<percent>", opt_set_u32, opt_show_u32,
&ld->config.commitment_fee_max_percent,
"Maximum percentage of fee to accept for commitment (0 for unlimited)");
opt_register_arg("--commit-fee=<percent>", opt_set_u32, opt_show_u32,
&ld->config.commitment_fee_percent,
"Percentage of fee to request for their commitment");
opt_register_arg("--cltv-delta", opt_set_u32, opt_show_u32,
&ld->config.cltv_expiry_delta,
"Number of blocks for cltv_expiry_delta");
Expand Down
8 changes: 8 additions & 0 deletions plugins/bcli.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@ struct bitcoind {
/* The factor to time the urgent feerate by to get the maximum
* acceptable feerate. */
u32 max_fee_multiplier;

/* Percent of CONSERVATIVE/2 feerate we'll use for commitment txs. */
u64 commit_fee_percent;
};

static struct bitcoind *bitcoind;
Expand Down Expand Up @@ -947,6 +950,7 @@ int main(int argc, char *argv[])
bitcoind->rpcconnect = NULL;
bitcoind->rpcport = NULL;
bitcoind->max_fee_multiplier = 10;
bitcoind->commit_fee_percent = 100;

plugin_main(argv, init, PLUGIN_STATIC, NULL, commands, ARRAY_SIZE(commands),
NULL, 0, NULL, 0,
Expand Down Expand Up @@ -979,6 +983,10 @@ int main(int argc, char *argv[])
"how long to keep retrying to contact bitcoind"
" before fatally exiting",
u64_option, &bitcoind->retry_timeout),
plugin_option("commit-fee",
"string",
"Percentage of fee to request for their commitment",
u64_option, &bitcoind->commit_fee_percent),
#if DEVELOPER
plugin_option("dev-max-fee-multiplier",
"string",
Expand Down
1 change: 0 additions & 1 deletion wallet/test/test_utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ const struct config test_config = {
.anchor_confirms = 1,
.commitment_fee_min_percent = 0,
.commitment_fee_max_percent = 0,
.commitment_fee_percent = 500,
.cltv_expiry_delta = 6,
.cltv_final = 10,
.commit_time_ms = 10,
Expand Down

0 comments on commit b96f00f

Please sign in to comment.