@@ -2747,7 +2747,17 @@ func (c *KVStore) delChannelEdgeUnsafe(edges, edgeIndex, chanIndex,
2747
2747
2748
2748
nodeKey1 , nodeKey2 := edgeInfo .NodeKey1Bytes , edgeInfo .NodeKey2Bytes
2749
2749
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
+ )
2751
2761
}
2752
2762
2753
2763
return & edgeInfo , markEdgeZombie (
@@ -2772,7 +2782,7 @@ func (c *KVStore) delChannelEdgeUnsafe(edges, edgeIndex, chanIndex,
2772
2782
// marked with the correct lagging channel since we received an update from only
2773
2783
// one side.
2774
2784
func makeZombiePubkeys (info * models.ChannelEdgeInfo ,
2775
- e1 , e2 * models. ChannelEdgePolicy ) ([33 ]byte , [33 ]byte ) {
2785
+ e1 , e2 * time. Time ) ([33 ]byte , [33 ]byte ) {
2776
2786
2777
2787
switch {
2778
2788
// If we don't have either edge policy, we'll return both pubkeys so
@@ -2784,7 +2794,7 @@ func makeZombiePubkeys(info *models.ChannelEdgeInfo,
2784
2794
// older, we'll return edge1's pubkey and a blank pubkey for edge2. This
2785
2795
// means that only an update from edge1 will be able to resurrect the
2786
2796
// channel.
2787
- case e1 == nil || (e2 != nil && e1 .LastUpdate . Before (e2 . LastUpdate )):
2797
+ case e1 == nil || (e2 != nil && e1 .Before (* e2 )):
2788
2798
return info .NodeKey1Bytes , [33 ]byte {}
2789
2799
2790
2800
// Otherwise, we're missing edge2 or edge2 is the older side, so we
0 commit comments