xcm_simulator_example/parachain/xcm_config/
mod.rs1pub mod asset_transactor;
18pub mod barrier;
19pub mod constants;
20pub mod location_converter;
21pub mod origin_converter;
22pub mod reserve;
23pub mod teleporter;
24pub mod weigher;
25
26use crate::parachain::{MsgQueue, PolkadotXcm, RuntimeCall};
27use frame_support::traits::{Everything, Nothing};
28use xcm_builder::{EnsureDecodableXcm, FixedRateOfFungible, FrameTransactionalProcessor};
29
30pub type XcmRouter = EnsureDecodableXcm<crate::ParachainXcmRouter<MsgQueue>>;
32
33pub struct XcmConfig;
34impl xcm_executor::Config for XcmConfig {
35 type RuntimeCall = RuntimeCall;
36 type XcmSender = XcmRouter;
37 type XcmEventEmitter = PolkadotXcm;
38 type AssetTransactor = asset_transactor::AssetTransactor;
39 type OriginConverter = origin_converter::OriginConverter;
40 type IsReserve = reserve::TrustedReserves;
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::KsmPerSecondPerByte, ()>;
46 type ResponseHandler = ();
47 type AssetTrap = ();
48 type AssetLocker = PolkadotXcm;
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 = PolkadotXcm;
65}