Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager interface {
// PutValidatorSet puts associaties the given subnet ID with the given validator set
PutValidatorSet(ids.ID, Set)
// RemoveValidatorSet removes the specified validator set
RemoveValidatorSet(ids.ID)
// GetGroup returns:
// 1) the validator set of the subnet with the specified ID
// 2) false if there is no subnet with the specified ID
GetValidatorSet(ids.ID) (Set, bool)
}
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)
// Add the provided validator to the set.
Add(Validator)
// Get the validator from the set.
Get(ids.ShortID) (Validator, bool)
// Remove the validator with the specified ID.
Remove(ids.ShortID)
// 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 ids of validators in this group
List() []Validator
// Sample returns a collection of validator IDs. If there aren't enough
// validators, the length of the returned validators may be less than
// [size]. Otherwise, the length of the returned validators will equal
// [size].
Sample(size int) []Validator
}
Set of validators that can be sampled
type Validator ¶
type Validator interface {
// ID returns the unique id of this validator
ID() ids.ShortID
// Weight that can be used for weighted sampling.
// If this validator is validating the default subnet, returns the amount of $AVA 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.