pub trait Config<I: 'static = ()>: Config {
    type RuntimeOrigin: From<RawOrigin<Self::AccountId, I>>;
    type Proposal: Parameter + Dispatchable<RuntimeOrigin = <Self as Config<I>>::RuntimeOrigin, PostInfo = PostDispatchInfo> + From<Call<Self>> + GetDispatchInfo;
    type RuntimeEvent: From<Event<Self, I>> + IsType<<Self as Config>::RuntimeEvent>;
    type MotionDuration: Get<BlockNumberFor<Self>>;
    type MaxProposals: Get<ProposalIndex>;
    type MaxMembers: Get<MemberCount>;
    type DefaultVote: DefaultVote;
    type WeightInfo: WeightInfo;
    type SetMembersOrigin: EnsureOrigin<<Self as Config>::RuntimeOrigin>;
    type MaxProposalWeight: Get<Weight>;
}
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 RuntimeOrigin: From<RawOrigin<Self::AccountId, I>>

The runtime origin type.

source

type Proposal: Parameter + Dispatchable<RuntimeOrigin = <Self as Config<I>>::RuntimeOrigin, PostInfo = PostDispatchInfo> + From<Call<Self>> + GetDispatchInfo

The runtime call dispatch type.

source

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

The runtime event type.

source

type MotionDuration: Get<BlockNumberFor<Self>>

The time-out for council motions.

source

type MaxProposals: Get<ProposalIndex>

Maximum number of proposals allowed to be active in parallel.

source

type MaxMembers: Get<MemberCount>

The maximum number of members supported by the pallet. Used for weight estimation.

NOTE:

  • Benchmarks will need to be re-run and weights adjusted if this changes.
  • This pallet assumes that dependents keep to the limit without enforcing it.
source

type DefaultVote: DefaultVote

Default vote strategy of this collective.

source

type WeightInfo: WeightInfo

Weight information for extrinsics in this pallet.

source

type SetMembersOrigin: EnsureOrigin<<Self as Config>::RuntimeOrigin>

Origin allowed to set collective members

source

type MaxProposalWeight: Get<Weight>

The maximum weight of a dispatch call that can be proposed and executed.

Implementors§