core

package
v4.0.0-...-ae7b6de Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 8, 2023 License: GPL-3.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Internal = iota
	Unavailable
	BadRequest
)

Variables

This section is empty.

Functions

func AssignValidatorToSubnet

func AssignValidatorToSubnet(pubkey []byte, status validator.Status)

AssignValidatorToSubnet checks the status and pubkey of a particular validator to discern whether persistent subnets need to be registered for them.

func AssignValidatorToSubnetProto

func AssignValidatorToSubnetProto(pubkey []byte, status ethpb.ValidatorStatus)

AssignValidatorToSubnetProto checks the status and pubkey of a particular validator to discern whether persistent subnets need to be registered for them.

It has a Proto suffix because the status is a protobuf type.

func ErrorReasonToGRPC

func ErrorReasonToGRPC(reason ErrorReason) codes.Code

func ErrorReasonToHTTP

func ErrorReasonToHTTP(reason ErrorReason) int

func RegisterSyncSubnetCurrentPeriod

func RegisterSyncSubnetCurrentPeriod(s beaconState.BeaconState, epoch primitives.Epoch, pubKey []byte, status validator.Status) error

RegisterSyncSubnetCurrentPeriod registers a persistent subnet for the current sync committee period.

func RegisterSyncSubnetCurrentPeriodProto

func RegisterSyncSubnetCurrentPeriodProto(s beaconState.BeaconState, epoch primitives.Epoch, pubKey []byte, status ethpb.ValidatorStatus) error

RegisterSyncSubnetCurrentPeriodProto registers a persistent subnet for the current sync committee period.

func RegisterSyncSubnetNextPeriod

func RegisterSyncSubnetNextPeriod(s beaconState.BeaconState, epoch primitives.Epoch, pubKey []byte, status validator.Status) error

RegisterSyncSubnetNextPeriod registers a persistent subnet for the next sync committee period.

func RegisterSyncSubnetNextPeriodProto

func RegisterSyncSubnetNextPeriodProto(s beaconState.BeaconState, epoch primitives.Epoch, pubKey []byte, status ethpb.ValidatorStatus) error

RegisterSyncSubnetNextPeriodProto registers a persistent subnet for the next sync committee period.

Types

type AggregateBroadcastFailedError

type AggregateBroadcastFailedError struct {
	// contains filtered or unexported fields
}

AggregateBroadcastFailedError represents an error scenario where broadcasting an aggregate selection proof failed.

func NewAggregateBroadcastFailedError

func NewAggregateBroadcastFailedError(err error) AggregateBroadcastFailedError

NewAggregateBroadcastFailedError creates a new error instance.

func (*AggregateBroadcastFailedError) Error

Error returns the underlying error message.

type ErrorReason

type ErrorReason uint8

type RpcError

type RpcError struct {
	Err    error
	Reason ErrorReason
}

type Service

type Service struct {
	HeadFetcher        blockchain.HeadFetcher
	GenesisTimeFetcher blockchain.TimeFetcher
	SyncChecker        sync.Checker
	Broadcaster        p2p.Broadcaster
	SyncCommitteePool  synccommittee.Pool
	OperationNotifier  opfeed.Notifier
	AttestationCache   *cache.AttestationCache
	StateGen           stategen.StateManager
	P2P                p2p.Broadcaster
}

func (*Service) AggregatedSigAndAggregationBits

func (s *Service) AggregatedSigAndAggregationBits(
	ctx context.Context,
	req *ethpb.AggregatedSigAndAggregationBitsRequest) ([]byte, []byte, error)

AggregatedSigAndAggregationBits returns the aggregated signature and aggregation bits associated with a particular set of sync committee messages.

func (*Service) ComputeValidatorPerformance

func (s *Service) ComputeValidatorPerformance(
	ctx context.Context,
	req *ethpb.ValidatorPerformanceRequest,
) (*ethpb.ValidatorPerformanceResponse, *RpcError)

ComputeValidatorPerformance reports the validator's latest balance along with other important metrics on rewards and penalties throughout its lifecycle in the beacon chain.

func (*Service) GetAttestationData

func (s *Service) GetAttestationData(
	ctx context.Context, req *ethpb.AttestationDataRequest,
) (*ethpb.AttestationData, *RpcError)

GetAttestationData requests that the beacon node produces attestation data for the requested committee index and slot based on the nodes current head.

func (*Service) SubmitSignedAggregateSelectionProof

func (s *Service) SubmitSignedAggregateSelectionProof(
	ctx context.Context,
	req *ethpb.SignedAggregateSubmitRequest,
) *RpcError

SubmitSignedAggregateSelectionProof verifies given aggregate and proofs and publishes them on appropriate gossipsub topic.

func (*Service) SubmitSignedContributionAndProof

func (s *Service) SubmitSignedContributionAndProof(
	ctx context.Context,
	req *ethpb.SignedContributionAndProof,
) *RpcError

SubmitSignedContributionAndProof is called by a sync committee aggregator to submit signed contribution and proof object.

func (*Service) SubmitSyncMessage

func (s *Service) SubmitSyncMessage(ctx context.Context, msg *ethpb.SyncCommitteeMessage) *RpcError

SubmitSyncMessage submits the sync committee message to the network. It also saves the sync committee message into the pending pool for block inclusion.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL