SuiSystemStateSummary

@Serializable
data class SuiSystemStateSummary(val epoch: Long, val protocolVersion: Long, val systemStateVersion: Long, val storageFundTotalObjectStorageRebates: Long, val storageFundNonRefundableBalance: Long, val referenceGasPrice: Long, val safeMode: Boolean, val safeModeStorageRewards: Long, val safeModeComputationRewards: Long, val safeModeStorageRebates: Long, val safeModeNonRefundableStorageFee: Long, val epochStartTimestampMs: Long, val epochDurationMs: Long, val stakeSubsidyStartEpoch: Long, val maxValidatorCount: Int, val minValidatorJoiningStake: Long, val validatorLowStakeThreshold: Long, val validatorVeryLowStakeThreshold: Long, val validatorLowStakeGracePeriod: Long, val stakeSubsidyBalance: String, val stakeSubsidyDistributionCounter: Long, val stakeSubsidyCurrentDistributionAmount: Long, val stakeSubsidyPeriodLength: Long, val stakeSubsidyDecreaseRate: Long, val totalStake: Long, val activeValidators: List<SuiValidatorSummary>, val pendingActiveValidatorsId: String, val pendingActiveValidatorsSize: Long, val pendingRemovals: List<String>, val stakingPoolMappingsId: String, val stakingPoolMappingsSize: Long, val inactivePoolsId: String, val inactivePoolsSize: Int, val validatorCandidatesId: String, val validatorCandidatesSize: Long, val atRiskValidators: List<String>, val validatorReportRecords: List<ValidatorReportRecord>)

Latest SUI system state object on-chain

Parameters

epoch

The current epoch ID, starting from 0.

protocolVersion

The current protocol version, starting from 1.

systemStateVersion

The current version of the system state data structure type.

storageFundTotalObjectStorageRebates

The storage rebates of all the objects on-chain stored in the storage fund.

storageFundNonRefundableBalance

The non-refundable portion of the storage fund coming from storage reinvestment, non-refundable storage rebates and any leftover staking rewards.

referenceGasPrice

The reference gas price for the current epoch.

safeMode

Whether the system is running in a downgraded safe mode due to a non-recoverable bug. This is set whenever Sui failed to execute advance_epoch, and ended up executing advance_epoch_safe_mode. It can be reset once Sui is able to successfully execute advance_epoch.

safeModeStorageRewards

Amount of storage rewards accumulated (and not yet distributed) during safe mode.

safeModeComputationRewards

Amount of computation rewards accumulated (and not yet distributed) during safe mode.

safeModeStorageRebates

Amount of storage rebates accumulated (and not yet burned) during safe mode.

safeModeNonRefundableStorageFee

Amount of non-refundable storage fee accumulated during safe mode.

epochStartTimestampMs

Unix timestamp of the current epoch start.

epochDurationMs

The duration of an epoch, in milliseconds.

stakeSubsidyStartEpoch

The starting epoch in which stake subsidies start being paid out.

maxValidatorCount

Maximum number of active validators at any moment. Sui does not allow the number of validators in any epoch to go above this.

minValidatorJoiningStake

Lower-bound on the amount of stake required to become a validator.

validatorLowStakeThreshold

Validators with stake amount below validator_low_stake_threshold are considered to have low stake and will be escorted out of the validator set after being below this threshold for more than validator_low_stake_grace_period number of epochs.

validatorVeryLowStakeThreshold

Validators with stake below validator_very_low_stake_threshold will be removed immediately at epoch change, no grace period.

validatorLowStakeGracePeriod

A validator can have stake below validator_low_stake_threshold for this many epochs before being kicked out.

stakeSubsidyBalance

Balance of SUI set aside for stake subsidies that will be drawn down over time.

stakeSubsidyDistributionCounter

This counter may be different from the current epoch number if in some epochs we decide to skip the subsidy.

stakeSubsidyCurrentDistributionAmount

The amount of stake subsidy to be drawn down per epoch. This amount decays and decreases over time.

stakeSubsidyPeriodLength

Number of distributions to occur before the distribution amount decays.

stakeSubsidyDecreaseRate

The rate at which the distribution amount decays at the end of each period. Expressed in basis points.

totalStake

Total amount of stake from all active validators at the beginning of the epoch.

activeValidators

The list of active validators in the current epoch.

pendingActiveValidatorsId

ID of the object that contains the list of new validators that will join at the end of the epoch.

pendingActiveValidatorsSize

Number of new validators that will join at the end of the epoch.

pendingRemovals

Removal requests from the validators. Each element is an index pointing to active_validators.

stakingPoolMappingsId

ID of the object that maps from staking pool's ID to the sui address of a validator.

stakingPoolMappingsSize

Number of staking pool mappings.

inactivePoolsId

ID of the object that maps from a staking pool ID to the inactive validator that has that pool as its staking pool.

inactivePoolsSize

Number of inactive staking pools.

validatorCandidatesId

ID of the object that stores pre-active validators, mapping their addresses to their Validator structs.

validatorCandidatesSize

Number of pre-active validators.

validatorReportRecords

A map storing the records of validator reporting each other.

Constructors

Link copied to clipboard
constructor(epoch: Long, protocolVersion: Long, systemStateVersion: Long, storageFundTotalObjectStorageRebates: Long, storageFundNonRefundableBalance: Long, referenceGasPrice: Long, safeMode: Boolean, safeModeStorageRewards: Long, safeModeComputationRewards: Long, safeModeStorageRebates: Long, safeModeNonRefundableStorageFee: Long, epochStartTimestampMs: Long, epochDurationMs: Long, stakeSubsidyStartEpoch: Long, maxValidatorCount: Int, minValidatorJoiningStake: Long, validatorLowStakeThreshold: Long, validatorVeryLowStakeThreshold: Long, validatorLowStakeGracePeriod: Long, stakeSubsidyBalance: String, stakeSubsidyDistributionCounter: Long, stakeSubsidyCurrentDistributionAmount: Long, stakeSubsidyPeriodLength: Long, stakeSubsidyDecreaseRate: Long, totalStake: Long, activeValidators: List<SuiValidatorSummary>, pendingActiveValidatorsId: String, pendingActiveValidatorsSize: Long, pendingRemovals: List<String>, stakingPoolMappingsId: String, stakingPoolMappingsSize: Long, inactivePoolsId: String, inactivePoolsSize: Int, validatorCandidatesId: String, validatorCandidatesSize: Long, atRiskValidators: List<String>, validatorReportRecords: List<ValidatorReportRecord>)

Properties

Link copied to clipboard
Link copied to clipboard
val epoch: Long
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard