Documentation ¶
Index ¶
- Variables
- func BallotResult(parentHeader, header RoundHeader, parentShardState *shard.State, ...) (shard.SlotList, shard.SlotList, shard.SlotList, error)
- func BlockSigners(bitmap []byte, parentCommittee *shard.Committee) (shard.SlotList, shard.SlotList, error)
- func ComputeAndMutateEPOSStatus(bc Reader, state ValidatorState, addr common.Address) error
- func ComputeCurrentSigning(snapshot, wrapper *staking.ValidatorWrapper) *staking.Computed
- func IncrementValidatorSigningCounts(bc Reader, staked *shard.StakedSlots, state ValidatorState, ...) error
- func IsBelowSigningThreshold(quotient numeric.Dec) bool
- type Reader
- type RoundHeader
- type ValidatorState
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrDivByZero .. ErrDivByZero = errors.New("toSign of availability cannot be 0, mistake in protocol") )
Functions ¶
func BallotResult ¶
func BallotResult( parentHeader, header RoundHeader, parentShardState *shard.State, shardID uint32, ) (shard.SlotList, shard.SlotList, shard.SlotList, error)
BallotResult returns (parentCommittee.Slots, payable, missings, err)
func BlockSigners ¶
func BlockSigners( bitmap []byte, parentCommittee *shard.Committee, ) (shard.SlotList, shard.SlotList, error)
BlockSigners ..
func ComputeAndMutateEPOSStatus ¶
func ComputeAndMutateEPOSStatus( bc Reader, state ValidatorState, addr common.Address, ) error
ComputeAndMutateEPOSStatus sets the validator to inactive and thereby keeping it out of consideration in the pool of validators for whenever committee selection happens in future, the signing threshold is 66%
func ComputeCurrentSigning ¶
func ComputeCurrentSigning( snapshot, wrapper *staking.ValidatorWrapper, ) *staking.Computed
ComputeCurrentSigning returns (signed, toSign, quotient, error)
func IncrementValidatorSigningCounts ¶
func IncrementValidatorSigningCounts( bc Reader, staked *shard.StakedSlots, state ValidatorState, signers, missing shard.SlotList, ) error
IncrementValidatorSigningCounts ..
func IsBelowSigningThreshold ¶
IsBelowSigningThreshold ..
Types ¶
type Reader ¶
type Reader interface { ReadValidatorSnapshot( addr common.Address, ) (*staking.ValidatorSnapshot, error) }
Reader ..
type RoundHeader ¶
RoundHeader is the interface of block.Header for calculating the BallotResult.
type ValidatorState ¶
type ValidatorState interface { ValidatorWrapper(common.Address) (*staking.ValidatorWrapper, error) UpdateValidatorWrapper(common.Address, *staking.ValidatorWrapper) error }
ValidatorState is the interface of state.DB
Click to show internal directories.
Click to hide internal directories.