package system import ( "context" "testing" client "github.com/cometbft/cometbft/rpc/client/http" cmtypes "github.com/cometbft/cometbft/types" "github.com/stretchr/testify/require" ) // RPCClient is a test helper to interact with a node via the RPC endpoint. type RPCClient struct { client *client.HTTP t *testing.T } // NewRPCClient constructor func NewRPCClient(t *testing.T, addr string) RPCClient { httpClient, err := client.New(addr, "/websocket") require.NoError(t, err) require.NoError(t, httpClient.Start()) t.Cleanup(func() { _ = httpClient.Stop() }) return RPCClient{client: httpClient, t: t} } // Validators returns list of validators func (r RPCClient) Validators() []*cmtypes.Validator { v, err := r.client.Validators(context.Background(), nil, nil, nil) require.NoError(r.t, err) return v.Validators }