Trait pallet_alliance::pallet::Config

source ·
pub trait Config<I: 'static = ()>: Config {
Show 21 associated items type RuntimeEvent: From<Event<Self, I>> + IsType<<Self as Config>::RuntimeEvent>; type Proposal: Parameter + Dispatchable<RuntimeOrigin = Self::RuntimeOrigin, PostInfo = PostDispatchInfo> + From<Call<Self>> + From<Call<Self, I>> + GetDispatchInfo + IsSubType<Call<Self, I>> + IsType<<Self as Config>::RuntimeCall>; type AdminOrigin: EnsureOrigin<Self::RuntimeOrigin>; type MembershipManager: EnsureOrigin<Self::RuntimeOrigin>; type AnnouncementOrigin: EnsureOrigin<Self::RuntimeOrigin>; type Currency: ReservableCurrency<Self::AccountId>; type Slashed: OnUnbalanced<<<Self as Config<I>>::Currency as Currency<<Self as Config>::AccountId>>::NegativeImbalance>; type InitializeMembers: InitializeMembers<Self::AccountId>; type MembershipChanged: ChangeMembers<Self::AccountId>; type IdentityVerifier: IdentityVerifier<Self::AccountId>; type ProposalProvider: ProposalProvider<Self::AccountId, Self::Hash, Self::Proposal>; type MaxProposals: Get<ProposalIndex>; type MaxFellows: Get<u32>; type MaxAllies: Get<u32>; type MaxUnscrupulousItems: Get<u32>; type MaxWebsiteUrlLength: Get<u32>; type AllyDeposit: Get<<<Self as Config<I>>::Currency as Currency<<Self as Config>::AccountId>>::Balance>; type MaxAnnouncementsCount: Get<u32>; type MaxMembersCount: Get<u32>; type WeightInfo: WeightInfo; type RetirementPeriod: Get<BlockNumberFor<Self>>;
}
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, I>> + IsType<<Self as Config>::RuntimeEvent>

The overarching event type.

source

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

The runtime call dispatch type.

source

type AdminOrigin: EnsureOrigin<Self::RuntimeOrigin>

Origin for admin-level operations, like setting the Alliance’s rules.

source

type MembershipManager: EnsureOrigin<Self::RuntimeOrigin>

Origin that manages entry and forcible discharge from the Alliance.

source

type AnnouncementOrigin: EnsureOrigin<Self::RuntimeOrigin>

Origin for making announcements and adding/removing unscrupulous items.

source

type Currency: ReservableCurrency<Self::AccountId>

The currency used for deposits.

source

type Slashed: OnUnbalanced<<<Self as Config<I>>::Currency as Currency<<Self as Config>::AccountId>>::NegativeImbalance>

What to do with slashed funds.

source

type InitializeMembers: InitializeMembers<Self::AccountId>

What to do with initial voting members of the Alliance.

source

type MembershipChanged: ChangeMembers<Self::AccountId>

What to do when a member has been added or removed.

source

type IdentityVerifier: IdentityVerifier<Self::AccountId>

The identity verifier of an Alliance member.

source

type ProposalProvider: ProposalProvider<Self::AccountId, Self::Hash, Self::Proposal>

The provider of the proposal operation.

source

type MaxProposals: Get<ProposalIndex>

Maximum number of proposals allowed to be active in parallel.

source

type MaxFellows: Get<u32>

The maximum number of Fellows 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 dependencies keep to the limit without enforcing it.
source

type MaxAllies: Get<u32>

The maximum number of Allies 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 dependencies keep to the limit without enforcing it.
source

type MaxUnscrupulousItems: Get<u32>

The maximum number of the unscrupulous items supported by the pallet.

source

type MaxWebsiteUrlLength: Get<u32>

The maximum length of a website URL.

source

type AllyDeposit: Get<<<Self as Config<I>>::Currency as Currency<<Self as Config>::AccountId>>::Balance>

The deposit required for submitting candidacy.

source

type MaxAnnouncementsCount: Get<u32>

The maximum number of announcements.

source

type MaxMembersCount: Get<u32>

The maximum number of members per member role.

source

type WeightInfo: WeightInfo

Weight information for extrinsics in this pallet.

source

type RetirementPeriod: Get<BlockNumberFor<Self>>

The number of blocks a member must wait between giving a retirement notice and retiring. Supposed to be greater than time required to kick_member.

Object Safety§

This trait is not object safe.

Implementors§