1234567891011121314151617use frame_support::{match_types, traits::Everything};18use staging_xcm::latest::{Junctions::*, MultiLocation};19use staging_xcm_builder::{20 AllowExplicitUnpaidExecutionFrom, AllowKnownQueryResponses, AllowSubscriptionsFrom,21 AllowTopLevelPaidExecutionFrom, TakeWeightCredit, TrailingSetTopicAsId,22};2324use crate::PolkadotXcm;2526match_types! {27 pub type ParentOnly: impl Contains<MultiLocation> = {28 MultiLocation { parents: 1, interior: Here }29 };3031 pub type ParentOrSiblings: impl Contains<MultiLocation> = {32 MultiLocation { parents: 1, interior: Here } |33 MultiLocation { parents: 1, interior: X1(_) }34 };35}3637pub type Barrier = TrailingSetTopicAsId<(38 TakeWeightCredit,39 AllowExplicitUnpaidExecutionFrom<ParentOnly>,40 AllowTopLevelPaidExecutionFrom<Everything>,41 42 AllowKnownQueryResponses<PolkadotXcm>,43 44 AllowSubscriptionsFrom<ParentOrSiblings>,45)>;