Skip to content

Implement updated retransmission logic for splice_locked #2987

Closed
@t-bast

Description

@t-bast

While working on taproot tests for splicing, @sstone discovered that what was previously a harmless race condition actually becomes an issue when using taproot channels. This is detailed in lightning/bolts#1223 and lead to changes in the reestablish logic to fix that race condition, which was added to the splicing spec in lightning/bolts@2c1b500

I think we should implement those changes immediately in eclair and lightning-kmp, with the following tweaks for backwards-compatibility:

  • we should handle reading the my_current_funding_locked
  • if it is included, we should apply the requirements laid out in lightning/bolts@2c1b500
  • if it isn't included, we should keep retransmitting our previous splice_locked like we currently do
  • but we shouldn't set my_current_funding_locked yet, because current nodes don't know how to read it and it has an even type

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions