mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-06 02:08:02 +00:00
improve doc (#8437)
This commit is contained in:
committed by
GitHub
parent
1602f8dd2d
commit
d343683ca9
@@ -19,9 +19,9 @@
|
||||
//!
|
||||
//! The Staking module is used to manage funds at stake by network maintainers.
|
||||
//!
|
||||
//! - [`staking::Config`](./trait.Config.html)
|
||||
//! - [`Call`](./enum.Call.html)
|
||||
//! - [`Module`](./struct.Module.html)
|
||||
//! - [`Config`]
|
||||
//! - [`Call`]
|
||||
//! - [`Module`]
|
||||
//!
|
||||
//! ## Overview
|
||||
//!
|
||||
@@ -65,16 +65,16 @@
|
||||
//! is paired with an active **controller** account, which issues instructions on how they shall be
|
||||
//! used.
|
||||
//!
|
||||
//! An account pair can become bonded using the [`bond`](./enum.Call.html#variant.bond) call.
|
||||
//! An account pair can become bonded using the [`bond`](Call::bond) call.
|
||||
//!
|
||||
//! Stash accounts can change their associated controller using the
|
||||
//! [`set_controller`](./enum.Call.html#variant.set_controller) call.
|
||||
//! [`set_controller`](Call::set_controller) call.
|
||||
//!
|
||||
//! There are three possible roles that any staked account pair can be in: `Validator`, `Nominator`
|
||||
//! and `Idle` (defined in [`StakerStatus`](./enum.StakerStatus.html)). There are three
|
||||
//! and `Idle` (defined in [`StakerStatus`]). There are three
|
||||
//! corresponding instructions to change between roles, namely:
|
||||
//! [`validate`](./enum.Call.html#variant.validate),
|
||||
//! [`nominate`](./enum.Call.html#variant.nominate), and [`chill`](./enum.Call.html#variant.chill).
|
||||
//! [`validate`](Call::validate),
|
||||
//! [`nominate`](Call::nominate), and [`chill`](Call::chill).
|
||||
//!
|
||||
//! #### Validating
|
||||
//!
|
||||
@@ -86,7 +86,7 @@
|
||||
//! by nominators and their votes.
|
||||
//!
|
||||
//! An account can become a validator candidate via the
|
||||
//! [`validate`](./enum.Call.html#variant.validate) call.
|
||||
//! [`validate`](Call::validate) call.
|
||||
//!
|
||||
//! #### Nomination
|
||||
//!
|
||||
@@ -98,7 +98,7 @@
|
||||
//! the misbehaving/offline validators as much as possible, simply because the nominators will also
|
||||
//! lose funds if they vote poorly.
|
||||
//!
|
||||
//! An account can become a nominator via the [`nominate`](enum.Call.html#variant.nominate) call.
|
||||
//! An account can become a nominator via the [`nominate`](Call::nominate) call.
|
||||
//!
|
||||
//! #### Rewards and Slash
|
||||
//!
|
||||
@@ -127,7 +127,7 @@
|
||||
//! This means that if they are a nominator, they will not be considered as voters anymore and if
|
||||
//! they are validators, they will no longer be a candidate for the next election.
|
||||
//!
|
||||
//! An account can step back via the [`chill`](enum.Call.html#variant.chill) call.
|
||||
//! An account can step back via the [`chill`](Call::chill) call.
|
||||
//!
|
||||
//! ### Session managing
|
||||
//!
|
||||
@@ -175,7 +175,7 @@
|
||||
//! ### Era payout
|
||||
//!
|
||||
//! The era payout is computed using yearly inflation curve defined at
|
||||
//! [`T::RewardCurve`](./trait.Config.html#associatedtype.RewardCurve) as such:
|
||||
//! [`Config::EraPayout`] as such:
|
||||
//!
|
||||
//! ```nocompile
|
||||
//! staker_payout = yearly_inflation(npos_token_staked / total_tokens) * total_tokens / era_per_year
|
||||
@@ -186,7 +186,7 @@
|
||||
//! remaining_payout = max_yearly_inflation * total_tokens / era_per_year - staker_payout
|
||||
//! ```
|
||||
//! The remaining reward is send to the configurable end-point
|
||||
//! [`T::RewardRemainder`](./trait.Config.html#associatedtype.RewardRemainder).
|
||||
//! [`Config::RewardRemainder`].
|
||||
//!
|
||||
//! ### Reward Calculation
|
||||
//!
|
||||
@@ -198,29 +198,28 @@
|
||||
//!
|
||||
//! Total reward is split among validators and their nominators depending on the number of points
|
||||
//! they received during the era. Points are added to a validator using
|
||||
//! [`reward_by_ids`](./enum.Call.html#variant.reward_by_ids) or
|
||||
//! [`reward_by_indices`](./enum.Call.html#variant.reward_by_indices).
|
||||
//! [`reward_by_ids`](Module::reward_by_ids).
|
||||
//!
|
||||
//! [`Module`](./struct.Module.html) implements
|
||||
//! [`pallet_authorship::EventHandler`](../pallet_authorship/trait.EventHandler.html) to add reward
|
||||
//! [`Module`] implements
|
||||
//! [`pallet_authorship::EventHandler`] to add reward
|
||||
//! points to block producer and block producer of referenced uncles.
|
||||
//!
|
||||
//! The validator and its nominator split their reward as following:
|
||||
//!
|
||||
//! The validator can declare an amount, named
|
||||
//! [`commission`](./struct.ValidatorPrefs.html#structfield.commission), that does not get shared
|
||||
//! [`commission`](ValidatorPrefs::commission), that does not get shared
|
||||
//! with the nominators at each reward payout through its
|
||||
//! [`ValidatorPrefs`](./struct.ValidatorPrefs.html). This value gets deducted from the total reward
|
||||
//! [`ValidatorPrefs`]. This value gets deducted from the total reward
|
||||
//! that is paid to the validator and its nominators. The remaining portion is split among the
|
||||
//! validator and all of the nominators that nominated the validator, proportional to the value
|
||||
//! staked behind this validator (_i.e._ dividing the
|
||||
//! [`own`](./struct.Exposure.html#structfield.own) or
|
||||
//! [`others`](./struct.Exposure.html#structfield.others) by
|
||||
//! [`total`](./struct.Exposure.html#structfield.total) in [`Exposure`](./struct.Exposure.html)).
|
||||
//! [`own`](Exposure::own) or
|
||||
//! [`others`](Exposure::others) by
|
||||
//! [`total`](Exposure::total) in [`Exposure`]).
|
||||
//!
|
||||
//! All entities who receive a reward have the option to choose their reward destination through the
|
||||
//! [`Payee`](./struct.Payee.html) storage item (see
|
||||
//! [`set_payee`](enum.Call.html#variant.set_payee)), to be one of the following:
|
||||
//! [`Payee`] storage item (see
|
||||
//! [`set_payee`](Call::set_payee)), to be one of the following:
|
||||
//!
|
||||
//! - Controller account, (obviously) not increasing the staked value.
|
||||
//! - Stash account, not increasing the staked value.
|
||||
@@ -231,15 +230,15 @@
|
||||
//! Any funds already placed into stash can be the target of the following operations:
|
||||
//!
|
||||
//! The controller account can free a portion (or all) of the funds using the
|
||||
//! [`unbond`](enum.Call.html#variant.unbond) call. Note that the funds are not immediately
|
||||
//! [`unbond`](Call::unbond) call. Note that the funds are not immediately
|
||||
//! accessible. Instead, a duration denoted by
|
||||
//! [`BondingDuration`](./trait.Config.html#associatedtype.BondingDuration) (in number of eras) must
|
||||
//! [`Config::BondingDuration`] (in number of eras) must
|
||||
//! pass until the funds can actually be removed. Once the `BondingDuration` is over, the
|
||||
//! [`withdraw_unbonded`](./enum.Call.html#variant.withdraw_unbonded) call can be used to actually
|
||||
//! [`withdraw_unbonded`](Call::withdraw_unbonded) call can be used to actually
|
||||
//! withdraw the funds.
|
||||
//!
|
||||
//! Note that there is a limitation to the number of fund-chunks that can be scheduled to be
|
||||
//! unlocked in the future via [`unbond`](enum.Call.html#variant.unbond). In case this maximum
|
||||
//! unlocked in the future via [`unbond`](Call::unbond). In case this maximum
|
||||
//! (`MAX_UNLOCKING_CHUNKS`) is reached, the bonded account _must_ first wait until a successful
|
||||
//! call to `withdraw_unbonded` to remove some of the chunks.
|
||||
//!
|
||||
@@ -256,7 +255,7 @@
|
||||
//!
|
||||
//! ## GenesisConfig
|
||||
//!
|
||||
//! The Staking module depends on the [`GenesisConfig`](./struct.GenesisConfig.html). The
|
||||
//! The Staking module depends on the [`GenesisConfig`]. The
|
||||
//! `GenesisConfig` is optional and allow to set some initial stakers.
|
||||
//!
|
||||
//! ## Related Modules
|
||||
@@ -2471,7 +2470,6 @@ impl<T: Config> Module<T> {
|
||||
/// relatively to their points.
|
||||
///
|
||||
/// COMPLEXITY: Complexity is `number_of_validator_to_reward x current_elected_len`.
|
||||
/// If you need to reward lots of validator consider using `reward_by_indices`.
|
||||
pub fn reward_by_ids(
|
||||
validators_points: impl IntoIterator<Item = (T::AccountId, u32)>
|
||||
) {
|
||||
|
||||
Reference in New Issue
Block a user