Deprecate everything related with the gRPC API (#14944)

* proto definitions

* server methods

* grpc validator

* server structs

* functions, types, fields etc

* changelog <3

* revert `buildBlockParallel`

* format fix

* better deprecation warning

* remove comment from unexported fields

* only keep comment in public-facing items
This commit is contained in:
Radosław Kapka
2025-04-10 17:21:49 +02:00
committed by GitHub
parent ff6e27c737
commit 9d1750ce86
31 changed files with 406 additions and 20 deletions

View File

@@ -18,6 +18,8 @@ import (
const errEpoch = "cannot retrieve information about an epoch in the future, current epoch %d, requesting %d"
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ListValidatorAssignments retrieves the validator assignments for a given epoch,
// optional validator indices or public keys may be included to filter validator assignments.
func (bs *Server) ListValidatorAssignments(

View File

@@ -49,6 +49,8 @@ func mapAttestationsByTargetRoot(atts []ethpb.Att) map[[32]byte][]ethpb.Att {
return attsMap
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ListAttestations retrieves attestations by block root, slot, or epoch.
// Attestations are sorted by data slot by default.
//
@@ -113,6 +115,8 @@ func (bs *Server) ListAttestations(
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ListAttestationsElectra retrieves attestations by block root, slot, or epoch.
// Attestations are sorted by data slot by default.
//
@@ -176,6 +180,8 @@ func (bs *Server) ListAttestationsElectra(ctx context.Context, req *ethpb.ListAt
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ListIndexedAttestations retrieves indexed attestations by block root.
// IndexedAttestationsForEpoch are sorted by data slot by default. Start-end epoch
// filter is used to retrieve blocks with.
@@ -236,6 +242,8 @@ func (bs *Server) ListIndexedAttestations(
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ListIndexedAttestationsElectra retrieves indexed attestations by block root.
// IndexedAttestationsForEpoch are sorted by data slot by default. Start-end epoch
// filter is used to retrieve blocks with.
@@ -297,6 +305,8 @@ func (bs *Server) ListIndexedAttestationsElectra(
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// AttestationPool retrieves pending attestations.
//
// The server returns a list of attestations that have been seen but not
@@ -340,6 +350,7 @@ func (bs *Server) AttestationPool(_ context.Context, req *ethpb.AttestationPoolR
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
func (bs *Server) AttestationPoolElectra(_ context.Context, req *ethpb.AttestationPoolRequest) (*ethpb.AttestationPoolElectraResponse, error) {
var atts []*ethpb.AttestationElectra
var err error

View File

@@ -26,6 +26,8 @@ type blockContainer struct {
isCanonical bool
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ListBeaconBlocks retrieves blocks by root, slot, or epoch.
//
// The server may return multiple blocks in the case that a slot or epoch is
@@ -244,12 +246,13 @@ func (bs *Server) listBlocksForGenesis(ctx context.Context, _ *ethpb.ListBlocksR
}}, 1, strconv.Itoa(0), nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetChainHead retrieves information about the head of the beacon chain from
// the view of the beacon chain node.
//
// This includes the head block slot and root as well as information about
// the most recent finalized and justified slots.
// DEPRECATED: This endpoint is superseded by the /eth/v1/beacon API endpoint
func (bs *Server) GetChainHead(ctx context.Context, _ *emptypb.Empty) (*ethpb.ChainHead, error) {
ch, err := bs.CoreService.ChainHead(ctx)
if err != nil {

View File

@@ -15,6 +15,8 @@ import (
"google.golang.org/grpc/status"
)
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ListBeaconCommittees for a given epoch.
//
// If no filter criteria is specified, the response returns

View File

@@ -10,6 +10,8 @@ import (
"google.golang.org/protobuf/types/known/emptypb"
)
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetBeaconConfig retrieves the current configuration parameters of the beacon chain.
func (_ *Server) GetBeaconConfig(_ context.Context, _ *emptypb.Empty) (*ethpb.BeaconConfig, error) {
conf := params.BeaconConfig()

View File

@@ -11,6 +11,8 @@ import (
"google.golang.org/grpc/status"
)
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// SubmitProposerSlashing receives a proposer slashing object via
// RPC and injects it into the beacon node's operations pool.
// Submission into this pool does not guarantee inclusion into a beacon block.
@@ -36,10 +38,13 @@ func (bs *Server) SubmitProposerSlashing(
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
func (bs *Server) SubmitAttesterSlashing(ctx context.Context, req *ethpb.AttesterSlashing) (*ethpb.SubmitSlashingResponse, error) {
return bs.submitAttesterSlashing(ctx, req)
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// SubmitAttesterSlashingElectra receives an attester slashing object via
// RPC and injects it into the beacon node's operations pool.
// Submission into this pool does not guarantee inclusion into a beacon block.

View File

@@ -24,6 +24,8 @@ import (
"google.golang.org/protobuf/types/known/emptypb"
)
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ListValidatorBalances retrieves the validator balances for a given set of public keys.
// An optional Epoch parameter is provided to request historical validator balances from
// archived, persistent data.
@@ -180,6 +182,8 @@ func (bs *Server) ListValidatorBalances(
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ListValidators retrieves the current list of active validators with an optional historical epoch flag to
// retrieve validator set in time.
func (bs *Server) ListValidators(
@@ -338,6 +342,8 @@ func (bs *Server) ListValidators(
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetValidator information from any validator in the registry by index or public key.
func (bs *Server) GetValidator(
ctx context.Context, req *ethpb.GetValidatorRequest,
@@ -382,6 +388,8 @@ func (bs *Server) GetValidator(
return nil, status.Error(codes.NotFound, "No validator matched filter criteria")
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetValidatorActiveSetChanges retrieves the active set changes for a given epoch.
//
// This data includes any activations, voluntary exits, and involuntary
@@ -408,6 +416,8 @@ func (bs *Server) GetValidatorActiveSetChanges(
return as, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetValidatorParticipation retrieves the validator participation information for a given epoch,
// it returns the information about validator's participation rate in voting on the proof of stake
// rules based on their balance compared to the total active validator balance.
@@ -433,6 +443,8 @@ func (bs *Server) GetValidatorParticipation(
return vp, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetValidatorQueue retrieves the current validator queue information.
func (bs *Server) GetValidatorQueue(
ctx context.Context, _ *emptypb.Empty,
@@ -524,6 +536,8 @@ func (bs *Server) GetValidatorQueue(
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetValidatorPerformance reports the validator's latest balance along with other important metrics on
// rewards and penalties throughout its lifecycle in the beacon chain.
func (bs *Server) GetValidatorPerformance(
@@ -536,6 +550,8 @@ func (bs *Server) GetValidatorPerformance(
return response, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetIndividualVotes retrieves individual voting status of validators.
func (bs *Server) GetIndividualVotes(
ctx context.Context,

View File

@@ -17,6 +17,8 @@ import (
"google.golang.org/grpc/status"
)
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetBlock in an ssz-encoded format by block root.
func (ds *Server) GetBlock(
ctx context.Context,
@@ -39,6 +41,8 @@ func (ds *Server) GetBlock(
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetInclusionSlot of an attestation in block.
func (ds *Server) GetInclusionSlot(ctx context.Context, req *pbrpc.InclusionSlotRequest) (*pbrpc.InclusionSlotResponse, error) {
ds.GenesisTimeFetcher.CurrentSlot()

View File

@@ -13,6 +13,8 @@ import (
"google.golang.org/grpc/status"
)
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetPeer returns the data known about the peer defined by the provided peer id.
func (ds *Server) GetPeer(_ context.Context, peerReq *ethpb.PeerRequest) (*ethpb.DebugPeerResponse, error) {
pid, err := peer.Decode(peerReq.PeerId)
@@ -22,6 +24,8 @@ func (ds *Server) GetPeer(_ context.Context, peerReq *ethpb.PeerRequest) (*ethpb
return ds.getPeer(pid)
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ListPeers returns all peers known to the host node, regardless of if they are connected/
// disconnected.
func (ds *Server) ListPeers(_ context.Context, _ *empty.Empty) (*ethpb.DebugPeerResponses, error) {

View File

@@ -10,6 +10,8 @@ import (
"google.golang.org/grpc/status"
)
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetBeaconState retrieves an ssz-encoded beacon state
// from the beacon node by either a slot or block root.
func (ds *Server) GetBeaconState(

View File

@@ -49,6 +49,8 @@ type Server struct {
BeaconMonitoringPort int
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetHealth checks the health of the node
func (ns *Server) GetHealth(ctx context.Context, request *ethpb.HealthRequest) (*empty.Empty, error) {
ctx, span := trace.StartSpan(ctx, "node.GetHealth")
@@ -78,6 +80,8 @@ func (ns *Server) GetHealth(ctx context.Context, request *ethpb.HealthRequest) (
return &empty.Empty{}, status.Errorf(codes.Unavailable, "service unavailable")
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetSyncStatus checks the current network sync status of the node.
func (ns *Server) GetSyncStatus(_ context.Context, _ *empty.Empty) (*ethpb.SyncStatus, error) {
return &ethpb.SyncStatus{
@@ -85,6 +89,8 @@ func (ns *Server) GetSyncStatus(_ context.Context, _ *empty.Empty) (*ethpb.SyncS
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetGenesis fetches genesis chain information of Ethereum. Returns unix timestamp 0
// if a genesis time has yet to be determined.
func (ns *Server) GetGenesis(ctx context.Context, _ *empty.Empty) (*ethpb.Genesis, error) {
@@ -109,6 +115,8 @@ func (ns *Server) GetGenesis(ctx context.Context, _ *empty.Empty) (*ethpb.Genesi
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetVersion checks the version information of the beacon node.
func (_ *Server) GetVersion(_ context.Context, _ *empty.Empty) (*ethpb.Version, error) {
return &ethpb.Version{
@@ -116,6 +124,8 @@ func (_ *Server) GetVersion(_ context.Context, _ *empty.Empty) (*ethpb.Version,
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ListImplementedServices lists the services implemented and enabled by this node.
//
// Any service not present in this list may return UNIMPLEMENTED or
@@ -133,6 +143,8 @@ func (ns *Server) ListImplementedServices(_ context.Context, _ *empty.Empty) (*e
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetHost returns the p2p data on the current local and host peer.
func (ns *Server) GetHost(_ context.Context, _ *empty.Empty) (*ethpb.HostData, error) {
var stringAddr []string
@@ -156,6 +168,8 @@ func (ns *Server) GetHost(_ context.Context, _ *empty.Empty) (*ethpb.HostData, e
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetPeer returns the data known about the peer defined by the provided peer id.
func (ns *Server) GetPeer(_ context.Context, peerReq *ethpb.PeerRequest) (*ethpb.Peer, error) {
pid, err := peer.Decode(peerReq.PeerId)
@@ -201,6 +215,8 @@ func (ns *Server) GetPeer(_ context.Context, peerReq *ethpb.PeerRequest) (*ethpb
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ListPeers lists the peers connected to this node.
func (ns *Server) ListPeers(ctx context.Context, _ *empty.Empty) (*ethpb.Peers, error) {
peers := ns.PeersFetcher.Peers().Connected()
@@ -254,6 +270,8 @@ func (ns *Server) ListPeers(ctx context.Context, _ *empty.Empty) (*ethpb.Peers,
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetETH1ConnectionStatus gets data about the ETH1 endpoints.
func (ns *Server) GetETH1ConnectionStatus(_ context.Context, _ *empty.Empty) (*ethpb.ETH1ConnectionStatus, error) {
var currErr string
@@ -268,6 +286,8 @@ func (ns *Server) GetETH1ConnectionStatus(_ context.Context, _ *empty.Empty) (*e
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// StreamBeaconLogs from the beacon node via a gRPC server-side stream.
// DEPRECATED: This endpoint doesn't appear to be used and have been marked for deprecation.
func (ns *Server) StreamBeaconLogs(_ *empty.Empty, stream ethpb.Health_StreamBeaconLogsServer) error {

View File

@@ -17,6 +17,8 @@ import (
"google.golang.org/grpc/status"
)
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// SubmitAggregateSelectionProof is called by a validator when its assigned to be an aggregator.
// The aggregator submits the selection proof to obtain the aggregated attestation
// object to sign over.
@@ -53,6 +55,8 @@ func (vs *Server) SubmitAggregateSelectionProof(ctx context.Context, req *ethpb.
return &ethpb.AggregateSelectionResponse{AggregateAndProof: attAndProof}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// SubmitAggregateSelectionProofElectra is called by a validator when its assigned to be an aggregator.
// The aggregator submits the selection proof to obtain the aggregated attestation
// object to sign over.
@@ -145,6 +149,8 @@ func (vs *Server) processAggregateSelection(ctx context.Context, req *ethpb.Aggr
return indexInCommittee, validatorIndex, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// SubmitSignedAggregateSelectionProof is called by a validator to broadcast a signed
// aggregated and proof object.
func (vs *Server) SubmitSignedAggregateSelectionProof(
@@ -157,6 +163,8 @@ func (vs *Server) SubmitSignedAggregateSelectionProof(
return &ethpb.SignedAggregateSubmitResponse{}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// SubmitSignedAggregateSelectionProofElectra is called by a validator to broadcast a signed
// aggregated and proof object.
func (vs *Server) SubmitSignedAggregateSelectionProofElectra(

View File

@@ -19,6 +19,8 @@ import (
"google.golang.org/protobuf/types/known/emptypb"
)
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetAttestationData requests that the beacon node produce an attestation data object,
// which the validator acting as an attester will then sign.
func (vs *Server) GetAttestationData(ctx context.Context, req *ethpb.AttestationDataRequest) (*ethpb.AttestationData, error) {
@@ -39,6 +41,8 @@ func (vs *Server) GetAttestationData(ctx context.Context, req *ethpb.Attestation
return res, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ProposeAttestation is a function called by an attester to vote
// on a block via an attestation object as defined in the Ethereum specification.
func (vs *Server) ProposeAttestation(ctx context.Context, att *ethpb.Attestation) (*ethpb.AttestResponse, error) {
@@ -67,6 +71,8 @@ func (vs *Server) ProposeAttestation(ctx context.Context, att *ethpb.Attestation
return resp, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ProposeAttestationElectra is a function called by an attester to vote
// on a block via an attestation object as defined in the Ethereum specification.
func (vs *Server) ProposeAttestationElectra(ctx context.Context, singleAtt *ethpb.SingleAttestation) (*ethpb.AttestResponse, error) {
@@ -105,6 +111,8 @@ func (vs *Server) ProposeAttestationElectra(ctx context.Context, singleAtt *ethp
return resp, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// SubscribeCommitteeSubnets subscribes to the committee ID subnet given subscribe request.
func (vs *Server) SubscribeCommitteeSubnets(ctx context.Context, req *ethpb.CommitteeSubnetsSubscribeRequest) (*emptypb.Empty, error) {
ctx, span := trace.StartSpan(ctx, "AttesterServer.SubscribeCommitteeSubnets")

View File

@@ -14,6 +14,8 @@ import (
"google.golang.org/grpc/status"
)
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// StreamBlocksAltair to clients every single time a block is received by the beacon node.
func (vs *Server) StreamBlocksAltair(req *ethpb.StreamBlocksRequest, stream ethpb.BeaconNodeValidator_StreamBlocksAltairServer) error {
blocksChannel := make(chan *feed.Event, 1)
@@ -47,6 +49,8 @@ func (vs *Server) StreamBlocksAltair(req *ethpb.StreamBlocksRequest, stream ethp
}
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// StreamSlots sends a block's slot to clients every single time a block is received by the beacon node.
func (vs *Server) StreamSlots(req *ethpb.StreamSlotsRequest, stream ethpb.BeaconNodeValidator_StreamSlotsServer) error {
ch := make(chan *feed.Event, 1)

View File

@@ -16,6 +16,8 @@ import (
"google.golang.org/protobuf/types/known/emptypb"
)
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetDuties returns the duties assigned to a list of validators specified
// in the request object.
func (vs *Server) GetDuties(ctx context.Context, req *ethpb.DutiesRequest) (*ethpb.DutiesResponse, error) {
@@ -163,6 +165,8 @@ func (vs *Server) duties(ctx context.Context, req *ethpb.DutiesRequest) (*ethpb.
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// AssignValidatorToSubnet checks the status and pubkey of a particular validator
// to discern whether persistent subnets need to be registered for them.
func (vs *Server) AssignValidatorToSubnet(_ context.Context, req *ethpb.AssignValidatorToSubnetRequest) (*emptypb.Empty, error) {

View File

@@ -12,6 +12,8 @@ import (
"google.golang.org/grpc/status"
)
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ProposeExit proposes an exit for a validator.
func (vs *Server) ProposeExit(ctx context.Context, req *ethpb.SignedVoluntaryExit) (*ethpb.ProposeExitResponse, error) {
if req == nil {

View File

@@ -45,6 +45,8 @@ const (
defaultBuilderBoostFactor = primitives.Gwei(100)
)
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetBeaconBlock is called by a proposer during its assigned slot to request a block to sign
// by passing in the slot and the signed randao reveal of the slot.
func (vs *Server) GetBeaconBlock(ctx context.Context, req *ethpb.BlockRequest) (*ethpb.GenericBeaconBlock, error) {
@@ -269,6 +271,8 @@ func (vs *Server) BuildBlockParallel(ctx context.Context, sBlk interfaces.Signed
return vs.constructGenericBeaconBlock(sBlk, bundle, winningBid)
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ProposeBeaconBlock handles the proposal of beacon blocks.
func (vs *Server) ProposeBeaconBlock(ctx context.Context, req *ethpb.GenericSignedBeaconBlock) (*ethpb.ProposeResponse, error) {
ctx, span := trace.StartSpan(ctx, "ProposerServer.ProposeBeaconBlock")
@@ -408,6 +412,8 @@ func (vs *Server) broadcastAndReceiveBlobs(ctx context.Context, sidecars []*ethp
return eg.Wait()
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// PrepareBeaconProposer caches and updates the fee recipient for the given proposer.
func (vs *Server) PrepareBeaconProposer(
_ context.Context, request *ethpb.PrepareBeaconProposerRequest,
@@ -443,6 +449,8 @@ func (vs *Server) PrepareBeaconProposer(
return &emptypb.Empty{}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetFeeRecipientByPubKey returns a fee recipient from the beacon node's settings or db based on a given public key
func (vs *Server) GetFeeRecipientByPubKey(ctx context.Context, request *ethpb.FeeRecipientByPubKeyRequest) (*ethpb.FeeRecipientByPubKeyResponse, error) {
ctx, span := trace.StartSpan(ctx, "validator.GetFeeRecipientByPublicKey")
@@ -498,6 +506,8 @@ func (vs *Server) computeStateRoot(ctx context.Context, block interfaces.ReadOnl
return root[:], nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// SubmitValidatorRegistrations submits validator registrations.
func (vs *Server) SubmitValidatorRegistrations(ctx context.Context, reg *ethpb.SignedValidatorRegistrationsV1) (*emptypb.Empty, error) {
if vs.BlockBuilder == nil || !vs.BlockBuilder.Configured() {

View File

@@ -82,6 +82,8 @@ type Server struct {
AttestationStateFetcher blockchain.AttestationStateFetcher
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// WaitForActivation checks if a validator public key exists in the active validator registry of the current
// beacon state, if not, then it creates a stream which listens for canonical states which contain
// the validator with the public key as an active validator record.
@@ -130,6 +132,8 @@ func (vs *Server) WaitForActivation(req *ethpb.ValidatorActivationRequest, strea
}
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ValidatorIndex is called by a validator to get its index location in the beacon state.
func (vs *Server) ValidatorIndex(ctx context.Context, req *ethpb.ValidatorIndexRequest) (*ethpb.ValidatorIndexResponse, error) {
st, err := vs.HeadFetcher.HeadStateReadOnly(ctx)
@@ -147,6 +151,8 @@ func (vs *Server) ValidatorIndex(ctx context.Context, req *ethpb.ValidatorIndexR
return &ethpb.ValidatorIndexResponse{Index: index}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// DomainData fetches the current domain version information from the beacon state.
func (vs *Server) DomainData(ctx context.Context, request *ethpb.DomainRequest) (*ethpb.DomainResponse, error) {
fork, err := forks.Fork(request.Epoch)
@@ -177,6 +183,8 @@ func (vs *Server) DomainData(ctx context.Context, request *ethpb.DomainRequest)
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// WaitForChainStart queries the logs of the Deposit Contract in order to verify the beacon chain
// has started its runtime and validators begin their responsibilities. If it has not, it then
// subscribes to an event stream triggered by the powchain service whenever the ChainStart log does

View File

@@ -29,6 +29,8 @@ var nonExistentIndex = primitives.ValidatorIndex(^uint64(0))
var errParticipation = status.Errorf(codes.Internal, "Failed to obtain epoch participation")
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// ValidatorStatus returns the validator status of the current epoch.
// The status response can be one of the following:
//
@@ -52,6 +54,8 @@ func (vs *Server) ValidatorStatus(
return vStatus, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// MultipleValidatorStatus is the same as ValidatorStatus. Supports retrieval of multiple
// validator statuses. Takes a list of public keys or a list of validator indices.
func (vs *Server) MultipleValidatorStatus(
@@ -100,6 +104,8 @@ func (vs *Server) MultipleValidatorStatus(
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// CheckDoppelGanger checks if the provided keys are currently active in the network.
func (vs *Server) CheckDoppelGanger(ctx context.Context, req *ethpb.DoppelGangerRequest) (*ethpb.DoppelGangerResponse, error) {
if vs.SyncChecker.Syncing() {

View File

@@ -12,6 +12,8 @@ import (
"google.golang.org/protobuf/types/known/emptypb"
)
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetSyncMessageBlockRoot retrieves the sync committee block root of the beacon chain.
func (vs *Server) GetSyncMessageBlockRoot(
ctx context.Context, _ *emptypb.Empty,
@@ -32,6 +34,8 @@ func (vs *Server) GetSyncMessageBlockRoot(
}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// SubmitSyncMessage submits the sync committee message to the network.
// It also saves the sync committee message into the pending pool for block inclusion.
func (vs *Server) SubmitSyncMessage(ctx context.Context, msg *ethpb.SyncCommitteeMessage) (*emptypb.Empty, error) {
@@ -41,6 +45,8 @@ func (vs *Server) SubmitSyncMessage(ctx context.Context, msg *ethpb.SyncCommitte
return &emptypb.Empty{}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetSyncSubcommitteeIndex is called by a sync committee participant to get
// its subcommittee index for sync message aggregation duty.
func (vs *Server) GetSyncSubcommitteeIndex(
@@ -57,6 +63,8 @@ func (vs *Server) GetSyncSubcommitteeIndex(
return &ethpb.SyncSubcommitteeIndexResponse{Indices: indices}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// GetSyncCommitteeContribution is called by a sync committee aggregator
// to retrieve sync committee contribution object.
func (vs *Server) GetSyncCommitteeContribution(
@@ -98,6 +106,8 @@ func (vs *Server) GetSyncCommitteeContribution(
return contribution, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// SubmitSignedContributionAndProof is called by a sync committee aggregator
// to submit signed contribution and proof object.
func (vs *Server) SubmitSignedContributionAndProof(
@@ -110,6 +120,8 @@ func (vs *Server) SubmitSignedContributionAndProof(
return &emptypb.Empty{}, nil
}
// Deprecated: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
//
// AggregatedSigAndAggregationBits returns the aggregated signature and aggregation bits
// associated with a particular set of sync committee messages.
func (vs *Server) AggregatedSigAndAggregationBits(

View File

@@ -0,0 +1,3 @@
### Changed
- Deprecated everything related with the gRPC API.

View File

@@ -241,7 +241,8 @@ var (
// GrpcMaxCallRecvMsgSizeFlag defines the max call message size for GRPC
GrpcMaxCallRecvMsgSizeFlag = &cli.IntFlag{
Name: "grpc-max-msg-size",
Usage: `Integer to define max receive message call size (in bytes).
Usage: `WARNING: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
Integer to define max receive message call size (in bytes).
If serving a public gRPC server, set this to a more reasonable size to avoid
resource exhaustion from large messages.
Validators with as many as 10000 keys can be run with a max message size of less than

View File

@@ -31,8 +31,9 @@ var (
}
// BeaconRPCProviderFlag defines a beacon node RPC endpoint.
BeaconRPCProviderFlag = &cli.StringFlag{
Name: "beacon-rpc-provider",
Usage: "Beacon node RPC provider endpoint.",
Name: "beacon-rpc-provider",
Usage: `WARNING: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
Beacon node RPC provider endpoint.`,
Value: "127.0.0.1:4000",
}
@@ -88,20 +89,23 @@ var (
}
// GRPCRetriesFlag defines the number of times to retry a failed gRPC request.
GRPCRetriesFlag = &cli.UintFlag{
Name: "grpc-retries",
Usage: "Number of attempts to retry gRPC requests.",
Name: "grpc-retries",
Usage: `WARNING: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
Number of attempts to retry gRPC requests.`,
Value: 5,
}
// GRPCRetryDelayFlag defines the interval to retry a failed gRPC request.
GRPCRetryDelayFlag = &cli.DurationFlag{
Name: "grpc-retry-delay",
Usage: "Amount of time between gRPC retry requests.",
Name: "grpc-retry-delay",
Usage: `WARNING: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
Amount of time between gRPC retry requests.`,
Value: 1 * time.Second,
}
// GRPCHeadersFlag defines a list of headers to send with all gRPC requests.
GRPCHeadersFlag = &cli.StringFlag{
Name: "grpc-headers",
Usage: `Comma separated list of key value pairs to pass as gRPC headers for all gRPC calls.
Usage: `WARNING: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
Comma separated list of key value pairs to pass as gRPC headers for all gRPC calls.
Example: --grpc-headers=key=value`,
}
// HTTPServerHost specifies a HTTP server host for the validator client.

View File

@@ -50,8 +50,9 @@ var (
Usage: "Writes invalid blobs to temp directory.",
}
disableGRPCConnectionLogging = &cli.BoolFlag{
Name: "disable-grpc-connection-logging",
Usage: "Disables displaying logs for newly connected grpc clients.",
Name: "disable-grpc-connection-logging",
Usage: `WARNING: gRPC API will still be supported for some time, most likely until v8 in 2026, but will be eventually removed in favor of REST API.
Disables displaying logs for newly connected grpc clients.`,
}
disablePeerScorer = &cli.BoolFlag{
Name: "disable-peer-scorer",

View File

@@ -33,6 +33,8 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
// ----------------------------------------------------------------------------
message GenericSignedBeaconBlock {
option deprecated = true;
oneof block {
// Representing a signed, phase 0 beacon block.
SignedBeaconBlock phase0 = 1;
@@ -75,6 +77,8 @@ message GenericSignedBeaconBlock {
}
message GenericBeaconBlock {
option deprecated = true;
oneof block {
// Representing a phase 0 beacon block.
BeaconBlock phase0 = 1;
@@ -319,6 +323,8 @@ message VoluntaryExit {
}
message SignedValidatorRegistrationsV1 {
option deprecated = true;
repeated SignedValidatorRegistrationV1 messages = 1;
}

View File

@@ -44,6 +44,7 @@ service BeaconChain {
// information via a boolean query filter.
rpc ListAttestations(ListAttestationsRequest)
returns (ListAttestationsResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/beacon/attestations"
};
@@ -57,6 +58,7 @@ service BeaconChain {
// information via a boolean query filter.
rpc ListAttestationsElectra(ListAttestationsRequest)
returns (ListAttestationsElectraResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/beacon/attestations_electra"
};
@@ -70,6 +72,7 @@ service BeaconChain {
// genesis information via a boolean query filter.
rpc ListIndexedAttestations(ListIndexedAttestationsRequest)
returns (ListIndexedAttestationsResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/beacon/attestations/indexed"
};
@@ -83,6 +86,7 @@ service BeaconChain {
// genesis information via a boolean query filter.
rpc ListIndexedAttestationsElectra(ListIndexedAttestationsRequest)
returns (ListIndexedAttestationsElectraResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/beacon/attestations/indexed_electra"
};
@@ -99,6 +103,7 @@ service BeaconChain {
// https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#attestations
rpc AttestationPool(AttestationPoolRequest)
returns (AttestationPoolResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/beacon/attestations/pool"
};
@@ -115,6 +120,7 @@ service BeaconChain {
// https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#attestations
rpc AttestationPoolElectra(AttestationPoolRequest)
returns (AttestationPoolElectraResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/beacon/attestations/pool_electra"
};
@@ -129,6 +135,7 @@ service BeaconChain {
// endpoint allows for retrieval of genesis information via a boolean query
// filter.
rpc ListBeaconBlocks(ListBlocksRequest) returns (ListBeaconBlocksResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha2/beacon/blocks"
};
@@ -155,6 +162,7 @@ service BeaconChain {
// default. This endpoint allows for retrieval of genesis information via a
// boolean query filter.
rpc ListBeaconCommittees(ListCommitteesRequest) returns (BeaconCommittees) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/beacon/committees"
};
@@ -165,6 +173,7 @@ service BeaconChain {
// via a boolean query filter.
rpc ListValidatorBalances(ListValidatorBalancesRequest)
returns (ValidatorBalances) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validators/balances"
};
@@ -176,6 +185,7 @@ service BeaconChain {
// specific validator set in time. This endpoint allows for retrieval of
// genesis information via a boolean query filter.
rpc ListValidators(ListValidatorsRequest) returns (Validators) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validators"
};
@@ -185,6 +195,7 @@ service BeaconChain {
//
// This request may query by validator index or public key.
rpc GetValidator(GetValidatorRequest) returns (Validator) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validator"
};
@@ -197,6 +208,7 @@ service BeaconChain {
// information via a boolean query filter.
rpc GetValidatorActiveSetChanges(GetValidatorActiveSetChangesRequest)
returns (ActiveSetChanges) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validators/activesetchanges"
};
@@ -204,6 +216,7 @@ service BeaconChain {
// Retrieve the current validator queue information.
rpc GetValidatorQueue(google.protobuf.Empty) returns (ValidatorQueue) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validators/queue"
};
@@ -215,6 +228,7 @@ service BeaconChain {
// and returns a performance report for all of them respectively.
rpc GetValidatorPerformance(ValidatorPerformanceRequest)
returns (ValidatorPerformanceResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validators/performance"
};
@@ -227,6 +241,7 @@ service BeaconChain {
// information via a boolean query filter.
rpc ListValidatorAssignments(ListValidatorAssignmentsRequest)
returns (ValidatorAssignments) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validators/assignments"
};
@@ -247,6 +262,7 @@ service BeaconChain {
// Retrieve the current configuration parameters of the beacon chain.
rpc GetBeaconConfig(google.protobuf.Empty) returns (BeaconConfig) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/beacon/config"
};
@@ -255,6 +271,7 @@ service BeaconChain {
// Submit an attester slashing object to the beacon node.
rpc SubmitAttesterSlashing(AttesterSlashing)
returns (SubmitSlashingResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/beacon/slashings/attester/submit"
};
@@ -263,6 +280,7 @@ service BeaconChain {
// Submit an attester slashing object to the beacon node.
rpc SubmitAttesterSlashingElectra(AttesterSlashingElectra)
returns (SubmitSlashingResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/beacon/slashings/attester/submit_electra"
};
@@ -271,6 +289,7 @@ service BeaconChain {
// Submit a proposer slashing object to the beacon node.
rpc SubmitProposerSlashing(ProposerSlashing)
returns (SubmitSlashingResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/beacon/slashings/proposer/submit"
};
@@ -279,6 +298,7 @@ service BeaconChain {
// Returns a list of validators individual vote status of a given epoch.
rpc GetIndividualVotes(IndividualVotesRequest)
returns (IndividualVotesRespond) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/beacon/individual_votes"
};
@@ -287,6 +307,8 @@ service BeaconChain {
// Request for indexed attestations by target epoch.
message ListIndexedAttestationsRequest {
option deprecated = true;
oneof query_filter {
// Retrieve attestations by epoch processed.
uint64 epoch = 1 [
@@ -310,6 +332,7 @@ message ListIndexedAttestationsRequest {
// Request for attestations.
message ListAttestationsRequest {
option deprecated = true;
oneof query_filter {
// Filter attestations by epoch processed.
@@ -333,6 +356,8 @@ message ListAttestationsRequest {
}
message ListAttestationsResponse {
option deprecated = true;
repeated Attestation attestations = 1;
// A pagination token returned from a previous call to `ListAttestations`
@@ -345,6 +370,8 @@ message ListAttestationsResponse {
}
message ListAttestationsElectraResponse {
option deprecated = true;
repeated AttestationElectra attestations = 1;
// A pagination token returned from a previous call to `ListAttestations`
@@ -357,6 +384,8 @@ message ListAttestationsElectraResponse {
}
message ListIndexedAttestationsResponse {
option deprecated = true;
repeated IndexedAttestation indexed_attestations = 1;
// A pagination token returned from a previous call to
@@ -369,6 +398,8 @@ message ListIndexedAttestationsResponse {
}
message ListIndexedAttestationsElectraResponse {
option deprecated = true;
repeated IndexedAttestationElectra indexed_attestations = 1;
// A pagination token returned from a previous call to
@@ -381,6 +412,8 @@ message ListIndexedAttestationsElectraResponse {
}
message ListBlocksRequest {
option deprecated = true;
oneof query_filter {
// Block root filter to return a single block.
bytes root = 1;
@@ -415,6 +448,8 @@ message ListBlocksRequest {
}
message ListBeaconBlocksResponse {
option deprecated = true;
repeated BeaconBlockContainer block_containers = 1;
// A pagination token returned from a previous call to `ListBeaconBlocks`
@@ -478,6 +513,8 @@ message BeaconBlockContainer {
// Information about the head of the beacon chain.
message ChainHead {
option deprecated = true;
// Slot of the head block.
uint64 head_slot = 1 [
(ethereum.eth.ext.cast_type) =
@@ -544,6 +581,8 @@ message ChainHead {
}
message ListCommitteesRequest {
option deprecated = true;
oneof query_filter {
// Optional criteria to retrieve data at a specific epoch.
uint64 epoch = 1 [
@@ -557,6 +596,8 @@ message ListCommitteesRequest {
}
message BeaconCommittees {
option deprecated = true;
message CommitteeItem {
// A committee is a list of validator indices participating in consensus at
// a slot.
@@ -585,6 +626,8 @@ message BeaconCommittees {
}
message ListValidatorBalancesRequest {
option deprecated = true;
oneof query_filter {
// Optional criteria to retrieve balances at a specific epoch.
uint64 epoch = 1 [
@@ -616,6 +659,8 @@ message ListValidatorBalancesRequest {
}
message ValidatorBalances {
option deprecated = true;
// Epoch which the state was considered to determine the validator balances.
uint64 epoch = 1 [
(ethereum.eth.ext.cast_type) =
@@ -650,6 +695,8 @@ message ValidatorBalances {
}
message ListValidatorsRequest {
option deprecated = true;
oneof query_filter {
// Optional criteria to retrieve validators at a specific epoch.
// Omitting this field or setting it to zero will retrieve a response
@@ -688,6 +735,8 @@ message ListValidatorsRequest {
}
message GetValidatorRequest {
option deprecated = true;
oneof query_filter {
// Validator index in the registry.
uint64 index = 1 [ (ethereum.eth.ext.cast_type) =
@@ -700,6 +749,8 @@ message GetValidatorRequest {
}
message Validators {
option deprecated = true;
// Epoch which the state was considered to determine the active validator
// set. This field is not optional. Zero value epoch indicates the validator
// set is from the Ethereum proof of stake genesis set.
@@ -727,6 +778,8 @@ message Validators {
}
message GetValidatorActiveSetChangesRequest {
option deprecated = true;
oneof query_filter {
// Optional criteria to retrieve balances at a specific epoch.
uint64 epoch = 1 [
@@ -740,6 +793,8 @@ message GetValidatorActiveSetChangesRequest {
}
message ActiveSetChanges {
option deprecated = true;
// Epoch which the state was considered to determine the active validator
// set.
uint64 epoch = 1 [
@@ -791,6 +846,8 @@ message ActiveSetChanges {
}
message ValidatorPerformanceRequest {
option deprecated = true;
// A list of 48 byte validator public keys.
repeated bytes public_keys = 1 [ deprecated = true ];
// A list of validator indices to retrieve performance by their indices.
@@ -801,6 +858,8 @@ message ValidatorPerformanceRequest {
}
message ValidatorPerformanceResponse {
option deprecated = true;
// A list of validator effective balances mapped 1-to-1 with the request's
// public keys.
repeated uint64 current_effective_balances = 1;
@@ -853,6 +912,7 @@ message ValidatorPerformanceResponse {
// future hard fork.
message ValidatorQueue {
option deprecated = true;
// The amount of ether in gwei allowed to enter or exit the active
// validator set.
uint64 churn_limit = 1;
@@ -883,6 +943,8 @@ message ValidatorQueue {
}
message ListValidatorAssignmentsRequest {
option deprecated = true;
oneof query_filter {
// Epoch to validator assignments for.
uint64 epoch = 1 [
@@ -912,6 +974,8 @@ message ListValidatorAssignmentsRequest {
}
message ValidatorAssignments {
option deprecated = true;
message CommitteeAssignment {
// Beacon committees are responsible for crosslinking committee data back to
// the beacon chain, they also attest and produce beacon chain blocks. This
@@ -1003,6 +1067,8 @@ message ValidatorParticipationResponse {
}
message AttestationPoolRequest {
option deprecated = true;
// The maximum number of objects to return in the response.
// This field is optional.
int32 page_size = 1;
@@ -1014,6 +1080,8 @@ message AttestationPoolRequest {
}
message AttestationPoolResponse {
option deprecated = true;
// List of attestations currently in the pool of the beacon chain.
repeated Attestation attestations = 1;
@@ -1027,6 +1095,8 @@ message AttestationPoolResponse {
}
message AttestationPoolElectraResponse {
option deprecated = true;
// List of attestations currently in the pool of the beacon chain.
repeated AttestationElectra attestations = 1;

View File

@@ -24,30 +24,35 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
service Debug {
// Returns a beacon state by filter criteria from the beacon node.
rpc GetBeaconState(BeaconStateRequest) returns (SSZResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/debug/state"
};
}
// Returns a beacon state by filter criteria from the beacon node.
rpc GetBlock(BlockRequestByRoot) returns (SSZResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/debug/block"
};
}
// SetLoggingLevel sets the log-level of the beacon node programmatically.
rpc SetLoggingLevel(LoggingLevelRequest) returns (google.protobuf.Empty) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/debug/logging"
};
}
// Returns all the related data for every peer tracked by the host node.
rpc ListPeers(google.protobuf.Empty) returns (DebugPeerResponses) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/debug/peers"
};
}
// Returns requested peer with specified peer id if it exists.
rpc GetPeer(ethereum.eth.v1alpha1.PeerRequest) returns (DebugPeerResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/debug/peer"
};
@@ -70,6 +75,8 @@ message InclusionSlotResponse {
}
message BeaconStateRequest {
option deprecated = true;
oneof query_filter {
// The slot corresponding to a desired beacon state.
uint64 slot = 1 [
@@ -82,14 +89,22 @@ message BeaconStateRequest {
}
}
message BlockRequestByRoot { bytes block_root = 1; }
message BlockRequestByRoot {
option deprecated = true;
bytes block_root = 1;
}
message SSZResponse {
option deprecated = true;
// Returns an ssz-encoded byte slice as a response.
bytes encoded = 1;
}
message LoggingLevelRequest {
option deprecated = true;
// The logging levels available in Prysm as an enum.
enum Level {
INFO = 0;
@@ -99,9 +114,15 @@ message LoggingLevelRequest {
Level level = 1;
}
message DebugPeerResponses { repeated DebugPeerResponse responses = 1; }
message DebugPeerResponses {
option deprecated = true;
repeated DebugPeerResponse responses = 1;
}
message DebugPeerResponse {
option deprecated = true;
// Peer related metadata that is useful for debugging.
message PeerInfo {
// Metadata of the peer, containing their bitfield

View File

@@ -18,10 +18,15 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
// such being able to stream logs via gRPC.
service Health {
rpc StreamBeaconLogs(google.protobuf.Empty) returns (stream LogsResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/health/logs/stream"
};
}
}
message LogsResponse { repeated string logs = 1; }
message LogsResponse {
option deprecated = true;
repeated string logs = 1;
}

View File

@@ -35,6 +35,7 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
service Node {
// Retrieve the current network sync status of the node.
rpc GetSyncStatus(google.protobuf.Empty) returns (SyncStatus) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/node/syncing"
};
@@ -42,6 +43,7 @@ service Node {
// Retrieve information about the genesis of Ethereum proof of stake.
rpc GetGenesis(google.protobuf.Empty) returns (Genesis) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/node/genesis"
};
@@ -49,6 +51,7 @@ service Node {
// Retrieve information about the running Ethereum Beacon Node.
rpc GetVersion(google.protobuf.Empty) returns (Version) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/node/version"
};
@@ -56,6 +59,7 @@ service Node {
// Retrieve the current health of the node.
rpc GetHealth(HealthRequest) returns (google.protobuf.Empty) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/node/health"
};
@@ -68,6 +72,7 @@ service Node {
// reflection.
rpc ListImplementedServices(google.protobuf.Empty)
returns (ImplementedServices) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/node/services"
};
@@ -75,6 +80,7 @@ service Node {
// Retrieves the peer data of the local peer.
rpc GetHost(google.protobuf.Empty) returns (HostData) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/node/p2p"
};
@@ -82,6 +88,7 @@ service Node {
// Retrieve the peer corresponding to the provided peer id.
rpc GetPeer(PeerRequest) returns (Peer) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/node/peer"
};
@@ -89,6 +96,7 @@ service Node {
// Retrieve the list of peers currently connected to this node.
rpc ListPeers(google.protobuf.Empty) returns (Peers) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/node/peers"
};
@@ -97,22 +105,31 @@ service Node {
// // Retrieve the status of the ETH1 connections.
rpc GetETH1ConnectionStatus(google.protobuf.Empty)
returns (ETH1ConnectionStatus) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/node/eth1/connections"
};
}
}
message HealthRequest { uint64 syncing_status = 1; }
message HealthRequest {
option deprecated = true;
uint64 syncing_status = 1;
}
// Information about the current network sync status of the node.
message SyncStatus {
option deprecated = true;
// Whether or not the node is currently syncing.
bool syncing = 1;
}
// Information about the genesis of Ethereum proof of stake.
message Genesis {
option deprecated = true;
// UTC time specified in the chain start event in the deposit contract.
google.protobuf.Timestamp genesis_time = 1;
@@ -126,6 +143,8 @@ message Genesis {
// Information about the node version.
message Version {
option deprecated = true;
// A string that uniquely identifies the node and its version.
string version = 1;
@@ -134,18 +153,30 @@ message Version {
string metadata = 2;
}
message ImplementedServices { repeated string services = 1; }
message ImplementedServices {
option deprecated = true;
repeated string services = 1;
}
message PeerRequest {
option deprecated = true;
// Peer id of the peer requested.
string peer_id = 1;
}
// Peers is a list of peer messages.
message Peers { repeated Peer peers = 1; }
message Peers {
option deprecated = true;
repeated Peer peers = 1;
}
// Peer provides details of a peer on the network.
message Peer {
option deprecated = true;
// The address of the peer, as a full multiaddr, for example:
// /ip4/37.221.192.134/tcp/13000/p2p/16Uiu2HAm8maLMjag1TAUM52zPfmLbVMGFdwUAWgoHu1HDQLR6e17
string address = 1;
@@ -162,6 +193,8 @@ message Peer {
// P2P Data on the local host.
message HostData {
option deprecated = true;
// All the multiaddress of the peer, specified as a full multiaddr, for
// example:
// /ip4/37.221.192.134/tcp/13000/p2p/16Uiu2HAm8maLMjag1TAUM52zPfmLbVMGFdwUAWgoHu1HDQLR6e17
@@ -190,6 +223,8 @@ enum ConnectionState {
// ETH1ConnectionStatus states the current address and error of the ETH1 API
// endpoint. It also provides the addresses and errors for any fallback URLs.
message ETH1ConnectionStatus {
option deprecated = true;
// Current ETH1 HTTP endpoint.
string current_address = 1;

View File

@@ -26,6 +26,8 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
// Sync committee object to support light client.
message SyncCommitteeMessage {
option deprecated = true;
// Slot to which this contribution pertains.
uint64 slot = 1 [
(ethereum.eth.ext.cast_type) =

View File

@@ -52,6 +52,7 @@ service BeaconNodeValidator {
// recommended to poll at every slot to ensure validator is fully aware of any
// sudden chain reorg.
rpc GetDuties(DutiesRequest) returns (DutiesResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validator/duties"
};
@@ -61,6 +62,7 @@ service BeaconNodeValidator {
// from the running beacon node's state. This information is used when
// validators sign blocks and attestations appropriately based on their duty.
rpc DomainData(DomainRequest) returns (DomainResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validator/domain"
};
@@ -90,10 +92,10 @@ service BeaconNodeValidator {
// validator to those keys is activated.
rpc WaitForActivation(ValidatorActivationRequest)
returns (stream ValidatorActivationResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validator/activation/stream"
};
option deprecated = true;
}
// ValidatorIndex retrieves a validator's index location in the beacon state's
@@ -101,6 +103,7 @@ service BeaconNodeValidator {
// public key. This method returns NOT_FOUND if no index is found for the
// public key specified in the request.
rpc ValidatorIndex(ValidatorIndexRequest) returns (ValidatorIndexResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validator/index"
};
@@ -119,6 +122,7 @@ service BeaconNodeValidator {
//validator does not have a known status in the network.
rpc ValidatorStatus(ValidatorStatusRequest)
returns (ValidatorStatusResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validator/status"
};
@@ -130,6 +134,7 @@ service BeaconNodeValidator {
// Returns a list of ValidatorStatusResponses.
rpc MultipleValidatorStatus(MultipleValidatorStatusRequest)
returns (MultipleValidatorStatusResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validator/statuses"
};
@@ -141,6 +146,7 @@ service BeaconNodeValidator {
// be proposed on the beacon chain. The block should be filled with all the
// necessary data for proposer to sign.
rpc GetBeaconBlock(BlockRequest) returns (GenericBeaconBlock) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha2/validator/block"
};
@@ -152,6 +158,7 @@ service BeaconNodeValidator {
// beacon block can be included in the beacon chain. The beacon node is
// expected to validate and process the beacon block into its state.
rpc ProposeBeaconBlock(GenericSignedBeaconBlock) returns (ProposeResponse) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha2/validator/block"
body : "*"
@@ -162,6 +169,7 @@ service BeaconNodeValidator {
// preparing block proposal execution payloads.
rpc PrepareBeaconProposer(PrepareBeaconProposerRequest)
returns (google.protobuf.Empty) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/prepare_beacon_proposer"
body : "*"
@@ -172,6 +180,7 @@ service BeaconNodeValidator {
// settings or db based on a given public key
rpc GetFeeRecipientByPubKey(FeeRecipientByPubKeyRequest)
returns (FeeRecipientByPubKeyResponse) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/fee_recipient_by_pub_key"
body : "*"
@@ -184,6 +193,7 @@ service BeaconNodeValidator {
// The server returns the latest valid data which represents the correct vote
// for the head of the beacon chain.
rpc GetAttestationData(AttestationDataRequest) returns (AttestationData) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validator/attestation"
};
@@ -195,6 +205,7 @@ service BeaconNodeValidator {
// attestation to be included in the beacon chain. The beacon node is expected
// to validate and publish attestation on appropriate committee subnet.
rpc ProposeAttestation(Attestation) returns (AttestResponse) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/attestation"
body : "*"
@@ -207,6 +218,7 @@ service BeaconNodeValidator {
// attestation to be included in the beacon chain. The beacon node is expected
// to validate and publish attestation on appropriate committee subnet.
rpc ProposeAttestationElectra(SingleAttestation) returns (AttestResponse) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/attestation_electra"
body : "*"
@@ -218,6 +230,7 @@ service BeaconNodeValidator {
// aggregate and proof object back to validator to sign over.
rpc SubmitAggregateSelectionProof(AggregateSelectionRequest)
returns (AggregateSelectionResponse) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/aggregate"
body : "*"
@@ -229,6 +242,7 @@ service BeaconNodeValidator {
// aggregate and proof object back to validator to sign over.
rpc SubmitAggregateSelectionProofElectra(AggregateSelectionRequest)
returns (AggregateSelectionElectraResponse) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/aggregate_electra"
body : "*"
@@ -239,6 +253,7 @@ service BeaconNodeValidator {
// the signed aggregated attestation and proof object.
rpc SubmitSignedAggregateSelectionProof(SignedAggregateSubmitRequest)
returns (SignedAggregateSubmitResponse) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/aggregate"
body : "*"
@@ -250,6 +265,7 @@ service BeaconNodeValidator {
rpc SubmitSignedAggregateSelectionProofElectra(
SignedAggregateSubmitElectraRequest)
returns (SignedAggregateSubmitResponse) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/aggregate_electra"
body : "*"
@@ -261,6 +277,7 @@ service BeaconNodeValidator {
// The beacon node is expected to validate the request and make it available
// for inclusion in the next proposed block.
rpc ProposeExit(SignedVoluntaryExit) returns (ProposeExitResponse) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/exit"
body : "*"
@@ -275,6 +292,7 @@ service BeaconNodeValidator {
// serving aggregator can join the subnet.
rpc SubscribeCommitteeSubnets(CommitteeSubnetsSubscribeRequest)
returns (google.protobuf.Empty) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/subnet/subscribe"
body : "*"
@@ -284,6 +302,7 @@ service BeaconNodeValidator {
// Checks the beacon node if another instance of the provided validator keys
// have been attesting/proposing for you.
rpc CheckDoppelGanger(DoppelGangerRequest) returns (DoppelGangerResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validator/doppelganger"
};
@@ -293,6 +312,7 @@ service BeaconNodeValidator {
// sync committee duty.
rpc GetSyncMessageBlockRoot(google.protobuf.Empty)
returns (SyncMessageBlockRootResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validator/sync_message_block_root"
};
@@ -301,6 +321,7 @@ service BeaconNodeValidator {
// Submits a sync committee message to be broadcasted over network. This is
// part of sync committee duty.
rpc SubmitSyncMessage(SyncCommitteeMessage) returns (google.protobuf.Empty) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/sync_message"
body : "*"
@@ -315,6 +336,7 @@ service BeaconNodeValidator {
// sync committee message.
rpc GetSyncSubcommitteeIndex(SyncSubcommitteeIndexRequest)
returns (SyncSubcommitteeIndexResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/sync_subcommittee_index"
};
@@ -326,6 +348,7 @@ service BeaconNodeValidator {
// to sign over.
rpc GetSyncCommitteeContribution(SyncCommitteeContributionRequest)
returns (SyncCommitteeContribution) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/contribution_and_proof"
body : "*"
@@ -336,6 +359,7 @@ service BeaconNodeValidator {
// node will broadcast the signed contribution and proof object.
rpc SubmitSignedContributionAndProof(SignedContributionAndProof)
returns (google.protobuf.Empty) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/signed_contribution_and_proof"
body : "*"
@@ -347,10 +371,10 @@ service BeaconNodeValidator {
// DEPRECATED: This endpoint is superseded by the /eth/v1/events Beacon API
// endpoint
rpc StreamSlots(StreamSlotsRequest) returns (stream StreamSlotsResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validator/blocks/stream_slots"
};
option deprecated = true;
}
// Server-side stream of all signed blocks as they are received by
@@ -359,14 +383,15 @@ service BeaconNodeValidator {
// endpoint
rpc StreamBlocksAltair(StreamBlocksRequest)
returns (stream StreamBlocksResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validator/blocks/stream"
};
option deprecated = true;
}
rpc SubmitValidatorRegistrations(SignedValidatorRegistrationsV1)
returns (google.protobuf.Empty) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/registration"
body : "*"
@@ -375,6 +400,7 @@ service BeaconNodeValidator {
rpc AssignValidatorToSubnet(AssignValidatorToSubnetRequest)
returns (google.protobuf.Empty) {
option deprecated = true;
option (google.api.http) = {
post : "/eth/v1alpha1/validator/blocks/assign_validator_to_subnet"
body : "*"
@@ -383,6 +409,7 @@ service BeaconNodeValidator {
rpc AggregatedSigAndAggregationBits(AggregatedSigAndAggregationBitsRequest)
returns (AggregatedSigAndAggregationBitsResponse) {
option deprecated = true;
option (google.api.http) = {
get : "/eth/v1alpha1/validator/blocks/aggregated_sig_and_aggregation_bits"
};
@@ -393,6 +420,8 @@ service BeaconNodeValidator {
// to sign over the block root as part of sync committee duty to facilitate
// light client.
message SyncMessageBlockRootResponse {
option deprecated = true;
// The block root of the head block.
bytes root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
}
@@ -400,6 +429,8 @@ message SyncMessageBlockRootResponse {
// SyncSubcommitteeIndexRequest requests sync subcommittee index given the
// validator public key.
message SyncSubcommitteeIndexRequest {
option deprecated = true;
// The validator's public key.
bytes public_key = 1 [ (ethereum.eth.ext.ssz_size) = "48" ];
// The slot of validator's assignment.
@@ -410,6 +441,8 @@ message SyncSubcommitteeIndexRequest {
}
message SyncCommitteeContributionRequest {
option deprecated = true;
// Slot for which the aggregation request applies.
uint64 slot = 1 [
(ethereum.eth.ext.cast_type) =
@@ -427,6 +460,8 @@ message SyncCommitteeContributionRequest {
// SyncSubcommitteeIndexResponse responds index of the sync subcommittee of a
// given validator.
message SyncSubcommitteeIndexResponse {
option deprecated = true;
// The subcommittee index itself.
// If the total validator count is not sufficient, there could be more than
// one index.
@@ -440,6 +475,7 @@ message SyncSubcommitteeIndexResponse {
// Beacon API endpoint
message StreamSlotsResponse {
option deprecated = true;
uint64 slot = 1 [
(ethereum.eth.ext.cast_type) =
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
@@ -450,6 +486,7 @@ message StreamSlotsResponse {
// Beacon API endpoint
message StreamBlocksResponse {
option deprecated = true;
oneof block {
// Representing a phase 0 block.
SignedBeaconBlock phase0_block = 1;
@@ -475,6 +512,8 @@ message StreamBlocksResponse {
}
message DomainRequest {
option deprecated = true;
// The epoch for which the domain is being requested.
uint64 epoch = 1 [
(ethereum.eth.ext.cast_type) =
@@ -486,17 +525,23 @@ message DomainRequest {
}
message DomainResponse {
option deprecated = true;
// The signature domain is a byte array used by validators when
// signing data related to block proposals and attestations.
bytes signature_domain = 1;
}
message ValidatorActivationRequest {
option deprecated = true;
// A list of 48 byte validator public keys.
repeated bytes public_keys = 1 [ (ethereum.eth.ext.ssz_size) = "?,48" ];
}
message ValidatorActivationResponse {
option deprecated = true;
message Status {
// A 48 byte validator public key.
bytes public_key = 1;
@@ -515,6 +560,8 @@ message ValidatorActivationResponse {
}
message ChainStartResponse {
option deprecated = true;
// A boolean specifying whether or not the chain has started.
bool started = 1;
@@ -535,11 +582,15 @@ message SyncedResponse {
}
message ValidatorIndexRequest {
option deprecated = true;
// A 48 byte validator public key.
bytes public_key = 1 [ (ethereum.eth.ext.ssz_size) = "48" ];
}
message ValidatorIndexResponse {
option deprecated = true;
// The validator's index in the beacon chain state's validator registry.
uint64 index = 1 [ (ethereum.eth.ext.cast_type) =
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
@@ -547,6 +598,8 @@ message ValidatorIndexResponse {
}
message ValidatorStatusRequest {
option deprecated = true;
// A 48 byte validator public key.
bytes public_key = 1 [ (ethereum.eth.ext.ssz_size) = "48" ];
}
@@ -564,6 +617,8 @@ enum ValidatorStatus {
}
message ValidatorStatusResponse {
option deprecated = true;
// The corresponding validator status.
ValidatorStatus status = 1;
@@ -590,6 +645,8 @@ message ValidatorStatusResponse {
}
message MultipleValidatorStatusRequest {
option deprecated = true;
// A list of 48 byte validator public keys.
repeated bytes public_keys = 1 [ (ethereum.eth.ext.ssz_size) = "?,48" ];
// A list of validator indices.
@@ -597,6 +654,8 @@ message MultipleValidatorStatusRequest {
}
message MultipleValidatorStatusResponse {
option deprecated = true;
// A list of 48 byte validator public keys.
repeated bytes public_keys = 1 [ (ethereum.eth.ext.ssz_size) = "?,48" ];
// A list of ValidatorStatusResponses mapped 1-to-1 with the public keys.
@@ -609,6 +668,8 @@ message MultipleValidatorStatusResponse {
}
message DutiesRequest {
option deprecated = true;
// Epoch at which validators should perform their duties.
uint64 epoch = 1 [
(ethereum.eth.ext.cast_type) =
@@ -620,6 +681,8 @@ message DutiesRequest {
}
message DutiesResponse {
option deprecated = true;
reserved 1; // Deprecated fields
repeated Duty current_epoch_duties = 2;
@@ -674,6 +737,8 @@ message DutiesResponse {
}
message BlockRequest {
option deprecated = true;
// Slot for which the block should be proposed.
uint64 slot = 1 [
(ethereum.eth.ext.cast_type) =
@@ -696,16 +761,22 @@ message BlockRequest {
}
message ProposeResponse {
option deprecated = true;
// The block root of the successfully proposed beacon block.
bytes block_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
}
message ProposeExitResponse {
option deprecated = true;
// The root of the successfully proposed voluntary exit.
bytes exit_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
}
message AttestationDataRequest {
option deprecated = true;
// Slot for which the attestation should be created.
uint64 slot = 1 [
(ethereum.eth.ext.cast_type) =
@@ -720,11 +791,15 @@ message AttestationDataRequest {
}
message AttestResponse {
option deprecated = true;
// The root of the attestation data successfully submitted to the beacon node.
bytes attestation_data_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
}
message AggregateSelectionRequest {
option deprecated = true;
// Slot for which the aggregation request applies.
uint64 slot = 1 [
(ethereum.eth.ext.cast_type) =
@@ -746,31 +821,43 @@ message AggregateSelectionRequest {
}
message AggregateSelectionResponse {
option deprecated = true;
// The aggregate and proof message without the signature.
AggregateAttestationAndProof aggregate_and_proof = 1;
}
message AggregateSelectionElectraResponse {
option deprecated = true;
// The aggregate and proof message without the signature.
AggregateAttestationAndProofElectra aggregate_and_proof = 1;
}
message SignedAggregateSubmitRequest {
option deprecated = true;
// The signed aggregate and proof message with the signature.
SignedAggregateAttestationAndProof signed_aggregate_and_proof = 1;
}
message SignedAggregateSubmitElectraRequest {
option deprecated = true;
// The signed aggregate and proof message with the signature.
SignedAggregateAttestationAndProofElectra signed_aggregate_and_proof = 1;
}
message SignedAggregateSubmitResponse {
option deprecated = true;
// The 32 byte hash tree root of the aggregated attestation data.
bytes attestation_data_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
}
message CommitteeSubnetsSubscribeRequest {
option deprecated = true;
// A list of intended slots to subscribe.
repeated uint64 slots = 1 [
(ethereum.eth.ext.cast_type) =
@@ -900,6 +987,8 @@ message ValidatorIdentity {
// DoppelGangerRequest represents the request sent by the validator in order to
// determine if there is any duplicate instance of it running in the network.
message DoppelGangerRequest {
option deprecated = true;
repeated ValidatorRequest validator_requests = 1;
// ValidatorRequest data type which represents a request for each validator.
@@ -922,6 +1011,8 @@ message DoppelGangerRequest {
// DoppelGangerResponse is the response payload sent by the beacon node
// after it has checked for all duplicate keys in the network.
message DoppelGangerResponse {
option deprecated = true;
message ValidatorResponse {
// The validator's 48 byte BLS public key.
bytes public_key = 1 [
@@ -939,6 +1030,7 @@ message DoppelGangerResponse {
// /eth/v1/events Beacon API endpoint.
message StreamSlotsRequest {
option deprecated = true;
bool verified_only = 1;
}
@@ -947,10 +1039,13 @@ message StreamSlotsRequest {
// Beacon API endpoint
message StreamBlocksRequest {
option deprecated = true;
bool verified_only = 1;
}
message PrepareBeaconProposerRequest {
option deprecated = true;
message FeeRecipientContainer {
// The address of the fee recipient.
bytes fee_recipient = 1 [ (ethereum.eth.ext.ssz_size) = "20" ];
@@ -965,6 +1060,8 @@ message PrepareBeaconProposerRequest {
}
message FeeRecipientByPubKeyRequest {
option deprecated = true;
bytes public_key = 1 [
(ethereum.eth.ext.ssz_size) = "48",
(ethereum.eth.ext.spec_name) = "pubkey"
@@ -972,10 +1069,14 @@ message FeeRecipientByPubKeyRequest {
}
message FeeRecipientByPubKeyResponse {
option deprecated = true;
bytes fee_recipient = 1 [ (ethereum.eth.ext.ssz_size) = "20" ];
}
message AssignValidatorToSubnetRequest {
option deprecated = true;
bytes public_key = 1 [
(ethereum.eth.ext.ssz_size) = "48",
(ethereum.eth.ext.spec_name) = "pubkey"
@@ -984,6 +1085,8 @@ message AssignValidatorToSubnetRequest {
}
message AggregatedSigAndAggregationBitsRequest {
option deprecated = true;
repeated SyncCommitteeMessage msgs = 1;
uint64 slot = 2 [
(ethereum.eth.ext.cast_type) =
@@ -994,6 +1097,8 @@ message AggregatedSigAndAggregationBitsRequest {
}
message AggregatedSigAndAggregationBitsResponse {
option deprecated = true;
bytes aggregated_sig = 1;
bytes bits = 2;
}