Versions in this module Expand all Collapse all v22 v22.4.2 Apr 28, 2022 Changes in this version + var DefaultConfig = &Config + var ErrStartedEngine = errors.New("started engine") + var ErrStoppedEngine = errors.New("stopped engine") + var ErrUnauthorizedAddress = errors.New("unauthorized address") + func CheckValidatorSignature(valSet ValidatorSet, data []byte, sig []byte) (common.Address, error) + func GetSignatureAddress(data []byte, sig []byte) (common.Address, error) + func GetSignatureAddressNoHashing(data []byte, sig []byte) (common.Address, error) + func RLPHash(v interface{}) (h common.Hash) + type Backend interface + Address func() common.Address + Broadcast func(valSet ValidatorSet, code uint64, payload []byte) error + CheckSignature func(data []byte, addr common.Address, sig []byte) error + Close func() error + Commit func(proposal Proposal, seals [][]byte, round *big.Int) error + EventMux func() *event.TypeMux + GetProposer func(number uint64) common.Address + Gossip func(valSet ValidatorSet, code uint64, payload []byte) error + HasBadProposal func(hash common.Hash) bool + HasPropsal func(hash common.Hash, number *big.Int) bool + IsQBFTConsensusAt func(*big.Int) bool + LastProposal func() (Proposal, common.Address) + ParentValidators func(proposal Proposal) ValidatorSet + Sign func([]byte) ([]byte, error) + SignWithoutHashing func([]byte) ([]byte, error) + StartQBFTConsensus func() error + Validators func(proposal Proposal) ValidatorSet + Verify func(Proposal) (time.Duration, error) + type Config struct + AllowedFutureBlockTime uint64 + BlockPeriod uint64 + Ceil2Nby3Block *big.Int + Epoch uint64 + ProposerPolicy *ProposerPolicy + RequestTimeout uint64 + TestQBFTBlock *big.Int + Transitions []params.Transition + func (c *Config) IsQBFTConsensusAt(blockNumber *big.Int) bool + func (c Config) GetConfig(blockNumber *big.Int) Config + func (c Config) QBFTBlockNumber() int64 + type Core interface + IsCurrentProposal func(blockHash common.Hash) bool + IsProposer func() bool + Start func() error + Stop func() error + type Engine interface + Address func() common.Address + Author func(header *types.Header) (common.Address, error) + CalcDifficulty func(chain consensus.ChainHeaderReader, time uint64, parent *types.Header) *big.Int + CommitHeader func(header *types.Header, seals [][]byte, round *big.Int) error + Finalize func(chain consensus.ChainHeaderReader, header *types.Header, state *state.StateDB, ...) + FinalizeAndAssemble func(chain consensus.ChainHeaderReader, header *types.Header, state *state.StateDB, ...) (*types.Block, error) + Prepare func(chain consensus.ChainHeaderReader, header *types.Header, ...) error + ReadVote func(header *types.Header) (candidate common.Address, authorize bool, err error) + Seal func(chain consensus.ChainHeaderReader, block *types.Block, validators ValidatorSet) (*types.Block, error) + SealHash func(header *types.Header) common.Hash + Signers func(header *types.Header) ([]common.Address, error) + Validators func(header *types.Header) ([]common.Address, error) + VerifyBlockProposal func(chain consensus.ChainHeaderReader, block *types.Block, validators ValidatorSet) (time.Duration, error) + VerifyHeader func(chain consensus.ChainHeaderReader, header *types.Header, ...) error + VerifySeal func(chain consensus.ChainHeaderReader, header *types.Header, ...) error + VerifyUncles func(chain consensus.ChainReader, block *types.Block) error + WriteVote func(header *types.Header, candidate common.Address, authorize bool) error + type FinalCommittedEvent struct + type MessageEvent struct + Code uint64 + Payload []byte + type Preprepare struct + Proposal Proposal + View *View + func (b *Preprepare) DecodeRLP(s *rlp.Stream) error + func (b *Preprepare) EncodeRLP(w io.Writer) error + type Proposal interface + DecodeRLP func(s *rlp.Stream) error + EncodeRLP func(w io.Writer) error + Hash func() common.Hash + Number func() *big.Int + String func() string + type ProposalSelector func(ValidatorSet, common.Address, uint64) Validator + type ProposerPolicy struct + By ValidatorSortByFunc + Id ProposerPolicyId + func NewProposerPolicy(id ProposerPolicyId) *ProposerPolicy + func NewProposerPolicyByIdAndSortFunc(id ProposerPolicyId, by ValidatorSortByFunc) *ProposerPolicy + func NewRoundRobinProposerPolicy() *ProposerPolicy + func NewStickyProposerPolicy() *ProposerPolicy + func (p *ProposerPolicy) ClearRegistry() + func (p *ProposerPolicy) MarshalTOML() (interface{}, error) + func (p *ProposerPolicy) RegisterValidatorSet(valSet ValidatorSet) + func (p *ProposerPolicy) UnmarshalTOML(decode func(interface{}) error) error + func (p *ProposerPolicy) Use(v ValidatorSortByFunc) + type ProposerPolicyId uint64 + const RoundRobin + const Sticky + type Request struct + Proposal Proposal + type RequestEvent struct + Proposal Proposal + type Subject struct + Digest common.Hash + View *View + func (b *Subject) DecodeRLP(s *rlp.Stream) error + func (b *Subject) EncodeRLP(w io.Writer) error + func (b *Subject) String() string + type Validator interface + Address func() common.Address + String func() string + type ValidatorSet interface + AddValidator func(address common.Address) bool + CalcProposer func(lastProposer common.Address, round uint64) + Copy func() ValidatorSet + F func() int + GetByAddress func(addr common.Address) (int, Validator) + GetByIndex func(i uint64) Validator + GetProposer func() Validator + IsProposer func(address common.Address) bool + List func() []Validator + Policy func() ProposerPolicy + RemoveValidator func(address common.Address) bool + Size func() int + SortValidators func() + type ValidatorSortByFunc func(v1 Validator, v2 Validator) bool + func ValidatorSortByByte() ValidatorSortByFunc + func ValidatorSortByString() ValidatorSortByFunc + func (by ValidatorSortByFunc) Sort(validators []Validator) + type Validators []Validator + type View struct + Round *big.Int + Sequence *big.Int + func (v *View) Cmp(y *View) int + func (v *View) DecodeRLP(s *rlp.Stream) error + func (v *View) EncodeRLP(w io.Writer) error + func (v *View) String() string Other modules containing this package github.com/baptiste-b-pegasys/quorum