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

[Early Draft][Splicing] Partial, perform interactive transaction negotiation for new funding

Open optout21 opened this issue 1 year ago • 10 comments

This is a next step in the splicing partial implementation, including and depending on the following:

  • #3407
  • #3592
  • #3604
  • #3443
  • #3516

Also relevant: #3418

Next step in splicing (#1621): This PR adds the implementation of performing the interactive transaction negotiation for the new post-splice funding transaction, after the splice_init & splice_ack handshake. Only the initiator can currently contribute. The initiator adds the current funding tx as input, plus additional inputs, and the new funding as output plus a change output (if applicable). After tx_complete the flow stops, does not yet follow to the commitment/signature exchange.

optout21 avatar Dec 05 '24 09:12 optout21

Rebased to current main, and current state of #3443 .

optout21 avatar Dec 11 '24 20:12 optout21

Rebased

optout21 avatar Jan 07 '25 14:01 optout21

Rebased; after #3513 many changes disappeared :)

optout21 avatar Jan 15 '25 23:01 optout21

Rebased, following channel phase #3418 . The channel manager part got much simpler!

optout21 avatar Feb 11 '25 08:02 optout21

Rebased up to 0216d7dfc27ea758f8d9a053d559b7fa096e4322 #3629 from joostjager/log-attribution-failures Mar 4

Cannot rebase past that, df6877445e3c3d05d772899bf12b9fe6178d08fd #3016 somehow breaks my rebaseing...

optout21 avatar Mar 05 '25 23:03 optout21

Squashed some commits

optout21 avatar Mar 05 '25 23:03 optout21

Rebased on top of main (had to do magic with the commits...)

optout21 avatar Mar 06 '25 01:03 optout21

Extended implementation to handle last tx_complete, create signature on shared input, and emit FundingTransactionReadyForSigning event.

optout21 avatar Mar 13 '25 15:03 optout21

Codecov Report

Attention: Patch coverage is 77.64706% with 114 lines in your changes missing coverage. Please review.

Project coverage is 89.67%. Comparing base (c355ea4) to head (db27917). Report is 16 commits behind head on main.

Files with missing lines Patch % Lines
lightning/src/ln/channel.rs 69.05% 107 Missing and 1 partial :warning:
lightning/src/ln/channelmanager.rs 16.66% 5 Missing :warning:
lightning/src/events/mod.rs 0.00% 1 Missing :warning:
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3444      +/-   ##
==========================================
+ Coverage   89.20%   89.67%   +0.46%     
==========================================
  Files         155      155              
  Lines      119377   124547    +5170     
  Branches   119377   124547    +5170     
==========================================
+ Hits       106496   111687    +5191     
+ Misses      10266    10227      -39     
- Partials     2615     2633      +18     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

codecov[bot] avatar Mar 19 '25 23:03 codecov[bot]

Continued implementation: added funding_transaction_signed methods, tx_complete is handled on both sides.

optout21 avatar Mar 27 '25 23:03 optout21

Closing as this prototype is no longer valid/needed 😎

optout21 avatar Dec 09 '25 09:12 optout21