referrerpolicy=no-referrer-when-downgrade

Trait pallet_multisig::pallet::Config

source ·
pub trait Config: Config {
    type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>;
    type RuntimeCall: Parameter + Dispatchable<RuntimeOrigin = Self::RuntimeOrigin, PostInfo = PostDispatchInfo> + GetDispatchInfo + From<Call<Self>>;
    type Currency: ReservableCurrency<Self::AccountId>;
    type DepositBase: Get<BalanceOf<Self>>;
    type DepositFactor: Get<BalanceOf<Self>>;
    type MaxSignatories: Get<u32>;
    type WeightInfo: WeightInfo;
    type BlockNumberProvider: BlockNumberProvider;
}
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>

The overarching event type.

source

type RuntimeCall: Parameter + Dispatchable<RuntimeOrigin = Self::RuntimeOrigin, PostInfo = PostDispatchInfo> + GetDispatchInfo + From<Call<Self>>

The overarching call type.

source

type Currency: ReservableCurrency<Self::AccountId>

The currency mechanism.

source

type DepositBase: Get<BalanceOf<Self>>

The base amount of currency needed to reserve for creating a multisig execution or to store a dispatch call for later.

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

source

type DepositFactor: Get<BalanceOf<Self>>

The amount of currency needed per unit threshold when creating a multisig execution.

This is held for adding 32 bytes more into a pre-existing storage value.

source

type MaxSignatories: Get<u32>

The maximum amount of signatories allowed in the multisig.

source

type WeightInfo: WeightInfo

Weight information for extrinsics in this pallet.

source

type BlockNumberProvider: BlockNumberProvider

Query the current block number.

Must return monotonically increasing values when called from consecutive blocks. Can be configured to return either:

  • the local block number of the runtime via frame_system::Pallet
  • a remote block number, eg from the relay chain through RelaychainDataProvider
  • an arbitrary value through a custom implementation of the trait

There is currently no migration provided to “hot-swap” block number providers and it may result in undefined behavior when doing so. Parachains are therefore best off setting this to their local block number provider if they have the pallet already deployed.

Suggested values:

  • Solo- and Relay-chains: frame_system::Pallet
  • Parachains that may produce blocks sparingly or only when needed (on-demand):
    • already have the pallet deployed: frame_system::Pallet
    • are freshly deploying this pallet: RelaychainDataProvider
  • Parachains with a reliably block production rate (PLO or bulk-coretime):
    • already have the pallet deployed: frame_system::Pallet
    • are freshly deploying this pallet: no strong recommendation. Both local and remote providers can be used. Relay provider can be a bit better in cases where the parachain is lagging its block production to avoid clock skew.

Object Safety§

This trait is not object safe.

Implementors§