referrerpolicy=no-referrer-when-downgrade

Crate pallet_staking_async

Source
Expand description

§Staking Async Pallet

This pallet is a fork of the original pallet-staking, with a number of key differences:

  • It no longer has access to a secure timestamp, previously used to calculate the duration of an era.
  • It no longer has access to a pallet-session.
  • It no longer has access to a pallet-authorship.
  • It is capable of working with a multi-page ElectionProvider``, aka. pallet-election-provider-multi-block`.

While pallet-staking was somewhat general-purpose, this pallet is absolutely NOT right from the get-go: It is designed to be used ONLY in Polkadot/Kusama AssetHub system parachains.

The workings of this pallet can be divided into a number of subsystems, as follows.

§User Interactions

TODO

§Session and Era Rotation

TODO

§Exposure Collection

TODO

§Slashing of Validators and Exposures

TODO

Re-exports§

pub use weights::WeightInfo;
pub use ledger::StakingLedger;
pub use ledger::UnlockChunk;

Modules§

asset
Contains all the interactions with Config::Currency to manipulate the underlying staking asset.
benchmarking
Staking pallet benchmarking.
config_preludes
Default implementations of DefaultConfig, which can be used to implement Config.
dispatchables
Auto-generated docs-only module listing all defined dispatchables for this pallet.
election_size_tracker
A static size tracker for the election snapshot data.
ledger
A Ledger implementation for stakers.
session_rotation
Manages all era rotation logic based on session increments.
slashing
A slashing implementation for NPoS systems.
storage_types
Auto-generated docs-only module listing all (public and private) defined storage types for this pallet.
testing_utils
Testing utils for staking. Provides some common functions to setup staking state, such as bonding validators, nominators, and generating different types of solutions.
weights
Autogenerated weights for pallet_staking_async

Macros§

log

Structs§

ActiveEraInfo
Information regarding the active era (era in used in session).
AllStakers
A utility struct that provides a way to check if a given account is a staker.
BondedErasBound
Custom bound for BondedEras which is equal to Config::BondingDuration + 1.
BoundedExposurePage
A bounded wrapper for [sp_staking::ExposurePage].
ClaimedRewardsBound
EraRewardPoints
Reward points of an era. Used to split era total payout between validators.
Exposure
A snapshot of the stake backing a single validator in the system.
FixedNominationsQuota
A nomination quota that allows up to MAX nominations for all validators.
GenesisConfig
Can be used to configure the genesis state of this pallet.
IndividualExposure
The amount of exposure for an era that an individual nominator has (susceptible to slashing).
Nominations
A record of the nominations made by a specific account.
PagedExposure
Facade struct to encapsulate PagedExposureMetadata and a single page of ExposurePage.
Pallet
The Pallet struct, the main type that implements traits and standalone functions within the pallet.
PlanningEraOffsetOf
A smart type to determine the Config::PlanningEraOffset, given:
UnappliedSlash
A pending slash record. The value of the slash has been computed but not applied yet, rather deferred for several eras.
UseNominatorsAndValidatorsMap
A simple voter list implementation that does not require any additional pallets. Note, this does not provided nominators in sorted ordered. If you desire nominators in a sorted order take a look at [`pallet-bags-list].
UseValidatorsMap
A simple sorted list implementation that does not require any additional pallets. Note, this does not provide validators in sorted order. If you desire nominators in a sorted order take a look at [pallet-bags-list].
ValidatorPrefs
Preference of what happens regarding validation.

Enums§

Call
Contains a variant per dispatchable extrinsic that this pallet has.
ConfigOp
Possible operations on the configuration values of this pallet.
Error
The Error enum of this pallet.
Event
The Event enum of this pallet
Forcing
Mode of era-forcing.
HoldReason
A reason for placing a hold on funds.
RewardDestination
A destination account for payment.
SnapshotStatus
Status of a paged snapshot progress.
StakerStatus
Representation of the status of a staker.
UnexpectedKind
Represents unexpected or invariant-breaking conditions encountered during execution.

Traits§

Config
Configuration trait of this pallet.
DefaultConfig
Based on Config. Auto-generated by #[pallet::config(with_default)]. Can be used in tandem with #[register_default_config] and #[derive_impl] to derive test config traits based on existing pallet config traits in a safe and developer-friendly way.
EraPayout
Handler for determining how much of a balance should be paid out on the current era.
NominationsQuota
Something that defines the maximum number of nominations per nominator based on a curve.

Type Aliases§

ActiveEra
The active era information, it holds index and start.
BalanceOf
The balance type of this pallet.
Bonded
Map from all locked “stash” accounts to the controller account.
BondedEras
A mapping from still-bonded eras to the first session index of that era.
BoundedExposuresOf
Alias for a bounded set of exposures behind a validator, parameterized by this pallet’s election provider.
CanceledSlashPayout
The amount of currency given to reporters of a slash event which was canceled by extraordinary circumstances (e.g. governance).
ChillThreshold
The threshold for when users can start calling chill_other for other validators / nominators. The threshold is compared to the actual number of validators / nominators (CountFor*) in the system compared to the configured max (Max*Count).
ClaimedRewards
History of claimed paged rewards by era and validator.
CurrentEra
The current planned era index.
ElectableStashes
A bounded list of the “electable” stashes that resulted from a successful election.
ErasRewardPoints
Rewards for the last Config::HistoryDepth eras. If reward hasn’t been set or has been removed then 0 reward is returned.
ErasStakersOverview
Summary of validator exposure at a given era.
ErasStakersPaged
Paginated exposure of a validator at given era.
ErasTotalStake
The total amount staked for the last Config::HistoryDepth eras. If total hasn’t been set or has been removed then 0 stake is returned.
ErasValidatorPrefs
Exposure of validator at era with the preferences of validators.
ErasValidatorReward
The total validator era payout for the last Config::HistoryDepth eras.
ForceEra
Mode of era forcing.
Invulnerables
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.
Ledger
Map from all (unlocked) “controller” accounts to the info regarding the staking.
MaxNominationsOf
Maximum number of nominations per nominator.
MaxNominatorsCount
The maximum nominator count before we stop allowing new validators to join.
MaxStakedRewards
Maximum staked rewards, i.e. the percentage of the era inflation that is used for stake rewards. See Era payout.
MaxValidatorsCount
The maximum validator count before we stop allowing new validators to join.
MaxWinnersOf
Alias for the maximum number of winners (aka. active validators), as defined in by this pallet’s config.
MaxWinnersPerPageOf
Alias for the maximum number of winners per page, as expected by the election provider.
MinCommission
The minimum amount of commission that validators can set.
MinNominatorBond
The minimum active bond to become and maintain the role of a nominator.
MinValidatorBond
The minimum active bond to become and maintain the role of a validator.
MinimumActiveStake
The minimum active nominator stake of the last successful election.
ModuleDeprecated
Type alias to Pallet, to be used by construct_runtime.
NegativeImbalanceOf
NextElectionPage
Keeps track of an ongoing multi-page election solution request.
Nominators
The map from nominator stash key to their nomination preferences, namely the validators that they wish to support.
OffenceQueue
Stores reported offences in a queue until they are processed in subsequent blocks.
OffenceQueueEras
Tracks the eras that contain offences in OffenceQueue, sorted from earliest to latest.
Payee
Where the reward payment should be made. Keyed by stash.
ProcessingOffence
Tracks the currently processed offence record from the OffenceQueue.
RewardPoint
Counter for the number of “reward” points earned by a given validator.
SlashRewardFraction
The percentage of the slash that is distributed to reporters.
UnappliedSlashes
All unapplied slashes that are queued for later.
ValidatorCount
The ideal number of active validators.
ValidatorSlashInEra
All slashing events on validators, mapped by era to the highest slash proportion and slash value of the era.
Validators
The map from (wannabe) validator stash key to the preferences of that validator.
VirtualStakers
Stakers whose funds are managed by other pallets.
VoterSnapshotStatus
Voter snapshot progress status.