Document SpliceNegotiationFailed contribution / DiscardFunding overlap
What changed, and why it matters
This commit only adds documentation comments to a public Rust enum field. It explains that when a splice negotiation fails, the returned contribution may still include inputs and outputs that are also part of an earlier, not-yet-locked splice transaction, and that those overlapping items are deliberately left out of a previous DiscardFunding event. There is no code behavior change, no bug fix, and no security patch.
No security action needed. Treat as a normal documentation-only commit.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff modifies lightning/src/events/mod.rs to add a doc comment on the contribution field inside Event::SpliceNegotiationFailed. The new text clarifies that the contribution preserves all inputs/outputs from the failed round, including ones already committed to a prior negotiated but not locked splice, and that such overlapping items are intentionally omitted from Event::DiscardFunding. No logic, API, or data-flow changes are present.
Changed components
lightning/src/events/mod.rs documentationInspect captured patch +6 / −0
diff --git a/lightning/src/events/mod.rs b/lightning/src/events/mod.rs
index a15f8ce..271e135 100644
--- a/lightning/src/events/mod.rs
+++ b/lightning/src/events/mod.rs
@@ -1706,6 +1706,12 @@ pub enum Event {
/// Alternatively, call [`ChannelManager::splice_channel`] to obtain a fresh
/// [`FundingTemplate`] and build a new contribution.
///
+ /// The contribution preserves the full set of inputs and outputs from the failed round,
+ /// including any that were also committed to a prior negotiated (but not yet locked)
+ /// splice transaction. Those overlapping inputs and outputs are intentionally omitted
+ /// from the preceding [`Event::DiscardFunding`], since they remain committed to that
+ /// prior splice.
+ ///
/// [`ChannelManager::funding_contributed`]: crate::ln::channelmanager::ChannelManager::funding_contributed
/// [`ChannelManager::splice_channel`]: crate::ln::channelmanager::ChannelManager::splice_channel
/// [`FundingTemplate`]: crate::ln::funding::FundingTemplate
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.