diff --git a/channeldb/graph.go b/channeldb/graph.go index ac40830e6..0b7746b6a 100644 --- a/channeldb/graph.go +++ b/channeldb/graph.go @@ -3206,16 +3206,16 @@ func (c *ChannelEdgeInfo) OtherNodeKeyBytes(thisNodeKey []byte) ( // the target node in the channel. This is useful when one knows the pubkey of // one of the nodes, and wishes to obtain the full LightningNode for the other // end of the channel. -func (c *ChannelEdgeInfo) FetchOtherNode(tx kvdb.RTx, +func (c *ChannelGraph) FetchOtherNode(tx kvdb.RTx, channel *ChannelEdgeInfo, thisNodeKey []byte) (*LightningNode, error) { // Ensure that the node passed in is actually a member of the channel. var targetNodeBytes [33]byte switch { - case bytes.Equal(c.NodeKey1Bytes[:], thisNodeKey): - targetNodeBytes = c.NodeKey2Bytes - case bytes.Equal(c.NodeKey2Bytes[:], thisNodeKey): - targetNodeBytes = c.NodeKey1Bytes + case bytes.Equal(channel.NodeKey1Bytes[:], thisNodeKey): + targetNodeBytes = channel.NodeKey2Bytes + case bytes.Equal(channel.NodeKey2Bytes[:], thisNodeKey): + targetNodeBytes = channel.NodeKey1Bytes default: return nil, fmt.Errorf("node not participating in this channel") } diff --git a/server.go b/server.go index 5d3eea6b0..85cb7616a 100644 --- a/server.go +++ b/server.go @@ -3107,7 +3107,9 @@ func (s *server) establishPersistentConnections() error { // We'll now fetch the peer opposite from us within this // channel so we can queue up a direct connection to them. - channelPeer, err := chanInfo.FetchOtherNode(tx, selfPub) + channelPeer, err := s.graphDB.FetchOtherNode( + tx, chanInfo, selfPub, + ) if err != nil { return fmt.Errorf("unable to fetch channel peer for "+ "ChannelPoint(%v): %v", chanInfo.ChannelPoint,