mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-03 08:37:37 +00:00
96df81d5c5
* Hook to slot stream instead of block stream on the VC * Implement StreamSlots in the BN * mock update * fix tests * don't return from stream * Terence's review * deepsource second complain --------- Co-authored-by: rkapka <rkapka@wp.pl>
144 lines
6.7 KiB
Go
144 lines
6.7 KiB
Go
package grpc_api
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/golang/protobuf/ptypes/empty"
|
|
"github.com/pkg/errors"
|
|
"github.com/prysmaticlabs/prysm/v4/consensus-types/primitives"
|
|
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
|
"github.com/prysmaticlabs/prysm/v4/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) StreamSlots(ctx context.Context, in *ethpb.StreamSlotsRequest) (ethpb.BeaconNodeValidator_StreamSlotsClient, error) {
|
|
return c.beaconNodeValidatorClient.StreamSlots(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) 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, _ []primitives.ValidatorIndex) (*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.
|
|
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()
|
|
}
|
|
|
|
func (c *grpcValidatorClient) AssignValidatorToSubnet(ctx context.Context, in *ethpb.AssignValidatorToSubnetRequest) (*empty.Empty, error) {
|
|
return c.beaconNodeValidatorClient.AssignValidatorToSubnet(ctx, in)
|
|
}
|
|
func (c *grpcValidatorClient) AggregatedSigAndAggregationBits(
|
|
ctx context.Context,
|
|
in *ethpb.AggregatedSigAndAggregationBitsRequest,
|
|
) (*ethpb.AggregatedSigAndAggregationBitsResponse, error) {
|
|
return c.beaconNodeValidatorClient.AggregatedSigAndAggregationBits(ctx, in)
|
|
}
|
|
|
|
func NewGrpcValidatorClient(cc grpc.ClientConnInterface) iface.ValidatorClient {
|
|
return &grpcValidatorClient{ethpb.NewBeaconNodeValidatorClient(cc)}
|
|
}
|