effective

package
v1.3.7 Latest Latest
Warning

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

Go to latest
Published: Apr 6, 2020 License: MIT Imports: 8 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// Unknown ..
	Unknown Candidacy = iota
	// ForeverBanned ..
	ForeverBanned
	// Candidate ..
	Candidate = iota
	// NotCandidate ..
	NotCandidate
	// Elected ..
	Elected
)

Variables

This section is empty.

Functions

func Median added in v1.3.3

func Median(stakes []SlotPurchase) numeric.Dec

Median ..

Types

type BootedStatus added in v1.3.7

type BootedStatus byte

BootedStatus ..

const (
	// NotBooted ..
	NotBooted BootedStatus = iota
	// LostEPoSAuction ..
	LostEPoSAuction
	// InsufficientUptimeDuringEpoch ..
	InsufficientUptimeDuringEpoch
	// BannedForDoubleSigning ..
	BannedForDoubleSigning
)

func (BootedStatus) String added in v1.3.7

func (r BootedStatus) String() string

type Candidacy added in v1.3.5

type Candidacy byte

Candidacy is a more semantically meaningful value that is derived from core protocol logic but meant more for the presentation of user, like at RPC

func ValidatorStatus added in v1.3.5

func ValidatorStatus(currentlyInCommittee bool, status Eligibility) Candidacy

ValidatorStatus ..

func (Candidacy) String added in v1.3.5

func (c Candidacy) String() string

type Eligibility added in v1.3.4

type Eligibility byte

Eligibility represents ability to participate in EPoS auction that occurs just once an epoch on beaconchain

const (
	// Nil is a default state that represents a no-op
	Nil Eligibility = iota
	// Active means allowed in epos auction
	Active
	// Inactive means validator did not sign enough over 66%
	// of the time in an epoch and so they are removed from
	// the possibility of being in the epos auction, which happens
	// only once an epoch and only
	// by beaconchain, aka shard.BeaconChainShardID
	Inactive
	// Banned records whether this validator is banned
	// from the network because they double-signed
	// it can never be undone
	Banned
)

type SlotOrder

type SlotOrder struct {
	Stake       *big.Int             `json:"stake"`
	SpreadAmong []shard.BLSPublicKey `json:"keys-at-auction"`
	Percentage  numeric.Dec          `json:"percentage-of-total-auction-stake"`
}

SlotOrder ..

type SlotPurchase

type SlotPurchase struct {
	Addr  common.Address     `json:"slot-owner"`
	Key   shard.BLSPublicKey `json:"bls-public-key"`
	Stake numeric.Dec        `json:"eposed-stake"`
}

SlotPurchase ..

func Apply

func Apply(shortHand map[common.Address]*SlotOrder, pull int) (
	numeric.Dec, []SlotPurchase,
)

Apply ..

func Compute added in v1.3.3

func Compute(
	shortHand map[common.Address]*SlotOrder, pull int,
) (numeric.Dec, []SlotPurchase)

Compute ..

func (SlotPurchase) MarshalJSON added in v1.3.5

func (p SlotPurchase) MarshalJSON() ([]byte, error)

MarshalJSON ..

Jump to

Keyboard shortcuts

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