Versions in this module Expand all Collapse all v0 v0.1.1 Jan 30, 2024 Changes in this version + func SetMeasurementTime(prefix string, startTime time.Time) + type Backend interface + BuildProposal func(view *proto.View) []byte + ID func() []byte + InsertProposal func(proposal *proto.Proposal, committedSeals []*messages.CommittedSeal) + type Logger interface + Debug func(msg string, args ...any) + Error func(msg string, args ...any) + Info func(msg string, args ...any) + type METABFT struct + func NewMETABFT(log Logger, backend Backend, transport Transport) *METABFT + func (i *METABFT) AddMessage(message *proto.Message) + func (i *METABFT) ExtendRoundTimeout(amount time.Duration) + func (i *METABFT) RunSequence(ctx context.Context, h uint64) + type MessageConstructor interface + BuildCommitMessage func(proposalHash []byte, view *proto.View) *proto.Message + BuildPrePrepareMessage func(rawProposal []byte, certificate *proto.RoundChangeCertificate, ...) *proto.Message + BuildPrepareMessage func(proposalHash []byte, view *proto.View) *proto.Message + BuildRoundChangeMessage func(proposal *proto.Proposal, certificate *proto.PreparedCertificate, ...) *proto.Message + type Messages interface + AddMessage func(message *proto.Message) + GetExtendedRCC func(height uint64, isValidMessage func(message *proto.Message) bool, ...) []*proto.Message + GetMostRoundChangeMessages func(minRound, height uint64) []*proto.Message + GetValidMessages func(view *proto.View, messageType proto.MessageType, ...) []*proto.Message + PruneByHeight func(height uint64) + SignalEvent func(messageType proto.MessageType, view *proto.View) + Subscribe func(details messages.SubscriptionDetails) *messages.Subscription + Unsubscribe func(id messages.SubscriptionID) + type Transport interface + Multicast func(message *proto.Message) + type ValidatorBackend interface + GetVotingPowers func(height uint64) (map[string]*big.Int, error) + type ValidatorManager struct + func NewValidatorManager(backend ValidatorBackend, log Logger) *ValidatorManager + func (vm *ValidatorManager) HasPrepareQuorum(stateName stateType, proposalMessage *proto.Message, msgs []*proto.Message) bool + func (vm *ValidatorManager) HasQuorum(sendersAddrs map[string]struct{}) bool + func (vm *ValidatorManager) Init(height uint64) error + type Verifier interface + IsProposer func(id []byte, height, round uint64) bool + IsValidCommittedSeal func(proposalHash []byte, committedSeal *messages.CommittedSeal) bool + IsValidProposal func(rawProposal []byte) bool + IsValidProposalHash func(proposal *proto.Proposal, hash []byte) bool + IsValidValidator func(msg *proto.Message) bool