-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
coop close does not work with agreed fees (may be due to Taproot) #6953
Comments
Was this channel a static-remote-key channel without anchors? Do you happen to know the script your counterparty was using here - it doesn't say in the logs? I'm guessing |
YES
I have no idea about that but I have provided this gitub case to my peer and they can comment. However, shouldn't my node propose a fee considering P2TR script during coop flow to nudge the negotiation higher? Why was my node also proposing 183? |
I'm the peer who encountered these problems. In total I had 12/35 coop-closed channels with no closing_txid which I then had to force close. |
@BhaagBoseDK you can look at the outputs in the invalid transaction that was removed to determine the type of the outputs (p2wsh, p2wkh, p2tr, etc) |
As I already mentioned, the "invalid" transaction had output as P2TR This implies that fees are calculated on P2WSH while not realising that 0.15.0 onwards P2TR is also supported (and might require higher fees).
|
Other plebs in the noderunners-TG-group also encountered "closing_txid": "" and mentioned that a simple restart of LND resulted in a successful renegotiation. |
Yes I understand, what about the other output? |
how do I find it, the txn is not in mempool nor can I find the details from log. But most likely that was also P2TR because the peer is also on lnd 0.15.x |
It would be the un-truncated log here:
|
In this commit, we modify the way we compute the starting ideal fee for the co-op close transaction. Before thsi commit, channel.CalcFee was used, which'll compute the fee based on the commitment transaction itself, rathern than the co-op close transaction. As the co-op close transaction is potentailly bigger (two P2TR outputs) than the commitment transaction, this can cause us to under estimate the fee, which can result in the fee rate being too low to propagate. To remedy this, we now compute a fee estimate from scratch, based on the delivery fees of the two parties. We also add a bug fix in the chancloser unit tests that wasn't caught due to loop variable shadowing. The wallet import itest has been updated as well, since we'll now pay 600 extra saothis to close the channel, since we're accounting for the added weight of the P2TR outputs. Fixes lightningnetwork#6953
In this commit, we modify the way we compute the starting ideal fee for the co-op close transaction. Before thsi commit, channel.CalcFee was used, which'll compute the fee based on the commitment transaction itself, rathern than the co-op close transaction. As the co-op close transaction is potentailly bigger (two P2TR outputs) than the commitment transaction, this can cause us to under estimate the fee, which can result in the fee rate being too low to propagate. To remedy this, we now compute a fee estimate from scratch, based on the delivery fees of the two parties. We also add a bug fix in the chancloser unit tests that wasn't caught due to loop variable shadowing. The wallet import itest has been updated as well, since we'll now pay 600 extra saothis to close the channel, since we're accounting for the added weight of the P2TR outputs. Fixes lightningnetwork#6953
In this commit, we modify the way we compute the starting ideal fee for the co-op close transaction. Before thsi commit, channel.CalcFee was used, which'll compute the fee based on the commitment transaction itself, rathern than the co-op close transaction. As the co-op close transaction is potentailly bigger (two P2TR outputs) than the commitment transaction, this can cause us to under estimate the fee, which can result in the fee rate being too low to propagate. To remedy this, we now compute a fee estimate from scratch, based on the delivery fees of the two parties. We also add a bug fix in the chancloser unit tests that wasn't caught due to loop variable shadowing. The wallet import itest has been updated as well, since we'll now pay 600 extra saothis to close the channel, since we're accounting for the added weight of the P2TR outputs. Fixes lightningnetwork#6953
I had this issue with 0.15.2, just updated to 0.15.3 to see if get fixed but I still see the same error, I have to force close or there is another way? |
the tx is persisted to the db and you won't be able to coop close that channel anymore, so you need to force close |
Background
A peer tried to coop close with my node. The negotiation ended with 183 fees but than broadcast transaction failed. The channel got stuck in closing with no txn in mempool. It had to be force closed later.
closing negotiation
however failure to broadcast as expected fees was 193 (may be due to taproot)
Your environment
lnd
uname -a
on *Nix)Linux umbrel 5.10.17-v8+ #1421 SMP PREEMPT Thu May 27 14:01:37 BST 2021 aarch64 GNU/Linux
btcd
,bitcoind
, or other backendSteps to reproduce
May be try coop closing channel with ECONOMICAL fees.
Expected behaviour
If minimum relay fees is 193 then 193 should have been proposed.
Actual behaviour
Channel did not close and had to be force closed later.
The text was updated successfully, but these errors were encountered: