Trait pallet_staking::Config [−][src]
pub trait Config: Config + SendTransactionTypes<Call<Self>> {
Show 21 associated items
type Currency: LockableCurrency<Self::AccountId, Moment = Self::BlockNumber>;
type UnixTime: UnixTime;
type CurrencyToVote: CurrencyToVote<BalanceOf<Self>>;
type ElectionProvider: ElectionProvider<Self::AccountId, Self::BlockNumber, DataProvider = Pallet<Self>>;
type GenesisElectionProvider: ElectionProvider<Self::AccountId, Self::BlockNumber, DataProvider = Pallet<Self>>;
type RewardRemainder: OnUnbalanced<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::NegativeImbalance>;
type Event: From<Event<Self>> + IsType<<Self as Config>::Event>;
type Slash: OnUnbalanced<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::NegativeImbalance>;
type Reward: OnUnbalanced<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::PositiveImbalance>;
type SessionsPerEra: Get<SessionIndex>;
type BondingDuration: Get<EraIndex>;
type SlashDeferDuration: Get<EraIndex>;
type SlashCancelOrigin: EnsureOrigin<Self::Origin>;
type SessionInterface: SessionInterface<Self::AccountId>;
type EraPayout: EraPayout<BalanceOf<Self>>;
type NextNewSession: EstimateNextNewSession<Self::BlockNumber>;
type MaxNominatorRewardedPerValidator: Get<u32>;
type OffendingValidatorsThreshold: Get<Perbill>;
type SortedListProvider: SortedListProvider<Self::AccountId>;
type WeightInfo: WeightInfo;
const MAX_NOMINATIONS: u32;
}
Expand description
Configuration trait of this pallet.
Implement this type for a runtime in order to customize this pallet.
Associated Types
type Currency: LockableCurrency<Self::AccountId, Moment = Self::BlockNumber>
type Currency: LockableCurrency<Self::AccountId, Moment = Self::BlockNumber>
The staking balance.
Time used for computing era duration.
It is guaranteed to start being called from the first on_finalize
. Thus value at
genesis is not used.
type CurrencyToVote: CurrencyToVote<BalanceOf<Self>>
type CurrencyToVote: CurrencyToVote<BalanceOf<Self>>
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
.
type ElectionProvider: ElectionProvider<Self::AccountId, Self::BlockNumber, DataProvider = Pallet<Self>>
type ElectionProvider: ElectionProvider<Self::AccountId, Self::BlockNumber, DataProvider = Pallet<Self>>
Something that provides the election functionality.
type GenesisElectionProvider: ElectionProvider<Self::AccountId, Self::BlockNumber, DataProvider = Pallet<Self>>
type GenesisElectionProvider: ElectionProvider<Self::AccountId, Self::BlockNumber, DataProvider = Pallet<Self>>
Something that provides the election functionality at genesis.
type RewardRemainder: OnUnbalanced<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::NegativeImbalance>
type RewardRemainder: OnUnbalanced<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::NegativeImbalance>
Tokens have been minted and are unused for validator-reward. See Era payout.
type Slash: OnUnbalanced<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::NegativeImbalance>
type Slash: OnUnbalanced<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::NegativeImbalance>
Handler for the unbalanced reduction when slashing a staker.
type Reward: OnUnbalanced<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::PositiveImbalance>
type Reward: OnUnbalanced<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::PositiveImbalance>
Handler for the unbalanced increment when rewarding a staker.
type SessionsPerEra: Get<SessionIndex>
type SessionsPerEra: Get<SessionIndex>
Number of sessions per era.
type BondingDuration: Get<EraIndex>
type BondingDuration: Get<EraIndex>
Number of eras that staked funds must remain bonded for.
type 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.
type SlashCancelOrigin: EnsureOrigin<Self::Origin>
type SlashCancelOrigin: EnsureOrigin<Self::Origin>
The origin which can cancel a deferred slash. Root can always do this.
type SessionInterface: SessionInterface<Self::AccountId>
type SessionInterface: SessionInterface<Self::AccountId>
Interface for interacting with a session pallet.
The payout for validators and the system for the current era. See Era payout.
type NextNewSession: EstimateNextNewSession<Self::BlockNumber>
type NextNewSession: EstimateNextNewSession<Self::BlockNumber>
Something that can estimate the next session change, accurately or as a best effort guess.
The maximum number of nominators rewarded for each validator.
For each validator only the $MaxNominatorRewardedPerValidator
biggest stakers can
claim their reward. This used to limit the i/o cost for the nominator payout.
The fraction of the validator set that is safe to be offending. After the threshold is reached a new era will be forced.
type SortedListProvider: SortedListProvider<Self::AccountId>
type SortedListProvider: SortedListProvider<Self::AccountId>
Something that can provide a sorted list of voters in a somewhat sorted way. The
original use case for this was designed with pallet_bags_list::Pallet
in mind. If
the bags-list is not desired, impls::UseNominatorsMap
is likely the desired option.
type WeightInfo: WeightInfo
type WeightInfo: WeightInfo
Weight information for extrinsics in this pallet.
Associated Constants
const MAX_NOMINATIONS: u32
const MAX_NOMINATIONS: u32
Maximum number of nominations per nominator.