graphdb: pass context to IsPublicNode
This commit is contained in:
8 files changed
+26
-18
No files matched your search
+8
-4
@@ -652,8 +652,10 @@ func (c *ChannelGraph) HasV1Node(ctx context.Context,
|
||||
}
|
||||
|
||||
// IsPublicNode determines whether the node is seen as public in the graph.
|
||||
func (c *ChannelGraph) IsPublicNode(pubKey [33]byte) (bool, error) {
|
||||
return c.db.IsPublicNode(lnwire.GossipVersion1, pubKey)
|
||||
func (c *ChannelGraph) IsPublicNode(ctx context.Context,
|
||||
pubKey [33]byte) (bool, error) {
|
||||
|
||||
return c.db.IsPublicNode(ctx, lnwire.GossipVersion1, pubKey)
|
||||
}
|
||||
|
||||
// ForEachChannel iterates through all channel edges stored within the graph.
|
||||
@@ -993,8 +995,10 @@ func (c *VersionedGraph) ChannelID(ctx context.Context,
|
||||
}
|
||||
|
||||
// IsPublicNode determines whether the node is seen as public in the graph.
|
||||
func (c *VersionedGraph) IsPublicNode(pubKey [33]byte) (bool, error) {
|
||||
return c.db.IsPublicNode(c.v, pubKey)
|
||||
func (c *VersionedGraph) IsPublicNode(ctx context.Context,
|
||||
pubKey [33]byte) (bool, error) {
|
||||
|
||||
return c.db.IsPublicNode(ctx, c.v, pubKey)
|
||||
}
|
||||
|
||||
// MakeTestGraph creates a new instance of the ChannelGraph for testing
|
||||
|
||||
@@ -4225,7 +4225,7 @@ func testNodeIsPublic(t *testing.T, v lnwire.GossipVersion) {
|
||||
for _, node := range nodes {
|
||||
for _, graph := range graphs {
|
||||
isPublic, err := graph.IsPublicNode(
|
||||
node.PubKeyBytes,
|
||||
ctx, node.PubKeyBytes,
|
||||
)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -4330,7 +4330,7 @@ func testIsPublicNodeEmptyChannelSignature(t *testing.T,
|
||||
|
||||
// node1 should NOT be considered public because the
|
||||
// channel announcement has empty signatures.
|
||||
isPublic, err := graph.IsPublicNode(node1.PubKeyBytes)
|
||||
isPublic, err := graph.IsPublicNode(ctx, node1.PubKeyBytes)
|
||||
require.NoError(t, err)
|
||||
require.False(t, isPublic)
|
||||
}
|
||||
@@ -4354,7 +4354,7 @@ func BenchmarkIsPublicNode(b *testing.B) {
|
||||
// Query random nodes to avoid query caching and better
|
||||
// represent real-world query patterns.
|
||||
nodePub := nodes[rng.Intn(len(nodes))].PubKeyBytes
|
||||
_, err := graph.IsPublicNode(nodePub)
|
||||
_, err := graph.IsPublicNode(b.Context(), nodePub)
|
||||
require.NoError(b, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,7 +150,8 @@ type Store interface { //nolint:interfacebloat
|
||||
// IsPublicNode is a helper method that determines whether the node with
|
||||
// the given public key is seen as a public node in the graph from the
|
||||
// graph's source node's point of view.
|
||||
IsPublicNode(v lnwire.GossipVersion, pubKey [33]byte) (bool, error)
|
||||
IsPublicNode(ctx context.Context, v lnwire.GossipVersion,
|
||||
pubKey [33]byte) (bool, error)
|
||||
|
||||
// GraphSession will provide the call-back with access to a
|
||||
// NodeTraverser instance which can be used to perform queries against
|
||||
|
||||
@@ -4103,8 +4103,8 @@ func (c *KVStore) FetchChannelEdgesByID(_ context.Context,
|
||||
// IsPublicNode is a helper method that determines whether the node with the
|
||||
// given public key is seen as a public node in the graph from the graph's
|
||||
// source node's point of view.
|
||||
func (c *KVStore) IsPublicNode(v lnwire.GossipVersion, pubKey [33]byte) (bool,
|
||||
error) {
|
||||
func (c *KVStore) IsPublicNode(_ context.Context, v lnwire.GossipVersion,
|
||||
pubKey [33]byte) (bool, error) {
|
||||
|
||||
if v != lnwire.GossipVersion1 {
|
||||
return false, ErrVersionNotSupportedForKVDB
|
||||
|
||||
@@ -2546,10 +2546,9 @@ func (s *SQLStore) ChannelID(ctx context.Context, v lnwire.GossipVersion,
|
||||
// source node's point of view.
|
||||
//
|
||||
// NOTE: part of the Store interface.
|
||||
func (s *SQLStore) IsPublicNode(v lnwire.GossipVersion, pubKey [33]byte) (bool,
|
||||
error) {
|
||||
func (s *SQLStore) IsPublicNode(ctx context.Context, v lnwire.GossipVersion,
|
||||
pubKey [33]byte) (bool, error) {
|
||||
|
||||
ctx := context.TODO()
|
||||
if !isKnownGossipVersion(v) {
|
||||
return false, fmt.Errorf("unsupported gossip version: %d", v)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user