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

Basic Splicing

Open optout21 opened this issue 1 year ago • 0 comments

Basic implementation of channel splicing, with limitations (tracking: #1621). Support channel splicing between two LDK instances, increasing channel capacity by adding some UTXOs, resulting in a usable channel. Includes support for following messages: splice_init, splice_ack, tx_add_input, tx_add_output, tx_complete, tx_signatures, splice_locked.

The following limitations are acceptable, and handled later (it's always fine to include more right away):

  • No quiescence is used/checked
  • Only splice-in supported, splice-out not
  • Splice from V2 channel only (dual funded), not from V1 channel
  • Acceptor does not contribute inputs to the splice
  • RBF not supported
  • between two LDK instances
  • Interruptions and restarts may not be handled
  • Defer some complex error scenarios

Some prerequisites: #3137 #2302 #3294 #3295

optout21 avatar Sep 06 '24 09:09 optout21