pub struct SuiSystemStateSummary {Show 37 fields
pub epoch: u64,
pub protocol_version: u64,
pub system_state_version: u64,
pub storage_fund_total_object_storage_rebates: u64,
pub storage_fund_non_refundable_balance: u64,
pub reference_gas_price: u64,
pub safe_mode: bool,
pub safe_mode_storage_rewards: u64,
pub safe_mode_computation_rewards: u64,
pub safe_mode_storage_rebates: u64,
pub safe_mode_non_refundable_storage_fee: u64,
pub epoch_start_timestamp_ms: u64,
pub epoch_duration_ms: u64,
pub stake_subsidy_start_epoch: u64,
pub max_validator_count: u64,
pub min_validator_joining_stake: u64,
pub validator_low_stake_threshold: u64,
pub validator_very_low_stake_threshold: u64,
pub validator_low_stake_grace_period: u64,
pub stake_subsidy_balance: u64,
pub stake_subsidy_distribution_counter: u64,
pub stake_subsidy_current_distribution_amount: u64,
pub stake_subsidy_period_length: u64,
pub stake_subsidy_decrease_rate: u16,
pub total_stake: u64,
pub active_validators: Vec<SuiValidatorSummary>,
pub pending_active_validators_id: Address,
pub pending_active_validators_size: u64,
pub pending_removals: Vec<u64>,
pub staking_pool_mappings_id: Address,
pub staking_pool_mappings_size: u64,
pub inactive_pools_id: Address,
pub inactive_pools_size: u64,
pub validator_candidates_id: Address,
pub validator_candidates_size: u64,
pub at_risk_validators: Vec<(Address, u64)>,
pub validator_report_records: Vec<(Address, Vec<Address>)>,
}Expand description
This is the JSON-RPC type for the SUI system state object.
It flattens all fields to make them top-level fields such that it as minimum dependencies to the internal data structures of the SUI system state type.
Originally sui_types::sui_system_state::sui_system_state_summary::SuiSystemStateSummary.
Fields§
§epoch: u64The current epoch ID, starting from 0.
protocol_version: u64The current protocol version, starting from 1.
system_state_version: u64The current version of the system state data structure type.
storage_fund_total_object_storage_rebates: u64The storage rebates of all the objects on-chain stored in the storage fund.
storage_fund_non_refundable_balance: u64The non-refundable portion of the storage fund coming from storage reinvestment, non-refundable storage rebates and any leftover staking rewards.
reference_gas_price: u64The reference gas price for the current epoch.
safe_mode: boolWhether the system is running in a downgraded safe mode due to a non-recoverable bug. This is set whenever we failed to execute advance_epoch, and ended up executing advance_epoch_safe_mode. It can be reset once we are able to successfully execute advance_epoch.
safe_mode_storage_rewards: u64Amount of storage rewards accumulated (and not yet distributed) during safe mode.
safe_mode_computation_rewards: u64Amount of computation rewards accumulated (and not yet distributed) during safe mode.
safe_mode_storage_rebates: u64Amount of storage rebates accumulated (and not yet burned) during safe mode.
safe_mode_non_refundable_storage_fee: u64Amount of non-refundable storage fee accumulated during safe mode.
epoch_start_timestamp_ms: u64Unix timestamp of the current epoch start
epoch_duration_ms: u64The duration of an epoch, in milliseconds.
stake_subsidy_start_epoch: u64The starting epoch in which stake subsidies start being paid out
max_validator_count: u64Maximum number of active validators at any moment. We do not allow the number of validators in any epoch to go above this.
min_validator_joining_stake: u64Lower-bound on the amount of stake required to become a validator.
validator_low_stake_threshold: u64Validators 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.
validator_very_low_stake_threshold: u64Validators with stake below validator_very_low_stake_threshold will be removed
immediately at epoch change, no grace period.
validator_low_stake_grace_period: u64A validator can have stake below validator_low_stake_threshold
for this many epochs before being kicked out.
stake_subsidy_balance: u64Balance of SUI set aside for stake subsidies that will be drawn down over time.
stake_subsidy_distribution_counter: u64This counter may be different from the current epoch number if in some epochs we decide to skip the subsidy.
stake_subsidy_current_distribution_amount: u64The amount of stake subsidy to be drawn down per epoch. This amount decays and decreases over time.
stake_subsidy_period_length: u64Number of distributions to occur before the distribution amount decays.
stake_subsidy_decrease_rate: u16The rate at which the distribution amount decays at the end of each period. Expressed in basis points.
total_stake: u64Total amount of stake from all active validators at the beginning of the epoch.
active_validators: Vec<SuiValidatorSummary>The list of active validators in the current epoch.
pending_active_validators_id: AddressID of the object that contains the list of new validators that will join at the end of the epoch.
pending_active_validators_size: u64Number of new validators that will join at the end of the epoch.
pending_removals: Vec<u64>Removal requests from the validators. Each element is an index
pointing to active_validators.
staking_pool_mappings_id: AddressID of the object that maps from staking pool’s ID to the sui address of a validator.
staking_pool_mappings_size: u64Number of staking pool mappings.
inactive_pools_id: AddressID of the object that maps from a staking pool ID to the inactive validator that has that pool as its staking pool.
inactive_pools_size: u64Number of inactive staking pools.
validator_candidates_id: AddressID of the object that stores preactive validators, mapping their addresses to their Validator structs.
validator_candidates_size: u64Number of preactive validators.
at_risk_validators: Vec<(Address, u64)>Map storing the number of epochs for which each validator has been below the low stake threshold.
validator_report_records: Vec<(Address, Vec<Address>)>A map storing the records of validator reporting each other.
Trait Implementations§
Source§impl Clone for SuiSystemStateSummary
impl Clone for SuiSystemStateSummary
Source§fn clone(&self) -> SuiSystemStateSummary
fn clone(&self) -> SuiSystemStateSummary
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SuiSystemStateSummary
impl Debug for SuiSystemStateSummary
Source§impl<'de> Deserialize<'de> for SuiSystemStateSummary
impl<'de> Deserialize<'de> for SuiSystemStateSummary
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for SuiSystemStateSummary
impl RefUnwindSafe for SuiSystemStateSummary
impl Send for SuiSystemStateSummary
impl Sync for SuiSystemStateSummary
impl Unpin for SuiSystemStateSummary
impl UnwindSafe for SuiSystemStateSummary
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more