Skip to content

Use official splice messages#768

Merged
t-bast merged 3 commits into
masterfrom
splicing-official
May 13, 2026
Merged

Use official splice messages#768
t-bast merged 3 commits into
masterfrom
splicing-official

Conversation

@t-bast
Copy link
Copy Markdown
Member

@t-bast t-bast commented Mar 3, 2025

We replace our experimental version of splice_init, splice_ack and splice_locked by their official version. We also change the TLV fields added to commit_sig, tx_add_input, and tx_signatures to match the spec version and introduce the start_batch message.

We also implement the updated retransmission logic for channel_ready and splice_locked based on the my_current_funding_locked and next_funding TLVs added to channel_reestablish.

We only allow connecting to peers who support the official splicing feature.

This update should be released after deploying ACINQ/eclair#2887. Once enough users have upgraded, we'll be able to remove support from the legacy splicing protocol from eclair, which will provide a nice code clean-up.

t-bast added 2 commits May 12, 2026 11:04
We replace our experimental version of `splice_init`, `splice_ack` and
`splice_locked` by their official version. We also change the TLV fields
added to `commit_sig`, `tx_add_input`, and `tx_signatures` to match the
spec version.

We only allow connecting to peers who support the official splicing
feature.
With splicing, we introduce new TLVs to `channel_reestablish` to let
our peer know:

- the latest `splice_locked` (or `channel_ready`) we're ready to send or
  have sent before disconnecting
- whether we need a retransmission of `commit_sig` for the next funding
- whether we need a retransmission of `announcement_signatures` for the
  next funding (always false for mobile wallets)

This lets us clean-up retransmission of those messages and follow the
official splicing spec.
@t-bast t-bast force-pushed the splicing-official branch from 9cc3a6a to d64734b Compare May 12, 2026 09:05
When we receive the initial `channel_ready`, we update the remote
funding status to be consistent with our reestablish behavior,
where we would update it when receiving `my_current_funding_locked`.
Copy link
Copy Markdown
Member

@pm47 pm47 left a comment

Choose a reason for hiding this comment

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

Integration tests passed.

@t-bast t-bast merged commit 6bef0dc into master May 13, 2026
2 checks passed
@t-bast t-bast deleted the splicing-official branch May 13, 2026 14:53
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