mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-22 03:30:35 +00:00
Add REST API stubs for beacon chain, node and slasher clients (#12094)
* WIP * WIP * Remove duplicate mock * WIP * Revert "WIP" This reverts commit a8010057fef4209dfddde34ea868b88f1e196c44. * Fix build break * Remove unused variable * Fix build break * Rename validator_mock to validatormock * Fix failing test --------- Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com> Co-authored-by: Radosław Kapka <rkapka@wp.pl>
This commit is contained in:
parent
6480d5a0fd
commit
7c49277e83
@ -56,8 +56,8 @@ go_test(
|
||||
"//io/file:go_default_library",
|
||||
"//proto/prysm/v1alpha1:go_default_library",
|
||||
"//testing/assert:go_default_library",
|
||||
"//testing/mock:go_default_library",
|
||||
"//testing/require:go_default_library",
|
||||
"//testing/validator-mock:go_default_library",
|
||||
"//time:go_default_library",
|
||||
"//validator/accounts:go_default_library",
|
||||
"//validator/accounts/iface:go_default_library",
|
||||
|
@ -11,8 +11,8 @@ import (
|
||||
"github.com/golang/mock/gomock"
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/assert"
|
||||
mock2 "github.com/prysmaticlabs/prysm/v4/testing/mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/require"
|
||||
validatormock "github.com/prysmaticlabs/prysm/v4/testing/validator-mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/accounts"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/keymanager"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
@ -21,8 +21,8 @@ import (
|
||||
func TestExitAccountsCli_OK(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
mockValidatorClient := mock2.NewMockValidatorClient(ctrl)
|
||||
mockNodeClient := mock2.NewMockNodeClient(ctrl)
|
||||
mockValidatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
mockNodeClient := validatormock.NewMockNodeClient(ctrl)
|
||||
|
||||
mockValidatorClient.EXPECT().
|
||||
ValidatorIndex(gomock.Any(), gomock.Any()).
|
||||
@ -113,8 +113,8 @@ func TestExitAccountsCli_OK(t *testing.T) {
|
||||
func TestExitAccountsCli_OK_AllPublicKeys(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
mockValidatorClient := mock2.NewMockValidatorClient(ctrl)
|
||||
mockNodeClient := mock2.NewMockNodeClient(ctrl)
|
||||
mockValidatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
mockNodeClient := validatormock.NewMockNodeClient(ctrl)
|
||||
|
||||
mockValidatorClient.EXPECT().
|
||||
ValidatorIndex(gomock.Any(), gomock.Any()).
|
||||
@ -220,8 +220,8 @@ func TestExitAccountsCli_OK_AllPublicKeys(t *testing.T) {
|
||||
func TestExitAccountsCli_OK_ForceExit(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
mockValidatorClient := mock2.NewMockValidatorClient(ctrl)
|
||||
mockNodeClient := mock2.NewMockNodeClient(ctrl)
|
||||
mockValidatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
mockNodeClient := validatormock.NewMockNodeClient(ctrl)
|
||||
|
||||
mockValidatorClient.EXPECT().
|
||||
ValidatorIndex(gomock.Any(), gomock.Any()).
|
||||
|
@ -4,6 +4,7 @@
|
||||
# Use a space to separate mock destination from its interfaces.
|
||||
|
||||
mock_path="testing/mock"
|
||||
iface_mock_path="testing/validator-mock"
|
||||
|
||||
# github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1
|
||||
# ------------------------------------------------------
|
||||
@ -55,14 +56,17 @@ done
|
||||
# github.com/prysmaticlabs/prysm/v4/validator/client/iface
|
||||
# --------------------------------------------------------
|
||||
iface_mocks=(
|
||||
"$mock_path/validator_client_mock.go ValidatorClient"
|
||||
"$iface_mock_path/beacon_chain_client_mock.go BeaconChainClient"
|
||||
"$iface_mock_path/node_client_mock.go NodeClient"
|
||||
"$iface_mock_path/slasher_client_mock.go SlasherClient"
|
||||
"$iface_mock_path/validator_client_mock.go ValidatorClient"
|
||||
)
|
||||
|
||||
for ((i = 0; i < ${#iface_mocks[@]}; i++)); do
|
||||
file=${iface_mocks[i]% *};
|
||||
interfaces=${iface_mocks[i]#* };
|
||||
echo "generating $file for interfaces: $interfaces";
|
||||
GO11MODULE=on mockgen -package=mock -destination="$file" github.com/prysmaticlabs/prysm/v4/validator/client/iface "$interfaces"
|
||||
GO11MODULE=on mockgen -package=validator_mock -destination="$file" github.com/prysmaticlabs/prysm/v4/validator/client/iface "$interfaces"
|
||||
done
|
||||
|
||||
goimports -w "$mock_path/."
|
||||
|
@ -15,12 +15,10 @@ go_library(
|
||||
"keymanager_mock.go",
|
||||
"node_service_mock.go",
|
||||
"slasher_client_mock.go",
|
||||
"validator_client_mock.go",
|
||||
],
|
||||
importpath = "github.com/prysmaticlabs/prysm/v4/testing/mock",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//consensus-types/primitives:go_default_library",
|
||||
"//proto/eth/service:go_default_library",
|
||||
"//proto/eth/v1:go_default_library",
|
||||
"//proto/prysm/v1alpha1:go_default_library",
|
||||
|
21
testing/validator-mock/BUILD.bazel
Normal file
21
testing/validator-mock/BUILD.bazel
Normal file
@ -0,0 +1,21 @@
|
||||
load("@prysm//tools/go:def.bzl", "go_library")
|
||||
|
||||
package(default_testonly = True)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = [
|
||||
"beacon_chain_client_mock.go",
|
||||
"node_client_mock.go",
|
||||
"slasher_client_mock.go",
|
||||
"validator_client_mock.go",
|
||||
],
|
||||
importpath = "github.com/prysmaticlabs/prysm/v4/testing/validator-mock",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//consensus-types/primitives:go_default_library",
|
||||
"//proto/prysm/v1alpha1:go_default_library",
|
||||
"@com_github_golang_mock//gomock:go_default_library",
|
||||
"@org_golang_google_protobuf//types/known/emptypb:go_default_library",
|
||||
],
|
||||
)
|
382
testing/validator-mock/beacon_chain_client_mock.go
generated
Normal file
382
testing/validator-mock/beacon_chain_client_mock.go
generated
Normal file
@ -0,0 +1,382 @@
|
||||
// Code generated by MockGen. DO NOT EDIT.
|
||||
// Source: github.com/prysmaticlabs/prysm/v4/validator/client/iface (interfaces: BeaconChainClient)
|
||||
|
||||
// Package validator_mock is a generated GoMock package.
|
||||
package validator_mock
|
||||
|
||||
import (
|
||||
context "context"
|
||||
reflect "reflect"
|
||||
|
||||
gomock "github.com/golang/mock/gomock"
|
||||
eth "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
emptypb "google.golang.org/protobuf/types/known/emptypb"
|
||||
)
|
||||
|
||||
// MockBeaconChainClient is a mock of BeaconChainClient interface.
|
||||
type MockBeaconChainClient struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockBeaconChainClientMockRecorder
|
||||
}
|
||||
|
||||
// MockBeaconChainClientMockRecorder is the mock recorder for MockBeaconChainClient.
|
||||
type MockBeaconChainClientMockRecorder struct {
|
||||
mock *MockBeaconChainClient
|
||||
}
|
||||
|
||||
// NewMockBeaconChainClient creates a new mock instance.
|
||||
func NewMockBeaconChainClient(ctrl *gomock.Controller) *MockBeaconChainClient {
|
||||
mock := &MockBeaconChainClient{ctrl: ctrl}
|
||||
mock.recorder = &MockBeaconChainClientMockRecorder{mock}
|
||||
return mock
|
||||
}
|
||||
|
||||
// EXPECT returns an object that allows the caller to indicate expected use.
|
||||
func (m *MockBeaconChainClient) EXPECT() *MockBeaconChainClientMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// AttestationPool mocks base method.
|
||||
func (m *MockBeaconChainClient) AttestationPool(arg0 context.Context, arg1 *eth.AttestationPoolRequest) (*eth.AttestationPoolResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "AttestationPool", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.AttestationPoolResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// AttestationPool indicates an expected call of AttestationPool.
|
||||
func (mr *MockBeaconChainClientMockRecorder) AttestationPool(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AttestationPool", reflect.TypeOf((*MockBeaconChainClient)(nil).AttestationPool), arg0, arg1)
|
||||
}
|
||||
|
||||
// GetBeaconConfig mocks base method.
|
||||
func (m *MockBeaconChainClient) GetBeaconConfig(arg0 context.Context, arg1 *emptypb.Empty) (*eth.BeaconConfig, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetBeaconConfig", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.BeaconConfig)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetBeaconConfig indicates an expected call of GetBeaconConfig.
|
||||
func (mr *MockBeaconChainClientMockRecorder) GetBeaconConfig(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetBeaconConfig", reflect.TypeOf((*MockBeaconChainClient)(nil).GetBeaconConfig), arg0, arg1)
|
||||
}
|
||||
|
||||
// GetChainHead mocks base method.
|
||||
func (m *MockBeaconChainClient) GetChainHead(arg0 context.Context, arg1 *emptypb.Empty) (*eth.ChainHead, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetChainHead", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.ChainHead)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetChainHead indicates an expected call of GetChainHead.
|
||||
func (mr *MockBeaconChainClientMockRecorder) GetChainHead(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetChainHead", reflect.TypeOf((*MockBeaconChainClient)(nil).GetChainHead), arg0, arg1)
|
||||
}
|
||||
|
||||
// GetIndividualVotes mocks base method.
|
||||
func (m *MockBeaconChainClient) GetIndividualVotes(arg0 context.Context, arg1 *eth.IndividualVotesRequest) (*eth.IndividualVotesRespond, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetIndividualVotes", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.IndividualVotesRespond)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetIndividualVotes indicates an expected call of GetIndividualVotes.
|
||||
func (mr *MockBeaconChainClientMockRecorder) GetIndividualVotes(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetIndividualVotes", reflect.TypeOf((*MockBeaconChainClient)(nil).GetIndividualVotes), arg0, arg1)
|
||||
}
|
||||
|
||||
// GetValidator mocks base method.
|
||||
func (m *MockBeaconChainClient) GetValidator(arg0 context.Context, arg1 *eth.GetValidatorRequest) (*eth.Validator, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetValidator", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.Validator)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetValidator indicates an expected call of GetValidator.
|
||||
func (mr *MockBeaconChainClientMockRecorder) GetValidator(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetValidator", reflect.TypeOf((*MockBeaconChainClient)(nil).GetValidator), arg0, arg1)
|
||||
}
|
||||
|
||||
// GetValidatorActiveSetChanges mocks base method.
|
||||
func (m *MockBeaconChainClient) GetValidatorActiveSetChanges(arg0 context.Context, arg1 *eth.GetValidatorActiveSetChangesRequest) (*eth.ActiveSetChanges, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetValidatorActiveSetChanges", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.ActiveSetChanges)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetValidatorActiveSetChanges indicates an expected call of GetValidatorActiveSetChanges.
|
||||
func (mr *MockBeaconChainClientMockRecorder) GetValidatorActiveSetChanges(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetValidatorActiveSetChanges", reflect.TypeOf((*MockBeaconChainClient)(nil).GetValidatorActiveSetChanges), arg0, arg1)
|
||||
}
|
||||
|
||||
// GetValidatorParticipation mocks base method.
|
||||
func (m *MockBeaconChainClient) GetValidatorParticipation(arg0 context.Context, arg1 *eth.GetValidatorParticipationRequest) (*eth.ValidatorParticipationResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetValidatorParticipation", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.ValidatorParticipationResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetValidatorParticipation indicates an expected call of GetValidatorParticipation.
|
||||
func (mr *MockBeaconChainClientMockRecorder) GetValidatorParticipation(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetValidatorParticipation", reflect.TypeOf((*MockBeaconChainClient)(nil).GetValidatorParticipation), arg0, arg1)
|
||||
}
|
||||
|
||||
// GetValidatorPerformance mocks base method.
|
||||
func (m *MockBeaconChainClient) GetValidatorPerformance(arg0 context.Context, arg1 *eth.ValidatorPerformanceRequest) (*eth.ValidatorPerformanceResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetValidatorPerformance", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.ValidatorPerformanceResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetValidatorPerformance indicates an expected call of GetValidatorPerformance.
|
||||
func (mr *MockBeaconChainClientMockRecorder) GetValidatorPerformance(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetValidatorPerformance", reflect.TypeOf((*MockBeaconChainClient)(nil).GetValidatorPerformance), arg0, arg1)
|
||||
}
|
||||
|
||||
// GetValidatorQueue mocks base method.
|
||||
func (m *MockBeaconChainClient) GetValidatorQueue(arg0 context.Context, arg1 *emptypb.Empty) (*eth.ValidatorQueue, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetValidatorQueue", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.ValidatorQueue)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetValidatorQueue indicates an expected call of GetValidatorQueue.
|
||||
func (mr *MockBeaconChainClientMockRecorder) GetValidatorQueue(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetValidatorQueue", reflect.TypeOf((*MockBeaconChainClient)(nil).GetValidatorQueue), arg0, arg1)
|
||||
}
|
||||
|
||||
// ListAttestations mocks base method.
|
||||
func (m *MockBeaconChainClient) ListAttestations(arg0 context.Context, arg1 *eth.ListAttestationsRequest) (*eth.ListAttestationsResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ListAttestations", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.ListAttestationsResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// ListAttestations indicates an expected call of ListAttestations.
|
||||
func (mr *MockBeaconChainClientMockRecorder) ListAttestations(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAttestations", reflect.TypeOf((*MockBeaconChainClient)(nil).ListAttestations), arg0, arg1)
|
||||
}
|
||||
|
||||
// ListBeaconBlocks mocks base method.
|
||||
func (m *MockBeaconChainClient) ListBeaconBlocks(arg0 context.Context, arg1 *eth.ListBlocksRequest) (*eth.ListBeaconBlocksResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ListBeaconBlocks", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.ListBeaconBlocksResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// ListBeaconBlocks indicates an expected call of ListBeaconBlocks.
|
||||
func (mr *MockBeaconChainClientMockRecorder) ListBeaconBlocks(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListBeaconBlocks", reflect.TypeOf((*MockBeaconChainClient)(nil).ListBeaconBlocks), arg0, arg1)
|
||||
}
|
||||
|
||||
// ListBeaconCommittees mocks base method.
|
||||
func (m *MockBeaconChainClient) ListBeaconCommittees(arg0 context.Context, arg1 *eth.ListCommitteesRequest) (*eth.BeaconCommittees, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ListBeaconCommittees", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.BeaconCommittees)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// ListBeaconCommittees indicates an expected call of ListBeaconCommittees.
|
||||
func (mr *MockBeaconChainClientMockRecorder) ListBeaconCommittees(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListBeaconCommittees", reflect.TypeOf((*MockBeaconChainClient)(nil).ListBeaconCommittees), arg0, arg1)
|
||||
}
|
||||
|
||||
// ListIndexedAttestations mocks base method.
|
||||
func (m *MockBeaconChainClient) ListIndexedAttestations(arg0 context.Context, arg1 *eth.ListIndexedAttestationsRequest) (*eth.ListIndexedAttestationsResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ListIndexedAttestations", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.ListIndexedAttestationsResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// ListIndexedAttestations indicates an expected call of ListIndexedAttestations.
|
||||
func (mr *MockBeaconChainClientMockRecorder) ListIndexedAttestations(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListIndexedAttestations", reflect.TypeOf((*MockBeaconChainClient)(nil).ListIndexedAttestations), arg0, arg1)
|
||||
}
|
||||
|
||||
// ListValidatorAssignments mocks base method.
|
||||
func (m *MockBeaconChainClient) ListValidatorAssignments(arg0 context.Context, arg1 *eth.ListValidatorAssignmentsRequest) (*eth.ValidatorAssignments, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ListValidatorAssignments", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.ValidatorAssignments)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// ListValidatorAssignments indicates an expected call of ListValidatorAssignments.
|
||||
func (mr *MockBeaconChainClientMockRecorder) ListValidatorAssignments(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListValidatorAssignments", reflect.TypeOf((*MockBeaconChainClient)(nil).ListValidatorAssignments), arg0, arg1)
|
||||
}
|
||||
|
||||
// ListValidatorBalances mocks base method.
|
||||
func (m *MockBeaconChainClient) ListValidatorBalances(arg0 context.Context, arg1 *eth.ListValidatorBalancesRequest) (*eth.ValidatorBalances, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ListValidatorBalances", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.ValidatorBalances)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// ListValidatorBalances indicates an expected call of ListValidatorBalances.
|
||||
func (mr *MockBeaconChainClientMockRecorder) ListValidatorBalances(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListValidatorBalances", reflect.TypeOf((*MockBeaconChainClient)(nil).ListValidatorBalances), arg0, arg1)
|
||||
}
|
||||
|
||||
// ListValidators mocks base method.
|
||||
func (m *MockBeaconChainClient) ListValidators(arg0 context.Context, arg1 *eth.ListValidatorsRequest) (*eth.Validators, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ListValidators", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.Validators)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// ListValidators indicates an expected call of ListValidators.
|
||||
func (mr *MockBeaconChainClientMockRecorder) ListValidators(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListValidators", reflect.TypeOf((*MockBeaconChainClient)(nil).ListValidators), arg0, arg1)
|
||||
}
|
||||
|
||||
// StreamAttestations mocks base method.
|
||||
func (m *MockBeaconChainClient) StreamAttestations(arg0 context.Context, arg1 *emptypb.Empty) (eth.BeaconChain_StreamAttestationsClient, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "StreamAttestations", arg0, arg1)
|
||||
ret0, _ := ret[0].(eth.BeaconChain_StreamAttestationsClient)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// StreamAttestations indicates an expected call of StreamAttestations.
|
||||
func (mr *MockBeaconChainClientMockRecorder) StreamAttestations(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StreamAttestations", reflect.TypeOf((*MockBeaconChainClient)(nil).StreamAttestations), arg0, arg1)
|
||||
}
|
||||
|
||||
// StreamBlocks mocks base method.
|
||||
func (m *MockBeaconChainClient) StreamBlocks(arg0 context.Context, arg1 *eth.StreamBlocksRequest) (eth.BeaconChain_StreamBlocksClient, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "StreamBlocks", arg0, arg1)
|
||||
ret0, _ := ret[0].(eth.BeaconChain_StreamBlocksClient)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// StreamBlocks indicates an expected call of StreamBlocks.
|
||||
func (mr *MockBeaconChainClientMockRecorder) StreamBlocks(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StreamBlocks", reflect.TypeOf((*MockBeaconChainClient)(nil).StreamBlocks), arg0, arg1)
|
||||
}
|
||||
|
||||
// StreamChainHead mocks base method.
|
||||
func (m *MockBeaconChainClient) StreamChainHead(arg0 context.Context, arg1 *emptypb.Empty) (eth.BeaconChain_StreamChainHeadClient, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "StreamChainHead", arg0, arg1)
|
||||
ret0, _ := ret[0].(eth.BeaconChain_StreamChainHeadClient)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// StreamChainHead indicates an expected call of StreamChainHead.
|
||||
func (mr *MockBeaconChainClientMockRecorder) StreamChainHead(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StreamChainHead", reflect.TypeOf((*MockBeaconChainClient)(nil).StreamChainHead), arg0, arg1)
|
||||
}
|
||||
|
||||
// StreamIndexedAttestations mocks base method.
|
||||
func (m *MockBeaconChainClient) StreamIndexedAttestations(arg0 context.Context, arg1 *emptypb.Empty) (eth.BeaconChain_StreamIndexedAttestationsClient, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "StreamIndexedAttestations", arg0, arg1)
|
||||
ret0, _ := ret[0].(eth.BeaconChain_StreamIndexedAttestationsClient)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// StreamIndexedAttestations indicates an expected call of StreamIndexedAttestations.
|
||||
func (mr *MockBeaconChainClientMockRecorder) StreamIndexedAttestations(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StreamIndexedAttestations", reflect.TypeOf((*MockBeaconChainClient)(nil).StreamIndexedAttestations), arg0, arg1)
|
||||
}
|
||||
|
||||
// StreamValidatorsInfo mocks base method.
|
||||
func (m *MockBeaconChainClient) StreamValidatorsInfo(arg0 context.Context) (eth.BeaconChain_StreamValidatorsInfoClient, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "StreamValidatorsInfo", arg0)
|
||||
ret0, _ := ret[0].(eth.BeaconChain_StreamValidatorsInfoClient)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// StreamValidatorsInfo indicates an expected call of StreamValidatorsInfo.
|
||||
func (mr *MockBeaconChainClientMockRecorder) StreamValidatorsInfo(arg0 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StreamValidatorsInfo", reflect.TypeOf((*MockBeaconChainClient)(nil).StreamValidatorsInfo), arg0)
|
||||
}
|
||||
|
||||
// SubmitAttesterSlashing mocks base method.
|
||||
func (m *MockBeaconChainClient) SubmitAttesterSlashing(arg0 context.Context, arg1 *eth.AttesterSlashing) (*eth.SubmitSlashingResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "SubmitAttesterSlashing", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.SubmitSlashingResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// SubmitAttesterSlashing indicates an expected call of SubmitAttesterSlashing.
|
||||
func (mr *MockBeaconChainClientMockRecorder) SubmitAttesterSlashing(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubmitAttesterSlashing", reflect.TypeOf((*MockBeaconChainClient)(nil).SubmitAttesterSlashing), arg0, arg1)
|
||||
}
|
||||
|
||||
// SubmitProposerSlashing mocks base method.
|
||||
func (m *MockBeaconChainClient) SubmitProposerSlashing(arg0 context.Context, arg1 *eth.ProposerSlashing) (*eth.SubmitSlashingResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "SubmitProposerSlashing", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.SubmitSlashingResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// SubmitProposerSlashing indicates an expected call of SubmitProposerSlashing.
|
||||
func (mr *MockBeaconChainClientMockRecorder) SubmitProposerSlashing(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubmitProposerSlashing", reflect.TypeOf((*MockBeaconChainClient)(nil).SubmitProposerSlashing), arg0, arg1)
|
||||
}
|
157
testing/validator-mock/node_client_mock.go
generated
Normal file
157
testing/validator-mock/node_client_mock.go
generated
Normal file
@ -0,0 +1,157 @@
|
||||
// Code generated by MockGen. DO NOT EDIT.
|
||||
// Source: github.com/prysmaticlabs/prysm/v4/validator/client/iface (interfaces: NodeClient)
|
||||
|
||||
// Package validator_mock is a generated GoMock package.
|
||||
package validator_mock
|
||||
|
||||
import (
|
||||
context "context"
|
||||
reflect "reflect"
|
||||
|
||||
gomock "github.com/golang/mock/gomock"
|
||||
eth "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
emptypb "google.golang.org/protobuf/types/known/emptypb"
|
||||
)
|
||||
|
||||
// MockNodeClient is a mock of NodeClient interface.
|
||||
type MockNodeClient struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockNodeClientMockRecorder
|
||||
}
|
||||
|
||||
// MockNodeClientMockRecorder is the mock recorder for MockNodeClient.
|
||||
type MockNodeClientMockRecorder struct {
|
||||
mock *MockNodeClient
|
||||
}
|
||||
|
||||
// NewMockNodeClient creates a new mock instance.
|
||||
func NewMockNodeClient(ctrl *gomock.Controller) *MockNodeClient {
|
||||
mock := &MockNodeClient{ctrl: ctrl}
|
||||
mock.recorder = &MockNodeClientMockRecorder{mock}
|
||||
return mock
|
||||
}
|
||||
|
||||
// EXPECT returns an object that allows the caller to indicate expected use.
|
||||
func (m *MockNodeClient) EXPECT() *MockNodeClientMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// GetETH1ConnectionStatus mocks base method.
|
||||
func (m *MockNodeClient) GetETH1ConnectionStatus(arg0 context.Context, arg1 *emptypb.Empty) (*eth.ETH1ConnectionStatus, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetETH1ConnectionStatus", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.ETH1ConnectionStatus)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetETH1ConnectionStatus indicates an expected call of GetETH1ConnectionStatus.
|
||||
func (mr *MockNodeClientMockRecorder) GetETH1ConnectionStatus(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetETH1ConnectionStatus", reflect.TypeOf((*MockNodeClient)(nil).GetETH1ConnectionStatus), arg0, arg1)
|
||||
}
|
||||
|
||||
// GetGenesis mocks base method.
|
||||
func (m *MockNodeClient) GetGenesis(arg0 context.Context, arg1 *emptypb.Empty) (*eth.Genesis, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetGenesis", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.Genesis)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetGenesis indicates an expected call of GetGenesis.
|
||||
func (mr *MockNodeClientMockRecorder) GetGenesis(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGenesis", reflect.TypeOf((*MockNodeClient)(nil).GetGenesis), arg0, arg1)
|
||||
}
|
||||
|
||||
// GetHost mocks base method.
|
||||
func (m *MockNodeClient) GetHost(arg0 context.Context, arg1 *emptypb.Empty) (*eth.HostData, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetHost", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.HostData)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetHost indicates an expected call of GetHost.
|
||||
func (mr *MockNodeClientMockRecorder) GetHost(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetHost", reflect.TypeOf((*MockNodeClient)(nil).GetHost), arg0, arg1)
|
||||
}
|
||||
|
||||
// GetPeer mocks base method.
|
||||
func (m *MockNodeClient) GetPeer(arg0 context.Context, arg1 *eth.PeerRequest) (*eth.Peer, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetPeer", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.Peer)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetPeer indicates an expected call of GetPeer.
|
||||
func (mr *MockNodeClientMockRecorder) GetPeer(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPeer", reflect.TypeOf((*MockNodeClient)(nil).GetPeer), arg0, arg1)
|
||||
}
|
||||
|
||||
// GetSyncStatus mocks base method.
|
||||
func (m *MockNodeClient) GetSyncStatus(arg0 context.Context, arg1 *emptypb.Empty) (*eth.SyncStatus, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetSyncStatus", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.SyncStatus)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetSyncStatus indicates an expected call of GetSyncStatus.
|
||||
func (mr *MockNodeClientMockRecorder) GetSyncStatus(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSyncStatus", reflect.TypeOf((*MockNodeClient)(nil).GetSyncStatus), arg0, arg1)
|
||||
}
|
||||
|
||||
// GetVersion mocks base method.
|
||||
func (m *MockNodeClient) GetVersion(arg0 context.Context, arg1 *emptypb.Empty) (*eth.Version, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetVersion", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.Version)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetVersion indicates an expected call of GetVersion.
|
||||
func (mr *MockNodeClientMockRecorder) GetVersion(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetVersion", reflect.TypeOf((*MockNodeClient)(nil).GetVersion), arg0, arg1)
|
||||
}
|
||||
|
||||
// ListImplementedServices mocks base method.
|
||||
func (m *MockNodeClient) ListImplementedServices(arg0 context.Context, arg1 *emptypb.Empty) (*eth.ImplementedServices, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ListImplementedServices", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.ImplementedServices)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// ListImplementedServices indicates an expected call of ListImplementedServices.
|
||||
func (mr *MockNodeClientMockRecorder) ListImplementedServices(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListImplementedServices", reflect.TypeOf((*MockNodeClient)(nil).ListImplementedServices), arg0, arg1)
|
||||
}
|
||||
|
||||
// ListPeers mocks base method.
|
||||
func (m *MockNodeClient) ListPeers(arg0 context.Context, arg1 *emptypb.Empty) (*eth.Peers, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ListPeers", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.Peers)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// ListPeers indicates an expected call of ListPeers.
|
||||
func (mr *MockNodeClientMockRecorder) ListPeers(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPeers", reflect.TypeOf((*MockNodeClient)(nil).ListPeers), arg0, arg1)
|
||||
}
|
81
testing/validator-mock/slasher_client_mock.go
generated
Normal file
81
testing/validator-mock/slasher_client_mock.go
generated
Normal file
@ -0,0 +1,81 @@
|
||||
// Code generated by MockGen. DO NOT EDIT.
|
||||
// Source: github.com/prysmaticlabs/prysm/v4/validator/client/iface (interfaces: SlasherClient)
|
||||
|
||||
// Package validator_mock is a generated GoMock package.
|
||||
package validator_mock
|
||||
|
||||
import (
|
||||
context "context"
|
||||
reflect "reflect"
|
||||
|
||||
gomock "github.com/golang/mock/gomock"
|
||||
eth "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
)
|
||||
|
||||
// MockSlasherClient is a mock of SlasherClient interface.
|
||||
type MockSlasherClient struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockSlasherClientMockRecorder
|
||||
}
|
||||
|
||||
// MockSlasherClientMockRecorder is the mock recorder for MockSlasherClient.
|
||||
type MockSlasherClientMockRecorder struct {
|
||||
mock *MockSlasherClient
|
||||
}
|
||||
|
||||
// NewMockSlasherClient creates a new mock instance.
|
||||
func NewMockSlasherClient(ctrl *gomock.Controller) *MockSlasherClient {
|
||||
mock := &MockSlasherClient{ctrl: ctrl}
|
||||
mock.recorder = &MockSlasherClientMockRecorder{mock}
|
||||
return mock
|
||||
}
|
||||
|
||||
// EXPECT returns an object that allows the caller to indicate expected use.
|
||||
func (m *MockSlasherClient) EXPECT() *MockSlasherClientMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// HighestAttestations mocks base method.
|
||||
func (m *MockSlasherClient) HighestAttestations(arg0 context.Context, arg1 *eth.HighestAttestationRequest) (*eth.HighestAttestationResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "HighestAttestations", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.HighestAttestationResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// HighestAttestations indicates an expected call of HighestAttestations.
|
||||
func (mr *MockSlasherClientMockRecorder) HighestAttestations(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "HighestAttestations", reflect.TypeOf((*MockSlasherClient)(nil).HighestAttestations), arg0, arg1)
|
||||
}
|
||||
|
||||
// IsSlashableAttestation mocks base method.
|
||||
func (m *MockSlasherClient) IsSlashableAttestation(arg0 context.Context, arg1 *eth.IndexedAttestation) (*eth.AttesterSlashingResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "IsSlashableAttestation", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.AttesterSlashingResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// IsSlashableAttestation indicates an expected call of IsSlashableAttestation.
|
||||
func (mr *MockSlasherClientMockRecorder) IsSlashableAttestation(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsSlashableAttestation", reflect.TypeOf((*MockSlasherClient)(nil).IsSlashableAttestation), arg0, arg1)
|
||||
}
|
||||
|
||||
// IsSlashableBlock mocks base method.
|
||||
func (m *MockSlasherClient) IsSlashableBlock(arg0 context.Context, arg1 *eth.SignedBeaconBlockHeader) (*eth.ProposerSlashingResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "IsSlashableBlock", arg0, arg1)
|
||||
ret0, _ := ret[0].(*eth.ProposerSlashingResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// IsSlashableBlock indicates an expected call of IsSlashableBlock.
|
||||
func (mr *MockSlasherClientMockRecorder) IsSlashableBlock(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsSlashableBlock", reflect.TypeOf((*MockSlasherClient)(nil).IsSlashableBlock), arg0, arg1)
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
// Code generated by MockGen. DO NOT EDIT.
|
||||
// Source: github.com/prysmaticlabs/prysm/v4/validator/client/iface (interfaces: ValidatorClient)
|
||||
|
||||
// Package mock is a generated GoMock package.
|
||||
package mock
|
||||
// Package validator_mock is a generated GoMock package.
|
||||
package validator_mock
|
||||
|
||||
import (
|
||||
context "context"
|
||||
@ -262,21 +262,6 @@ func (mr *MockValidatorClientMockRecorder) StreamBlocksAltair(arg0, arg1 interfa
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StreamBlocksAltair", reflect.TypeOf((*MockValidatorClient)(nil).StreamBlocksAltair), arg0, arg1)
|
||||
}
|
||||
|
||||
// StreamDuties mocks base method.
|
||||
func (m *MockValidatorClient) StreamDuties(arg0 context.Context, arg1 *eth.DutiesRequest) (eth.BeaconNodeValidator_StreamDutiesClient, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "StreamDuties", arg0, arg1)
|
||||
ret0, _ := ret[0].(eth.BeaconNodeValidator_StreamDutiesClient)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// StreamDuties indicates an expected call of StreamDuties.
|
||||
func (mr *MockValidatorClientMockRecorder) StreamDuties(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StreamDuties", reflect.TypeOf((*MockValidatorClient)(nil).StreamDuties), arg0, arg1)
|
||||
}
|
||||
|
||||
// SubmitAggregateSelectionProof mocks base method.
|
||||
func (m *MockValidatorClient) SubmitAggregateSelectionProof(arg0 context.Context, arg1 *eth.AggregateSelectionRequest) (*eth.AggregateSelectionResponse, error) {
|
||||
m.ctrl.T.Helper()
|
@ -41,6 +41,7 @@ go_library(
|
||||
"//validator/accounts/wallet:go_default_library",
|
||||
"//validator/client:go_default_library",
|
||||
"//validator/client/iface:go_default_library",
|
||||
"//validator/client/node-client-factory:go_default_library",
|
||||
"//validator/client/validator-client-factory:go_default_library",
|
||||
"//validator/helpers:go_default_library",
|
||||
"//validator/keymanager:go_default_library",
|
||||
@ -80,8 +81,8 @@ go_test(
|
||||
"//proto/eth/service:go_default_library",
|
||||
"//proto/prysm/v1alpha1:go_default_library",
|
||||
"//testing/assert:go_default_library",
|
||||
"//testing/mock:go_default_library",
|
||||
"//testing/require:go_default_library",
|
||||
"//testing/validator-mock:go_default_library",
|
||||
"//validator/accounts/iface:go_default_library",
|
||||
"//validator/keymanager:go_default_library",
|
||||
"//validator/keymanager/derived:go_default_library",
|
||||
|
@ -12,7 +12,6 @@ import (
|
||||
fieldparams "github.com/prysmaticlabs/prysm/v4/config/fieldparams"
|
||||
"github.com/prysmaticlabs/prysm/v4/config/params"
|
||||
"github.com/prysmaticlabs/prysm/v4/encoding/bytesutil"
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client/iface"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/keymanager"
|
||||
@ -22,7 +21,7 @@ import (
|
||||
// PerformExitCfg for account voluntary exits.
|
||||
type PerformExitCfg struct {
|
||||
ValidatorClient iface.ValidatorClient
|
||||
NodeClient ethpb.NodeClient
|
||||
NodeClient iface.NodeClient
|
||||
Keymanager keymanager.IKeymanager
|
||||
RawPubKeys [][]byte
|
||||
FormattedPubKeys []string
|
||||
|
@ -19,8 +19,8 @@ import (
|
||||
"github.com/prysmaticlabs/prysm/v4/crypto/bls"
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/assert"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/require"
|
||||
validatormock "github.com/prysmaticlabs/prysm/v4/testing/validator-mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/keymanager"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/keymanager/derived"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/keymanager/local"
|
||||
@ -287,7 +287,7 @@ func TestListAccounts_LocalKeymanager(t *testing.T) {
|
||||
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
m := mock.NewMockValidatorClient(ctrl)
|
||||
m := validatormock.NewMockValidatorClient(ctrl)
|
||||
var pks [][]byte
|
||||
for i := range pubKeys {
|
||||
pks = append(pks, pubKeys[i][:])
|
||||
|
@ -7,9 +7,9 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
grpcutil "github.com/prysmaticlabs/prysm/v4/api/grpc"
|
||||
"github.com/prysmaticlabs/prysm/v4/crypto/bls"
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/accounts/wallet"
|
||||
iface "github.com/prysmaticlabs/prysm/v4/validator/client/iface"
|
||||
nodeClientFactory "github.com/prysmaticlabs/prysm/v4/validator/client/node-client-factory"
|
||||
validatorClientFactory "github.com/prysmaticlabs/prysm/v4/validator/client/validator-client-factory"
|
||||
validatorHelpers "github.com/prysmaticlabs/prysm/v4/validator/helpers"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/keymanager"
|
||||
@ -65,7 +65,7 @@ type AccountsCLIManager struct {
|
||||
beaconApiTimeout time.Duration
|
||||
}
|
||||
|
||||
func (acm *AccountsCLIManager) prepareBeaconClients(ctx context.Context) (*iface.ValidatorClient, *ethpb.NodeClient, error) {
|
||||
func (acm *AccountsCLIManager) prepareBeaconClients(ctx context.Context) (*iface.ValidatorClient, *iface.NodeClient, error) {
|
||||
if acm.dialOpts == nil {
|
||||
return nil, nil, errors.New("failed to construct dial options for beacon clients")
|
||||
}
|
||||
@ -83,6 +83,6 @@ func (acm *AccountsCLIManager) prepareBeaconClients(ctx context.Context) (*iface
|
||||
)
|
||||
|
||||
validatorClient := validatorClientFactory.NewValidatorClient(conn)
|
||||
nodeClient := ethpb.NewNodeClient(grpcConn)
|
||||
nodeClient := nodeClientFactory.NewNodeClient(conn)
|
||||
return &validatorClient, &nodeClient, nil
|
||||
}
|
||||
|
@ -54,7 +54,10 @@ go_library(
|
||||
"//time/slots:go_default_library",
|
||||
"//validator/accounts/iface:go_default_library",
|
||||
"//validator/accounts/wallet:go_default_library",
|
||||
"//validator/client/beacon-chain-client-factory:go_default_library",
|
||||
"//validator/client/iface:go_default_library",
|
||||
"//validator/client/node-client-factory:go_default_library",
|
||||
"//validator/client/slasher-client-factory:go_default_library",
|
||||
"//validator/client/validator-client-factory:go_default_library",
|
||||
"//validator/db:go_default_library",
|
||||
"//validator/db/kv:go_default_library",
|
||||
@ -137,6 +140,7 @@ go_test(
|
||||
"//testing/mock:go_default_library",
|
||||
"//testing/require:go_default_library",
|
||||
"//testing/util:go_default_library",
|
||||
"//testing/validator-mock:go_default_library",
|
||||
"//time:go_default_library",
|
||||
"//time/slots:go_default_library",
|
||||
"//validator/accounts/testing:go_default_library",
|
||||
|
@ -5,7 +5,10 @@ go_library(
|
||||
srcs = [
|
||||
"activation.go",
|
||||
"attestation_data.go",
|
||||
"beacon_api_beacon_chain_client.go",
|
||||
"beacon_api_helpers.go",
|
||||
"beacon_api_node_client.go",
|
||||
"beacon_api_slasher_client.go",
|
||||
"beacon_api_validator_client.go",
|
||||
"beacon_block_converter.go",
|
||||
"beacon_block_json_helpers.go",
|
||||
|
240
validator/client/beacon-api/beacon_api_beacon_chain_client.go
Normal file
240
validator/client/beacon-api/beacon_api_beacon_chain_client.go
Normal file
@ -0,0 +1,240 @@
|
||||
package beacon_api
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/golang/protobuf/ptypes/empty"
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client/iface"
|
||||
)
|
||||
|
||||
type beaconApiBeaconChainClient struct {
|
||||
fallbackClient iface.BeaconChainClient
|
||||
jsonRestHandler jsonRestHandler
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) ListAttestations(ctx context.Context, in *ethpb.ListAttestationsRequest) (*ethpb.ListAttestationsResponse, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.ListAttestations(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.ListAttestations is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) ListIndexedAttestations(ctx context.Context, in *ethpb.ListIndexedAttestationsRequest) (*ethpb.ListIndexedAttestationsResponse, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.ListIndexedAttestations(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.ListIndexedAttestations is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (c beaconApiBeaconChainClient) StreamAttestations(ctx context.Context, in *empty.Empty) (ethpb.BeaconChain_StreamAttestationsClient, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.StreamAttestations(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.StreamAttestations is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (c beaconApiBeaconChainClient) StreamIndexedAttestations(ctx context.Context, in *empty.Empty) (ethpb.BeaconChain_StreamIndexedAttestationsClient, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.StreamIndexedAttestations(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.StreamIndexedAttestations is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) AttestationPool(ctx context.Context, in *ethpb.AttestationPoolRequest) (*ethpb.AttestationPoolResponse, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.AttestationPool(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.AttestationPool is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) ListBeaconBlocks(ctx context.Context, in *ethpb.ListBlocksRequest) (*ethpb.ListBeaconBlocksResponse, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.ListBeaconBlocks(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.ListBeaconBlocks is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (c beaconApiBeaconChainClient) StreamBlocks(ctx context.Context, in *ethpb.StreamBlocksRequest) (ethpb.BeaconChain_StreamBlocksClient, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.StreamBlocks(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.StreamBlocks is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (c beaconApiBeaconChainClient) StreamChainHead(ctx context.Context, in *empty.Empty) (ethpb.BeaconChain_StreamChainHeadClient, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.StreamChainHead(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.StreamChainHead is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) GetChainHead(ctx context.Context, in *empty.Empty) (*ethpb.ChainHead, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.GetChainHead(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.GetChainHead is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) ListBeaconCommittees(ctx context.Context, in *ethpb.ListCommitteesRequest) (*ethpb.BeaconCommittees, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.ListBeaconCommittees(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.ListBeaconCommittees is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) ListValidatorBalances(ctx context.Context, in *ethpb.ListValidatorBalancesRequest) (*ethpb.ValidatorBalances, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.ListValidatorBalances(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.ListValidatorBalances is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) ListValidators(ctx context.Context, in *ethpb.ListValidatorsRequest) (*ethpb.Validators, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.ListValidators(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.ListValidators is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) GetValidator(ctx context.Context, in *ethpb.GetValidatorRequest) (*ethpb.Validator, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.GetValidator(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.GetValidator is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) GetValidatorActiveSetChanges(ctx context.Context, in *ethpb.GetValidatorActiveSetChangesRequest) (*ethpb.ActiveSetChanges, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.GetValidatorActiveSetChanges(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.GetValidatorActiveSetChanges is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) GetValidatorQueue(ctx context.Context, in *empty.Empty) (*ethpb.ValidatorQueue, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.GetValidatorQueue(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.GetValidatorQueue is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) GetValidatorPerformance(ctx context.Context, in *ethpb.ValidatorPerformanceRequest) (*ethpb.ValidatorPerformanceResponse, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.GetValidatorPerformance(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.GetValidatorPerformance is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) ListValidatorAssignments(ctx context.Context, in *ethpb.ListValidatorAssignmentsRequest) (*ethpb.ValidatorAssignments, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.ListValidatorAssignments(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.ListValidatorAssignments is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) GetValidatorParticipation(ctx context.Context, in *ethpb.GetValidatorParticipationRequest) (*ethpb.ValidatorParticipationResponse, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.GetValidatorParticipation(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.GetValidatorParticipation is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) GetBeaconConfig(ctx context.Context, in *empty.Empty) (*ethpb.BeaconConfig, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.GetBeaconConfig(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.GetBeaconConfig is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (c beaconApiBeaconChainClient) StreamValidatorsInfo(ctx context.Context) (ethpb.BeaconChain_StreamValidatorsInfoClient, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.StreamValidatorsInfo(ctx)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.StreamValidatorsInfo is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) SubmitAttesterSlashing(ctx context.Context, in *ethpb.AttesterSlashing) (*ethpb.SubmitSlashingResponse, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.SubmitAttesterSlashing(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.SubmitAttesterSlashing is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) SubmitProposerSlashing(ctx context.Context, in *ethpb.ProposerSlashing) (*ethpb.SubmitSlashingResponse, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.SubmitProposerSlashing(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.SubmitProposerSlashing is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiBeaconChainClient) GetIndividualVotes(ctx context.Context, in *ethpb.IndividualVotesRequest) (*ethpb.IndividualVotesRespond, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.GetIndividualVotes(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiBeaconChainClient.GetIndividualVotes is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiBeaconChainClientWithFallback.")
|
||||
}
|
||||
|
||||
func NewBeaconApiBeaconChainClientWithFallback(host string, timeout time.Duration, fallbackClient iface.BeaconChainClient) iface.BeaconChainClient {
|
||||
jsonRestHandler := beaconApiJsonRestHandler{
|
||||
httpClient: http.Client{Timeout: timeout},
|
||||
host: host,
|
||||
}
|
||||
|
||||
return &beaconApiBeaconChainClient{
|
||||
jsonRestHandler: jsonRestHandler,
|
||||
fallbackClient: fallbackClient,
|
||||
}
|
||||
}
|
100
validator/client/beacon-api/beacon_api_node_client.go
Normal file
100
validator/client/beacon-api/beacon_api_node_client.go
Normal file
@ -0,0 +1,100 @@
|
||||
package beacon_api
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/golang/protobuf/ptypes/empty"
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client/iface"
|
||||
)
|
||||
|
||||
type beaconApiNodeClient struct {
|
||||
fallbackClient iface.NodeClient
|
||||
jsonRestHandler jsonRestHandler
|
||||
}
|
||||
|
||||
func (c *beaconApiNodeClient) GetSyncStatus(ctx context.Context, in *empty.Empty) (*ethpb.SyncStatus, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.GetSyncStatus(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiNodeClient.GetSyncStatus is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiNodeClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c *beaconApiNodeClient) GetGenesis(ctx context.Context, in *empty.Empty) (*ethpb.Genesis, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.GetGenesis(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiNodeClient.GetGenesis is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiNodeClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c *beaconApiNodeClient) GetVersion(ctx context.Context, in *empty.Empty) (*ethpb.Version, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.GetVersion(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiNodeClient.GetVersion is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiNodeClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c *beaconApiNodeClient) ListImplementedServices(ctx context.Context, in *empty.Empty) (*ethpb.ImplementedServices, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.ListImplementedServices(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiNodeClient.ListImplementedServices is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiNodeClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c *beaconApiNodeClient) GetHost(ctx context.Context, in *empty.Empty) (*ethpb.HostData, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.GetHost(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiNodeClient.GetHost is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiNodeClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c *beaconApiNodeClient) GetPeer(ctx context.Context, in *ethpb.PeerRequest) (*ethpb.Peer, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.GetPeer(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiNodeClient.GetPeer is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiNodeClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c *beaconApiNodeClient) ListPeers(ctx context.Context, in *empty.Empty) (*ethpb.Peers, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.ListPeers(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiNodeClient.ListPeers is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiNodeClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c *beaconApiNodeClient) GetETH1ConnectionStatus(ctx context.Context, in *empty.Empty) (*ethpb.ETH1ConnectionStatus, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.GetETH1ConnectionStatus(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiNodeClient.GetETH1ConnectionStatus is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiNodeClientWithFallback.")
|
||||
}
|
||||
|
||||
func NewNodeClientWithFallback(host string, timeout time.Duration, fallbackClient iface.NodeClient) iface.NodeClient {
|
||||
jsonRestHandler := beaconApiJsonRestHandler{
|
||||
httpClient: http.Client{Timeout: timeout},
|
||||
host: host,
|
||||
}
|
||||
|
||||
return &beaconApiNodeClient{
|
||||
jsonRestHandler: jsonRestHandler,
|
||||
fallbackClient: fallbackClient,
|
||||
}
|
||||
}
|
55
validator/client/beacon-api/beacon_api_slasher_client.go
Normal file
55
validator/client/beacon-api/beacon_api_slasher_client.go
Normal file
@ -0,0 +1,55 @@
|
||||
package beacon_api
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client/iface"
|
||||
)
|
||||
|
||||
type beaconApiSlasherClient struct {
|
||||
fallbackClient iface.SlasherClient
|
||||
jsonRestHandler jsonRestHandler
|
||||
}
|
||||
|
||||
func (c beaconApiSlasherClient) IsSlashableAttestation(ctx context.Context, in *ethpb.IndexedAttestation) (*ethpb.AttesterSlashingResponse, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.IsSlashableAttestation(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiSlasherClient.IsSlashableAttestation is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiSlasherClientWithFallback.")
|
||||
}
|
||||
|
||||
func (c beaconApiSlasherClient) IsSlashableBlock(ctx context.Context, in *ethpb.SignedBeaconBlockHeader) (*ethpb.ProposerSlashingResponse, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.IsSlashableBlock(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiSlasherClient.IsSlashableBlock is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiSlasherClientWithFallback.")
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (c beaconApiSlasherClient) HighestAttestations(ctx context.Context, in *ethpb.HighestAttestationRequest) (*ethpb.HighestAttestationResponse, error) {
|
||||
if c.fallbackClient != nil {
|
||||
return c.fallbackClient.HighestAttestations(ctx, in)
|
||||
}
|
||||
|
||||
// TODO: Implement me
|
||||
panic("beaconApiSlasherClient.HighestAttestations is not implemented. To use a fallback client, pass a fallback client as the last argument of NewBeaconApiSlasherClientWithFallback.")
|
||||
}
|
||||
|
||||
func NewSlasherClientWithFallback(host string, timeout time.Duration, fallbackClient iface.SlasherClient) iface.SlasherClient {
|
||||
jsonRestHandler := beaconApiJsonRestHandler{
|
||||
httpClient: http.Client{Timeout: timeout},
|
||||
host: host,
|
||||
}
|
||||
|
||||
return &beaconApiSlasherClient{
|
||||
jsonRestHandler: jsonRestHandler,
|
||||
fallbackClient: fallbackClient,
|
||||
}
|
||||
}
|
15
validator/client/beacon-chain-client-factory/BUILD.bazel
Normal file
15
validator/client/beacon-chain-client-factory/BUILD.bazel
Normal file
@ -0,0 +1,15 @@
|
||||
load("@prysm//tools/go:def.bzl", "go_library")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["beacon_chain_client_factory.go"],
|
||||
importpath = "github.com/prysmaticlabs/prysm/v4/validator/client/beacon-chain-client-factory",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//config/features:go_default_library",
|
||||
"//validator/client/beacon-api:go_default_library",
|
||||
"//validator/client/grpc-api:go_default_library",
|
||||
"//validator/client/iface:go_default_library",
|
||||
"//validator/helpers:go_default_library",
|
||||
],
|
||||
)
|
@ -0,0 +1,20 @@
|
||||
package validator_client_factory
|
||||
|
||||
import (
|
||||
"github.com/prysmaticlabs/prysm/v4/config/features"
|
||||
beaconApi "github.com/prysmaticlabs/prysm/v4/validator/client/beacon-api"
|
||||
grpcApi "github.com/prysmaticlabs/prysm/v4/validator/client/grpc-api"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client/iface"
|
||||
validatorHelpers "github.com/prysmaticlabs/prysm/v4/validator/helpers"
|
||||
)
|
||||
|
||||
func NewBeaconChainClient(validatorConn validatorHelpers.NodeConnection) iface.BeaconChainClient {
|
||||
grpcClient := grpcApi.NewGrpcBeaconChainClient(validatorConn.GetGrpcClientConn())
|
||||
featureFlags := features.Get()
|
||||
|
||||
if featureFlags.EnableBeaconRESTApi {
|
||||
return beaconApi.NewBeaconApiBeaconChainClientWithFallback(validatorConn.GetBeaconApiUrl(), validatorConn.GetBeaconApiTimeout(), grpcClient)
|
||||
} else {
|
||||
return grpcClient
|
||||
}
|
||||
}
|
@ -2,7 +2,12 @@ load("@prysm//tools/go:def.bzl", "go_library", "go_test")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["grpc_validator_client.go"],
|
||||
srcs = [
|
||||
"grpc_beacon_chain_client.go",
|
||||
"grpc_node_client.go",
|
||||
"grpc_slasher_client.go",
|
||||
"grpc_validator_client.go",
|
||||
],
|
||||
importpath = "github.com/prysmaticlabs/prysm/v4/validator/client/grpc-api",
|
||||
visibility = ["//validator:__subpackages__"],
|
||||
deps = [
|
||||
|
115
validator/client/grpc-api/grpc_beacon_chain_client.go
Normal file
115
validator/client/grpc-api/grpc_beacon_chain_client.go
Normal file
@ -0,0 +1,115 @@
|
||||
package grpc_api
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/golang/protobuf/ptypes/empty"
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client/iface"
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
type grpcBeaconChainClient struct {
|
||||
beaconChainClient ethpb.BeaconChainClient
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) ListAttestations(ctx context.Context, in *ethpb.ListAttestationsRequest) (*ethpb.ListAttestationsResponse, error) {
|
||||
return c.beaconChainClient.ListAttestations(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) ListIndexedAttestations(ctx context.Context, in *ethpb.ListIndexedAttestationsRequest) (*ethpb.ListIndexedAttestationsResponse, error) {
|
||||
return c.beaconChainClient.ListIndexedAttestations(ctx, in)
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (c *grpcBeaconChainClient) StreamAttestations(ctx context.Context, in *empty.Empty) (ethpb.BeaconChain_StreamAttestationsClient, error) {
|
||||
return c.beaconChainClient.StreamAttestations(ctx, in)
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (c *grpcBeaconChainClient) StreamIndexedAttestations(ctx context.Context, in *empty.Empty) (ethpb.BeaconChain_StreamIndexedAttestationsClient, error) {
|
||||
return c.beaconChainClient.StreamIndexedAttestations(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) AttestationPool(ctx context.Context, in *ethpb.AttestationPoolRequest) (*ethpb.AttestationPoolResponse, error) {
|
||||
return c.beaconChainClient.AttestationPool(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) ListBeaconBlocks(ctx context.Context, in *ethpb.ListBlocksRequest) (*ethpb.ListBeaconBlocksResponse, error) {
|
||||
return c.beaconChainClient.ListBeaconBlocks(ctx, in)
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (c *grpcBeaconChainClient) StreamBlocks(ctx context.Context, in *ethpb.StreamBlocksRequest) (ethpb.BeaconChain_StreamBlocksClient, error) {
|
||||
return c.beaconChainClient.StreamBlocks(ctx, in)
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (c *grpcBeaconChainClient) StreamChainHead(ctx context.Context, in *empty.Empty) (ethpb.BeaconChain_StreamChainHeadClient, error) {
|
||||
return c.beaconChainClient.StreamChainHead(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) GetChainHead(ctx context.Context, in *empty.Empty) (*ethpb.ChainHead, error) {
|
||||
return c.beaconChainClient.GetChainHead(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) ListBeaconCommittees(ctx context.Context, in *ethpb.ListCommitteesRequest) (*ethpb.BeaconCommittees, error) {
|
||||
return c.beaconChainClient.ListBeaconCommittees(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) ListValidatorBalances(ctx context.Context, in *ethpb.ListValidatorBalancesRequest) (*ethpb.ValidatorBalances, error) {
|
||||
return c.beaconChainClient.ListValidatorBalances(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) ListValidators(ctx context.Context, in *ethpb.ListValidatorsRequest) (*ethpb.Validators, error) {
|
||||
return c.beaconChainClient.ListValidators(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) GetValidator(ctx context.Context, in *ethpb.GetValidatorRequest) (*ethpb.Validator, error) {
|
||||
return c.beaconChainClient.GetValidator(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) GetValidatorActiveSetChanges(ctx context.Context, in *ethpb.GetValidatorActiveSetChangesRequest) (*ethpb.ActiveSetChanges, error) {
|
||||
return c.beaconChainClient.GetValidatorActiveSetChanges(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) GetValidatorQueue(ctx context.Context, in *empty.Empty) (*ethpb.ValidatorQueue, error) {
|
||||
return c.beaconChainClient.GetValidatorQueue(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) GetValidatorPerformance(ctx context.Context, in *ethpb.ValidatorPerformanceRequest) (*ethpb.ValidatorPerformanceResponse, error) {
|
||||
return c.beaconChainClient.GetValidatorPerformance(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) ListValidatorAssignments(ctx context.Context, in *ethpb.ListValidatorAssignmentsRequest) (*ethpb.ValidatorAssignments, error) {
|
||||
return c.beaconChainClient.ListValidatorAssignments(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) GetValidatorParticipation(ctx context.Context, in *ethpb.GetValidatorParticipationRequest) (*ethpb.ValidatorParticipationResponse, error) {
|
||||
return c.beaconChainClient.GetValidatorParticipation(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) GetBeaconConfig(ctx context.Context, in *empty.Empty) (*ethpb.BeaconConfig, error) {
|
||||
return c.beaconChainClient.GetBeaconConfig(ctx, in)
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (c *grpcBeaconChainClient) StreamValidatorsInfo(ctx context.Context) (ethpb.BeaconChain_StreamValidatorsInfoClient, error) {
|
||||
return c.beaconChainClient.StreamValidatorsInfo(ctx)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) SubmitAttesterSlashing(ctx context.Context, in *ethpb.AttesterSlashing) (*ethpb.SubmitSlashingResponse, error) {
|
||||
return c.beaconChainClient.SubmitAttesterSlashing(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) SubmitProposerSlashing(ctx context.Context, in *ethpb.ProposerSlashing) (*ethpb.SubmitSlashingResponse, error) {
|
||||
return c.beaconChainClient.SubmitProposerSlashing(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcBeaconChainClient) GetIndividualVotes(ctx context.Context, in *ethpb.IndividualVotesRequest) (*ethpb.IndividualVotesRespond, error) {
|
||||
return c.beaconChainClient.GetIndividualVotes(ctx, in)
|
||||
}
|
||||
|
||||
func NewGrpcBeaconChainClient(cc grpc.ClientConnInterface) iface.BeaconChainClient {
|
||||
return &grpcBeaconChainClient{ethpb.NewBeaconChainClient(cc)}
|
||||
}
|
50
validator/client/grpc-api/grpc_node_client.go
Normal file
50
validator/client/grpc-api/grpc_node_client.go
Normal file
@ -0,0 +1,50 @@
|
||||
package grpc_api
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/golang/protobuf/ptypes/empty"
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client/iface"
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
type grpcNodeClient struct {
|
||||
nodeClient ethpb.NodeClient
|
||||
}
|
||||
|
||||
func (c *grpcNodeClient) GetSyncStatus(ctx context.Context, in *empty.Empty) (*ethpb.SyncStatus, error) {
|
||||
return c.nodeClient.GetSyncStatus(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcNodeClient) GetGenesis(ctx context.Context, in *empty.Empty) (*ethpb.Genesis, error) {
|
||||
return c.nodeClient.GetGenesis(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcNodeClient) GetVersion(ctx context.Context, in *empty.Empty) (*ethpb.Version, error) {
|
||||
return c.nodeClient.GetVersion(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcNodeClient) ListImplementedServices(ctx context.Context, in *empty.Empty) (*ethpb.ImplementedServices, error) {
|
||||
return c.nodeClient.ListImplementedServices(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcNodeClient) GetHost(ctx context.Context, in *empty.Empty) (*ethpb.HostData, error) {
|
||||
return c.nodeClient.GetHost(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcNodeClient) GetPeer(ctx context.Context, in *ethpb.PeerRequest) (*ethpb.Peer, error) {
|
||||
return c.nodeClient.GetPeer(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcNodeClient) ListPeers(ctx context.Context, in *empty.Empty) (*ethpb.Peers, error) {
|
||||
return c.nodeClient.ListPeers(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcNodeClient) GetETH1ConnectionStatus(ctx context.Context, in *empty.Empty) (*ethpb.ETH1ConnectionStatus, error) {
|
||||
return c.nodeClient.GetETH1ConnectionStatus(ctx, in)
|
||||
}
|
||||
|
||||
func NewNodeClient(cc grpc.ClientConnInterface) iface.NodeClient {
|
||||
return &grpcNodeClient{ethpb.NewNodeClient(cc)}
|
||||
}
|
29
validator/client/grpc-api/grpc_slasher_client.go
Normal file
29
validator/client/grpc-api/grpc_slasher_client.go
Normal file
@ -0,0 +1,29 @@
|
||||
package grpc_api
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client/iface"
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
type grpcSlasherClient struct {
|
||||
slasherClient ethpb.SlasherClient
|
||||
}
|
||||
|
||||
func (c *grpcSlasherClient) IsSlashableAttestation(ctx context.Context, in *ethpb.IndexedAttestation) (*ethpb.AttesterSlashingResponse, error) {
|
||||
return c.slasherClient.IsSlashableAttestation(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcSlasherClient) IsSlashableBlock(ctx context.Context, in *ethpb.SignedBeaconBlockHeader) (*ethpb.ProposerSlashingResponse, error) {
|
||||
return c.slasherClient.IsSlashableBlock(ctx, in)
|
||||
}
|
||||
|
||||
func (c *grpcSlasherClient) HighestAttestations(ctx context.Context, in *ethpb.HighestAttestationRequest) (*ethpb.HighestAttestationResponse, error) {
|
||||
return c.slasherClient.HighestAttestations(ctx, in)
|
||||
}
|
||||
|
||||
func NewSlasherClient(cc grpc.ClientConnInterface) iface.SlasherClient {
|
||||
return &grpcSlasherClient{ethpb.NewSlasherClient(cc)}
|
||||
}
|
@ -3,6 +3,9 @@ load("@prysm//tools/go:def.bzl", "go_library")
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = [
|
||||
"beacon_chain_client.go",
|
||||
"node_client.go",
|
||||
"slasher_client.go",
|
||||
"validator.go",
|
||||
"validator_client.go",
|
||||
],
|
||||
|
39
validator/client/iface/beacon_chain_client.go
Normal file
39
validator/client/iface/beacon_chain_client.go
Normal file
@ -0,0 +1,39 @@
|
||||
package iface
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/golang/protobuf/ptypes/empty"
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
)
|
||||
|
||||
type BeaconChainClient interface {
|
||||
ListAttestations(ctx context.Context, in *ethpb.ListAttestationsRequest) (*ethpb.ListAttestationsResponse, error)
|
||||
ListIndexedAttestations(ctx context.Context, in *ethpb.ListIndexedAttestationsRequest) (*ethpb.ListIndexedAttestationsResponse, error)
|
||||
// Deprecated: Do not use.
|
||||
StreamAttestations(ctx context.Context, in *empty.Empty) (ethpb.BeaconChain_StreamAttestationsClient, error)
|
||||
// Deprecated: Do not use.
|
||||
StreamIndexedAttestations(ctx context.Context, in *empty.Empty) (ethpb.BeaconChain_StreamIndexedAttestationsClient, error)
|
||||
AttestationPool(ctx context.Context, in *ethpb.AttestationPoolRequest) (*ethpb.AttestationPoolResponse, error)
|
||||
ListBeaconBlocks(ctx context.Context, in *ethpb.ListBlocksRequest) (*ethpb.ListBeaconBlocksResponse, error)
|
||||
// Deprecated: Do not use.
|
||||
StreamBlocks(ctx context.Context, in *ethpb.StreamBlocksRequest) (ethpb.BeaconChain_StreamBlocksClient, error)
|
||||
// Deprecated: Do not use.
|
||||
StreamChainHead(ctx context.Context, in *empty.Empty) (ethpb.BeaconChain_StreamChainHeadClient, error)
|
||||
GetChainHead(ctx context.Context, in *empty.Empty) (*ethpb.ChainHead, error)
|
||||
ListBeaconCommittees(ctx context.Context, in *ethpb.ListCommitteesRequest) (*ethpb.BeaconCommittees, error)
|
||||
ListValidatorBalances(ctx context.Context, in *ethpb.ListValidatorBalancesRequest) (*ethpb.ValidatorBalances, error)
|
||||
ListValidators(ctx context.Context, in *ethpb.ListValidatorsRequest) (*ethpb.Validators, error)
|
||||
GetValidator(ctx context.Context, in *ethpb.GetValidatorRequest) (*ethpb.Validator, error)
|
||||
GetValidatorActiveSetChanges(ctx context.Context, in *ethpb.GetValidatorActiveSetChangesRequest) (*ethpb.ActiveSetChanges, error)
|
||||
GetValidatorQueue(ctx context.Context, in *empty.Empty) (*ethpb.ValidatorQueue, error)
|
||||
GetValidatorPerformance(ctx context.Context, in *ethpb.ValidatorPerformanceRequest) (*ethpb.ValidatorPerformanceResponse, error)
|
||||
ListValidatorAssignments(ctx context.Context, in *ethpb.ListValidatorAssignmentsRequest) (*ethpb.ValidatorAssignments, error)
|
||||
GetValidatorParticipation(ctx context.Context, in *ethpb.GetValidatorParticipationRequest) (*ethpb.ValidatorParticipationResponse, error)
|
||||
GetBeaconConfig(ctx context.Context, in *empty.Empty) (*ethpb.BeaconConfig, error)
|
||||
// Deprecated: Do not use.
|
||||
StreamValidatorsInfo(ctx context.Context) (ethpb.BeaconChain_StreamValidatorsInfoClient, error)
|
||||
SubmitAttesterSlashing(ctx context.Context, in *ethpb.AttesterSlashing) (*ethpb.SubmitSlashingResponse, error)
|
||||
SubmitProposerSlashing(ctx context.Context, in *ethpb.ProposerSlashing) (*ethpb.SubmitSlashingResponse, error)
|
||||
GetIndividualVotes(ctx context.Context, in *ethpb.IndividualVotesRequest) (*ethpb.IndividualVotesRespond, error)
|
||||
}
|
19
validator/client/iface/node_client.go
Normal file
19
validator/client/iface/node_client.go
Normal file
@ -0,0 +1,19 @@
|
||||
package iface
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/golang/protobuf/ptypes/empty"
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
)
|
||||
|
||||
type NodeClient interface {
|
||||
GetSyncStatus(ctx context.Context, in *empty.Empty) (*ethpb.SyncStatus, error)
|
||||
GetGenesis(ctx context.Context, in *empty.Empty) (*ethpb.Genesis, error)
|
||||
GetVersion(ctx context.Context, in *empty.Empty) (*ethpb.Version, error)
|
||||
ListImplementedServices(ctx context.Context, in *empty.Empty) (*ethpb.ImplementedServices, error)
|
||||
GetHost(ctx context.Context, in *empty.Empty) (*ethpb.HostData, error)
|
||||
GetPeer(ctx context.Context, in *ethpb.PeerRequest) (*ethpb.Peer, error)
|
||||
ListPeers(ctx context.Context, in *empty.Empty) (*ethpb.Peers, error)
|
||||
GetETH1ConnectionStatus(ctx context.Context, in *empty.Empty) (*ethpb.ETH1ConnectionStatus, error)
|
||||
}
|
13
validator/client/iface/slasher_client.go
Normal file
13
validator/client/iface/slasher_client.go
Normal file
@ -0,0 +1,13 @@
|
||||
package iface
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
)
|
||||
|
||||
type SlasherClient interface {
|
||||
IsSlashableAttestation(ctx context.Context, in *ethpb.IndexedAttestation) (*ethpb.AttesterSlashingResponse, error)
|
||||
IsSlashableBlock(ctx context.Context, in *ethpb.SignedBeaconBlockHeader) (*ethpb.ProposerSlashingResponse, error)
|
||||
HighestAttestations(ctx context.Context, in *ethpb.HighestAttestationRequest) (*ethpb.HighestAttestationResponse, error)
|
||||
}
|
@ -10,8 +10,8 @@ import (
|
||||
"github.com/prysmaticlabs/prysm/v4/crypto/bls"
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/assert"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/require"
|
||||
validatormock "github.com/prysmaticlabs/prysm/v4/testing/validator-mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client/testutil"
|
||||
logTest "github.com/sirupsen/logrus/hooks/test"
|
||||
)
|
||||
@ -36,8 +36,8 @@ func TestValidator_HandleKeyReload(t *testing.T) {
|
||||
inactivePubKey: inactivePrivKey,
|
||||
},
|
||||
}
|
||||
client := mock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := mock.NewMockBeaconChainClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
v := validator{
|
||||
validatorClient: client,
|
||||
keyManager: km,
|
||||
@ -75,8 +75,8 @@ func TestValidator_HandleKeyReload(t *testing.T) {
|
||||
inactivePubKey: inactivePrivKey,
|
||||
},
|
||||
}
|
||||
client := mock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := mock.NewMockBeaconChainClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
v := validator{
|
||||
validatorClient: client,
|
||||
keyManager: km,
|
||||
@ -111,7 +111,7 @@ func TestValidator_HandleKeyReload(t *testing.T) {
|
||||
inactivePubKey: inactivePrivKey,
|
||||
},
|
||||
}
|
||||
client := mock.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
v := validator{
|
||||
validatorClient: client,
|
||||
keyManager: km,
|
||||
|
15
validator/client/node-client-factory/BUILD.bazel
Normal file
15
validator/client/node-client-factory/BUILD.bazel
Normal file
@ -0,0 +1,15 @@
|
||||
load("@prysm//tools/go:def.bzl", "go_library")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["node_client_factory.go"],
|
||||
importpath = "github.com/prysmaticlabs/prysm/v4/validator/client/node-client-factory",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//config/features:go_default_library",
|
||||
"//validator/client/beacon-api:go_default_library",
|
||||
"//validator/client/grpc-api:go_default_library",
|
||||
"//validator/client/iface:go_default_library",
|
||||
"//validator/helpers:go_default_library",
|
||||
],
|
||||
)
|
20
validator/client/node-client-factory/node_client_factory.go
Normal file
20
validator/client/node-client-factory/node_client_factory.go
Normal file
@ -0,0 +1,20 @@
|
||||
package validator_client_factory
|
||||
|
||||
import (
|
||||
"github.com/prysmaticlabs/prysm/v4/config/features"
|
||||
beaconApi "github.com/prysmaticlabs/prysm/v4/validator/client/beacon-api"
|
||||
grpcApi "github.com/prysmaticlabs/prysm/v4/validator/client/grpc-api"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client/iface"
|
||||
validatorHelpers "github.com/prysmaticlabs/prysm/v4/validator/helpers"
|
||||
)
|
||||
|
||||
func NewNodeClient(validatorConn validatorHelpers.NodeConnection) iface.NodeClient {
|
||||
grpcClient := grpcApi.NewNodeClient(validatorConn.GetGrpcClientConn())
|
||||
featureFlags := features.Get()
|
||||
|
||||
if featureFlags.EnableBeaconRESTApi {
|
||||
return beaconApi.NewNodeClientWithFallback(validatorConn.GetBeaconApiUrl(), validatorConn.GetBeaconApiTimeout(), grpcClient)
|
||||
} else {
|
||||
return grpcClient
|
||||
}
|
||||
}
|
@ -198,7 +198,7 @@ func (v *validator) ProposeBlock(ctx context.Context, slot primitives.Slot, pubK
|
||||
func ProposeExit(
|
||||
ctx context.Context,
|
||||
validatorClient iface.ValidatorClient,
|
||||
nodeClient ethpb.NodeClient,
|
||||
nodeClient iface.NodeClient,
|
||||
signer iface.SigningFunc,
|
||||
pubKey []byte,
|
||||
) error {
|
||||
|
@ -22,9 +22,9 @@ import (
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
validatorpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1/validator-client"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/assert"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/require"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/util"
|
||||
validatormock "github.com/prysmaticlabs/prysm/v4/testing/validator-mock"
|
||||
testing2 "github.com/prysmaticlabs/prysm/v4/validator/db/testing"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/graffiti"
|
||||
logTest "github.com/sirupsen/logrus/hooks/test"
|
||||
@ -32,9 +32,9 @@ import (
|
||||
)
|
||||
|
||||
type mocks struct {
|
||||
validatorClient *mock.MockValidatorClient
|
||||
nodeClient *mock.MockNodeClient
|
||||
slasherClient *mock.MockSlasherClient
|
||||
validatorClient *validatormock.MockValidatorClient
|
||||
nodeClient *validatormock.MockNodeClient
|
||||
slasherClient *validatormock.MockSlasherClient
|
||||
signfunc func(context.Context, *validatorpb.SignRequest) (bls.Signature, error)
|
||||
}
|
||||
|
||||
@ -71,9 +71,9 @@ func setupWithKey(t *testing.T, validatorKey bls.SecretKey) (*validator, *mocks,
|
||||
valDB := testing2.SetupDB(t, [][fieldparams.BLSPubkeyLength]byte{pubKey})
|
||||
ctrl := gomock.NewController(t)
|
||||
m := &mocks{
|
||||
validatorClient: mock.NewMockValidatorClient(ctrl),
|
||||
nodeClient: mock.NewMockNodeClient(ctrl),
|
||||
slasherClient: mock.NewMockSlasherClient(ctrl),
|
||||
validatorClient: validatormock.NewMockValidatorClient(ctrl),
|
||||
nodeClient: validatormock.NewMockNodeClient(ctrl),
|
||||
slasherClient: validatormock.NewMockSlasherClient(ctrl),
|
||||
signfunc: func(ctx context.Context, req *validatorpb.SignRequest) (bls.Signature, error) {
|
||||
return mockSignature{}, nil
|
||||
},
|
||||
@ -935,7 +935,7 @@ func TestSignBellatrixBlock(t *testing.T) {
|
||||
func TestGetGraffiti_Ok(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
m := &mocks{
|
||||
validatorClient: mock.NewMockValidatorClient(ctrl),
|
||||
validatorClient: validatormock.NewMockValidatorClient(ctrl),
|
||||
}
|
||||
pubKey := [fieldparams.BLSPubkeyLength]byte{'a'}
|
||||
tests := []struct {
|
||||
@ -1018,7 +1018,7 @@ func TestGetGraffitiOrdered_Ok(t *testing.T) {
|
||||
valDB := testing2.SetupDB(t, [][fieldparams.BLSPubkeyLength]byte{pubKey})
|
||||
ctrl := gomock.NewController(t)
|
||||
m := &mocks{
|
||||
validatorClient: mock.NewMockValidatorClient(ctrl),
|
||||
validatorClient: validatormock.NewMockValidatorClient(ctrl),
|
||||
}
|
||||
m.validatorClient.EXPECT().
|
||||
ValidatorIndex(gomock.Any(), ðpb.ValidatorIndexRequest{PublicKey: pubKey[:]}).
|
||||
|
@ -21,7 +21,10 @@ import (
|
||||
"github.com/prysmaticlabs/prysm/v4/consensus-types/primitives"
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/accounts/wallet"
|
||||
beaconChainClientFactory "github.com/prysmaticlabs/prysm/v4/validator/client/beacon-chain-client-factory"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client/iface"
|
||||
nodeClientFactory "github.com/prysmaticlabs/prysm/v4/validator/client/node-client-factory"
|
||||
slasherClientFactory "github.com/prysmaticlabs/prysm/v4/validator/client/slasher-client-factory"
|
||||
validatorClientFactory "github.com/prysmaticlabs/prysm/v4/validator/client/validator-client-factory"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/db"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/graffiti"
|
||||
@ -188,9 +191,9 @@ func (v *ValidatorService) Start() {
|
||||
valStruct := &validator{
|
||||
db: v.db,
|
||||
validatorClient: validatorClientFactory.NewValidatorClient(v.conn),
|
||||
beaconClient: ethpb.NewBeaconChainClient(v.conn.GetGrpcClientConn()),
|
||||
slashingProtectionClient: ethpb.NewSlasherClient(v.conn.GetGrpcClientConn()),
|
||||
node: ethpb.NewNodeClient(v.conn.GetGrpcClientConn()),
|
||||
beaconClient: beaconChainClientFactory.NewBeaconChainClient(v.conn),
|
||||
slashingProtectionClient: slasherClientFactory.NewSlasherClient(v.conn),
|
||||
node: nodeClientFactory.NewNodeClient(v.conn),
|
||||
graffiti: v.graffiti,
|
||||
logValidatorBalances: v.logValidatorBalances,
|
||||
emitAccountMetrics: v.emitAccountMetrics,
|
||||
|
15
validator/client/slasher-client-factory/BUILD.bazel
Normal file
15
validator/client/slasher-client-factory/BUILD.bazel
Normal file
@ -0,0 +1,15 @@
|
||||
load("@prysm//tools/go:def.bzl", "go_library")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["slasher_client_factory.go"],
|
||||
importpath = "github.com/prysmaticlabs/prysm/v4/validator/client/slasher-client-factory",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//config/features:go_default_library",
|
||||
"//validator/client/beacon-api:go_default_library",
|
||||
"//validator/client/grpc-api:go_default_library",
|
||||
"//validator/client/iface:go_default_library",
|
||||
"//validator/helpers:go_default_library",
|
||||
],
|
||||
)
|
@ -0,0 +1,20 @@
|
||||
package validator_client_factory
|
||||
|
||||
import (
|
||||
"github.com/prysmaticlabs/prysm/v4/config/features"
|
||||
beaconApi "github.com/prysmaticlabs/prysm/v4/validator/client/beacon-api"
|
||||
grpcApi "github.com/prysmaticlabs/prysm/v4/validator/client/grpc-api"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client/iface"
|
||||
validatorHelpers "github.com/prysmaticlabs/prysm/v4/validator/helpers"
|
||||
)
|
||||
|
||||
func NewSlasherClient(validatorConn validatorHelpers.NodeConnection) iface.SlasherClient {
|
||||
grpcClient := grpcApi.NewSlasherClient(validatorConn.GetGrpcClientConn())
|
||||
featureFlags := features.Get()
|
||||
|
||||
if featureFlags.EnableBeaconRESTApi {
|
||||
return beaconApi.NewSlasherClientWithFallback(validatorConn.GetBeaconApiUrl(), validatorConn.GetBeaconApiTimeout(), grpcClient)
|
||||
} else {
|
||||
return grpcClient
|
||||
}
|
||||
}
|
@ -90,10 +90,10 @@ type validator struct {
|
||||
interopKeysConfig *local.InteropKeymanagerConfig
|
||||
wallet *wallet.Wallet
|
||||
graffitiStruct *graffiti.Graffiti
|
||||
node ethpb.NodeClient
|
||||
slashingProtectionClient ethpb.SlasherClient
|
||||
node iface.NodeClient
|
||||
slashingProtectionClient iface.SlasherClient
|
||||
db vdb.Database
|
||||
beaconClient ethpb.BeaconChainClient
|
||||
beaconClient iface.BeaconChainClient
|
||||
keyManager keymanager.IKeymanager
|
||||
ticker slots.Ticker
|
||||
validatorClient iface.ValidatorClient
|
||||
|
@ -31,6 +31,7 @@ import (
|
||||
mock2 "github.com/prysmaticlabs/prysm/v4/testing/mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/require"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/util"
|
||||
validatormock "github.com/prysmaticlabs/prysm/v4/testing/validator-mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/accounts/wallet"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client/iface"
|
||||
dbTest "github.com/prysmaticlabs/prysm/v4/validator/db/testing"
|
||||
@ -141,7 +142,7 @@ func generateMockStatusResponse(pubkeys [][]byte) *ethpb.ValidatorActivationResp
|
||||
func TestWaitForChainStart_SetsGenesisInfo(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
db := dbTest.SetupDB(t, [][fieldparams.BLSPubkeyLength]byte{})
|
||||
v := validator{
|
||||
@ -187,7 +188,7 @@ func TestWaitForChainStart_SetsGenesisInfo(t *testing.T) {
|
||||
func TestWaitForChainStart_SetsGenesisInfo_IncorrectSecondTry(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
db := dbTest.SetupDB(t, [][fieldparams.BLSPubkeyLength]byte{})
|
||||
v := validator{
|
||||
@ -230,7 +231,7 @@ func TestWaitForChainStart_SetsGenesisInfo_IncorrectSecondTry(t *testing.T) {
|
||||
func TestWaitForChainStart_ContextCanceled(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
v := validator{
|
||||
//keyManager: testKeyManager,
|
||||
@ -254,7 +255,7 @@ func TestWaitForChainStart_ContextCanceled(t *testing.T) {
|
||||
func TestWaitForChainStart_ReceiveErrorFromStream(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
v := validator{
|
||||
validatorClient: client,
|
||||
@ -271,7 +272,7 @@ func TestWaitForChainStart_ReceiveErrorFromStream(t *testing.T) {
|
||||
func TestCanonicalHeadSlot_FailedRPC(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockBeaconChainClient(ctrl)
|
||||
client := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
v := validator{
|
||||
beaconClient: client,
|
||||
genesisTime: 1,
|
||||
@ -287,7 +288,7 @@ func TestCanonicalHeadSlot_FailedRPC(t *testing.T) {
|
||||
func TestCanonicalHeadSlot_OK(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockBeaconChainClient(ctrl)
|
||||
client := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
v := validator{
|
||||
beaconClient: client,
|
||||
}
|
||||
@ -305,8 +306,8 @@ func TestWaitMultipleActivation_LogsActivationEpochOK(t *testing.T) {
|
||||
hook := logTest.NewGlobal()
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
validatorClient := mock2.NewMockValidatorClient(ctrl)
|
||||
beaconClient := mock2.NewMockBeaconChainClient(ctrl)
|
||||
validatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
privKey, err := bls.RandKey()
|
||||
require.NoError(t, err)
|
||||
var pubKey [fieldparams.BLSPubkeyLength]byte
|
||||
@ -343,8 +344,8 @@ func TestWaitMultipleActivation_LogsActivationEpochOK(t *testing.T) {
|
||||
func TestWaitActivation_NotAllValidatorsActivatedOK(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
validatorClient := mock2.NewMockValidatorClient(ctrl)
|
||||
beaconClient := mock2.NewMockBeaconChainClient(ctrl)
|
||||
validatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
privKey, err := bls.RandKey()
|
||||
require.NoError(t, err)
|
||||
var pubKey [fieldparams.BLSPubkeyLength]byte
|
||||
@ -381,7 +382,7 @@ func TestWaitActivation_NotAllValidatorsActivatedOK(t *testing.T) {
|
||||
func TestWaitSync_ContextCanceled(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
n := mock2.NewMockNodeClient(ctrl)
|
||||
n := validatormock.NewMockNodeClient(ctrl)
|
||||
|
||||
v := validator{
|
||||
node: n,
|
||||
@ -401,7 +402,7 @@ func TestWaitSync_ContextCanceled(t *testing.T) {
|
||||
func TestWaitSync_NotSyncing(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
n := mock2.NewMockNodeClient(ctrl)
|
||||
n := validatormock.NewMockNodeClient(ctrl)
|
||||
|
||||
v := validator{
|
||||
node: n,
|
||||
@ -418,7 +419,7 @@ func TestWaitSync_NotSyncing(t *testing.T) {
|
||||
func TestWaitSync_Syncing(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
n := mock2.NewMockNodeClient(ctrl)
|
||||
n := validatormock.NewMockNodeClient(ctrl)
|
||||
|
||||
v := validator{
|
||||
node: n,
|
||||
@ -440,7 +441,7 @@ func TestWaitSync_Syncing(t *testing.T) {
|
||||
func TestUpdateDuties_DoesNothingWhenNotEpochStart_AlreadyExistingAssignments(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
slot := primitives.Slot(1)
|
||||
v := validator{
|
||||
@ -466,7 +467,7 @@ func TestUpdateDuties_DoesNothingWhenNotEpochStart_AlreadyExistingAssignments(t
|
||||
func TestUpdateDuties_ReturnsError(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
privKey, err := bls.RandKey()
|
||||
require.NoError(t, err)
|
||||
@ -503,7 +504,7 @@ func TestUpdateDuties_ReturnsError(t *testing.T) {
|
||||
func TestUpdateDuties_OK(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
slot := params.BeaconConfig().SlotsPerEpoch
|
||||
privKey, err := bls.RandKey()
|
||||
@ -562,7 +563,7 @@ func TestUpdateDuties_OK_FilterBlacklistedPublicKeys(t *testing.T) {
|
||||
hook := logTest.NewGlobal()
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
slot := params.BeaconConfig().SlotsPerEpoch
|
||||
|
||||
numValidators := 10
|
||||
@ -817,7 +818,7 @@ func TestCheckAndLogValidatorStatus_OK(t *testing.T) {
|
||||
hook := logTest.NewGlobal()
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
v := validator{
|
||||
validatorClient: client,
|
||||
duties: ðpb.DutiesResponse{
|
||||
@ -841,7 +842,7 @@ func TestCheckAndLogValidatorStatus_OK(t *testing.T) {
|
||||
func TestAllValidatorsAreExited_AllExited(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
statuses := []*ethpb.ValidatorStatusResponse{
|
||||
{Status: ethpb.ValidatorStatus_EXITED},
|
||||
@ -862,7 +863,7 @@ func TestAllValidatorsAreExited_AllExited(t *testing.T) {
|
||||
func TestAllValidatorsAreExited_NotAllExited(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
statuses := []*ethpb.ValidatorStatusResponse{
|
||||
{Status: ethpb.ValidatorStatus_ACTIVE},
|
||||
@ -883,7 +884,7 @@ func TestAllValidatorsAreExited_NotAllExited(t *testing.T) {
|
||||
func TestAllValidatorsAreExited_PartialResult(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
statuses := []*ethpb.ValidatorStatusResponse{
|
||||
{Status: ethpb.ValidatorStatus_EXITED},
|
||||
@ -903,7 +904,7 @@ func TestAllValidatorsAreExited_PartialResult(t *testing.T) {
|
||||
func TestAllValidatorsAreExited_NoKeys(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
v := validator{keyManager: genMockKeymanager(0), validatorClient: client}
|
||||
exited, err := v.AllValidatorsAreExited(context.Background())
|
||||
require.NoError(t, err)
|
||||
@ -914,7 +915,7 @@ func TestAllValidatorsAreExited_NoKeys(t *testing.T) {
|
||||
func TestAllValidatorsAreExited_CorrectRequest(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
// Create two different public keys
|
||||
pubKey0 := [fieldparams.BLSPubkeyLength]byte{1, 2, 3, 4}
|
||||
@ -957,7 +958,7 @@ func TestAllValidatorsAreExited_CorrectRequest(t *testing.T) {
|
||||
func TestService_ReceiveBlocks_NilBlock(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
valClient := mock2.NewMockValidatorClient(ctrl)
|
||||
valClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
v := validator{
|
||||
blockFeed: new(event.Feed),
|
||||
validatorClient: valClient,
|
||||
@ -984,7 +985,7 @@ func TestService_ReceiveBlocks_NilBlock(t *testing.T) {
|
||||
func TestService_ReceiveBlocks_SetHighest(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
v := validator{
|
||||
validatorClient: client,
|
||||
@ -1045,7 +1046,7 @@ func TestValidator_CheckDoppelGanger(t *testing.T) {
|
||||
{
|
||||
name: "no doppelganger",
|
||||
validatorSetter: func(t *testing.T) *validator {
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
km := genMockKeymanager(10)
|
||||
keys, err := km.FetchValidatingPublicKeys(context.Background())
|
||||
assert.NoError(t, err)
|
||||
@ -1077,7 +1078,7 @@ func TestValidator_CheckDoppelGanger(t *testing.T) {
|
||||
{
|
||||
name: "multiple doppelganger exists",
|
||||
validatorSetter: func(t *testing.T) *validator {
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
km := genMockKeymanager(10)
|
||||
keys, err := km.FetchValidatingPublicKeys(context.Background())
|
||||
assert.NoError(t, err)
|
||||
@ -1111,7 +1112,7 @@ func TestValidator_CheckDoppelGanger(t *testing.T) {
|
||||
{
|
||||
name: "single doppelganger exists",
|
||||
validatorSetter: func(t *testing.T) *validator {
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
km := genMockKeymanager(10)
|
||||
keys, err := km.FetchValidatingPublicKeys(context.Background())
|
||||
assert.NoError(t, err)
|
||||
@ -1145,7 +1146,7 @@ func TestValidator_CheckDoppelGanger(t *testing.T) {
|
||||
{
|
||||
name: "multiple attestations saved",
|
||||
validatorSetter: func(t *testing.T) *validator {
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
km := genMockKeymanager(10)
|
||||
keys, err := km.FetchValidatingPublicKeys(context.Background())
|
||||
assert.NoError(t, err)
|
||||
@ -1184,7 +1185,7 @@ func TestValidator_CheckDoppelGanger(t *testing.T) {
|
||||
{
|
||||
name: "no history exists",
|
||||
validatorSetter: func(t *testing.T) *validator {
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
// Use only 1 key for deterministic order.
|
||||
km := genMockKeymanager(1)
|
||||
keys, err := km.FetchValidatingPublicKeys(context.Background())
|
||||
@ -1397,8 +1398,8 @@ func TestValidator_PushProposerSettings(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
ctx := context.Background()
|
||||
db := dbTest.SetupDB(t, [][fieldparams.BLSPubkeyLength]byte{})
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
nodeClient := mock2.NewMockNodeClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
nodeClient := validatormock.NewMockNodeClient(ctrl)
|
||||
defaultFeeHex := "0x046Fb65722E7b2455043BFEBf6177F1D2e9738D9"
|
||||
byteValueAddress, err := hexutil.Decode("0x046Fb65722E7b2455043BFEBf6177F1D2e9738D9")
|
||||
require.NoError(t, err)
|
||||
@ -1981,7 +1982,7 @@ func TestValidator_buildPrepProposerReqs_InvalidValidatorIndex(t *testing.T) {
|
||||
defer ctrl.Finish()
|
||||
|
||||
ctx := context.Background()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
v := validator{validatorClient: client}
|
||||
pubkeys := [][fieldparams.BLSPubkeyLength]byte{{}}
|
||||
|
||||
@ -2035,7 +2036,7 @@ func TestValidator_buildPrepProposerReqs_WithoutDefaultConfig(t *testing.T) {
|
||||
defer ctrl.Finish()
|
||||
|
||||
ctx := context.Background()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
client.EXPECT().ValidatorIndex(
|
||||
ctx,
|
||||
@ -2122,7 +2123,7 @@ func TestValidator_buildPrepProposerReqs_WithDefaultConfig(t *testing.T) {
|
||||
defer ctrl.Finish()
|
||||
|
||||
ctx := context.Background()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
client.EXPECT().ValidatorIndex(
|
||||
ctx,
|
||||
@ -2214,7 +2215,7 @@ func TestValidator_buildSignedRegReqs_DefaultConfigDisabled(t *testing.T) {
|
||||
defer ctrl.Finish()
|
||||
|
||||
ctx := context.Background()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
signature := blsmock.NewMockSignature(ctrl)
|
||||
signature.EXPECT().Marshal().Return([]byte{})
|
||||
@ -2297,7 +2298,7 @@ func TestValidator_buildSignedRegReqs_DefaultConfigEnabled(t *testing.T) {
|
||||
defer ctrl.Finish()
|
||||
|
||||
ctx := context.Background()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
signature := blsmock.NewMockSignature(ctrl)
|
||||
signature.EXPECT().Marshal().Return([]byte{}).Times(2)
|
||||
@ -2376,7 +2377,7 @@ func TestValidator_buildSignedRegReqs_SignerOnError(t *testing.T) {
|
||||
defer ctrl.Finish()
|
||||
|
||||
ctx := context.Background()
|
||||
client := mock2.NewMockValidatorClient(ctrl)
|
||||
client := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
v := validator{
|
||||
signedValidatorRegistrations: map[[48]byte]*ethpb.SignedValidatorRegistrationV1{},
|
||||
|
@ -14,6 +14,7 @@ import (
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/assert"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/require"
|
||||
validatormock "github.com/prysmaticlabs/prysm/v4/testing/validator-mock"
|
||||
walletMock "github.com/prysmaticlabs/prysm/v4/validator/accounts/testing"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/keymanager/derived"
|
||||
constant "github.com/prysmaticlabs/prysm/v4/validator/testing"
|
||||
@ -25,8 +26,8 @@ import (
|
||||
func TestWaitActivation_ContextCanceled(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
validatorClient := mock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := mock.NewMockBeaconChainClient(ctrl)
|
||||
validatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
privKey, err := bls.RandKey()
|
||||
require.NoError(t, err)
|
||||
var pubKey [fieldparams.BLSPubkeyLength]byte
|
||||
@ -61,8 +62,8 @@ func TestWaitActivation_ContextCanceled(t *testing.T) {
|
||||
func TestWaitActivation_StreamSetupFails_AttemptsToReconnect(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
validatorClient := mock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := mock.NewMockBeaconChainClient(ctrl)
|
||||
validatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
privKey, err := bls.RandKey()
|
||||
require.NoError(t, err)
|
||||
var pubKey [fieldparams.BLSPubkeyLength]byte
|
||||
@ -94,8 +95,8 @@ func TestWaitActivation_StreamSetupFails_AttemptsToReconnect(t *testing.T) {
|
||||
func TestWaitForActivation_ReceiveErrorFromStream_AttemptsReconnection(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
validatorClient := mock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := mock.NewMockBeaconChainClient(ctrl)
|
||||
validatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
privKey, err := bls.RandKey()
|
||||
require.NoError(t, err)
|
||||
var pubKey [fieldparams.BLSPubkeyLength]byte
|
||||
@ -132,8 +133,8 @@ func TestWaitActivation_LogsActivationEpochOK(t *testing.T) {
|
||||
hook := logTest.NewGlobal()
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
validatorClient := mock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := mock.NewMockBeaconChainClient(ctrl)
|
||||
validatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
privKey, err := bls.RandKey()
|
||||
require.NoError(t, err)
|
||||
var pubKey [fieldparams.BLSPubkeyLength]byte
|
||||
@ -170,8 +171,8 @@ func TestWaitActivation_LogsActivationEpochOK(t *testing.T) {
|
||||
func TestWaitForActivation_Exiting(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
validatorClient := mock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := mock.NewMockBeaconChainClient(ctrl)
|
||||
validatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
privKey, err := bls.RandKey()
|
||||
require.NoError(t, err)
|
||||
var pubKey [fieldparams.BLSPubkeyLength]byte
|
||||
@ -213,8 +214,8 @@ func TestWaitForActivation_RefetchKeys(t *testing.T) {
|
||||
hook := logTest.NewGlobal()
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
validatorClient := mock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := mock.NewMockBeaconChainClient(ctrl)
|
||||
validatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
privKey, err := bls.RandKey()
|
||||
require.NoError(t, err)
|
||||
var pubKey [fieldparams.BLSPubkeyLength]byte
|
||||
@ -268,8 +269,8 @@ func TestWaitForActivation_AccountsChanged(t *testing.T) {
|
||||
inactivePubKey: inactivePrivKey,
|
||||
},
|
||||
}
|
||||
validatorClient := mock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := mock.NewMockBeaconChainClient(ctrl)
|
||||
validatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
v := validator{
|
||||
validatorClient: validatorClient,
|
||||
keyManager: km,
|
||||
@ -342,8 +343,8 @@ func TestWaitForActivation_AccountsChanged(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
err = km.RecoverAccountsFromMnemonic(ctx, constant.TestMnemonic, derived.DefaultMnemonicLanguage, "", 1)
|
||||
require.NoError(t, err)
|
||||
validatorClient := mock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := mock.NewMockBeaconChainClient(ctrl)
|
||||
validatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
beaconClient := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
v := validator{
|
||||
validatorClient: validatorClient,
|
||||
keyManager: km,
|
||||
|
@ -43,7 +43,9 @@ go_library(
|
||||
"//validator/accounts/petnames:go_default_library",
|
||||
"//validator/accounts/wallet:go_default_library",
|
||||
"//validator/client:go_default_library",
|
||||
"//validator/client/beacon-chain-client-factory:go_default_library",
|
||||
"//validator/client/iface:go_default_library",
|
||||
"//validator/client/node-client-factory:go_default_library",
|
||||
"//validator/client/validator-client-factory:go_default_library",
|
||||
"//validator/db:go_default_library",
|
||||
"//validator/helpers:go_default_library",
|
||||
@ -107,8 +109,8 @@ go_test(
|
||||
"//proto/prysm/v1alpha1:go_default_library",
|
||||
"//proto/prysm/v1alpha1/validator-client:go_default_library",
|
||||
"//testing/assert:go_default_library",
|
||||
"//testing/mock:go_default_library",
|
||||
"//testing/require:go_default_library",
|
||||
"//testing/validator-mock:go_default_library",
|
||||
"//validator/accounts:go_default_library",
|
||||
"//validator/accounts/iface:go_default_library",
|
||||
"//validator/accounts/testing:go_default_library",
|
||||
|
@ -16,8 +16,8 @@ import (
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
pb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1/validator-client"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/assert"
|
||||
mock2 "github.com/prysmaticlabs/prysm/v4/testing/mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/require"
|
||||
validatormock "github.com/prysmaticlabs/prysm/v4/testing/validator-mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/accounts"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/accounts/iface"
|
||||
mock "github.com/prysmaticlabs/prysm/v4/validator/accounts/testing"
|
||||
@ -187,8 +187,8 @@ func TestServer_VoluntaryExit(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
ctx := context.Background()
|
||||
mockValidatorClient := mock2.NewMockValidatorClient(ctrl)
|
||||
mockNodeClient := mock2.NewMockNodeClient(ctrl)
|
||||
mockValidatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
mockNodeClient := validatormock.NewMockNodeClient(ctrl)
|
||||
|
||||
mockValidatorClient.EXPECT().
|
||||
ValidatorIndex(gomock.Any(), gomock.Any()).
|
||||
|
@ -14,6 +14,8 @@ import (
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
validatorpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1/validator-client"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/client"
|
||||
beaconChainClientFactory "github.com/prysmaticlabs/prysm/v4/validator/client/beacon-chain-client-factory"
|
||||
nodeClientFactory "github.com/prysmaticlabs/prysm/v4/validator/client/node-client-factory"
|
||||
validatorClientFactory "github.com/prysmaticlabs/prysm/v4/validator/client/validator-client-factory"
|
||||
validatorHelpers "github.com/prysmaticlabs/prysm/v4/validator/helpers"
|
||||
"google.golang.org/grpc"
|
||||
@ -47,8 +49,6 @@ func (s *Server) registerBeaconClient() error {
|
||||
if s.clientWithCert != "" {
|
||||
log.Info("Established secure gRPC connection")
|
||||
}
|
||||
s.beaconChainClient = ethpb.NewBeaconChainClient(grpcConn)
|
||||
s.beaconNodeClient = ethpb.NewNodeClient(grpcConn)
|
||||
s.beaconNodeHealthClient = ethpb.NewHealthClient(grpcConn)
|
||||
|
||||
conn := validatorHelpers.NewNodeConnection(
|
||||
@ -57,6 +57,8 @@ func (s *Server) registerBeaconClient() error {
|
||||
s.beaconApiTimeout,
|
||||
)
|
||||
|
||||
s.beaconChainClient = beaconChainClientFactory.NewBeaconChainClient(conn)
|
||||
s.beaconNodeClient = nodeClientFactory.NewNodeClient(conn)
|
||||
s.beaconNodeValidatorClient = validatorClientFactory.NewValidatorClient(conn)
|
||||
return nil
|
||||
}
|
||||
|
@ -11,15 +11,15 @@ import (
|
||||
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
pb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1/validator-client"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/assert"
|
||||
mock2 "github.com/prysmaticlabs/prysm/v4/testing/mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/require"
|
||||
validatormock "github.com/prysmaticlabs/prysm/v4/testing/validator-mock"
|
||||
"google.golang.org/grpc/metadata"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
)
|
||||
|
||||
func TestGetBeaconStatus_NotConnected(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
nodeClient := mock2.NewMockNodeClient(ctrl)
|
||||
nodeClient := validatormock.NewMockNodeClient(ctrl)
|
||||
nodeClient.EXPECT().GetSyncStatus(
|
||||
gomock.Any(), // ctx
|
||||
gomock.Any(),
|
||||
@ -40,8 +40,8 @@ func TestGetBeaconStatus_NotConnected(t *testing.T) {
|
||||
|
||||
func TestGetBeaconStatus_OK(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
nodeClient := mock2.NewMockNodeClient(ctrl)
|
||||
beaconChainClient := mock2.NewMockBeaconChainClient(ctrl)
|
||||
nodeClient := validatormock.NewMockNodeClient(ctrl)
|
||||
beaconChainClient := validatormock.NewMockBeaconChainClient(ctrl)
|
||||
nodeClient.EXPECT().GetSyncStatus(
|
||||
gomock.Any(), // ctx
|
||||
gomock.Any(),
|
||||
|
@ -58,8 +58,8 @@ type Config struct {
|
||||
type Server struct {
|
||||
logsStreamer logs.Streamer
|
||||
streamLogsBufferSize int
|
||||
beaconChainClient ethpb.BeaconChainClient
|
||||
beaconNodeClient ethpb.NodeClient
|
||||
beaconChainClient iface.BeaconChainClient
|
||||
beaconNodeClient iface.NodeClient
|
||||
beaconNodeValidatorClient iface.ValidatorClient
|
||||
beaconNodeHealthClient ethpb.HealthClient
|
||||
valDB db.Database
|
||||
|
@ -23,8 +23,8 @@ import (
|
||||
eth "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
||||
validatorpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1/validator-client"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/assert"
|
||||
mock2 "github.com/prysmaticlabs/prysm/v4/testing/mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/testing/require"
|
||||
validatormock "github.com/prysmaticlabs/prysm/v4/testing/validator-mock"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/accounts"
|
||||
"github.com/prysmaticlabs/prysm/v4/validator/accounts/iface"
|
||||
mock "github.com/prysmaticlabs/prysm/v4/validator/accounts/testing"
|
||||
@ -758,7 +758,7 @@ func TestServer_ListFeeRecipientByPubkey(t *testing.T) {
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
mockValidatorClient := mock2.NewMockValidatorClient(ctrl)
|
||||
mockValidatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
m := &mock.MockValidator{}
|
||||
m.SetProposerSettings(tt.args)
|
||||
@ -791,7 +791,7 @@ func TestServer_ListFeeRecipientByPubKey_BeaconNodeError(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
ctrl := gomock.NewController(t)
|
||||
mockValidatorClient := mock2.NewMockValidatorClient(ctrl)
|
||||
mockValidatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
mockValidatorClient.EXPECT().GetFeeRecipientByPubKey(gomock.Any(), gomock.Any()).Return(nil, errors.New("custom error"))
|
||||
|
||||
@ -815,7 +815,7 @@ func TestServer_ListFeeRecipientByPubKey_NoFeeRecipientSet(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
ctrl := gomock.NewController(t)
|
||||
mockValidatorClient := mock2.NewMockValidatorClient(ctrl)
|
||||
mockValidatorClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
|
||||
mockValidatorClient.EXPECT().GetFeeRecipientByPubKey(gomock.Any(), gomock.Any()).Return(nil, nil)
|
||||
|
||||
@ -860,7 +860,7 @@ func TestServer_FeeRecipientByPubkey(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
|
||||
beaconClient := mock2.NewMockValidatorClient(ctrl)
|
||||
beaconClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
ctx := grpc.NewContextWithServerTransportStream(context.Background(), &runtime.ServerTransportStream{})
|
||||
|
||||
byteval, err := hexutil.Decode("0xaf2e7ba294e03438ea819bd4033c6c1bf6b04320ee2075b77273c08d02f8a61bcc303c2c06bd3713cb442072ae591493")
|
||||
@ -1208,7 +1208,7 @@ func TestServer_SetGasLimit(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
|
||||
beaconClient := mock2.NewMockValidatorClient(ctrl)
|
||||
beaconClient := validatormock.NewMockValidatorClient(ctrl)
|
||||
ctx := grpc.NewContextWithServerTransportStream(context.Background(), &runtime.ServerTransportStream{})
|
||||
|
||||
pubkey1, err := hexutil.Decode("0xaf2e7ba294e03438ea819bd4033c6c1bf6b04320ee2075b77273c08d02f8a61bcc303c2c06bd3713cb442072ae591493")
|
||||
|
Loading…
Reference in New Issue
Block a user