pub struct IotaSystemStateSummaryV1 {Show 34 fields
pub epoch: u64,
pub protocol_version: u64,
pub system_state_version: u64,
pub iota_total_supply: u64,
pub iota_treasury_cap_id: ObjectID,
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_charges: 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 min_validator_count: 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 total_stake: u64,
pub active_validators: Vec<IotaValidatorSummary>,
pub pending_active_validators_id: ObjectID,
pub pending_active_validators_size: u64,
pub pending_removals: Vec<u64>,
pub staking_pool_mappings_id: ObjectID,
pub staking_pool_mappings_size: u64,
pub inactive_pools_id: ObjectID,
pub inactive_pools_size: u64,
pub validator_candidates_id: ObjectID,
pub validator_candidates_size: u64,
pub at_risk_validators: Vec<(IotaAddress, u64)>,
pub validator_report_records: Vec<(IotaAddress, Vec<IotaAddress>)>,
}Expand description
This is the JSON-RPC type for the
IotaSystemStateSummaryV1
object.
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.
iota_total_supply: u64The current IOTA supply.
iota_treasury_cap_id: ObjectIDThe TreasuryCap<IOTA> object ID.
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 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_charges: u64Amount of storage charges 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.
min_validator_count: u64Minimum number of active validators at any moment. We do not allow the number of validators in any epoch to go under this.
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.
total_stake: u64Total amount of stake from all active validators at the beginning of the epoch.
active_validators: Vec<IotaValidatorSummary>The list of active validators in the current epoch.
pending_active_validators_id: ObjectIDID 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: ObjectIDID of the object that maps from staking pool’s ID to the iota address of a validator.
staking_pool_mappings_size: u64Number of staking pool mappings.
inactive_pools_id: ObjectIDID 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: ObjectIDID 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<(IotaAddress, u64)>Map storing the number of epochs for which each validator has been below the low stake threshold.
validator_report_records: Vec<(IotaAddress, Vec<IotaAddress>)>A map storing the records of validator reporting each other.
Trait Implementations§
Source§impl Clone for IotaSystemStateSummaryV1
impl Clone for IotaSystemStateSummaryV1
Source§fn clone(&self) -> IotaSystemStateSummaryV1
fn clone(&self) -> IotaSystemStateSummaryV1
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'de> Deserialize<'de> for IotaSystemStateSummaryV1
impl<'de> Deserialize<'de> for IotaSystemStateSummaryV1
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>,
Source§impl<'de> DeserializeAs<'de, IotaSystemStateSummaryV1> for IotaSystemStateSummaryV1
impl<'de> DeserializeAs<'de, IotaSystemStateSummaryV1> for IotaSystemStateSummaryV1
Source§fn deserialize_as<D>(
deserializer: D,
) -> Result<NativeSystemStateSummaryV1, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(
deserializer: D,
) -> Result<NativeSystemStateSummaryV1, D::Error>where
D: Deserializer<'de>,
Source§impl From<IotaSystemStateSummaryV1> for IotaSystemStateSummaryV1
impl From<IotaSystemStateSummaryV1> for IotaSystemStateSummaryV1
Source§fn from(schema: IotaSystemStateSummaryV1) -> Self
fn from(schema: IotaSystemStateSummaryV1) -> Self
Source§impl From<IotaSystemStateSummaryV1> for IotaSystemStateSummaryV1
impl From<IotaSystemStateSummaryV1> for IotaSystemStateSummaryV1
Source§fn from(summary: NativeSystemStateSummaryV1) -> Self
fn from(summary: NativeSystemStateSummaryV1) -> Self
Source§impl JsonSchema for IotaSystemStateSummaryV1
impl JsonSchema for IotaSystemStateSummaryV1
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl Serialize for IotaSystemStateSummaryV1
impl Serialize for IotaSystemStateSummaryV1
Source§impl SerializeAs<IotaSystemStateSummaryV1> for IotaSystemStateSummaryV1
impl SerializeAs<IotaSystemStateSummaryV1> for IotaSystemStateSummaryV1
Source§fn serialize_as<S>(
source: &NativeSystemStateSummaryV1,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &NativeSystemStateSummaryV1,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Auto Trait Implementations§
impl Freeze for IotaSystemStateSummaryV1
impl RefUnwindSafe for IotaSystemStateSummaryV1
impl Send for IotaSystemStateSummaryV1
impl Sync for IotaSystemStateSummaryV1
impl Unpin for IotaSystemStateSummaryV1
impl UnwindSafe for IotaSystemStateSummaryV1
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read more§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a Request§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.