pub struct StakingQueryApi<'api> { /* private fields */ }

Implementations§

source§

impl<'api> StakingQueryApi<'api>

source

pub async fn history_depth(&self) -> Result<u32>

Number of eras to keep in history.

Information is kept for eras in [current_era - history_depth; current_era].

Must be more than the number of eras delayed by session otherwise. I.e. active era must always be in history. I.e. active_era > current_era - history_depth must be guaranteed.

source

pub async fn validator_count(&self) -> Result<u32>

The ideal number of staking participants.

source

pub async fn minimum_validator_count(&self) -> Result<u32>

Minimum number of staking participants before emergency conditions are imposed.

source

pub async fn invulnerables(&self) -> Result<Vec<AccountId>>

Any validators that may never be slashed or forcibly kicked. It’s a Vec since they’re easy to initialize and the performance hit is minimal (we expect no more than four invulnerables) and restricted to testnets.

source

pub async fn bonded(&self, key_0: AccountId) -> Result<Option<AccountId>>

Map from all locked “stash” accounts to the controller account.

source

pub async fn ledger( &self, key_0: AccountId ) -> Result<Option<StakingLedger<AccountId, u128>>>

Map from all (unlocked) “controller” accounts to the info regarding the staking.

source

pub async fn payee( &self, key_0: AccountId ) -> Result<RewardDestination<AccountId>>

Where the reward payment should be made. Keyed by stash.

source

pub async fn validators(&self, key_0: AccountId) -> Result<ValidatorPrefs>

The map from (wannabe) validator stash key to the preferences of that validator.

source

pub async fn nominators( &self, key_0: AccountId ) -> Result<Option<Nominations<AccountId>>>

The map from nominator stash key to the set of stash keys of all validators to nominate.

source

pub async fn current_era(&self) -> Result<Option<u32>>

The current era index.

This is the latest planned era, depending on how the Session pallet queues the validator set, it might be active or not.

source

pub async fn active_era(&self) -> Result<Option<ActiveEraInfo>>

The active era information, it holds index and start.

The active era is the era being currently rewarded. Validator set of this era must be equal to [SessionInterface::validators].

source

pub async fn eras_start_session_index(&self, key_0: u32) -> Result<Option<u32>>

The session index at which the era start for the last HISTORY_DEPTH eras.

Note: This tracks the starting session (i.e. session index when era start being active) for the eras in [CurrentEra - HISTORY_DEPTH, CurrentEra].

source

pub async fn eras_stakers( &self, key_0: u32, key_1: AccountId ) -> Result<Exposure<AccountId, u128>>

Exposure of validator at era.

This is keyed first by the era index to allow bulk deletion and then the stash account.

Is it removed after HISTORY_DEPTH eras. If stakers hasn’t been set or has been removed then empty exposure is returned.

source

pub async fn eras_stakers_clipped( &self, key_0: u32, key_1: AccountId ) -> Result<Exposure<AccountId, u128>>

Clipped Exposure of validator at era.

This is similar to [ErasStakers] but number of nominators exposed is reduced to the T::MaxNominatorRewardedPerValidator biggest stakers. (Note: the field total and own of the exposure remains unchanged). This is used to limit the i/o cost for the nominator payout.

This is keyed fist by the era index to allow bulk deletion and then the stash account.

Is it removed after HISTORY_DEPTH eras. If stakers hasn’t been set or has been removed then empty exposure is returned.

source

pub async fn eras_validator_prefs( &self, key_0: u32, key_1: AccountId ) -> Result<ValidatorPrefs>

Similar to ErasStakers, this holds the preferences of validators.

This is keyed first by the era index to allow bulk deletion and then the stash account.

Is it removed after HISTORY_DEPTH eras.

source

pub async fn eras_validator_reward(&self, key_0: u32) -> Result<Option<u128>>

The total validator era payout for the last HISTORY_DEPTH eras.

Eras that haven’t finished yet or has been removed doesn’t have reward.

source

pub async fn eras_reward_points( &self, key_0: u32 ) -> Result<EraRewardPoints<AccountId>>

Rewards for the last HISTORY_DEPTH eras. If reward hasn’t been set or has been removed then 0 reward is returned.

source

pub async fn eras_total_stake(&self, key_0: u32) -> Result<u128>

The total amount staked for the last HISTORY_DEPTH eras. If total hasn’t been set or has been removed then 0 stake is returned.

source

pub async fn force_era(&self) -> Result<Forcing>

Mode of era forcing.

source

pub async fn slash_reward_fraction(&self) -> Result<Perbill>

The percentage of the slash that is distributed to reporters.

The rest of the slashed value is handled by the Slash.

source

pub async fn canceled_slash_payout(&self) -> Result<u128>

The amount of currency given to reporters of a slash event which was canceled by extraordinary circumstances (e.g. governance).

source

pub async fn unapplied_slashes( &self, key_0: u32 ) -> Result<Vec<UnappliedSlash<AccountId, u128>>>

All unapplied slashes that are queued for later.

source

pub async fn bonded_eras(&self) -> Result<Vec<(u32, u32)>>

A mapping from still-bonded eras to the first session index of that era.

Must contains information for eras for the range: [active_era - bounding_duration; active_era]

source

pub async fn validator_slash_in_era( &self, key_0: u32, key_1: AccountId ) -> Result<Option<(Perbill, u128)>>

All slashing events on validators, mapped by era to the highest slash proportion and slash value of the era.

source

pub async fn nominator_slash_in_era( &self, key_0: u32, key_1: AccountId ) -> Result<Option<u128>>

All slashing events on nominators, mapped by era to the highest slash value of the era.

source

pub async fn slashing_spans( &self, key_0: AccountId ) -> Result<Option<SlashingSpans>>

Slashing spans for stash accounts.

source

pub async fn span_slash( &self, key_0: (AccountId, u32) ) -> Result<SpanRecord<u128>>

Records information about the maximum slash of a stash within a slashing span, as well as how much reward has been paid out.

source

pub async fn earliest_unapplied_slash(&self) -> Result<Option<u32>>

The earliest era for which we have a pending, unapplied slash.

source

pub async fn offending_validators(&self) -> Result<Vec<(u32, bool)>>

Indices of validators that have offended in the active era and whether they are currently disabled.

This value should be a superset of disabled validators since not all offences lead to the validator being disabled (if there was no slash). This is needed to track the percentage of validators that have offended in the current era, ensuring a new era is forced if OffendingValidatorsThreshold is reached. The vec is always kept sorted so that we can find whether a given validator has previously offended using binary search. It gets cleared when the era ends.

source

pub async fn snapshot_validators(&self) -> Result<Option<Vec<AccountId>>>

Snapshot of validators at the beginning of the current election window. This should only have a value when [EraElectionStatus] == ElectionStatus::Open(_).

source

pub async fn snapshot_nominators(&self) -> Result<Option<Vec<AccountId>>>

Snapshot of nominators at the beginning of the current election window. This should only have a value when [EraElectionStatus] == ElectionStatus::Open(_).

source

pub async fn queued_elected( &self ) -> Result<Option<ElectionResult<AccountId, u128>>>

The next validator set. At the end of an era, if this is available (potentially from the result of an offchain worker), it is immediately used. Otherwise, the on-chain election is executed.

source

pub async fn queued_score(&self) -> Result<Option<ElectionScore>>

The score of the current [QueuedElected].

source

pub async fn era_election_status(&self) -> Result<ElectionStatus<u32>>

Flag to control the execution of the offchain election. When Open(_), we accept solutions to be submitted.

source

pub async fn is_current_session_final(&self) -> Result<bool>

True if the current planned session is final. Note that this does not take era forcing into account.

source

pub async fn permissioned_identity( &self, key_0: IdentityId ) -> Result<Option<PermissionedIdentityPrefs>>

Entities that are allowed to run operator/validator nodes.

source

pub async fn validator_commission_cap(&self) -> Result<Perbill>

Every validator has commission that should be in the range [0, Cap].

source

pub async fn minimum_bond_threshold(&self) -> Result<u128>

The minimum amount with which a validator can bond.

source

pub async fn slashing_allowed_for(&self) -> Result<SlashingSwitch>

source

pub async fn storage_version(&self) -> Result<Releases>

True if network has been upgraded to this version. Storage version of the pallet.

This is set to v6.0.1 for new networks.

source

pub async fn polymesh_storage_version(&self) -> Result<Version>

Polymesh Storage version.

Trait Implementations§

source§

impl<'api> Clone for StakingQueryApi<'api>

source§

fn clone(&self) -> StakingQueryApi<'api>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl<'api> !RefUnwindSafe for StakingQueryApi<'api>

§

impl<'api> Send for StakingQueryApi<'api>

§

impl<'api> Sync for StakingQueryApi<'api>

§

impl<'api> Unpin for StakingQueryApi<'api>

§

impl<'api> !UnwindSafe for StakingQueryApi<'api>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Downcast for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for Twhere T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T, Global>) -> Arc<dyn Any + Sync + Send, Global>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> DynClone for Twhere T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> SaturatedConversion for T

source§

fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
source§

fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
source§

impl<T> SaturatedConversion for T

source§

fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
source§

fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
source§

impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,

source§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
source§

impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,

source§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<T> MaybeSend for Twhere T: Send,