Documentation ¶
Overview ¶
Package types includes important structs used by end to end tests, such as a configuration type, an evaluator type, and more.
Index ¶
- func GenesisFork() int
- func StartAt(v int, c *params.BeaconChainConfig) *params.BeaconChainConfig
- type BeaconNodeSet
- type ComponentRunner
- type DepositBalancer
- type DepositBatch
- type E2EConfig
- type E2EConfigOpt
- type EmptyComponent
- type EngineProxy
- type EvaluationContext
- type Evaluator
- type MultipleComponentRunners
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenesisFork ¶
func GenesisFork() int
func StartAt ¶
func StartAt(v int, c *params.BeaconChainConfig) *params.BeaconChainConfig
Types ¶
type BeaconNodeSet ¶
type BeaconNodeSet interface { ComponentRunner // SetENR provides the relevant bootnode's enr to the beacon nodes. SetENR(enr string) }
BeaconNodeSet defines an interface for an object that fulfills the duties of a group of beacon nodes.
type ComponentRunner ¶
type ComponentRunner interface { // Start starts a component. Start(ctx context.Context) error // Started checks whether an underlying component is started and ready to be queried. Started() <-chan struct{} // Pause pauses a component. Pause() error // Resume resumes a component. Resume() error // Stop stops a component. Stop() error // UnderlyingProcess is the underlying process, once started. UnderlyingProcess() *os.Process }
ComponentRunner defines an interface via which E2E component's configuration, execution and termination is managed.
type DepositBalancer ¶
type DepositBalancer interface {
Balances(DepositBatch) map[[dilithium2.CryptoPublicKeyBytes]byte]uint64
}
DepositBalancer represents a type that can sum, by validator, all deposits made in E2E prior to the function call.
type DepositBatch ¶
type DepositBatch int
DepositBatch represents a group of deposits that are sent together during an e2e run.
const ( // GenesisDepositBatch deposits are sent to populate the initial set of validators for genesis. GenesisDepositBatch DepositBatch // PostGenesisDepositBatch deposits are sent to test that deposits appear in blocks as expected // and validators become active. PostGenesisDepositBatch )
type E2EConfig ¶
type E2EConfig struct { TestCheckpointSync bool TestSync bool TestFeature bool UsePrysmShValidator bool UsePprof bool UseWeb3RemoteSigner bool TestDeposits bool UseFixedPeerIDs bool UseValidatorCrossClient bool UseBeaconRestApi bool UseBuilder bool EpochsToRun uint64 Seed int64 TracingSinkEndpoint string Evaluators []Evaluator EvalInterceptor func(*EvaluationContext, uint64, []*grpc.ClientConn) bool BeaconFlags []string ValidatorFlags []string PeerIDs []string ExtraEpochs uint64 }
E2EConfig defines the struct for all configurations needed for E2E testing.
type E2EConfigOpt ¶
type E2EConfigOpt func(*E2EConfig)
func WithBuilder ¶
func WithBuilder() E2EConfigOpt
func WithCheckpointSync ¶
func WithCheckpointSync() E2EConfigOpt
func WithEpochs ¶
func WithEpochs(e uint64) E2EConfigOpt
func WithRemoteSigner ¶
func WithRemoteSigner() E2EConfigOpt
func WithValidatorCrossClient ¶
func WithValidatorCrossClient() E2EConfigOpt
func WithValidatorRESTApi ¶
func WithValidatorRESTApi() E2EConfigOpt
type EmptyComponent ¶
EmptyComponent satisfies the component interface. It can be embedded in other types in order to turn them into components.
func (*EmptyComponent) Pause ¶
func (*EmptyComponent) Pause() error
func (*EmptyComponent) Resume ¶
func (*EmptyComponent) Resume() error
func (*EmptyComponent) Started ¶
func (c *EmptyComponent) Started() <-chan struct{}
func (*EmptyComponent) Stop ¶
func (*EmptyComponent) Stop() error
type EngineProxy ¶
type EngineProxy interface { ComponentRunner // AddRequestInterceptor adds in a json-rpc request interceptor. AddRequestInterceptor(rpcMethodName string, responseGen func() interface{}, trigger func() bool) // RemoveRequestInterceptor removes the request interceptor for the provided method. RemoveRequestInterceptor(rpcMethodName string) // ReleaseBackedUpRequests releases backed up http requests. ReleaseBackedUpRequests(rpcMethodName string) }
type EvaluationContext ¶
type EvaluationContext struct { DepositBalancer ExitedVals map[[dilithium2.CryptoPublicKeyBytes]byte]bool SeenVotes map[primitives.Slot][]byte ExpectedEth1DataVote []byte }
EvaluationContext allows for additional data to be provided to evaluators that need extra state.
func NewEvaluationContext ¶
func NewEvaluationContext(d DepositBalancer) *EvaluationContext
NewEvaluationContext handles initializing internal datastructures (like maps) provided by the EvaluationContext.
type Evaluator ¶
type Evaluator struct { Name string Policy func(currentEpoch primitives.Epoch) bool // Evaluation accepts one or many/all conns, depending on what is needed by the set of evaluators. Evaluation func(ec *EvaluationContext, conn ...*grpc.ClientConn) error }
Evaluator defines the structure of the evaluators used to conduct the current beacon state during the E2E.
type MultipleComponentRunners ¶
type MultipleComponentRunners interface { ComponentRunner // ComponentAtIndex returns the component at index ComponentAtIndex(i int) (ComponentRunner, error) // PauseAtIndex pauses the grouped component element at the desired index. PauseAtIndex(i int) error // ResumeAtIndex resumes the grouped component element at the desired index. ResumeAtIndex(i int) error // StopAtIndex stops the grouped component element at the desired index. StopAtIndex(i int) error }