Documentation ¶
Overview ¶
Package testing includes useful mocks for writing unit tests which depend on logic from the blockchain package.
Index ¶
- Variables
- type ChainService
- func (s *ChainService) AttestationTargetState(_ context.Context, _ *ethpb.Checkpoint) (state.BeaconState, error)
- func (s *ChainService) BlockNotifier() blockfeed.Notifier
- func (_ *ChainService) ChainHeads() ([][32]byte, []types.Slot)
- func (s *ChainService) CurrentFork() *ethpb.Fork
- func (s *ChainService) CurrentJustifiedCheckpt() *ethpb.Checkpoint
- func (s *ChainService) CurrentSlot() types.Slot
- func (s *ChainService) FinalizedCheckpt() *ethpb.Checkpoint
- func (s *ChainService) ForkChoicer() forkchoice.ForkChoicer
- func (s *ChainService) GenesisTime() time.Time
- func (s *ChainService) GenesisValidatorsRoot() [32]byte
- func (s *ChainService) HasBlock(ctx context.Context, rt [32]byte) bool
- func (s *ChainService) HeadBlock(context.Context) (interfaces.SignedBeaconBlock, error)
- func (s *ChainService) HeadETH1Data() *ethpb.Eth1Data
- func (_ *ChainService) HeadGenesisValidatorsRoot() [32]byte
- func (_ *ChainService) HeadPublicKeyToValidatorIndex(_ [fieldparams.BLSPubkeyLength]byte) (types.ValidatorIndex, bool)
- func (s *ChainService) HeadRoot(_ context.Context) ([]byte, error)
- func (s *ChainService) HeadSlot() types.Slot
- func (s *ChainService) HeadState(context.Context) (state.BeaconState, error)
- func (s *ChainService) HeadSyncCommitteeDomain(_ context.Context, _ types.Slot) ([]byte, error)
- func (s *ChainService) HeadSyncCommitteeIndices(_ context.Context, _ types.ValidatorIndex, _ types.Slot) ([]types.CommitteeIndex, error)
- func (s *ChainService) HeadSyncCommitteePubKeys(_ context.Context, _ types.Slot, _ types.CommitteeIndex) ([][]byte, error)
- func (s *ChainService) HeadSyncContributionProofDomain(_ context.Context, _ types.Slot) ([]byte, error)
- func (s *ChainService) HeadSyncSelectionProofDomain(_ context.Context, _ types.Slot) ([]byte, error)
- func (s *ChainService) HeadValidatorIndexToPublicKey(_ context.Context, _ types.ValidatorIndex) ([fieldparams.BLSPubkeyLength]byte, error)
- func (s *ChainService) HeadValidatorsIndices(ctx context.Context, epoch types.Epoch) ([]types.ValidatorIndex, error)
- func (s *ChainService) IsCanonical(_ context.Context, r [32]byte) (bool, error)
- func (s *ChainService) IsFinalized(_ context.Context, blockRoot [32]byte) bool
- func (s *ChainService) IsOptimistic(_ context.Context) (bool, error)
- func (s *ChainService) IsOptimisticForRoot(_ context.Context, root [32]byte) (bool, error)
- func (s *ChainService) IsValidAttestation(_ context.Context, _ *ethpb.Attestation) bool
- func (s *ChainService) OperationNotifier() opfeed.Notifier
- func (s *ChainService) Participation(_ uint64) *precompute.Balance
- func (s *ChainService) PreviousJustifiedCheckpt() *ethpb.Checkpoint
- func (_ *ChainService) ReceiveAttestation(_ context.Context, _ *ethpb.Attestation) error
- func (s *ChainService) ReceiveAttesterSlashing(context.Context, *ethpb.AttesterSlashing)
- func (s *ChainService) ReceiveBlock(ctx context.Context, block interfaces.SignedBeaconBlock, _ [32]byte) error
- func (s *ChainService) ReceiveBlockBatch(ctx context.Context, blks []interfaces.SignedBeaconBlock, _ [][32]byte) error
- func (s *ChainService) ReceiveBlockInitialSync(ctx context.Context, block interfaces.SignedBeaconBlock, _ [32]byte) error
- func (s *ChainService) StateNotifier() statefeed.Notifier
- func (s *ChainService) UpdateHead(_ context.Context) error
- func (s *ChainService) VerifyFinalizedBlkDescendant(_ context.Context, _ [32]byte) error
- func (s *ChainService) VerifyFinalizedConsistency(_ context.Context, r []byte) error
- func (_ *ChainService) VerifyLmdFfgConsistency(_ context.Context, a *ethpb.Attestation) error
- type MockBlockNotifier
- type MockOperationNotifier
- type MockStateNotifier
Constants ¶
This section is empty.
Variables ¶
var ErrNilState = errors.New("nil state")
Functions ¶
This section is empty.
Types ¶
type ChainService ¶
type ChainService struct { Optimistic bool ValidAttestation bool ValidatorsRoot [32]byte PublicKey [fieldparams.BLSPubkeyLength]byte FinalizedCheckPoint *ethpb.Checkpoint CurrentJustifiedCheckPoint *ethpb.Checkpoint PreviousJustifiedCheckPoint *ethpb.Checkpoint Slot *types.Slot // Pointer because 0 is a useful value, so checking against it can be incorrect. Balance *precompute.Balance CanonicalRoots map[[32]byte]bool Fork *ethpb.Fork ETH1Data *ethpb.Eth1Data InitSyncBlockRoots map[[32]byte]bool DB db.Database State state.BeaconState Block interfaces.SignedBeaconBlock VerifyBlkDescendantErr error BlocksReceived []interfaces.SignedBeaconBlock SyncCommitteeIndices []types.CommitteeIndex Root []byte SyncCommitteeDomain []byte SyncSelectionProofDomain []byte SyncContributionProofDomain []byte SyncCommitteePubkeys [][]byte Genesis time.Time ForkChoiceStore forkchoice.ForkChoicer ReceiveBlockMockErr error OptimisticCheckRootReceived [32]byte FinalizedRoots map[[32]byte]bool // contains filtered or unexported fields }
ChainService defines the mock interface for testing
func (*ChainService) AttestationTargetState ¶
func (s *ChainService) AttestationTargetState(_ context.Context, _ *ethpb.Checkpoint) (state.BeaconState, error)
AttestationTargetState mocks AttestationTargetState method in chain service.
func (*ChainService) BlockNotifier ¶
func (s *ChainService) BlockNotifier() blockfeed.Notifier
BlockNotifier mocks the same method in the chain service.
func (*ChainService) ChainHeads ¶
func (_ *ChainService) ChainHeads() ([][32]byte, []types.Slot)
ChainHeads mocks ChainHeads and always return nil.
func (*ChainService) CurrentFork ¶
func (s *ChainService) CurrentFork() *ethpb.Fork
CurrentFork mocks HeadState method in chain service.
func (*ChainService) CurrentJustifiedCheckpt ¶
func (s *ChainService) CurrentJustifiedCheckpt() *ethpb.Checkpoint
CurrentJustifiedCheckpt mocks CurrentJustifiedCheckpt method in chain service.
func (*ChainService) CurrentSlot ¶
func (s *ChainService) CurrentSlot() types.Slot
CurrentSlot mocks the same method in the chain service.
func (*ChainService) FinalizedCheckpt ¶
func (s *ChainService) FinalizedCheckpt() *ethpb.Checkpoint
FinalizedCheckpt mocks FinalizedCheckpt method in chain service.
func (*ChainService) ForkChoicer ¶
func (s *ChainService) ForkChoicer() forkchoice.ForkChoicer
ForkChoicer mocks the same method in the chain service
func (*ChainService) GenesisTime ¶
func (s *ChainService) GenesisTime() time.Time
GenesisTime mocks the same method in the chain service.
func (*ChainService) GenesisValidatorsRoot ¶
func (s *ChainService) GenesisValidatorsRoot() [32]byte
GenesisValidatorsRoot mocks the same method in the chain service.
func (*ChainService) HasBlock ¶
func (s *ChainService) HasBlock(ctx context.Context, rt [32]byte) bool
HasBlock mocks the same method in the chain service.
func (*ChainService) HeadBlock ¶
func (s *ChainService) HeadBlock(context.Context) (interfaces.SignedBeaconBlock, error)
HeadBlock mocks HeadBlock method in chain service.
func (*ChainService) HeadETH1Data ¶
func (s *ChainService) HeadETH1Data() *ethpb.Eth1Data
HeadETH1Data provides the current ETH1Data of the head state.
func (*ChainService) HeadGenesisValidatorsRoot ¶
func (_ *ChainService) HeadGenesisValidatorsRoot() [32]byte
HeadGenesisValidatorsRoot mocks HeadGenesisValidatorsRoot method in chain service.
func (*ChainService) HeadPublicKeyToValidatorIndex ¶
func (_ *ChainService) HeadPublicKeyToValidatorIndex(_ [fieldparams.BLSPubkeyLength]byte) (types.ValidatorIndex, bool)
HeadPublicKeyToValidatorIndex mocks HeadPublicKeyToValidatorIndex and always return 0 and true.
func (*ChainService) HeadRoot ¶
func (s *ChainService) HeadRoot(_ context.Context) ([]byte, error)
HeadRoot mocks HeadRoot method in chain service.
func (*ChainService) HeadSlot ¶
func (s *ChainService) HeadSlot() types.Slot
HeadSlot mocks HeadSlot method in chain service.
func (*ChainService) HeadState ¶
func (s *ChainService) HeadState(context.Context) (state.BeaconState, error)
HeadState mocks HeadState method in chain service.
func (*ChainService) HeadSyncCommitteeDomain ¶
HeadSyncCommitteeDomain mocks HeadSyncCommitteeDomain and always return empty nil.
func (*ChainService) HeadSyncCommitteeIndices ¶
func (s *ChainService) HeadSyncCommitteeIndices(_ context.Context, _ types.ValidatorIndex, _ types.Slot) ([]types.CommitteeIndex, error)
HeadSyncCommitteeIndices mocks HeadSyncCommitteeIndices and always return `HeadNextSyncCommitteeIndices`.
func (*ChainService) HeadSyncCommitteePubKeys ¶
func (s *ChainService) HeadSyncCommitteePubKeys(_ context.Context, _ types.Slot, _ types.CommitteeIndex) ([][]byte, error)
HeadSyncCommitteePubKeys mocks HeadSyncCommitteePubKeys and always return empty nil.
func (*ChainService) HeadSyncContributionProofDomain ¶
func (s *ChainService) HeadSyncContributionProofDomain(_ context.Context, _ types.Slot) ([]byte, error)
HeadSyncContributionProofDomain mocks HeadSyncContributionProofDomain and always return empty nil.
func (*ChainService) HeadSyncSelectionProofDomain ¶
func (s *ChainService) HeadSyncSelectionProofDomain(_ context.Context, _ types.Slot) ([]byte, error)
HeadSyncSelectionProofDomain mocks HeadSyncSelectionProofDomain and always return empty nil.
func (*ChainService) HeadValidatorIndexToPublicKey ¶
func (s *ChainService) HeadValidatorIndexToPublicKey(_ context.Context, _ types.ValidatorIndex) ([fieldparams.BLSPubkeyLength]byte, error)
HeadValidatorIndexToPublicKey mocks HeadValidatorIndexToPublicKey and always return empty and nil.
func (*ChainService) HeadValidatorsIndices ¶
func (s *ChainService) HeadValidatorsIndices(ctx context.Context, epoch types.Epoch) ([]types.ValidatorIndex, error)
HeadValidatorsIndices mocks the same method in the chain service.
func (*ChainService) IsCanonical ¶
IsCanonical returns and determines whether a block with the provided root is part of the canonical chain.
func (*ChainService) IsFinalized ¶
func (s *ChainService) IsFinalized(_ context.Context, blockRoot [32]byte) bool
IsFinalized mocks the same method in the chain service.
func (*ChainService) IsOptimistic ¶
func (s *ChainService) IsOptimistic(_ context.Context) (bool, error)
IsOptimistic mocks the same method in the chain service.
func (*ChainService) IsOptimisticForRoot ¶
IsOptimisticForRoot mocks the same method in the chain service.
func (*ChainService) IsValidAttestation ¶
func (s *ChainService) IsValidAttestation(_ context.Context, _ *ethpb.Attestation) bool
IsValidAttestation always returns true.
func (*ChainService) OperationNotifier ¶
func (s *ChainService) OperationNotifier() opfeed.Notifier
OperationNotifier mocks the same method in the chain service.
func (*ChainService) Participation ¶
func (s *ChainService) Participation(_ uint64) *precompute.Balance
Participation mocks the same method in the chain service.
func (*ChainService) PreviousJustifiedCheckpt ¶
func (s *ChainService) PreviousJustifiedCheckpt() *ethpb.Checkpoint
PreviousJustifiedCheckpt mocks PreviousJustifiedCheckpt method in chain service.
func (*ChainService) ReceiveAttestation ¶
func (_ *ChainService) ReceiveAttestation(_ context.Context, _ *ethpb.Attestation) error
ReceiveAttestation mocks ReceiveAttestation method in chain service.
func (*ChainService) ReceiveAttesterSlashing ¶
func (s *ChainService) ReceiveAttesterSlashing(context.Context, *ethpb.AttesterSlashing)
ReceiveAttesterSlashing mocks the same method in the chain service.
func (*ChainService) ReceiveBlock ¶
func (s *ChainService) ReceiveBlock(ctx context.Context, block interfaces.SignedBeaconBlock, _ [32]byte) error
ReceiveBlock mocks ReceiveBlock method in chain service.
func (*ChainService) ReceiveBlockBatch ¶
func (s *ChainService) ReceiveBlockBatch(ctx context.Context, blks []interfaces.SignedBeaconBlock, _ [][32]byte) error
ReceiveBlockBatch processes blocks in batches from initial-sync.
func (*ChainService) ReceiveBlockInitialSync ¶
func (s *ChainService) ReceiveBlockInitialSync(ctx context.Context, block interfaces.SignedBeaconBlock, _ [32]byte) error
ReceiveBlockInitialSync mocks ReceiveBlockInitialSync method in chain service.
func (*ChainService) StateNotifier ¶
func (s *ChainService) StateNotifier() statefeed.Notifier
StateNotifier mocks the same method in the chain service.
func (*ChainService) UpdateHead ¶
func (s *ChainService) UpdateHead(_ context.Context) error
UpdateHead mocks the same method in the chain service.
func (*ChainService) VerifyFinalizedBlkDescendant ¶
func (s *ChainService) VerifyFinalizedBlkDescendant(_ context.Context, _ [32]byte) error
VerifyFinalizedBlkDescendant mocks VerifyBlkDescendant and always returns nil.
func (*ChainService) VerifyFinalizedConsistency ¶
func (s *ChainService) VerifyFinalizedConsistency(_ context.Context, r []byte) error
VerifyFinalizedConsistency mocks VerifyFinalizedConsistency and always returns nil.
func (*ChainService) VerifyLmdFfgConsistency ¶
func (_ *ChainService) VerifyLmdFfgConsistency(_ context.Context, a *ethpb.Attestation) error
VerifyLmdFfgConsistency mocks VerifyLmdFfgConsistency and always returns nil.
type MockBlockNotifier ¶
type MockBlockNotifier struct {
// contains filtered or unexported fields
}
MockBlockNotifier mocks the block notifier.
func (*MockBlockNotifier) BlockFeed ¶
func (mbn *MockBlockNotifier) BlockFeed() *event.Feed
BlockFeed returns a block feed.
type MockOperationNotifier ¶
type MockOperationNotifier struct {
// contains filtered or unexported fields
}
MockOperationNotifier mocks the operation notifier.
func (*MockOperationNotifier) OperationFeed ¶
func (mon *MockOperationNotifier) OperationFeed() *event.Feed
OperationFeed returns an operation feed.
type MockStateNotifier ¶
type MockStateNotifier struct { RecordEvents bool // contains filtered or unexported fields }
MockStateNotifier mocks the state notifier.
func (*MockStateNotifier) ReceivedEvents ¶
func (msn *MockStateNotifier) ReceivedEvents() []*feed.Event
ReceivedEvents returns the events received by the state feed in this mock.
func (*MockStateNotifier) StateFeed ¶
func (msn *MockStateNotifier) StateFeed() *event.Feed
StateFeed returns a state feed.