referrerpolicy=no-referrer-when-downgrade

Trait pallet_staking::DefaultConfig

source ·
pub trait DefaultConfig: DefaultConfig {
Show 20 associated items type CurrencyBalance: AtLeast32BitUnsigned + FullCodec + Copy + MaybeSerializeDeserialize + Debug + Default + From<u64> + TypeInfo + MaxEncodedLen; type CurrencyToVote; type NominationsQuota; type HistoryDepth: Get<u32>; type RewardRemainder; type RuntimeEvent; type Slash; type Reward; type SessionsPerEra: Get<SessionIndex>; type BondingDuration: Get<EraIndex>; type SlashDeferDuration: Get<EraIndex>; type SessionInterface: SessionInterface<Self::AccountId>; type NextNewSession; type MaxExposurePageSize: Get<u32>; type MaxUnlockingChunks: Get<u32>; type MaxControllersInDeprecationBatch: Get<u32>; type EventListeners; type DisablingStrategy; type BenchmarkingConfig: BenchmarkingConfig; type WeightInfo: WeightInfo;
}
Expand description

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.

See here for more information and caveats about the auto-generated DefaultConfig trait and how it is generated.

Required Associated Types§

source

type CurrencyBalance: AtLeast32BitUnsigned + FullCodec + Copy + MaybeSerializeDeserialize + Debug + Default + From<u64> + TypeInfo + MaxEncodedLen

Just the Currency::Balance type; we have this item to allow us to constrain it to From<u64>.

source

type CurrencyToVote

Convert a balance into a number used for election calculation. This must fit into a u64 but is allowed to be sensibly lossy. The u64 is used to communicate with the [frame_election_provider_support] crate which accepts u64 numbers and does operations in 128. Consequently, the backward convert is used convert the u128s from sp-elections back to a BalanceOf.

source

type NominationsQuota

Something that defines the maximum number of nominations per nominator.

source

type HistoryDepth: Get<u32>

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_depth must 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: HistoryDepth is used as the upper bound for the BoundedVec item StakingLedger.legacy_claimed_rewards. Setting this value lower than the existing value can lead to inconsistencies in the StakingLedger and will need to be handled properly in a migration. The test reducing_history_depth_abrupt shows this effect.

source

type RewardRemainder

Tokens have been minted and are unused for validator-reward. See Era payout.

source

type RuntimeEvent

The overarching event type.

source

type Slash

Handler for the unbalanced reduction when slashing a staker.

source

type Reward

Handler for the unbalanced increment when rewarding a staker. NOTE: in most cases, the implementation of OnUnbalanced should modify the total issuance.

source

type SessionsPerEra: Get<SessionIndex>

Number of sessions per era.

source

type BondingDuration: Get<EraIndex>

Number of eras that staked funds must remain bonded for.

source

type SlashDeferDuration: Get<EraIndex>

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.

source

type SessionInterface: SessionInterface<Self::AccountId>

Interface for interacting with a session pallet.

source

type NextNewSession

Something that can estimate the next session change, accurately or as a best effort guess.

source

type MaxExposurePageSize: Get<u32>

The maximum size of each T::ExposurePage.

An ExposurePage is weakly bounded to a maximum of MaxExposurePageSize nominators.

For older non-paged exposure, a reward payout was restricted to the top MaxExposurePageSize nominators. This is to limit the i/o cost for the nominator payout.

Note: MaxExposurePageSize is used to bound ClaimedRewards and is unsafe to reduce without handling it in a migration.

source

type MaxUnlockingChunks: Get<u32>

The maximum number of unlocking chunks a StakingLedger can have. Effectively determines how many unique eras a staker may be unbonding in.

Note: MaxUnlockingChunks is used as the upper bound for the BoundedVec item StakingLedger.unlocking. Setting this value lower than the existing value can lead to inconsistencies in the StakingLedger and will need to be handled properly in a runtime migration. The test reducing_max_unlocking_chunks_abrupt shows this effect.

source

type MaxControllersInDeprecationBatch: Get<u32>

The maximum amount of controller accounts that can be deprecated in one call.

source

type EventListeners

Something that listens to staking updates and performs actions based on the data it receives.

WARNING: this only reports slashing and withdraw events for the time being.

source

type DisablingStrategy

DisablingStragegy controls how validators are disabled

source

type BenchmarkingConfig: BenchmarkingConfig

Some parameters of the benchmarking.

source

type WeightInfo: WeightInfo

Weight information for extrinsics in this pallet.

Object Safety§

This trait is not object safe.

Implementors§