pub trait Config: Config {
    type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>;
    type DataProvider: ElectionDataProvider<AccountId = Self::AccountId, BlockNumber = BlockNumberFor<Self>>;
    type ValidatorProvider: ValidatorProvider<AccountId = Self::AccountId>;
    type MaxWinners: Get<u32>;
    type BannedValidators: BannedValidators<AccountId = Self::AccountId>;
}
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.

Required Associated Types§

source

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

source

type DataProvider: ElectionDataProvider<AccountId = Self::AccountId, BlockNumber = BlockNumberFor<Self>>

Something that provides data for elections.

source

type ValidatorProvider: ValidatorProvider<AccountId = Self::AccountId>

source

type MaxWinners: Get<u32>

The maximum number of winners that can be elected by this ElectionProvider implementation.

Note: This must always be greater or equal to T::DataProvider::desired_targets().

source

type BannedValidators: BannedValidators<AccountId = Self::AccountId>

Object Safety§

This trait is not object safe.

Implementors§