Skip to main content

ValidatorSetV1Interface

type ValidatorSetV1Interface

A typed view of the `0x3::validator_set::ValidatorSetV1` embedded in [`IotaSystemStateV1`].

Unlike [`ValidatorSetV2`] there are no committee members: in this layout every active validator is part of the committee.

type ValidatorSetV1Interface interface {
// The current list of active validators.
ActiveValidators() []*ValidatorV1
// Number of epochs each at-risk validator has had stake below the
// low-stake threshold.
AtRiskValidators() map[*Address]uint64
// Object ID of the `Bag` holding fields added to this struct after its
// current on-chain layout was set.
ExtraFieldsId() *ObjectId
// Object ID of the `Table` holding the inactive validators, keyed by
// staking pool ID.
InactiveValidatorsId() *ObjectId
// Object ID of the `TableVec` holding the pending validator candidates,
// keyed by their index.
PendingActiveValidatorsId() *ObjectId
// Number of pending validator candidates. The candidates themselves are
// stored in dynamic fields and are not part of this struct's contents.
PendingActiveValidatorsSize() uint64
// Indices into `active_validators` with pending removal requests.
PendingRemovals() []uint64
// Object ID of the `Table` mapping each staking pool ID to its validator
// address.
StakingPoolMappingsId() *ObjectId
// Total stake from all active validators at the beginning of the epoch,
// in nanos.
TotalStake() uint64
// Object ID of the `Table` holding the validator candidates, keyed by
// their address.
ValidatorCandidatesId() *ObjectId
}