Trait xcm_executor::Config

source ·
pub trait Config {
Show 24 associated items type RuntimeCall: Parameter + Dispatchable<PostInfo = PostDispatchInfo> + GetDispatchInfo; type XcmSender: SendXcm; type AssetTransactor: TransactAsset; type OriginConverter: ConvertOrigin<<Self::RuntimeCall as Dispatchable>::RuntimeOrigin>; type IsReserve: ContainsPair<MultiAsset, MultiLocation>; type IsTeleporter: ContainsPair<MultiAsset, MultiLocation>; type Aliasers: ContainsPair<MultiLocation, MultiLocation>; type UniversalLocation: Get<InteriorMultiLocation>; type Barrier: ShouldExecute; type Weigher: WeightBounds<Self::RuntimeCall>; type Trader: WeightTrader; type ResponseHandler: OnResponse; type AssetTrap: DropAssets; type AssetLocker: AssetLock; type AssetExchanger: AssetExchange; type AssetClaims: ClaimAssets; type SubscriptionService: VersionChangeNotifier; type PalletInstancesInfo: PalletsInfoAccess; type MaxAssetsIntoHolding: Get<u32>; type FeeManager: FeeManager; type MessageExporter: ExportXcm; type UniversalAliases: Contains<(MultiLocation, Junction)>; type CallDispatcher: CallDispatcher<Self::RuntimeCall>; type SafeCallFilter: Contains<Self::RuntimeCall>;
}
Expand description

The trait to parameterize the XcmExecutor.

Required Associated Types§

source

type RuntimeCall: Parameter + Dispatchable<PostInfo = PostDispatchInfo> + GetDispatchInfo

The outer call dispatch type.

source

type XcmSender: SendXcm

How to send an onward XCM message.

source

type AssetTransactor: TransactAsset

How to withdraw and deposit an asset.

source

type OriginConverter: ConvertOrigin<<Self::RuntimeCall as Dispatchable>::RuntimeOrigin>

How to get a call origin from a OriginKind value.

source

type IsReserve: ContainsPair<MultiAsset, MultiLocation>

Combinations of (Asset, Location) pairs which we trust as reserves.

source

type IsTeleporter: ContainsPair<MultiAsset, MultiLocation>

Combinations of (Asset, Location) pairs which we trust as teleporters.

source

type Aliasers: ContainsPair<MultiLocation, MultiLocation>

A list of (Origin, Target) pairs allowing a given Origin to be substituted with its corresponding Target pair.

source

type UniversalLocation: Get<InteriorMultiLocation>

This chain’s Universal Location.

source

type Barrier: ShouldExecute

Whether we should execute the given XCM at all.

source

type Weigher: WeightBounds<Self::RuntimeCall>

The means of determining an XCM message’s weight.

source

type Trader: WeightTrader

The means of purchasing weight credit for XCM execution.

source

type ResponseHandler: OnResponse

What to do when a response of a query is found.

source

type AssetTrap: DropAssets

The general asset trap - handler for when assets are left in the Holding Register at the end of execution.

source

type AssetLocker: AssetLock

Handler for asset locking.

source

type AssetExchanger: AssetExchange

Handler for exchanging assets.

source

type AssetClaims: ClaimAssets

The handler for when there is an instruction to claim assets.

source

type SubscriptionService: VersionChangeNotifier

How we handle version subscription requests.

source

type PalletInstancesInfo: PalletsInfoAccess

Information on all pallets.

source

type MaxAssetsIntoHolding: Get<u32>

The maximum number of assets we target to have in the Holding Register at any one time.

NOTE: In the worse case, the Holding Register may contain up to twice as many assets as this and any benchmarks should take that into account.

source

type FeeManager: FeeManager

Configure the fees.

source

type MessageExporter: ExportXcm

The method of exporting a message.

source

type UniversalAliases: Contains<(MultiLocation, Junction)>

The origin locations and specific universal junctions to which they are allowed to elevate themselves.

source

type CallDispatcher: CallDispatcher<Self::RuntimeCall>

The call dispatcher used by XCM.

XCM will use this to dispatch any calls. When no special call dispatcher is required, this can be set to the same type as Self::Call.

source

type SafeCallFilter: Contains<Self::RuntimeCall>

The safe call filter for Transact.

Use this type to explicitly whitelist calls that cannot undergo recursion. This is a temporary measure until we properly account for proof size weights for XCM instructions.

Implementors§