Versions in this module Expand all Collapse all v1 v1.0.1 Apr 21, 2023 Changes in this version + const DefaultEpochSize + const IbftKeyName + const KeyEpochSize + var ErrHeaderNotFound = errors.New("header not found") + var ErrInvalidHookParam = errors.New("invalid IBFT hook param passed in") + var ErrInvalidMixHash = errors.New("invalid mixhash") + var ErrInvalidSha3Uncles = errors.New("invalid sha3 uncles") + var ErrParentCommittedSealsNotFound = errors.New("parent committed seals not found") + var ErrProposerSealByNonValidator = errors.New("proposer seal by non-validator") + var ErrVotingNotSupported = errors.New("voting is not supported") + var ErrWrongDifficulty = errors.New("wrong difficulty") + func CalcMaxFaultyNodes(s validators.Validators) int + func CalcProposer(validators validators.Validators, round uint64, lastProposer types.Address) validators.Validator + func Factory(params *consensus.Params) (consensus.Consensus, error) + func LegacyQuorumSize(set validators.Validators) int + func OptimalQuorumSize(set validators.Validators) int + type IBFTConsensus struct + type QuorumImplementation func(validators.Validators) int + type Votable interface + Candidates func() []*store.Candidate + Propose func(validators.Validator, bool, types.Address) error + Votes func(uint64) ([]*store.Vote, error)