pub trait Config: Config + StakingBenchmarkConfig {
Show 27 associated items type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>; type StakingReservesProvider: StakingReservesProviderTrait<Self::AccountId, BalanceOf<Self>, CurrencyIdOf<Self>>; type Currency: MultiTokenCurrency<Self::AccountId> + MultiTokenReservableCurrency<Self::AccountId> + MultiTokenCurrencyExtended<Self::AccountId>; type MonetaryGovernanceOrigin: EnsureOrigin<Self::RuntimeOrigin>; type BlocksPerRound: Get<u32>; type LeaveCandidatesDelay: Get<u32>; type CandidateBondDelay: Get<u32>; type LeaveDelegatorsDelay: Get<u32>; type RevokeDelegationDelay: Get<u32>; type DelegationBondDelay: Get<u32>; type RewardPaymentDelay: Get<u32>; type MinSelectedCandidates: Get<u32>; type MaxCollatorCandidates: Get<u32>; type MaxTotalDelegatorsPerCandidate: Get<u32>; type MaxDelegatorsPerCandidate: Get<u32>; type DefaultPayoutLimit: Get<u32>; type MaxDelegationsPerDelegator: Get<u32>; type DefaultCollatorCommission: Get<Perbill>; type MinCollatorStk: Get<BalanceOf<Self>>; type MinCandidateStk: Get<BalanceOf<Self>>; type MinDelegation: Get<BalanceOf<Self>>; type NativeTokenId: Get<CurrencyIdOf<Self>>; type StakingLiquidityTokenValuator: Valuate<BalanceOf<Self>, CurrencyIdOf<Self>>; type Issuance: ComputeIssuance + GetIssuance<BalanceOf<Self>>; type StakingIssuanceVault: Get<Self::AccountId>; type FallbackProvider: GetMembers<Self::AccountId>; type WeightInfo: WeightInfo;
}
Expand description

Configuration trait of this pallet.

The main purpose of this trait is to act as an interface between this pallet and the runtime in which it is embedded in. A type, function, or constant in this trait is essentially left to be configured by the runtime that includes this pallet.

Consequently, a runtime that wants to include this pallet must implement this trait. Configuration trait of this pallet.

Required Associated Types§

source

type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>

Overarching event type

source

type StakingReservesProvider: StakingReservesProviderTrait<Self::AccountId, BalanceOf<Self>, CurrencyIdOf<Self>>

Multipurpose-liquidity

source

type Currency: MultiTokenCurrency<Self::AccountId> + MultiTokenReservableCurrency<Self::AccountId> + MultiTokenCurrencyExtended<Self::AccountId>

The currency type

source

type MonetaryGovernanceOrigin: EnsureOrigin<Self::RuntimeOrigin>

The origin for monetary governance

source

type BlocksPerRound: Get<u32>

Default number of blocks per round at genesis

source

type LeaveCandidatesDelay: Get<u32>

Number of rounds that candidates remain bonded before exit request is executable

source

type CandidateBondDelay: Get<u32>

Number of rounds that candidate requests to adjust self-bond must wait to be executable

source

type LeaveDelegatorsDelay: Get<u32>

Number of rounds that delegators remain bonded before exit request is executable

source

type RevokeDelegationDelay: Get<u32>

Number of rounds that delegations remain bonded before revocation request is executable

source

type DelegationBondDelay: Get<u32>

Number of rounds that delegation {more, less} requests must wait before executable

source

type RewardPaymentDelay: Get<u32>

Number of rounds after which block authors are rewarded

source

type MinSelectedCandidates: Get<u32>

Minimum number of selected candidates every round

source

type MaxCollatorCandidates: Get<u32>

Maximum collator candidates allowed

source

type MaxTotalDelegatorsPerCandidate: Get<u32>

Maximum delegators allowed per candidate

source

type MaxDelegatorsPerCandidate: Get<u32>

Maximum delegators counted per candidate

source

type DefaultPayoutLimit: Get<u32>

source

type MaxDelegationsPerDelegator: Get<u32>

Maximum delegations per delegator

source

type DefaultCollatorCommission: Get<Perbill>

Default commission due to collators, is CollatorCommission storage value in genesis

source

type MinCollatorStk: Get<BalanceOf<Self>>

Minimum stake required for any candidate to be in SelectedCandidates for the round

source

type MinCandidateStk: Get<BalanceOf<Self>>

Minimum stake required for any account to be a collator candidate

source

type MinDelegation: Get<BalanceOf<Self>>

Minimum stake for any registered on-chain account to delegate

source

type NativeTokenId: Get<CurrencyIdOf<Self>>

The native token used for payouts

source

type StakingLiquidityTokenValuator: Valuate<BalanceOf<Self>, CurrencyIdOf<Self>>

The valuator for our staking liquidity tokens, i.e., XYK This should never return (_, Zero::zero())

source

type Issuance: ComputeIssuance + GetIssuance<BalanceOf<Self>>

The module used for computing and getting issuance

source

type StakingIssuanceVault: Get<Self::AccountId>

The account id that holds the liquidity mining issuance

source

type FallbackProvider: GetMembers<Self::AccountId>

The module that provides the set of fallback accounts

source

type WeightInfo: WeightInfo

Weight information for extrinsics in this pallet.

Implementors§