From cc08271c5f8aa8a6fc104a01fb960dba650e72d9 Mon Sep 17 00:00:00 2001 From: ErikEk Date: Thu, 28 Jul 2022 12:46:18 +0200 Subject: [PATCH] itest: add neutrinoclient to harnessnode --- lntemp/rpc/harness_rpc.go | 3 +++ lntemp/rpc/neutrino_kit.go | 54 ++++++++++++++++++++++++++++++++++++++ lntest/harness_node.go | 6 +++++ 3 files changed, 63 insertions(+) create mode 100644 lntemp/rpc/neutrino_kit.go diff --git a/lntemp/rpc/harness_rpc.go b/lntemp/rpc/harness_rpc.go index 855227c60..549d2dc76 100644 --- a/lntemp/rpc/harness_rpc.go +++ b/lntemp/rpc/harness_rpc.go @@ -8,6 +8,7 @@ import ( "github.com/lightningnetwork/lnd/lnrpc" "github.com/lightningnetwork/lnd/lnrpc/chainrpc" "github.com/lightningnetwork/lnd/lnrpc/invoicesrpc" + "github.com/lightningnetwork/lnd/lnrpc/neutrinorpc" "github.com/lightningnetwork/lnd/lnrpc/peersrpc" "github.com/lightningnetwork/lnd/lnrpc/routerrpc" "github.com/lightningnetwork/lnd/lnrpc/signrpc" @@ -40,6 +41,7 @@ type HarnessRPC struct { State lnrpc.StateClient ChainClient chainrpc.ChainNotifierClient ChainKit chainrpc.ChainKitClient + NeutrinoKit neutrinorpc.NeutrinoKitClient Peer peersrpc.PeersClient // Name is the HarnessNode's name. @@ -70,6 +72,7 @@ func NewHarnessRPC(ctxt context.Context, t *testing.T, c *grpc.ClientConn, State: lnrpc.NewStateClient(c), ChainClient: chainrpc.NewChainNotifierClient(c), ChainKit: chainrpc.NewChainKitClient(c), + NeutrinoKit: neutrinorpc.NewNeutrinoKitClient(c), Peer: peersrpc.NewPeersClient(c), Name: name, } diff --git a/lntemp/rpc/neutrino_kit.go b/lntemp/rpc/neutrino_kit.go new file mode 100644 index 000000000..9cde1eb14 --- /dev/null +++ b/lntemp/rpc/neutrino_kit.go @@ -0,0 +1,54 @@ +package rpc + +import ( + "context" + + "github.com/lightningnetwork/lnd/lnrpc/neutrinorpc" +) + +// ===================== +// NeutrinoKitClient related RPCs. +// ===================== + +// Status makes an RPC call to neutrino kit client's Status and asserts. +func (h *HarnessRPC) Status( + req *neutrinorpc.StatusRequest) *neutrinorpc.StatusResponse { + + if req == nil { + req = &neutrinorpc.StatusRequest{} + } + + ctxt, cancel := context.WithTimeout(h.runCtx, DefaultTimeout) + defer cancel() + + resp, err := h.NeutrinoKit.Status(ctxt, req) + h.NoError(err, "Status") + + return resp +} + +// GetCFilter makes an RPC call to neutrino kit client's GetCFilter and asserts. +func (h *HarnessRPC) GetCFilter( + req *neutrinorpc.GetCFilterRequest) *neutrinorpc.GetCFilterResponse { + + ctxt, cancel := context.WithTimeout(h.runCtx, DefaultTimeout) + defer cancel() + + resp, err := h.NeutrinoKit.GetCFilter(ctxt, req) + h.NoError(err, "GetCFilter") + + return resp +} + +// AddPeer makes an RPC call to neutrino kit client's AddPeer and asserts. +func (h *HarnessRPC) AddPeer( + req *neutrinorpc.AddPeerRequest) *neutrinorpc.AddPeerResponse { + + ctxt, cancel := context.WithTimeout(h.runCtx, DefaultTimeout) + defer cancel() + + resp, err := h.NeutrinoKit.AddPeer(ctxt, req) + h.NoError(err, "AddPeer") + + return resp +} diff --git a/lntest/harness_node.go b/lntest/harness_node.go index 74bb544f1..1eb0b9ac8 100644 --- a/lntest/harness_node.go +++ b/lntest/harness_node.go @@ -25,6 +25,7 @@ import ( "github.com/lightningnetwork/lnd/lnrpc" "github.com/lightningnetwork/lnd/lnrpc/chainrpc" "github.com/lightningnetwork/lnd/lnrpc/invoicesrpc" + "github.com/lightningnetwork/lnd/lnrpc/neutrinorpc" "github.com/lightningnetwork/lnd/lnrpc/peersrpc" "github.com/lightningnetwork/lnd/lnrpc/routerrpc" "github.com/lightningnetwork/lnd/lnrpc/signrpc" @@ -368,6 +369,7 @@ type HarnessNode struct { StateClient lnrpc.StateClient ChainClient chainrpc.ChainNotifierClient ChainKit chainrpc.ChainKitClient + NeutrinoClient neutrinorpc.NeutrinoKitClient } // RPCClients wraps a list of RPC clients into a single struct for easier @@ -387,6 +389,7 @@ type RPCClients struct { State lnrpc.StateClient ChainClient chainrpc.ChainNotifierClient ChainKit chainrpc.ChainKitClient + NeutrinoClient neutrinorpc.NeutrinoKitClient } // Assert *HarnessNode implements the lnrpc.LightningClient interface. @@ -941,6 +944,7 @@ func (hn *HarnessNode) InitRPCClients(c *grpc.ClientConn) { State: lnrpc.NewStateClient(c), ChainClient: chainrpc.NewChainNotifierClient(c), ChainKit: chainrpc.NewChainKitClient(c), + NeutrinoClient: neutrinorpc.NewNeutrinoKitClient(c), } } @@ -964,6 +968,7 @@ func (hn *HarnessNode) initLightningClient() error { hn.StateClient = lnrpc.NewStateClient(conn) hn.ChainClient = chainrpc.NewChainNotifierClient(conn) hn.ChainKit = chainrpc.NewChainKitClient(conn) + hn.NeutrinoClient = neutrinorpc.NewNeutrinoKitClient(conn) // Wait until the server is fully started. if err := hn.WaitUntilServerActive(); err != nil { @@ -1183,6 +1188,7 @@ func (hn *HarnessNode) stop() error { hn.WalletUnlockerClient = nil hn.Watchtower = nil hn.WatchtowerClient = nil + hn.NeutrinoClient = nil // Close any attempts at further grpc connections. if hn.rpc.conn != nil {