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

graph/db: version DeleteChannelEdges, IsPublicNode, IsZombieEdge

Public commit record

What the developer wrote

Authored by Elle Mouton

73/100 · Adequate
graph/db: version DeleteChannelEdges, IsPublicNode, IsZombieEdge

Propagate the gossip version parameter through DeleteChannelEdges,
IsPublicNode, and IsZombieEdge on ChannelGraph, passing it down to the
underlying Store. Previously these methods hard-coded GossipVersion1
internally; surfacing the parameter lets callers operate on the version
appropriate for the channel.

Also fix two call sites that were still passing *ChannelGraph where a
version-aware interface was expected:

- rpcserver.go AddInvoice now uses s.v1Graph (a *VersionedGraph) so
that the invoicesrpc.GraphSource interface—whose IsPublicNode method
does not take a version parameter—is satisfied.
- subrpcserver_config.go wraps graphDB in NewVersionedGraph with
GossipVersion1 when populating the invoicesrpc config Graph field
via reflection, for the same reason.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This commit is a code-cleanup change that makes several Lightning Network graph database methods aware of which 'gossip version' they are working with, instead of always assuming version 1. It also fixes two places where the wrong graph object was being passed to invoice-related code. The change is mostly architectural and does not by itself fix a known, exploitable bug, but it removes a class of mistakes where code could accidentally operate on the wrong version of the graph data.

Recommended action

Review remaining ChannelGraph and Store methods for any other hard-coded GossipVersion1 assumptions; ensure all production call sites pass the correct gossip version rather than defaulting to version 1. Treat this as preventive maintenance, not an urgent security patch.

Security signals we found

01

Hard-coded gossip version removed from graph DB public API

02

Call sites corrected to use version-aware graph wrapper

03

Potential for version mismatch bugs between gossip versions reduced

04

No explicit vulnerability, exploit primitive, or boundary violation shown in diff

Risk score

Why this scored 27/100

Our methodology →
Potential impact 5/30
Exploitability 3/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.