AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 34 Bitcoin

Rename should_reset_pending_splice_state argument

Public commit record

What the developer wrote

Authored by Wilmer Paulino

58/100 · Thin
Rename should_reset_pending_splice_state argument

There's a case in `should_reset_pending_splice_state` where we are
awaiting signatures, but still want to preserve the pending negotiation
upon a disconnection. We previously used `counterparty_aborted` as a way
to toggle this behavior. Now that we support the user manually canceling
an ongoing negotiation, we interpret the argument a bit more
generically in terms of whether we wish to resume the negotiation or not
when we are found in such a state.
✓ Descriptive subject✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This commit renames and flips the meaning of a flag used during Lightning channel splice negotiations. It changes when the software decides to keep or discard an in-progress splice after a disconnect or abort. The change appears intended to support a new 'user manually cancels' case, but the logic is subtle: several call sites now pass the opposite boolean, and the function's internal cases were reordered. There is no direct evidence this fixes an exploitable vulnerability, but the change touches safety-critical state cleanup during channel funding/splicing, where mistakes can lead to stuck funds or inconsistent channel state.

Recommended action

Treat as a state-correctness refactor rather than a confirmed security fix. Review the new boolean polarity at every call site to ensure no call site now incorrectly resets or preserves splice state. Add targeted tests for user-initiated splice cancellation, disconnect during AwaitingSignatures, and tx_abort handling. Monitor project release notes for any follow-up security advisory.

Security signals we found

01

State-machine change in channel funding/splicing logic

02

Boolean polarity inversion at multiple call sites

03

No tests or advisory references supplied

04

Touches cleanup of pending splice state on disconnect/abort

05

Subtle reordering of conditional branches in should_reset_pending_splice_state

Risk score

Why this scored 34/100

Our methodology →
Potential impact 8/30
Exploitability 5/25
Stealth signal 6/15
Affected reach 7/15
Confidence 5/10
Evidence quality 3/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.