pub trait Config: Config {
    type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>;
    type RuntimeCall: Parameter + Dispatchable<RuntimeOrigin = Self::RuntimeOrigin> + GetDispatchInfo + From<Call<Self>> + IsSubType<Call<Self>> + IsType<<Self as Config>::RuntimeCall>;
    type Currency: ReservableCurrency<Self::AccountId>;
    type ProxyType: Parameter + Member + Ord + PartialOrd + InstanceFilter<<Self as Config>::RuntimeCall> + Default + MaxEncodedLen;
    type ProxyDepositBase: Get<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::Balance>;
    type ProxyDepositFactor: Get<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::Balance>;
    type MaxProxies: Get<u32>;
    type WeightInfo: WeightInfo;
    type MaxPending: Get<u32>;
    type CallHasher: Hash;
    type AnnouncementDepositBase: Get<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::Balance>;
    type AnnouncementDepositFactor: Get<<<Self as Config>::Currency as Currency<<Self as Config>::AccountId>>::Balance>;
}
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.

Required Associated Types§

source

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

The overarching event type.

source

type RuntimeCall: Parameter + Dispatchable<RuntimeOrigin = Self::RuntimeOrigin> + GetDispatchInfo + From<Call<Self>> + IsSubType<Call<Self>> + IsType<<Self as Config>::RuntimeCall>

The overarching call type.

source

type Currency: ReservableCurrency<Self::AccountId>

The currency mechanism.

source

type ProxyType: Parameter + Member + Ord + PartialOrd + InstanceFilter<<Self as Config>::RuntimeCall> + Default + MaxEncodedLen

A kind of proxy; specified with the proxy and passed in to the IsProxyable fitler. The instance filter determines whether a given call may be proxied under this type.

IMPORTANT: Default must be provided and MUST BE the the most permissive value.

source

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

The base amount of currency needed to reserve for creating a proxy.

This is held for an additional storage item whose value size is sizeof(Balance) bytes and whose key size is sizeof(AccountId) bytes.

source

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

The amount of currency needed per proxy added.

This is held for adding 32 bytes plus an instance of ProxyType more into a pre-existing storage value. Thus, when configuring ProxyDepositFactor one should take into account 32 + proxy_type.encode().len() bytes of data.

source

type MaxProxies: Get<u32>

The maximum amount of proxies allowed for a single account.

source

type WeightInfo: WeightInfo

Weight information for extrinsics in this pallet.

source

type MaxPending: Get<u32>

The maximum amount of time-delayed announcements that are allowed to be pending.

source

type CallHasher: Hash

The type of hash used for hashing the call.

source

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

The base amount of currency needed to reserve for creating an announcement.

This is held when a new storage item holding a Balance is created (typically 16 bytes).

source

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

The amount of currency needed per announcement made.

This is held for adding an AccountId, Hash and BlockNumber (typically 68 bytes) into a pre-existing storage value.

Object Safety§

This trait is not object safe.

Implementors§