graph/db: thread context through to LookupAlias
This commit is contained in:
5 files changed
+18
-13
No files matched your search
@@ -348,7 +348,7 @@ func TestAliasLookup(t *testing.T) {
|
||||
// the one which the test node was assigned.
|
||||
nodePub, err := testNode.PubKey()
|
||||
require.NoError(t, err, "unable to generate pubkey")
|
||||
dbAlias, err := graph.LookupAlias(nodePub)
|
||||
dbAlias, err := graph.LookupAlias(ctx, nodePub)
|
||||
require.NoError(t, err, "unable to find alias")
|
||||
require.Equal(t, testNode.Alias, dbAlias)
|
||||
|
||||
@@ -356,7 +356,7 @@ func TestAliasLookup(t *testing.T) {
|
||||
node := createTestVertex(t)
|
||||
nodePub, err = node.PubKey()
|
||||
require.NoError(t, err, "unable to generate pubkey")
|
||||
_, err = graph.LookupAlias(nodePub)
|
||||
_, err = graph.LookupAlias(ctx, nodePub)
|
||||
require.ErrorIs(t, err, ErrNodeAliasNotFound)
|
||||
}
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@ type V1Store interface { //nolint:interfacebloat
|
||||
|
||||
// LookupAlias attempts to return the alias as advertised by the target
|
||||
// node.
|
||||
LookupAlias(pub *btcec.PublicKey) (string, error)
|
||||
LookupAlias(ctx context.Context, pub *btcec.PublicKey) (string, error)
|
||||
|
||||
// DeleteLightningNode starts a new database transaction to remove a
|
||||
// vertex/node from the database according to the node's public key.
|
||||
|
||||
@@ -997,7 +997,9 @@ func addLightningNode(tx kvdb.RwTx, node *models.LightningNode) error {
|
||||
|
||||
// LookupAlias attempts to return the alias as advertised by the target node.
|
||||
// TODO(roasbeef): currently assumes that aliases are unique...
|
||||
func (c *KVStore) LookupAlias(pub *btcec.PublicKey) (string, error) {
|
||||
func (c *KVStore) LookupAlias(_ context.Context,
|
||||
pub *btcec.PublicKey) (string, error) {
|
||||
|
||||
var alias string
|
||||
|
||||
err := kvdb.View(c.db, func(tx kvdb.RTx) error {
|
||||
|
||||
@@ -355,11 +355,10 @@ func (s *SQLStore) FetchNodeFeatures(nodePub route.Vertex) (
|
||||
// LookupAlias attempts to return the alias as advertised by the target node.
|
||||
//
|
||||
// NOTE: part of the V1Store interface.
|
||||
func (s *SQLStore) LookupAlias(pub *btcec.PublicKey) (string, error) {
|
||||
var (
|
||||
ctx = context.TODO()
|
||||
alias string
|
||||
)
|
||||
func (s *SQLStore) LookupAlias(ctx context.Context,
|
||||
pub *btcec.PublicKey) (string, error) {
|
||||
|
||||
var alias string
|
||||
err := s.db.ExecTx(ctx, sqldb.ReadTxOpt(), func(db SQLQueries) error {
|
||||
dbNode, err := db.GetNodeByPubKey(
|
||||
ctx, sqlc.GetNodeByPubKeyParams{
|
||||
|
||||
+8
-4
@@ -4645,7 +4645,7 @@ func (r *rpcServer) ListChannels(ctx context.Context,
|
||||
// our list depending on the type of channels requested to us.
|
||||
isActive := peerOnline && linkActive
|
||||
channel, err := createRPCOpenChannel(
|
||||
r, dbChannel, isActive, in.PeerAliasLookup,
|
||||
ctx, r, dbChannel, isActive, in.PeerAliasLookup,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -4761,7 +4761,10 @@ func encodeCustomChanData(lnChan *channeldb.OpenChannel) ([]byte, error) {
|
||||
}
|
||||
|
||||
// createRPCOpenChannel creates an *lnrpc.Channel from the *channeldb.Channel.
|
||||
func createRPCOpenChannel(r *rpcServer, dbChannel *channeldb.OpenChannel,
|
||||
//
|
||||
//nolint:funlen
|
||||
func createRPCOpenChannel(ctx context.Context, r *rpcServer,
|
||||
dbChannel *channeldb.OpenChannel,
|
||||
isActive, peerAliasLookup bool) (*lnrpc.Channel, error) {
|
||||
|
||||
nodePub := dbChannel.IdentityPub
|
||||
@@ -4863,7 +4866,7 @@ func createRPCOpenChannel(r *rpcServer, dbChannel *channeldb.OpenChannel,
|
||||
|
||||
// Look up our channel peer's node alias if the caller requests it.
|
||||
if peerAliasLookup {
|
||||
peerAlias, err := r.server.graphDB.LookupAlias(nodePub)
|
||||
peerAlias, err := r.server.graphDB.LookupAlias(ctx, nodePub)
|
||||
if err != nil {
|
||||
peerAlias = fmt.Sprintf("unable to lookup "+
|
||||
"peer alias: %v", err)
|
||||
@@ -5307,7 +5310,8 @@ func (r *rpcServer) SubscribeChannelEvents(req *lnrpc.ChannelEventSubscription,
|
||||
}
|
||||
case channelnotifier.OpenChannelEvent:
|
||||
channel, err := createRPCOpenChannel(
|
||||
r, event.Channel, true, false,
|
||||
updateStream.Context(), r,
|
||||
event.Channel, true, false,
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
Reference in new issue
Block a user