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

lightningd: fix type of splice_depth_cb, remove never-working splice_inflight_txwatch.

Public commit record

What the developer wrote

Authored by Rusty Russell

73/100 · Adequate
lightningd: fix type of splice_depth_cb, remove never-working splice_inflight_txwatch.

We use typesafe callbacks: void * arguments are strongly eschewed.
Indeed, when we fix this one, we find it's getting called wrong in
splice_inflight_txwatch.

Since we handed the wrong arg to splice_inflight_txwatch (channel
instead of inflight), it never worked. Indeed, we always get:

Splice inflight event but not in AWAITING_SPLICE, ending watch of txid f6f0cb65584389caf7722b06d9ffe98aea3ad8fd04d74b2b11e2e227cf28cffe

So remove it. The watch will delete itself (as above), or be freed with the inflight.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This commit fixes a type mismatch in a Core Lightning function that watches for splice transactions reaching enough confirmations. The function was accidentally being passed a channel object instead of an inflight object, so the watcher never worked correctly and was effectively dead code. The fix removes the broken watcher entirely. There is no direct evidence this is exploitable for theft or denial of service, but it does clean up a real bug in how splice transactions are monitored.

Recommended action

Treat as a code-quality and defensive-hardening fix. Review whether the removed watcher was intended to provide any security-critical cleanup (e.g., preventing stale watches from firing after splice lock-in) and confirm that the remaining watch lifecycle is sufficient. No urgent security patch appears required, but include in normal release notes as a splice robustness improvement.

Security signals we found

01

Type confusion / argument mismatch in callback registration

02

Dead code removal for a never-working transaction watcher

03

Splice protocol code path affected

04

Defensive typesafe-callback enforcement

05

No explicit security claim in commit message

Risk score

Why this scored 33/100

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