Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Connector ¶ added in v0.8.0
type Connector interface {
Connected(id ids.ShortID, nodeVersion version.Application) error
Disconnected(id ids.ShortID) error
}
Connector represents a handler that is called when a connection is marked as connected or disconnected
type Manager ¶
type Manager interface {
fmt.Stringer
// Set a subnet's validator set
Set(ids.ID, Set) error
// AddWeight adds weight to a given validator on the given subnet
AddWeight(ids.ID, ids.ShortID, uint64) error
// RemoveWeight removes weight from a given validator on a given subnet
RemoveWeight(ids.ID, ids.ShortID, uint64) error
// GetValidators returns the validator set for the given subnet
// Returns false if the subnet doesn't exist
GetValidators(ids.ID) (Set, bool)
// MaskValidator hides the named validator from future samplings
MaskValidator(ids.ShortID) error
// RevealValidator ensures the named validator is not hidden from future
// samplings
RevealValidator(ids.ShortID) error
// Contains returns true if there is a validator with the specified ID
// currently in the set.
Contains(ids.ID, ids.ShortID) bool
}
Manager holds the validator set of each subnet
type Set ¶
type Set interface {
fmt.Stringer
PrefixedString(string) string
// Set removes all the current validators and adds all the provided
// validators to the set.
Set([]Validator) error
// AddWeight to a staker.
AddWeight(ids.ShortID, uint64) error
// GetWeight retrieves the validator weight from the set.
GetWeight(ids.ShortID) (uint64, bool)
// SubsetWeight returns the sum of the weights of the validators.
SubsetWeight(ids.ShortSet) (uint64, error)
// RemoveWeight from a staker.
RemoveWeight(ids.ShortID, uint64) error
// Contains returns true if there is a validator with the specified ID
// currently in the set.
Contains(ids.ShortID) bool
// Len returns the number of validators currently in the set.
Len() int
// List all the validators in this group
List() []Validator
// Weight returns the cumulative weight of all validators in the set.
Weight() uint64
// Sample returns a collection of validators, potentially with duplicates.
// If sampling the requested size isn't possible, an error will be returned.
Sample(size int) ([]Validator, error)
// MaskValidator hides the named validator from future samplings
MaskValidator(ids.ShortID) error
// RevealValidator ensures the named validator is not hidden from future
// samplings
RevealValidator(ids.ShortID) error
}
Set of validators that can be sampled
func NewBestSet ¶ added in v0.8.0
NewBestSet returns a new, empty set of validators.
type State ¶ added in v1.6.0
type State interface {
// GetMinimumHeight returns the minimum height of the block still in the
// proposal window.
GetMinimumHeight() (uint64, error)
// GetCurrentHeight returns the current height of the P-chain.
GetCurrentHeight() (uint64, error)
// GetValidatorSet returns the weights of the nodeIDs for the provided
// subnet at the requested P-chain height.
// The returned map should not be modified.
GetValidatorSet(height uint64, subnetID ids.ID) (map[ids.ShortID]uint64, error)
}
State allows the lookup of validator sets on specified subnets at the requested P-chain height.
func NewNoState ¶ added in v1.6.3
func NewNoState() State
type TestState ¶ added in v1.6.0
type TestState struct {
T *testing.T
CantGetMinimumHeight,
CantGetCurrentHeight,
CantGetValidatorSet bool
GetMinimumHeightF func() (uint64, error)
GetCurrentHeightF func() (uint64, error)
GetValidatorSetF func(height uint64, subnetID ids.ID) (map[ids.ShortID]uint64, error)
}
func (*TestState) GetCurrentHeight ¶ added in v1.6.0
func (*TestState) GetMinimumHeight ¶ added in v1.7.10
type Validator ¶
type Validator interface {
// ID returns the node ID of this validator
ID() ids.ShortID
// Weight that can be used for weighted sampling. If this validator is
// validating the primary network, returns the amount of AVAX staked.
Weight() uint64
}
Validator is the minimal description of someone that can be sampled.
func GenerateRandomValidator ¶
GenerateRandomValidator creates a random validator with the provided weight
Click to show internal directories.
Click to hide internal directories.