pub struct QueryApi<'api> { /* private fields */ }
Implementations
sourceimpl<'api> QueryApi<'api>
impl<'api> QueryApi<'api>
sourcepub async fn history_depth(&self) -> Result<u32>
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.
sourcepub async fn validator_count(&self) -> Result<u32>
pub async fn validator_count(&self) -> Result<u32>
The ideal number of staking participants.
sourcepub async fn minimum_validator_count(&self) -> Result<u32>
pub async fn minimum_validator_count(&self) -> Result<u32>
Minimum number of staking participants before emergency conditions are imposed.
sourcepub async fn invulnerables(&self) -> Result<Vec<AccountId32>>
pub async fn invulnerables(&self) -> Result<Vec<AccountId32>>
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.
sourcepub async fn bonded(&self, key_0: AccountId32) -> Result<Option<AccountId32>>
pub async fn bonded(&self, key_0: AccountId32) -> Result<Option<AccountId32>>
Map from all locked “stash” accounts to the controller account.
sourcepub async fn ledger(
&self,
key_0: AccountId32
) -> Result<Option<StakingLedger<AccountId32, u128>>>
pub async fn ledger(
&self,
key_0: AccountId32
) -> Result<Option<StakingLedger<AccountId32, u128>>>
Map from all (unlocked) “controller” accounts to the info regarding the staking.
sourcepub async fn payee(
&self,
key_0: AccountId32
) -> Result<RewardDestination<AccountId32>>
pub async fn payee(
&self,
key_0: AccountId32
) -> Result<RewardDestination<AccountId32>>
Where the reward payment should be made. Keyed by stash.
sourcepub async fn validators(&self, key_0: AccountId32) -> Result<ValidatorPrefs>
pub async fn validators(&self, key_0: AccountId32) -> Result<ValidatorPrefs>
The map from (wannabe) validator stash key to the preferences of that validator.
sourcepub async fn nominators(
&self,
key_0: AccountId32
) -> Result<Option<Nominations<AccountId32>>>
pub async fn nominators(
&self,
key_0: AccountId32
) -> Result<Option<Nominations<AccountId32>>>
The map from nominator stash key to the set of stash keys of all validators to nominate.
sourcepub async fn current_era(&self) -> Result<Option<u32>>
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.
sourcepub async fn active_era(&self) -> Result<Option<ActiveEraInfo>>
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
].
sourcepub async fn eras_start_session_index(&self, key_0: u32) -> Result<Option<u32>>
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]
.
sourcepub async fn eras_stakers(
&self,
key_0: u32,
key_1: AccountId32
) -> Result<Exposure<AccountId32, u128>>
pub async fn eras_stakers(
&self,
key_0: u32,
key_1: AccountId32
) -> Result<Exposure<AccountId32, 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.
sourcepub async fn eras_stakers_clipped(
&self,
key_0: u32,
key_1: AccountId32
) -> Result<Exposure<AccountId32, u128>>
pub async fn eras_stakers_clipped(
&self,
key_0: u32,
key_1: AccountId32
) -> Result<Exposure<AccountId32, 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.
sourcepub async fn eras_validator_prefs(
&self,
key_0: u32,
key_1: AccountId32
) -> Result<ValidatorPrefs>
pub async fn eras_validator_prefs(
&self,
key_0: u32,
key_1: AccountId32
) -> 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.
sourcepub async fn eras_validator_reward(&self, key_0: u32) -> Result<Option<u128>>
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.
sourcepub async fn eras_reward_points(
&self,
key_0: u32
) -> Result<EraRewardPoints<AccountId32>>
pub async fn eras_reward_points(
&self,
key_0: u32
) -> Result<EraRewardPoints<AccountId32>>
Rewards for the last HISTORY_DEPTH
eras.
If reward hasn’t been set or has been removed then 0 reward is returned.
sourcepub async fn eras_total_stake(&self, key_0: u32) -> Result<u128>
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.
sourcepub async fn slash_reward_fraction(&self) -> Result<Perbill>
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
.
sourcepub async fn canceled_slash_payout(&self) -> Result<u128>
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).
sourcepub async fn unapplied_slashes(
&self,
key_0: u32
) -> Result<Vec<UnappliedSlash<AccountId32, u128>>>
pub async fn unapplied_slashes(
&self,
key_0: u32
) -> Result<Vec<UnappliedSlash<AccountId32, u128>>>
All unapplied slashes that are queued for later.
sourcepub async fn bonded_eras(&self) -> Result<Vec<(u32, u32)>>
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]
sourcepub async fn validator_slash_in_era(
&self,
key_0: u32,
key_1: AccountId32
) -> Result<Option<(Perbill, u128)>>
pub async fn validator_slash_in_era(
&self,
key_0: u32,
key_1: AccountId32
) -> Result<Option<(Perbill, u128)>>
All slashing events on validators, mapped by era to the highest slash proportion and slash value of the era.
sourcepub async fn nominator_slash_in_era(
&self,
key_0: u32,
key_1: AccountId32
) -> Result<Option<u128>>
pub async fn nominator_slash_in_era(
&self,
key_0: u32,
key_1: AccountId32
) -> Result<Option<u128>>
All slashing events on nominators, mapped by era to the highest slash value of the era.
sourcepub async fn slashing_spans(
&self,
key_0: AccountId32
) -> Result<Option<SlashingSpans>>
pub async fn slashing_spans(
&self,
key_0: AccountId32
) -> Result<Option<SlashingSpans>>
Slashing spans for stash accounts.
sourcepub async fn span_slash(
&self,
key_0: (AccountId32, u32)
) -> Result<SpanRecord<u128>>
pub async fn span_slash(
&self,
key_0: (AccountId32, 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.
sourcepub async fn earliest_unapplied_slash(&self) -> Result<Option<u32>>
pub async fn earliest_unapplied_slash(&self) -> Result<Option<u32>>
The earliest era for which we have a pending, unapplied slash.
sourcepub async fn snapshot_validators(&self) -> Result<Option<Vec<AccountId32>>>
pub async fn snapshot_validators(&self) -> Result<Option<Vec<AccountId32>>>
Snapshot of validators at the beginning of the current election window. This should only
have a value when [EraElectionStatus
] == ElectionStatus::Open(_)
.
sourcepub async fn snapshot_nominators(&self) -> Result<Option<Vec<AccountId32>>>
pub async fn snapshot_nominators(&self) -> Result<Option<Vec<AccountId32>>>
Snapshot of nominators at the beginning of the current election window. This should only
have a value when [EraElectionStatus
] == ElectionStatus::Open(_)
.
sourcepub async fn queued_elected(
&self
) -> Result<Option<ElectionResult<AccountId32, u128>>>
pub async fn queued_elected(
&self
) -> Result<Option<ElectionResult<AccountId32, 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.
sourcepub async fn queued_score(&self) -> Result<Option<ElectionScore>>
pub async fn queued_score(&self) -> Result<Option<ElectionScore>>
The score of the current [QueuedElected
].
sourcepub async fn era_election_status(&self) -> Result<ElectionStatus<u32>>
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.
sourcepub async fn is_current_session_final(&self) -> Result<bool>
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.
sourcepub async fn permissioned_identity(
&self,
key_0: IdentityId
) -> Result<Option<PermissionedIdentityPrefs>>
pub async fn permissioned_identity(
&self,
key_0: IdentityId
) -> Result<Option<PermissionedIdentityPrefs>>
Entities that are allowed to run operator/validator nodes.
sourcepub async fn validator_commission_cap(&self) -> Result<Perbill>
pub async fn validator_commission_cap(&self) -> Result<Perbill>
Every validator has commission that should be in the range [0, Cap].
sourcepub async fn minimum_bond_threshold(&self) -> Result<u128>
pub async fn minimum_bond_threshold(&self) -> Result<u128>
The minimum amount with which a validator can bond.
pub async fn slashing_allowed_for(&self) -> Result<SlashingSwitch>
sourcepub async fn storage_version(&self) -> Result<Releases>
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.
Trait Implementations
Auto Trait Implementations
impl<'api> !RefUnwindSafe for QueryApi<'api>
impl<'api> Send for QueryApi<'api>
impl<'api> Sync for QueryApi<'api>
impl<'api> Unpin for QueryApi<'api>
impl<'api> !UnwindSafe for QueryApi<'api>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<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>,
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 T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
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
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn as_any(&self) -> &(dyn Any + 'static)
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. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
sourcefn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
Convert from a value of T
into an equivalent instance of Self
. Read more
sourcefn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of T
. Read more
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to unchecked_from
.
sourceimpl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
sourcefn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of T
.
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more