Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Decider ¶
type Decider interface {
fmt.Stringer
SignatureReader
DependencyInjectionWriter
SetVoters(subCommittee *shard.Committee, epoch *big.Int) (*TallyResult, error)
Policy() Policy
AddNewVote(
p Phase, pubkeys []*bls_cosi.PublicKeyWrapper,
sig *bls_core.Sign, headerHash common.Hash,
height, viewID uint64,
) (*votepower.Ballot, error)
IsQuorumAchieved(Phase) bool
IsQuorumAchievedByMask(mask *bls_cosi.Mask) bool
QuorumThreshold() numeric.Dec
AmIMemberOfCommitee() bool
IsAllSigsCollected() bool
ResetPrepareAndCommitVotes()
ResetViewChangeVotes()
}
Decider ..
type DependencyInjectionReader ¶ added in v1.3.0
type DependencyInjectionReader interface {
MyPublicKey() func() (multibls.PublicKeys, error)
}
DependencyInjectionReader ..
type DependencyInjectionWriter ¶ added in v1.3.0
type DependencyInjectionWriter interface {
SetMyPublicKeyProvider(func() (multibls.PublicKeys, error))
}
DependencyInjectionWriter ..
type ParticipantTracker ¶
type ParticipantTracker interface {
Participants() multibls.PublicKeys
IndexOf(bls.SerializedPublicKey) int
ParticipantsCount() int64
NthNext(*bls.PublicKeyWrapper, int) (bool, *bls.PublicKeyWrapper)
NthNextHmy(shardingconfig.Instance, *bls.PublicKeyWrapper, int) (bool, *bls.PublicKeyWrapper)
UpdateParticipants(pubKeys []bls.PublicKeyWrapper)
}
ParticipantTracker ..
type Registry ¶ added in v1.3.2
type Registry struct {
Deciders map[string]Decider `json:"quorum-deciders"`
ExternalCount int `json:"external-slot-count"`
MedianStake numeric.Dec `json:"epos-median-stake"`
}
Registry ..
type SignatoryTracker ¶
type SignatoryTracker interface {
ParticipantTracker
// Caller assumes concurrency protection
SignersCount(Phase) int64
// contains filtered or unexported methods
}
SignatoryTracker ..
type SignatureReader ¶
type SignatureReader interface {
SignatoryTracker
ReadAllBallots(Phase) []*votepower.Ballot
ReadBallot(p Phase, pubkey bls.SerializedPublicKey) *votepower.Ballot
TwoThirdsSignersCount() int64
// 96 bytes aggregated signature
AggregateVotes(p Phase) *bls_core.Sign
}
SignatureReader ..
type TallyResult ¶ added in v1.3.0
type TallyResult struct {
// contains filtered or unexported fields
}
TallyResult is the result of when we calculate voting power, recall that it happens to us at epoch change
type Transition ¶ added in v1.3.2
Transition ..
Click to show internal directories.
Click to hide internal directories.