staking
bondingDuration: u32
interface:
staking.bondingDurationsummary: Number of eras that staked funds must remain bonded for.
historyDepth: u32
interface:
staking.historyDepthsummary: Number of eras to keep in history.
Following information is kept for eras in
[current_era - HistoryDepth, current_era]:ErasStakers,ErasStakersClipped,ErasValidatorPrefs,ErasValidatorReward,ErasRewardPoints,ErasTotalStake,ErasStartSessionIndex,ClaimedRewards,ErasStakersPaged,ErasStakersOverview.Must be more than the number of eras delayed by session. I.e. active era must always be in history. I.e.
active_era > current_era - history_depthmust be guaranteed.If migrating an existing pallet from storage value to config value, this should be set to same value or greater as in storage.
Note:
HistoryDepthis used as the upper bound for theBoundedVecitemStakingLedger.legacy_claimed_rewards. Setting this value lower than the existing value can lead to inconsistencies in theStakingLedgerand will need to be handled properly in a migration. The testreducing_history_depth_abruptshows this effect.
maxExposurePageSize: u32
interface:
staking.maxExposurePageSizesummary: The maximum size of each
T::ExposurePage.An
ExposurePageis weakly bounded to a maximum ofMaxExposurePageSizenominators.For older non-paged exposure, a reward payout was restricted to the top
MaxExposurePageSizenominators. This is to limit the i/o cost for the nominator payout.Note:
MaxExposurePageSizeis used to boundClaimedRewardsand is unsafe to reduce without handling it in a migration.
maxUnlockingChunks: u32
interface:
staking.maxUnlockingChunkssummary: The maximum number of
unlockingchunks a [StakingLedger] can have. Effectively determines how many unique eras a staker may be unbonding in.Note:
MaxUnlockingChunksis used as the upper bound for theBoundedVecitemStakingLedger.unlocking. Setting this value lower than the existing value can lead to inconsistencies in theStakingLedgerand will need to be handled properly in a runtime migration. The testreducing_max_unlocking_chunks_abruptshows this effect.
sessionsPerEra: u32
interface:
staking.sessionsPerErasummary: Number of sessions per era.
slashDeferDuration: u32
interface:
staking.slashDeferDurationsummary: Number of eras that slashes are deferred by, after computation.
This should be less than the bonding duration. Set to 0 if slashes should be applied immediately, without opportunity for intervention.