Skip to content

Commit b750989

Browse files
committed
models: create a helper to convert wire NodeAnn to models.LNNode type
And use it in the gossiper. This helps ensure that we do this conversion consistently.
1 parent c5cff40 commit b750989

File tree

2 files changed

+20
-15
lines changed

2 files changed

+20
-15
lines changed

discovery/gossiper.go

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1982,21 +1982,7 @@ func (d *AuthenticatedGossiper) addNode(msg *lnwire.NodeAnnouncement,
19821982
err)
19831983
}
19841984

1985-
timestamp := time.Unix(int64(msg.Timestamp), 0)
1986-
features := lnwire.NewFeatureVector(msg.Features, lnwire.Features)
1987-
node := &models.LightningNode{
1988-
HaveNodeAnnouncement: true,
1989-
LastUpdate: timestamp,
1990-
Addresses: msg.Addresses,
1991-
PubKeyBytes: msg.NodeID,
1992-
Alias: msg.Alias.String(),
1993-
AuthSigBytes: msg.Signature.ToSignatureBytes(),
1994-
Features: features,
1995-
Color: msg.RGBColor,
1996-
ExtraOpaqueData: msg.ExtraOpaqueData,
1997-
}
1998-
1999-
return d.cfg.Graph.AddNode(node, op...)
1985+
return d.cfg.Graph.AddNode(models.NodeFromWireAnnouncement(msg), op...)
20001986
}
20011987

20021988
// isPremature decides whether a given network message has a block height+delta

graph/db/models/node.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,3 +131,22 @@ func (l *LightningNode) NodeAnnouncement(signed bool) (*lnwire.NodeAnnouncement,
131131

132132
return nodeAnn, nil
133133
}
134+
135+
// NodeFromWireAnnouncement creates a LightningNode instance from an
136+
// lnwire.NodeAnnouncement message.
137+
func NodeFromWireAnnouncement(msg *lnwire.NodeAnnouncement) *LightningNode {
138+
timestamp := time.Unix(int64(msg.Timestamp), 0)
139+
features := lnwire.NewFeatureVector(msg.Features, lnwire.Features)
140+
141+
return &LightningNode{
142+
HaveNodeAnnouncement: true,
143+
LastUpdate: timestamp,
144+
Addresses: msg.Addresses,
145+
PubKeyBytes: msg.NodeID,
146+
Alias: msg.Alias.String(),
147+
AuthSigBytes: msg.Signature.ToSignatureBytes(),
148+
Features: features,
149+
Color: msg.RGBColor,
150+
ExtraOpaqueData: msg.ExtraOpaqueData,
151+
}
152+
}

0 commit comments

Comments
 (0)