Uh oh!
There was an error while loading. Please reload this page.
[Splicing] Clone for ChannelContext - #3332
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@## main #3332 +/- ##
==========================================
+ Coverage 89.25% 90.00% +0.74%
==========================================
Files 130 130 Lines 106959 111140 +4181 Branches 106959 111140 +4181 ==========================================
+ Hits 95464 100029 +4565 + Misses 8706 8343 -363 + Partials 2789 2768 -21 ☔ View full report in Codecov by Sentry. |
jkczyz
commented
Oct 3, 2024
Discussed briefly offline. This may not be needed if we split |
optout21
commented
Oct 3, 2024
This change request assumes that the whole |
Not sure if cloning is the best solution. But, regardless, since the channel signer is a |
optout21
commented
Nov 29, 2024
There are 4 The only non-cloneable field is the signer. The signer could also be placed under |
optout21
commented
Dec 5, 2024
Still up for discussion, different approaches being discussed, to get rid of per-field cloning:
|
optout21
commented
Jan 7, 2025
Rebased |
Cloning of a channel -- more precisely of
ChannelContext-- is needed for Splicing, this is a preparation (may be needed for dual funding RBF as well)Simple
#[derive(Clone))is not sufficient, as the channel signer struct cannot be cloned, ultimately due toAtomicUSizeandSecp256k1(inKeysManager). So instead, a field-by-field cloning is done, with the a few exceptions.