pub trait Config: Config {
type XcmConfig: XcmConfig;
type AccountIdConverter: ConvertLocation<Self::AccountId>;
type DeliveryHelper: EnsureDelivery;
// Required methods
fn valid_destination() -> Result<Location, BenchmarkError>;
fn worst_case_holding(depositable_count: u32) -> AssetsInHolding;
}Expand description
A base trait for all individual pallets
Required Associated Types§
Sourcetype XcmConfig: XcmConfig
type XcmConfig: XcmConfig
The XCM configurations.
These might affect the execution of XCM messages, such as defining how the
TransactAsset is implemented.
Sourcetype AccountIdConverter: ConvertLocation<Self::AccountId>
type AccountIdConverter: ConvertLocation<Self::AccountId>
A converter between a location to a sovereign account.
Sourcetype DeliveryHelper: EnsureDelivery
type DeliveryHelper: EnsureDelivery
Helper that ensures successful delivery for XCM instructions which need SendXcm.
Required Methods§
Sourcefn valid_destination() -> Result<Location, BenchmarkError>
fn valid_destination() -> Result<Location, BenchmarkError>
Does any necessary setup to create a valid destination for XCM messages. Returns that destination’s location to be used in benchmarks.
Sourcefn worst_case_holding(depositable_count: u32) -> AssetsInHolding
fn worst_case_holding(depositable_count: u32) -> AssetsInHolding
Worst case scenario for a holding account in this runtime.
depositable_countspecifies the count of assets we plan to add to the holding on top of those generated by theworst_case_holdingimplementation.
Returns prebuilt AssetsInHolding with dummy assets using MockCredit for benchmarking.
These don’t need to be real, mintable assets - they’re just for worst-case scenario testing.
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.