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§
sourcetype CurrencyBalance: AtLeast32BitUnsigned + FullCodec + Copy + MaybeSerializeDeserialize + Debug + Default + From<u64> + TypeInfo + MaxEncodedLen
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>
.
sourcetype CurrencyToVote
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
.
sourcetype NominationsQuota
type NominationsQuota
Something that defines the maximum number of nominations per nominator.
sourcetype HistoryDepth: Get<u32>
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.
sourcetype RewardRemainder
type RewardRemainder
Tokens have been minted and are unused for validator-reward. See Era payout.
sourcetype RuntimeEvent
type RuntimeEvent
The overarching event type.
sourcetype Reward
type Reward
Handler for the unbalanced increment when rewarding a staker.
NOTE: in most cases, the implementation of OnUnbalanced
should modify the total
issuance.
sourcetype SessionsPerEra: Get<SessionIndex>
type SessionsPerEra: Get<SessionIndex>
Number of sessions per era.
sourcetype BondingDuration: Get<EraIndex>
type BondingDuration: Get<EraIndex>
Number of eras that staked funds must remain bonded for.
sourcetype SlashDeferDuration: Get<EraIndex>
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.
sourcetype SessionInterface: SessionInterface<Self::AccountId>
type SessionInterface: SessionInterface<Self::AccountId>
Interface for interacting with a session pallet.
sourcetype NextNewSession
type NextNewSession
Something that can estimate the next session change, accurately or as a best effort guess.
sourcetype MaxExposurePageSize: Get<u32>
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.
sourcetype MaxUnlockingChunks: Get<u32>
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.
sourcetype MaxControllersInDeprecationBatch: Get<u32>
type MaxControllersInDeprecationBatch: Get<u32>
The maximum amount of controller accounts that can be deprecated in one call.
sourcetype EventListeners
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.
sourcetype DisablingStrategy
type DisablingStrategy
DisablingStragegy
controls how validators are disabled
sourcetype BenchmarkingConfig: BenchmarkingConfig
type BenchmarkingConfig: BenchmarkingConfig
Some parameters of the benchmarking.
sourcetype WeightInfo: WeightInfo
type WeightInfo: WeightInfo
Weight information for extrinsics in this pallet.