Skip to content

Commit cee872a

Browse files
committed
graph/db: make makeZombiePubkeys reusable
So that we can use it in our SQLStore implementation too without needing to fetch the entire ChannelEdgePolicy.
1 parent 29ff13d commit cee872a

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

graph/db/kv_store.go

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2747,7 +2747,17 @@ func (c *KVStore) delChannelEdgeUnsafe(edges, edgeIndex, chanIndex,
27472747

27482748
nodeKey1, nodeKey2 := edgeInfo.NodeKey1Bytes, edgeInfo.NodeKey2Bytes
27492749
if strictZombie {
2750-
nodeKey1, nodeKey2 = makeZombiePubkeys(&edgeInfo, edge1, edge2)
2750+
var e1UpdateTime, e2UpdateTime *time.Time
2751+
if edge1 != nil {
2752+
e1UpdateTime = &edge1.LastUpdate
2753+
}
2754+
if edge2 != nil {
2755+
e2UpdateTime = &edge2.LastUpdate
2756+
}
2757+
2758+
nodeKey1, nodeKey2 = makeZombiePubkeys(
2759+
&edgeInfo, e1UpdateTime, e2UpdateTime,
2760+
)
27512761
}
27522762

27532763
return &edgeInfo, markEdgeZombie(
@@ -2772,7 +2782,7 @@ func (c *KVStore) delChannelEdgeUnsafe(edges, edgeIndex, chanIndex,
27722782
// marked with the correct lagging channel since we received an update from only
27732783
// one side.
27742784
func makeZombiePubkeys(info *models.ChannelEdgeInfo,
2775-
e1, e2 *models.ChannelEdgePolicy) ([33]byte, [33]byte) {
2785+
e1, e2 *time.Time) ([33]byte, [33]byte) {
27762786

27772787
switch {
27782788
// If we don't have either edge policy, we'll return both pubkeys so
@@ -2784,7 +2794,7 @@ func makeZombiePubkeys(info *models.ChannelEdgeInfo,
27842794
// older, we'll return edge1's pubkey and a blank pubkey for edge2. This
27852795
// means that only an update from edge1 will be able to resurrect the
27862796
// channel.
2787-
case e1 == nil || (e2 != nil && e1.LastUpdate.Before(e2.LastUpdate)):
2797+
case e1 == nil || (e2 != nil && e1.Before(*e2)):
27882798
return info.NodeKey1Bytes, [33]byte{}
27892799

27902800
// Otherwise, we're missing edge2 or edge2 is the older side, so we

0 commit comments

Comments
 (0)