pub trait Config: Config + Config<RuntimeEvent: From<Event<Self>>> {
type Currency: Inspect<Self::AccountId> + Unbalanced<Self::AccountId> + Balanced<Self::AccountId>;
type PalletId: Get<PalletId>;
type Forwarder: Forwarder<Self::AccountId, BalanceOf<Self>>;
type TransferPeriod: Get<BlockNumberFor<Self>>;
type MinTransferAmount: Get<BalanceOf<Self>>;
type BlockNumberProvider: BlockNumberProvider;
type WeightInfo: WeightInfo;
}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§
Sourcetype Currency: Inspect<Self::AccountId> + Unbalanced<Self::AccountId> + Balanced<Self::AccountId>
type Currency: Inspect<Self::AccountId> + Unbalanced<Self::AccountId> + Balanced<Self::AccountId>
The currency type.
Sourcetype Forwarder: Forwarder<Self::AccountId, BalanceOf<Self>>
type Forwarder: Forwarder<Self::AccountId, BalanceOf<Self>>
The implementation responsible for forwarding accumulated funds to the destination. Message construction and dispatch logic lives here, keeping this pallet free of message-related dependencies.
Sourcetype TransferPeriod: Get<BlockNumberFor<Self>>
type TransferPeriod: Get<BlockNumberFor<Self>>
Minimum number of blocks between successive forwards. Acts as a rate limiter to avoid sending too many messages.
Sourcetype MinTransferAmount: Get<BalanceOf<Self>>
type MinTransferAmount: Get<BalanceOf<Self>>
Minimum transferable balance required to trigger a forward. This avoids forwarding very small / negligible amounts. The accumulation account always retains its existential deposit on top of this.
Sourcetype BlockNumberProvider: BlockNumberProvider
type BlockNumberProvider: BlockNumberProvider
Block number provider. Use RelaychainDataProvider on parachains so that
TransferPeriod is expressed in relay chain blocks, keeping the cadence stable.
Sourcetype WeightInfo: WeightInfo
type WeightInfo: WeightInfo
Weight information for the pallet’s operations.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.