pub struct IotaSystemStateSummaryV2 {Show 36 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_charges: u64,
pub safe_mode_computation_charges_burned: 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 committee_members: Vec<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
IotaSystemStateSummaryV2
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_charges: u64Amount of computation charges accumulated (and not yet distributed) during safe mode.
safe_mode_computation_charges_burned: u64Amount of burned computation charges accumulated 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 committee validators at the beginning of the epoch.
committee_members: Vec<u64>List of committee validators in the current epoch. Each element is an
index pointing to active_validators.
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 IotaSystemStateSummaryV2
impl Clone for IotaSystemStateSummaryV2
Source§fn clone(&self) -> IotaSystemStateSummaryV2
fn clone(&self) -> IotaSystemStateSummaryV2
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 IotaSystemStateSummaryV2
impl<'de> Deserialize<'de> for IotaSystemStateSummaryV2
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, IotaSystemStateSummaryV2> for IotaSystemStateSummaryV2
impl<'de> DeserializeAs<'de, IotaSystemStateSummaryV2> for IotaSystemStateSummaryV2
Source§fn deserialize_as<D>(
deserializer: D,
) -> Result<NativeSystemStateSummaryV2, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(
deserializer: D,
) -> Result<NativeSystemStateSummaryV2, D::Error>where
D: Deserializer<'de>,
Source§impl From<IotaSystemStateSummaryV2> for IotaSystemStateSummaryV2
impl From<IotaSystemStateSummaryV2> for IotaSystemStateSummaryV2
Source§fn from(schema: IotaSystemStateSummaryV2) -> Self
fn from(schema: IotaSystemStateSummaryV2) -> Self
Source§impl From<IotaSystemStateSummaryV2> for IotaSystemStateSummaryV2
impl From<IotaSystemStateSummaryV2> for IotaSystemStateSummaryV2
Source§fn from(summary: NativeSystemStateSummaryV2) -> Self
fn from(summary: NativeSystemStateSummaryV2) -> Self
Source§impl JsonSchema for IotaSystemStateSummaryV2
impl JsonSchema for IotaSystemStateSummaryV2
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 IotaSystemStateSummaryV2
impl Serialize for IotaSystemStateSummaryV2
Source§impl SerializeAs<IotaSystemStateSummaryV2> for IotaSystemStateSummaryV2
impl SerializeAs<IotaSystemStateSummaryV2> for IotaSystemStateSummaryV2
Source§fn serialize_as<S>(
source: &NativeSystemStateSummaryV2,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &NativeSystemStateSummaryV2,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Auto Trait Implementations§
impl Freeze for IotaSystemStateSummaryV2
impl RefUnwindSafe for IotaSystemStateSummaryV2
impl Send for IotaSystemStateSummaryV2
impl Sync for IotaSystemStateSummaryV2
impl Unpin for IotaSystemStateSummaryV2
impl UnsafeUnpin for IotaSystemStateSummaryV2
impl UnwindSafe for IotaSystemStateSummaryV2
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.