rust-lightning icon indicating copy to clipboard operation
rust-lightning copied to clipboard

Dual-funded channels and Splicing Project Tracking

Open dunxen opened this issue 2 years ago • 16 comments

Overview

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

Specifications:

Wire messages

  • #1794
  • #2253
  • #2542

Interactive Transaction Construction

  • #2419
  • #2989
  • #3281 (depends on #3137)

Dual-funding (V2 channel establishment)

0. Refactoring

  • #2077
  • #2382

1. Accept dual-funded channels

  • #3137
  • [ ] Interop tests and fixes
  • [ ] Release as alpha

2. Accept dual-funded channels with RBF

  • #3281
  • [ ] Interop tests and fixes
  • [ ] Release as alpha

3. Create & accept dual-funded channels

  • #1571
  • #2302 (depends on #3137)
  • [ ] Interop tests and fixes
  • [ ] Release as alpha

Dual-funding implementation phase feature table

:green_circle: = supported :red_circle: = unsupported

Impl. phase Accept V2 Create V2 RBF Contribute funds
1. Accept V2 channels :green_circle: :red_circle: :red_circle: :red_circle:
2. Accept V2 channels w/RBF :green_circle: :red_circle: :green_circle: :red_circle:
3. Create V2 channels :green_circle: :green_circle: :green_circle: :green_circle:

Channel quiescence

  • #2933
  • WIP based on #2933 (should be only one PR; cc: @wpaulino)

Splicing

Prototype

  • #3274 (depends on #2302)

0. Preparations

  • (#3294 )
  • #3295
  • (#3293)
  • #3317 (#3300 )
  • #3316 (#3312 )
  • #3332
  • (more may come)

1. Basic implementation

  • #3298

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

dunxen avatar Jul 18 '22 14:07 dunxen