asset_hub_westend_integration_tests/
lib.rs1#[cfg(test)]
17mod imports {
18 pub(crate) use codec::Encode;
19
20 pub(crate) use frame_support::{
22 assert_err, assert_ok,
23 pallet_prelude::Weight,
24 sp_runtime::{DispatchError, DispatchResult, ModuleError},
25 traits::fungibles::Inspect,
26 BoundedVec,
27 };
28
29 pub(crate) use xcm::{
31 latest::{AssetTransferFilter, ROCOCO_GENESIS_HASH, WESTEND_GENESIS_HASH},
32 prelude::{AccountId32 as AccountId32Junction, *},
33 };
34 pub(crate) use xcm_executor::traits::TransferType;
35
36 pub(crate) use asset_test_utils::xcm_helpers;
38 pub(crate) use emulated_integration_tests_common::{
39 accounts::DUMMY_EMPTY,
40 test_parachain_is_trusted_teleporter, test_parachain_is_trusted_teleporter_for_relay,
41 test_relay_is_trusted_teleporter, test_xcm_fee_querying_apis_work_for_asset_hub,
42 xcm_emulator::{
43 assert_expected_events, bx, Chain, Parachain as Para, RelayChain as Relay, Test,
44 TestArgs, TestContext, TestExt,
45 },
46 xcm_helpers::{
47 fee_asset, find_mq_processed_id, find_xcm_sent_message_id,
48 get_amount_from_versioned_assets, non_fee_asset, xcm_transact_paid_execution,
49 },
50 xcm_simulator::helpers::TopicIdTracker,
51 PenpalATeleportableAssetLocation, ASSETS_PALLET_ID, RESERVABLE_ASSET_ID, USDT_ID, XCM_V3,
52 };
53 pub(crate) use parachains_common::{AccountId, Balance};
54 pub(crate) use westend_system_emulated_network::{
55 asset_hub_westend_emulated_chain::{
56 asset_hub_westend_runtime::{
57 self,
58 governance::TreasuryAccount,
59 xcm_config::{
60 self as ahw_xcm_config, WestendLocation as RelayLocation,
61 XcmConfig as AssetHubWestendXcmConfig,
62 },
63 AssetConversionOrigin as AssetHubWestendAssetConversionOrigin,
64 ExistentialDeposit as AssetHubWestendExistentialDeposit,
65 },
66 genesis::{AssetHubWestendAssetOwner, ED as ASSET_HUB_WESTEND_ED},
67 AssetHubWestendParaPallet as AssetHubWestendPallet,
68 },
69 bridge_hub_westend_emulated_chain::{
70 bridge_hub_westend_runtime::xcm_config::{self as bhw_xcm_config},
71 BridgeHubWestendParaPallet as BridgeHubWestendPallet,
72 },
73 collectives_westend_emulated_chain::CollectivesWestendParaPallet as CollectivesWestendPallet,
74 coretime_westend_emulated_chain::CoretimeWestendParaPallet as CoretimeWestendPallet,
75 penpal_emulated_chain::{
76 penpal_runtime::xcm_config::{
77 CustomizableAssetFromSystemAssetHub as PenpalCustomizableAssetFromSystemAssetHub,
78 LocalReservableFromAssetHub as PenpalLocalReservableFromAssetHub,
79 LocalTeleportableToAssetHub as PenpalLocalTeleportableToAssetHub,
80 UniversalLocation as PenpalUniversalLocation,
81 UsdtFromAssetHub as PenpalUsdtFromAssetHub,
82 },
83 PenpalAParaPallet as PenpalAPallet, PenpalAssetOwner,
84 PenpalBParaPallet as PenpalBPallet,
85 },
86 people_westend_emulated_chain::PeopleWestendParaPallet as PeopleWestendPallet,
87 westend_emulated_chain::{
88 genesis::ED as WESTEND_ED,
89 westend_runtime::{
90 governance::pallet_custom_origins::Origin::Treasurer,
91 xcm_config::{
92 UniversalLocation as WestendUniversalLocation, XcmConfig as WestendXcmConfig,
93 },
94 Dmp,
95 },
96 WestendRelayPallet as WestendPallet,
97 },
98 AssetHubWestendPara as AssetHubWestend,
99 AssetHubWestendParaReceiver as AssetHubWestendReceiver,
100 AssetHubWestendParaSender as AssetHubWestendSender,
101 BridgeHubWestendPara as BridgeHubWestend,
102 BridgeHubWestendParaReceiver as BridgeHubWestendReceiver,
103 CollectivesWestendPara as CollectivesWestend, CoretimeWestendPara as CoretimeWestend,
104 PenpalAPara as PenpalA, PenpalAParaReceiver as PenpalAReceiver,
105 PenpalAParaSender as PenpalASender, PenpalBPara as PenpalB,
106 PenpalBParaReceiver as PenpalBReceiver, PeopleWestendPara as PeopleWestend,
107 WestendRelay as Westend, WestendRelayReceiver as WestendReceiver,
108 WestendRelaySender as WestendSender,
109 };
110
111 pub(crate) const ASSET_ID: u32 = 3;
112 pub(crate) const ASSET_MIN_BALANCE: u128 = 1000;
113
114 pub(crate) type RelayToParaTest = Test<Westend, PenpalA>;
115 pub(crate) type ParaToRelayTest = Test<PenpalA, Westend>;
116 pub(crate) type RelayToSystemParaTest = Test<Westend, AssetHubWestend>;
117 pub(crate) type SystemParaToRelayTest = Test<AssetHubWestend, Westend>;
118 pub(crate) type SystemParaToParaTest = Test<AssetHubWestend, PenpalA>;
119 pub(crate) type ParaToSystemParaTest = Test<PenpalA, AssetHubWestend>;
120 pub(crate) type ParaToParaThroughRelayTest = Test<PenpalA, PenpalB, Westend>;
121 pub(crate) type ParaToParaThroughAHTest = Test<PenpalA, PenpalB, AssetHubWestend>;
122 pub(crate) type RelayToParaThroughAHTest = Test<Westend, PenpalA, AssetHubWestend>;
123 pub(crate) type PenpalToRelayThroughAHTest = Test<PenpalA, Westend, AssetHubWestend>;
124}
125
126#[cfg(test)]
127mod tests;