Documentation ¶
Index ¶
Constants ¶
const NewBlockProtocol = "newBlock"
NewBlockProtocol is the protocol indicator for gossip blocks.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BlockEligibilityValidator ¶
type BlockEligibilityValidator struct {
// contains filtered or unexported fields
}
BlockEligibilityValidator holds all the dependencies for validating block eligibility.
func NewBlockEligibilityValidator ¶
func NewBlockEligibilityValidator( committeeSize uint32, layersPerEpoch uint32, activationDb activationDB, beacons beaconCollector, validateVRF VRFValidationFunction, blockDB blockDB, log log.Log) *BlockEligibilityValidator
NewBlockEligibilityValidator returns a new BlockEligibilityValidator.
func (BlockEligibilityValidator) BlockSignedAndEligible ¶
func (v BlockEligibilityValidator) BlockSignedAndEligible(block *types.Block) (bool, error)
BlockSignedAndEligible checks that a given block is signed and eligible. It returns true with no error or false and an error that explains why validation failed.
type BlockHandler ¶
type BlockHandler struct {
// contains filtered or unexported fields
}
BlockHandler is the struct responsible for storing meta data needed to process blocks from gossip.
func NewBlockHandler ¶
func NewBlockHandler(fetcher system.Fetcher, m mesh, v blockValidator, opts ...Opt) *BlockHandler
NewBlockHandler creates new BlockHandler.
func (*BlockHandler) HandleBlock ¶
func (bh *BlockHandler) HandleBlock(ctx context.Context, _ peer.ID, msg []byte) pubsub.ValidationResult
HandleBlock handles blocks from gossip.
func (*BlockHandler) HandleBlockData ¶
func (bh *BlockHandler) HandleBlockData(ctx context.Context, data []byte) error
HandleBlockData handles blocks from gossip and sync.
type Config ¶
type Config struct {
MaxExceptions int
}
Config defines configuration for block handler.
type Opt ¶ added in v1.0.0
type Opt func(b *BlockHandler)
Opt for configuring BlockHandler.
func WithLogger ¶ added in v1.0.0
WithLogger defines logger for BlockHandler.
func WithMaxExceptions ¶
WithMaxExceptions defines max allowed exceptions in a block.
type VRFValidationFunction ¶
VRFValidationFunction is the VRF validation function.