Skip to content
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

Delay considering a channel closed when seeing an on-chain spend #2437

Open
t-bast opened this issue Sep 27, 2022 · 0 comments
Open

Delay considering a channel closed when seeing an on-chain spend #2437

t-bast opened this issue Sep 27, 2022 · 0 comments

Comments

@t-bast
Copy link
Member

t-bast commented Sep 27, 2022

See lightning/bolts#1004

This is something we should do whenever possible, as it will be necessary for splicing to have most of the network delay when they consider a channel closed (to allow a new channel_update to come in to notify that the channel was actually just spliced, not closed).

This isn't trivial to do, because we don't have any way of tracking that state yet. We may need to add a new list in Router.Data to track channels that have been spent on chain and are waiting to be either removed or for which we will receive a channel_update with a new funding outpoint (when it was a splice, not a close).

@t-bast t-bast changed the title Deloy considering a channel closed when seeing an on-chain spend Delay considering a channel closed when seeing an on-chain spend Sep 27, 2022
remyers added a commit to remyers/eclair that referenced this issue Oct 28, 2024
remyers added a commit to remyers/eclair that referenced this issue Nov 1, 2024
remyers added a commit to remyers/eclair that referenced this issue Nov 4, 2024
Issue ACINQ#2437

When external channel is spent, add it to the spentChannels list instead of immediately removing it from the graph.

Remove spent channels after 12 blocks. When a newly added channel is validated, if it spends the shared output of a recently spent channel then it is a splice.

A splice updates the graph edges to preserve balance estimate information in the graph.
remyers added a commit to remyers/eclair that referenced this issue Nov 5, 2024
Issue ACINQ#2437

When external channel is spent, add it to the spentChannels list instead of immediately removing it from the graph.

Remove spent channels after 12 blocks. When a newly added channel is validated, if it spends the shared output of a recently spent channel then it is a splice.

A splice updates the graph edges to preserve balance estimate information in the graph.

Channels are immediately removed from the db so they will not added to the graph if a restart occurs before 12-blocks elapse.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant