availability

package
v1.10.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 29, 2021 License: MIT Imports: 9 Imported by: 0

Documentation

Index

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 added in v1.3.6

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 added in v1.3.4

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 added in v1.3.4

func IsBelowSigningThreshold(quotient numeric.Dec) bool

IsBelowSigningThreshold ..

Types

type Reader added in v1.3.3

type Reader interface {
	ReadValidatorSnapshot(
		addr common.Address,
	) (*staking.ValidatorSnapshot, error)
}

Reader ..

type RoundHeader added in v1.3.8

type RoundHeader interface {
	Number() *big.Int
	ShardID() uint32
	LastCommitBitmap() []byte
}

RoundHeader is the interface of block.Header for calculating the BallotResult.

type ValidatorState added in v1.3.8

type ValidatorState interface {
	ValidatorWrapper(common.Address) (*staking.ValidatorWrapper, error)
	UpdateValidatorWrapper(common.Address, *staking.ValidatorWrapper) error
}

ValidatorState is the interface of state.DB

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL