From 6fb1fc2275de7b184a4510db8bf324d298c21fdc Mon Sep 17 00:00:00 2001 From: MPins Date: Mon, 3 Mar 2025 07:33:49 -0300 Subject: [PATCH] routing: adding FetchChannelEdgesByID as a mock graph function --- routing/mock_graph_test.go | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/routing/mock_graph_test.go b/routing/mock_graph_test.go index cb5d07f3a..306305ce6 100644 --- a/routing/mock_graph_test.go +++ b/routing/mock_graph_test.go @@ -211,6 +211,45 @@ func (m *mockGraph) ForEachNodeDirectedChannel(nodePub route.Vertex, return nil } +// FetchChannelEdgesByID attempts to lookup the two directed edges for the +// channel identified by the channel ID. +// +// NOTE: Part of the Graph interface. +func (m *mockGraph) FetchChannelEdgesByID(chanID uint64) ( + *models.ChannelEdgeInfo, *models.ChannelEdgePolicy, + *models.ChannelEdgePolicy, error) { + + // Iterate over all mock nodes. + for _, node := range m.nodes { + // Iterate over the channels of each mock node. + for peer, channel := range node.channels { + peerNode := m.nodes[peer] + + if chanID == channel.id { + return &models.ChannelEdgeInfo{ + ChannelID: channel.id, + NodeKey1Bytes: node.pubkey, + NodeKey2Bytes: peerNode.pubkey, + Capacity: channel.capacity, + }, + &models.ChannelEdgePolicy{ + ChannelID: channel.id, + ToNode: node.pubkey, + FeeBaseMSat: node.baseFee, + }, + &models.ChannelEdgePolicy{ + ChannelID: channel.id, + ToNode: peerNode.pubkey, + FeeBaseMSat: peerNode.baseFee, + }, + nil + } + } + } + + return nil, nil, nil, fmt.Errorf("channel %v not found", chanID) +} + // sourceNode returns the source node of the graph. // // NOTE: Part of the Graph interface.