pub trait Config: Config {
Show 17 associated items type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>; type PalletId: Get<LockIdentifier>; type Currency: LockableCurrency<Self::AccountId, Moment = Self::BlockNumber> + ReservableCurrency<Self::AccountId>; type ChangeMembers: ChangeMembers<Self::AccountId>; type InitializeMembers: InitializeMembers<Self::AccountId>; type CurrencyToVote: CurrencyToVote<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::Balance>; type CandidacyBond: Get<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::Balance>; type VotingBondBase: Get<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::Balance>; type VotingBondFactor: Get<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::Balance>; type LoserCandidate: OnUnbalanced<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::NegativeImbalance>; type KickedMember: OnUnbalanced<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::NegativeImbalance>; type DesiredMembers: Get<u32>; type DesiredRunnersUp: Get<u32>; type TermDuration: Get<Self::BlockNumber>; type MaxCandidates: Get<u32>; type MaxVoters: Get<u32>; type WeightInfo: WeightInfo;
}
Expand description

Configuration trait of this pallet.

Implement this type for a runtime in order to customize this pallet.

Required Associated Types§

source

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

source

type PalletId: Get<LockIdentifier>

Identifier for the elections-phragmen pallet’s lock

source

type Currency: LockableCurrency<Self::AccountId, Moment = Self::BlockNumber> + ReservableCurrency<Self::AccountId>

The currency that people are electing with.

source

type ChangeMembers: ChangeMembers<Self::AccountId>

What to do when the members change.

source

type InitializeMembers: InitializeMembers<Self::AccountId>

What to do with genesis members

source

type CurrencyToVote: CurrencyToVote<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::Balance>

Convert a balance into a number used for election calculation. This must fit into a u64 but is allowed to be sensibly lossy.

source

type CandidacyBond: Get<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::Balance>

How much should be locked up in order to submit one’s candidacy.

source

type VotingBondBase: Get<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::Balance>

Base deposit associated with voting.

This should be sensibly high to economically ensure the pallet cannot be attacked by creating a gigantic number of votes.

source

type VotingBondFactor: Get<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::Balance>

The amount of bond that need to be locked for each vote (32 bytes).

source

type LoserCandidate: OnUnbalanced<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::NegativeImbalance>

Handler for the unbalanced reduction when a candidate has lost (and is not a runner-up)

source

type KickedMember: OnUnbalanced<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::NegativeImbalance>

Handler for the unbalanced reduction when a member has been kicked.

source

type DesiredMembers: Get<u32>

Number of members to elect.

source

type DesiredRunnersUp: Get<u32>

Number of runners_up to keep.

source

type TermDuration: Get<Self::BlockNumber>

How long each seat is kept. This defines the next block number at which an election round will happen. If set to zero, no elections are ever triggered and the module will be in passive mode.

source

type MaxCandidates: Get<u32>

The maximum number of candidates in a phragmen election.

Warning: The election happens onchain, and this value will determine the size of the election. When this limit is reached no more candidates are accepted in the election.

source

type MaxVoters: Get<u32>

The maximum number of voters to allow in a phragmen election.

Warning: This impacts the size of the election which is run onchain. When the limit is reached the new voters are ignored.

source

type WeightInfo: WeightInfo

Weight information for extrinsics in this pallet.

Implementors§