package itest import ( "github.com/lightningnetwork/lnd/lnrpc/neutrinorpc" "github.com/lightningnetwork/lnd/lntemp" "github.com/lightningnetwork/lnd/lntest" "github.com/stretchr/testify/require" ) // testNeutrino checks that the neutrino sub-server can fetch compact // block filters, server status and connect to a connected peer. func testNeutrino(ht *lntemp.HarnessTest) { if ht.ChainBackendName() != lntest.NeutrinoBackendName { ht.Skipf("skipping test for non neutrino backends") } // Check if the neutrino sub server is running. statusRes := ht.Alice.RPC.Status(nil) require.True(ht, statusRes.Active) require.Len(ht, statusRes.Peers, 1, "unable to find a peer") // Request the compact block filter of the best block. cFilterReq := &neutrinorpc.GetCFilterRequest{ Hash: statusRes.GetBlockHash(), } ht.Alice.RPC.GetCFilter(cFilterReq) // Try to reconnect to a connected peer. addPeerReq := &neutrinorpc.AddPeerRequest{ PeerAddrs: statusRes.Peers[0], } ht.Alice.RPC.AddPeer(addPeerReq) }