Versions in this module Expand all Collapse all v1 v1.2.2 Apr 7, 2024 Changes in this version + func Encode(val interface{}) ([]byte, error) + func GetAggregatedEpochValidatorSetSeal(blockNumber, epoch uint64, seals MessageSet) (types.IstanbulEpochValidatorSetSeal, error) + func GetAggregatedSeal(seals MessageSet, round *big.Int) (types.IstanbulAggregatedSeal, error) + func PrepareCommittedSeal(hash common.Hash, round *big.Int) []byte + func UnionOfSeals(aggregatedSignature types.IstanbulAggregatedSeal, seals MessageSet) (types.IstanbulAggregatedSeal, error) + type CoreBackend interface + Address func() common.Address + AuthorForBlock func(number uint64) common.Address + ChainConfig func() *params.ChainConfig + CheckSignature func(data []byte, addr common.Address, sig []byte) error + Commit func(proposal istanbul.Proposal, aggregatedSeal types.IstanbulAggregatedSeal, ...) error + EventMux func() *event.TypeMux + GetCurrentHeadBlock func() istanbul.Proposal + GetCurrentHeadBlockAndAuthor func() (istanbul.Proposal, common.Address) + Gossip func(payload []byte, ethMsgCode uint64) error + HasBlock func(hash common.Hash, number *big.Int) bool + HashForBlock func(number uint64) common.Hash + IsPrimaryForSeq func(seq *big.Int) bool + LastSubject func() (istanbul.Subject, error) + Multicast func(addresses []common.Address, payload []byte, ethMsgCode uint64, sendToSelf bool) error + NextBlockValidators func(proposal istanbul.Proposal) (istanbul.ValidatorSet, error) + ParentBlockValidators func(proposal istanbul.Proposal) istanbul.ValidatorSet + Sign func([]byte) ([]byte, error) + SignBLS func([]byte, []byte, bool, bool, *big.Int, *big.Int) (blscrypto.SerializedSignature, error) + UpdateReplicaState func(seq *big.Int) + Validators func(proposal istanbul.Proposal) istanbul.ValidatorSet + Verify func(istanbul.Proposal) (*StateProcessResult, time.Duration, error) + type Engine interface + CurrentRoundState func() RoundState + CurrentView func() *istanbul.View + ForceRoundChange func() + ParentCommits func() MessageSet + SetAddress func(common.Address) + Start func() error + Stop func() error + func New(backend CoreBackend, config *istanbul.Config) Engine + type MessageSet interface + Add func(msg *istanbul.Message) error + Addresses func() []common.Address + Get func(addr common.Address) *istanbul.Message + GetAddressIndex func(addr common.Address) (uint64, error) + Remove func(address common.Address) + Serialize func() ([]byte, error) + Size func() int + Values func() (result []*istanbul.Message) + type MsgBacklog interface + type RoundState interface + AddCommit func(msg *istanbul.Message) error + AddParentCommit func(msg *istanbul.Message) error + AddPrepare func(msg *istanbul.Message) error + Commits func() MessageSet + DesiredRound func() *big.Int + GetPrepareOrCommitSize func() int + GetProposalVerificationStatus func(proposalHash common.Hash) (verificationStatus error, isCached bool) + GetStateProcessResult func(proposalHash common.Hash) (result *StateProcessResult) + GetValidatorByAddress func(address common.Address) istanbul.Validator + IsProposer func(address common.Address) bool + ParentCommits func() MessageSet + PendingRequest func() *istanbul.Request + PreparedCertificate func() istanbul.PreparedCertificate + Prepares func() MessageSet + Preprepare func() *istanbul.Preprepare + Proposal func() istanbul.Proposal + Proposer func() istanbul.Validator + Round func() *big.Int + Sequence func() *big.Int + SetPendingRequest func(pendingRequest *istanbul.Request) error + SetProposalVerificationStatus func(proposalHash common.Hash, verificationStatus error) + SetStateProcessResult func(proposalHash common.Hash, blockProcessResult *StateProcessResult) + StartNewRound func(nextRound *big.Int, validatorSet istanbul.ValidatorSet, ...) error + StartNewSequence func(nextSequence *big.Int, validatorSet istanbul.ValidatorSet, ...) error + State func() State + Subject func() *istanbul.Subject + Summary func() *RoundStateSummary + TransitionToCommitted func() error + TransitionToPrepared func(quorumSize int) error + TransitionToPreprepared func(preprepare *istanbul.Preprepare) error + TransitionToWaitingForNewRound func(r *big.Int, nextProposer istanbul.Validator) error + ValidatorSet func() istanbul.ValidatorSet + View func() *istanbul.View + type RoundStateDB interface + Close func() error + GetLastView func() (*istanbul.View, error) + GetOldestValidView func() (*istanbul.View, error) + GetRoundStateFor func(view *istanbul.View) (RoundState, error) + UpdateLastRoundState func(rs RoundState) error + type RoundStateDBOptions struct + type RoundStateSummary struct + Commits []common.Address + DesiredRound *big.Int + ParentCommits []common.Address + PendingRequestHash *common.Hash + PreparedCertificate *istanbul.PreparedCertificateSummary + Prepares []common.Address + Preprepare *istanbul.PreprepareSummary + Proposer common.Address + Round *big.Int + Sequence *big.Int + State string + ValidatorSet []common.Address + type State uint64 + const StateAcceptRequest + const StateCommitted + const StatePrepared + const StatePreprepared + const StateWaitingForNewRound + func (s State) Cmp(y State) int + func (s State) String() string + type StateProcessResult struct + Logs []*types.Log + Receipts types.Receipts + State *state.StateDB + type StopFn func() + func RunTaskRepeateadly(task func(), period time.Duration) StopFn