pub trait Config: Config + Config<RuntimeEvent: From<Event<Self>>> {
type WeightInfo: WeightInfo;
type Currency: Mutate<Self::AccountId>;
type AdminOrigin: EnsureOrigin<Self::RuntimeOrigin>;
type RelayBlockNumberProvider: BlockNumberProvider;
type PoolCapacityProvider: PoolCapacityProvider;
type PricingProvider: PricingProvider<BalanceOf<Self>>;
type OrderQueue: QueueOnDemandOrders<RelayBlockNumberOf<Self>>;
type MaxBatchSize: Get<u32>;
type PalletId: Get<PalletId>;
}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 WeightInfo: WeightInfo
type WeightInfo: WeightInfo
Weight information for all calls of this pallet.
Sourcetype AdminOrigin: EnsureOrigin<Self::RuntimeOrigin>
type AdminOrigin: EnsureOrigin<Self::RuntimeOrigin>
The origin for administrating this pallet.
Sourcetype RelayBlockNumberProvider: BlockNumberProvider
type RelayBlockNumberProvider: BlockNumberProvider
Provider of the current Relay-chain block number.
Sourcetype PoolCapacityProvider: PoolCapacityProvider
type PoolCapacityProvider: PoolCapacityProvider
Provider of the on-demand pool capacity.
Sourcetype PricingProvider: PricingProvider<BalanceOf<Self>>
type PricingProvider: PricingProvider<BalanceOf<Self>>
Provider of the order pricing algorithm.
Sourcetype OrderQueue: QueueOnDemandOrders<RelayBlockNumberOf<Self>>
type OrderQueue: QueueOnDemandOrders<RelayBlockNumberOf<Self>>
Used to instruct the Relay chain to enqueue the orders placed here.
Sourcetype MaxBatchSize: Get<u32>
type MaxBatchSize: Get<u32>
Maximum pending batch size.
NOTE: Since we don’t do chunking, this number of pending orders needs to fit within a
single XCM message. This way on_finalize will never send more than one message.
Since this pallet is intended to be a temporary solution, and current (as of September
2026) usage of the on-demand feature is low to moderate, it is expected not to be
necessary to extend this functionality to allow more orders in a single block.
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.