channeldb: convert FetchOtherNode to ChannelGraph method
To prepare for the `kvdb.Backend` member of `ChannelEdgeInfo` being removed, the `FetchOtherNode` method is moved from the `ChannelEdgeInfo` to the `ChannelGraph` struct.
This commit is contained in:
2 files changed
+8
-6
No files matched your search
+5
-5
@@ -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")
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in new issue
Block a user