2022-11-07 10:29:27 +00:00
|
|
|
//go:build !use_beacon_api
|
|
|
|
// +build !use_beacon_api
|
|
|
|
|
|
|
|
package grpc_api
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
|
|
|
|
"github.com/golang/protobuf/ptypes/empty"
|
2022-11-22 12:12:55 +00:00
|
|
|
"github.com/pkg/errors"
|
2022-11-07 10:29:27 +00:00
|
|
|
ethpb "github.com/prysmaticlabs/prysm/v3/proto/prysm/v1alpha1"
|
|
|
|
iface "github.com/prysmaticlabs/prysm/v3/validator/client/iface"
|
|
|
|
"google.golang.org/grpc"
|
|
|
|
)
|
|
|
|
|
|
|
|
type grpcValidatorClient struct {
|
|
|
|
beaconNodeValidatorClient ethpb.BeaconNodeValidatorClient
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) GetDuties(ctx context.Context, in *ethpb.DutiesRequest) (*ethpb.DutiesResponse, error) {
|
|
|
|
return c.beaconNodeValidatorClient.GetDuties(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) CheckDoppelGanger(ctx context.Context, in *ethpb.DoppelGangerRequest) (*ethpb.DoppelGangerResponse, error) {
|
|
|
|
return c.beaconNodeValidatorClient.CheckDoppelGanger(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) DomainData(ctx context.Context, in *ethpb.DomainRequest) (*ethpb.DomainResponse, error) {
|
|
|
|
return c.beaconNodeValidatorClient.DomainData(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) GetAttestationData(ctx context.Context, in *ethpb.AttestationDataRequest) (*ethpb.AttestationData, error) {
|
|
|
|
return c.beaconNodeValidatorClient.GetAttestationData(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) GetBeaconBlock(ctx context.Context, in *ethpb.BlockRequest) (*ethpb.GenericBeaconBlock, error) {
|
|
|
|
return c.beaconNodeValidatorClient.GetBeaconBlock(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) GetFeeRecipientByPubKey(ctx context.Context, in *ethpb.FeeRecipientByPubKeyRequest) (*ethpb.FeeRecipientByPubKeyResponse, error) {
|
|
|
|
return c.beaconNodeValidatorClient.GetFeeRecipientByPubKey(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) GetSyncCommitteeContribution(ctx context.Context, in *ethpb.SyncCommitteeContributionRequest) (*ethpb.SyncCommitteeContribution, error) {
|
|
|
|
return c.beaconNodeValidatorClient.GetSyncCommitteeContribution(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) GetSyncMessageBlockRoot(ctx context.Context, in *empty.Empty) (*ethpb.SyncMessageBlockRootResponse, error) {
|
|
|
|
return c.beaconNodeValidatorClient.GetSyncMessageBlockRoot(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) GetSyncSubcommitteeIndex(ctx context.Context, in *ethpb.SyncSubcommitteeIndexRequest) (*ethpb.SyncSubcommitteeIndexResponse, error) {
|
|
|
|
return c.beaconNodeValidatorClient.GetSyncSubcommitteeIndex(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) MultipleValidatorStatus(ctx context.Context, in *ethpb.MultipleValidatorStatusRequest) (*ethpb.MultipleValidatorStatusResponse, error) {
|
|
|
|
return c.beaconNodeValidatorClient.MultipleValidatorStatus(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) PrepareBeaconProposer(ctx context.Context, in *ethpb.PrepareBeaconProposerRequest) (*empty.Empty, error) {
|
|
|
|
return c.beaconNodeValidatorClient.PrepareBeaconProposer(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) ProposeAttestation(ctx context.Context, in *ethpb.Attestation) (*ethpb.AttestResponse, error) {
|
|
|
|
return c.beaconNodeValidatorClient.ProposeAttestation(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) ProposeBeaconBlock(ctx context.Context, in *ethpb.GenericSignedBeaconBlock) (*ethpb.ProposeResponse, error) {
|
|
|
|
return c.beaconNodeValidatorClient.ProposeBeaconBlock(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) ProposeExit(ctx context.Context, in *ethpb.SignedVoluntaryExit) (*ethpb.ProposeExitResponse, error) {
|
|
|
|
return c.beaconNodeValidatorClient.ProposeExit(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) StreamBlocksAltair(ctx context.Context, in *ethpb.StreamBlocksRequest) (ethpb.BeaconNodeValidator_StreamBlocksAltairClient, error) {
|
|
|
|
return c.beaconNodeValidatorClient.StreamBlocksAltair(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) StreamDuties(ctx context.Context, in *ethpb.DutiesRequest) (ethpb.BeaconNodeValidator_StreamDutiesClient, error) {
|
|
|
|
return c.beaconNodeValidatorClient.StreamDuties(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) SubmitAggregateSelectionProof(ctx context.Context, in *ethpb.AggregateSelectionRequest) (*ethpb.AggregateSelectionResponse, error) {
|
|
|
|
return c.beaconNodeValidatorClient.SubmitAggregateSelectionProof(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) SubmitSignedAggregateSelectionProof(ctx context.Context, in *ethpb.SignedAggregateSubmitRequest) (*ethpb.SignedAggregateSubmitResponse, error) {
|
|
|
|
return c.beaconNodeValidatorClient.SubmitSignedAggregateSelectionProof(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) SubmitSignedContributionAndProof(ctx context.Context, in *ethpb.SignedContributionAndProof) (*empty.Empty, error) {
|
|
|
|
return c.beaconNodeValidatorClient.SubmitSignedContributionAndProof(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) SubmitSyncMessage(ctx context.Context, in *ethpb.SyncCommitteeMessage) (*empty.Empty, error) {
|
|
|
|
return c.beaconNodeValidatorClient.SubmitSyncMessage(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) SubmitValidatorRegistrations(ctx context.Context, in *ethpb.SignedValidatorRegistrationsV1) (*empty.Empty, error) {
|
|
|
|
return c.beaconNodeValidatorClient.SubmitValidatorRegistrations(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) SubscribeCommitteeSubnets(ctx context.Context, in *ethpb.CommitteeSubnetsSubscribeRequest) (*empty.Empty, error) {
|
|
|
|
return c.beaconNodeValidatorClient.SubscribeCommitteeSubnets(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) ValidatorIndex(ctx context.Context, in *ethpb.ValidatorIndexRequest) (*ethpb.ValidatorIndexResponse, error) {
|
|
|
|
return c.beaconNodeValidatorClient.ValidatorIndex(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) ValidatorStatus(ctx context.Context, in *ethpb.ValidatorStatusRequest) (*ethpb.ValidatorStatusResponse, error) {
|
|
|
|
return c.beaconNodeValidatorClient.ValidatorStatus(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *grpcValidatorClient) WaitForActivation(ctx context.Context, in *ethpb.ValidatorActivationRequest) (ethpb.BeaconNodeValidator_WaitForActivationClient, error) {
|
|
|
|
return c.beaconNodeValidatorClient.WaitForActivation(ctx, in)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Deprecated: Do not use.
|
2022-11-22 12:12:55 +00:00
|
|
|
func (c *grpcValidatorClient) WaitForChainStart(ctx context.Context, in *empty.Empty) (*ethpb.ChainStartResponse, error) {
|
|
|
|
stream, err := c.beaconNodeValidatorClient.WaitForChainStart(ctx, in)
|
|
|
|
if err != nil {
|
|
|
|
return nil, errors.Wrap(
|
|
|
|
iface.ErrConnectionIssue,
|
|
|
|
errors.Wrap(err, "could not setup beacon chain ChainStart streaming client").Error(),
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
return stream.Recv()
|
2022-11-07 10:29:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func NewGrpcValidatorClient(cc grpc.ClientConnInterface) iface.ValidatorClient {
|
|
|
|
return &grpcValidatorClient{ethpb.NewBeaconNodeValidatorClient(cc)}
|
|
|
|
}
|