Skip to content

Dual-funded channels and Splicing Project Tracking #1621

Open
@dunxen

Description

@dunxen

Overview

Project tracking and implementation status of interactive transaction construction, dual-funding (V2 channel establishment), channel quiescence, and splicing.

Specifications:

Wire messages

Interactive Transaction Construction

Dual-funding (V2 channel establishment)

0. Refactoring

1. Accept dual-funded channels

2. Accept dual-funded channels with contributions

  • Interop tests and fixes
  • Release as alpha

3. Create & accept dual-funded channels

4. RBF support

Dual-funding implementation phase feature table

🟢 = supported
🔴 = unsupported

Impl. phase Accept V2 Create V2 RBF Contribute funds
1. Accept V2 channels 🟢 🔴 🔴 🔴
2. Accept V2 channels w/con 🟢 🔴 🔴 🔴
3. Create V2 channels 🟢 🟢 🔴 🟢
3. RBF support 🟢 🟢 🟢 🟢

Channel quiescence

Splicing

Draft/Prototype PRs

Use case phases status

Use case phase branch or draft PR merged/pending PRs
Initial handshake, splice_init, splice_ack main #3407 #3647
Tx negotiation, tx_add_input, tx_add_output #3715 #3443
Tx negotiation completion, final tx_complete's #3444 -
Commitment exchange #3274 -
tx_signatures exchange, funding tx broadcast #3274 -
splice_locked exchange, after confirmation #3274 -

0. Preparations

1. Basic implementation

2. Additional features

  • Integrate quiescence
  • Splice on V1 channel
  • RBF support
  • Allow payment during pending splice
  • Support splice-out
  • Contributions from the acceptor
  • Handle interruptions and restarts
  • Work with other implementations

Metadata

Metadata

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions