xcm_simulator_example/relay_chain/xcm_config/
mod.rs1pub mod asset_transactor;
18pub mod barrier;
19pub mod constants;
20pub mod location_converter;
21pub mod origin_converter;
22pub mod teleporter;
23pub mod weigher;
24
25use crate::relay_chain::{RuntimeCall, XcmPallet};
26use frame_support::traits::{Everything, Nothing};
27use xcm_builder::{EnsureDecodableXcm, FixedRateOfFungible, FrameTransactionalProcessor};
28use xcm_executor::Config;
29
30pub type XcmRouter = EnsureDecodableXcm<crate::RelayChainXcmRouter>;
32
33pub struct XcmConfig;
34impl Config for XcmConfig {
35 type RuntimeCall = RuntimeCall;
36 type XcmSender = XcmRouter;
37 type XcmEventEmitter = ();
38 type AssetTransactor = asset_transactor::AssetTransactor;
39 type OriginConverter = origin_converter::OriginConverter;
40 type IsReserve = ();
41 type IsTeleporter = teleporter::TrustedTeleporters;
42 type UniversalLocation = constants::UniversalLocation;
43 type Barrier = barrier::Barrier;
44 type Weigher = weigher::Weigher;
45 type Trader = FixedRateOfFungible<constants::TokensPerSecondPerByte, ()>;
46 type ResponseHandler = ();
47 type AssetTrap = ();
48 type AssetLocker = XcmPallet;
49 type AssetExchanger = ();
50 type AssetClaims = ();
51 type SubscriptionService = ();
52 type PalletInstancesInfo = ();
53 type FeeManager = ();
54 type MaxAssetsIntoHolding = constants::MaxAssetsIntoHolding;
55 type MessageExporter = ();
56 type UniversalAliases = Nothing;
57 type CallDispatcher = RuntimeCall;
58 type SafeCallFilter = Everything;
59 type Aliasers = Nothing;
60 type TransactionalProcessor = FrameTransactionalProcessor;
61 type HrmpNewChannelOpenRequestHandler = ();
62 type HrmpChannelAcceptedHandler = ();
63 type HrmpChannelClosingHandler = ();
64 type XcmRecorder = XcmPallet;
65}