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
Connector represents a handler that is called when a connection is marked as connected or disconnected
type Manager ¶
type Manager interface {
// 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
}
Manager holds the validator set of each subnet
type Set ¶
type Set interface {
fmt.Stringer
// 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 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.