Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Connector ¶
type Connector interface { Connected(id ids.NodeID, nodeVersion version.Application) error Disconnected(id ids.NodeID) 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 allychain's validator set Set(ids.ID, Set) error // AddWeight adds weight to a given validator on the given allychain AddWeight(ids.ID, ids.NodeID, uint64) error // RemoveWeight removes weight from a given validator on a given allychain RemoveWeight(ids.ID, ids.NodeID, uint64) error // GetValidators returns the validator set for the given allychain // Returns false if the allychain doesn't exist GetValidators(ids.ID) (Set, bool) // MaskValidator hides the named validator from future samplings MaskValidator(ids.NodeID) error // RevealValidator ensures the named validator is not hidden from future // samplings RevealValidator(ids.NodeID) error // Contains returns true if there is a validator with the specified ID // currently in the set. Contains(ids.ID, ids.NodeID) bool }
Manager holds the validator set of each allychain
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.NodeID, uint64) error // GetWeight retrieves the validator weight from the set. GetWeight(ids.NodeID) (uint64, bool) // SubsetWeight returns the sum of the weights of the validators. SubsetWeight(ids.NodeIDSet) (uint64, error) // RemoveWeight from a staker. RemoveWeight(ids.NodeID, uint64) error // Contains returns true if there is a validator with the specified ID // currently in the set. Contains(ids.NodeID) 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.NodeID) error // When a validator's weight changes, or a validator is added/removed, // this listener is called. RegisterCallbackListener(SetCallbackListener) RevealValidator(ids.NodeID) error }
Set of validators that can be sampled
func NewBestSet ¶
NewBestSet returns a new, empty set of validators.
type SetCallbackListener ¶
type State ¶
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 Corechain. GetCurrentHeight() (uint64, error) // GetValidatorSet returns the weights of the nodeIDs for the provided // allychain at the requested Corechain height. // The returned map should not be modified. GetValidatorSet(height uint64, allychainID ids.ID) (map[ids.NodeID]uint64, error) }
State allows the lookup of validator sets on specified allychains at the requested Corechain height.
func NewNoState ¶
func NewNoState() State
type TestState ¶
type TestState struct { T *testing.T CantGetMinimumHeight, CantGetCurrentHeight, CantGetValidatorSet bool GetMinimumHeightF func() (uint64, error) GetCurrentHeightF func() (uint64, error) GetValidatorSetF func(height uint64, allychainID ids.ID) (map[ids.NodeID]uint64, error) }
func (*TestState) GetCurrentHeight ¶
func (*TestState) GetMinimumHeight ¶
type Validator ¶
type Validator interface { // ID returns the node ID of this validator ID() ids.NodeID // Weight that can be used for weighted sampling. If this validator is // validating the primary network, returns the amount of AXC 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.