Skip to content

Conversation

@remyers
Copy link
Contributor

@remyers remyers commented Mar 13, 2025

If Alice receives ExternalChannelSpentTriggered after validating the local channel update for the splice, then the original funding tx will not be in the spentChannels list and the splice will be added to the routing graph as a new channel.

When ExternalChannelSpentTriggered is received, it will add Alice's funding tx to spentChannels and cause the assert in issue #3033 .

This is unlikely to occur in the wild and if it does, the original funding tx will be removed when the splice tx that spends it confirms.

If Alice receives `ExternalChannelSpentTriggered` after validating the local channel update for the splice, then the original funding tx will not be in the `spentChannels` list and the splice will be added to the routing graph as a new channel.

When `ExternalChannelSpentTriggered` is received, it will add Alice's funding tx to `spentChannels` and cause the assert in issue 3033.

This is unlikely to occur in the wild and if it does, the original funding tx will be removed when the splice tx that spends it confirms.
Copy link
Member

@t-bast t-bast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch!

@remyers remyers merged commit b98930b into ACINQ:master Mar 13, 2025
1 check passed
remyers added a commit to remyers/eclair that referenced this pull request Apr 11, 2025
Apply same fix to Bob and Carol used for Alice.

Race can result in `ExternalChannelSpent` being received by nodes after validating the channel update for a splice received from their peer. This will not happen in the wild.

I checked that both paths are exercised for all three nodes.
remyers added a commit to remyers/eclair that referenced this pull request Apr 11, 2025
Apply same fix to Bob and Carol used for Alice.

Race can result in `ExternalChannelSpent` being received by nodes after validating the channel update for a splice received from their peer. This will not happen in the wild.

I checked that both paths are exercised for all three nodes.
remyers added a commit that referenced this pull request Apr 14, 2025
Apply same fix to Bob and Carol used for Alice.

Race can result in `ExternalChannelSpent` being received by nodes after validating the channel update for a splice received from their peer. This will not happen in the wild.

I checked that both paths are exercised for all three nodes.
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

Successfully merging this pull request may close these issues.

2 participants