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

Support funding_transaction_signed for unfunded dual-funded channels

Public commit record

What the developer wrote

Authored by Wilmer Paulino

85/100 · Strong
Support funding_transaction_signed for unfunded dual-funded channels

Now that we require users to first call
`ChannelManager::funding_transaction_signed` before releasing any
signatures, it's possible that it is called before we receive the
initial commitment signed from our counterparty, which would transition
the channel to funded. Because of this, we need to support the API call
while the channel is still in the unfunded phase.

Note that this commit is mostly a code move of
`FundedChannel::funding_transaction_signed` to
`Channel::funding_transaction_signed` that doesn't alter the signing
logic.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
The short version

What changed, and why it matters

This commit moves the handling of funding-transaction signatures so it can be called earlier, while a dual-funded Lightning channel is still unfunded. Previously the API required the channel to already be in a funded state, which could fail if a user signed before the counterparty's first commitment arrived. The change is described by the authors as mostly a code move that does not alter the actual signing logic.

Recommended action

Review as a normal correctness/lifecycle fix. Verify that the moved signing logic is byte-for-byte equivalent for funded channels and that the new unfunded path does not bypass any state checks that previously protected against premature signature release. No immediate security patch action is indicated by the diff alone.

Security signals we found

01

API lifecycle change: signing call now accepted in unfunded dual-funded channel state

02

New error handling path aborts interactive transaction negotiation on signing failure

03

Code move of funding_transaction_signed from FundedChannel to Channel with phase-aware context extraction

04

ChannelManager now uses as_funded_mut() only at points requiring a funded channel

Risk score

Why this scored 32/100

Our methodology →
Potential impact 8/30
Exploitability 5/25
Stealth signal 4/15
Affected reach 6/15
Confidence 6/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.