git.delta.rocks / unique-network / refs/commits / 64ecfc595eff

difftreelog

refactor rename local xcm_config to xcm_barrier

Daniel Shiposha2022-09-06parent: #e0c98a4.patch.diff
in: master

11 files changed

modifiedruntime/common/config/xcm/mod.rsdiffbeforeafterboth
--- a/runtime/common/config/xcm/mod.rs
+++ b/runtime/common/config/xcm/mod.rs
@@ -33,7 +33,7 @@
 use sp_std::{marker::PhantomData, vec::Vec};
 use crate::{
 	Runtime, Call, Event, Origin, ParachainInfo, ParachainSystem, PolkadotXcm, XcmpQueue,
-	xcm_config::Barrier,
+	xcm_barrier::Barrier,
 };
 
 use up_common::types::AccountId;
modifiedruntime/opal/src/lib.rsdiffbeforeafterboth
--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -35,7 +35,7 @@
 #[path = "../../common/mod.rs"]
 mod runtime_common;
 
-pub mod xcm_config;
+pub mod xcm_barrier;
 
 #[cfg(test)]
 mod tests;
modifiedruntime/opal/src/tests/xcm.rsdiffbeforeafterboth
--- a/runtime/opal/src/tests/xcm.rs
+++ b/runtime/opal/src/tests/xcm.rs
@@ -15,7 +15,7 @@
 // along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
 
 use logtest::Logger;
-use crate::{runtime_common::tests::xcm::*, xcm_config::Barrier};
+use crate::{runtime_common::tests::xcm::*, xcm_barrier::Barrier};
 
 const OPAL_PARA_ID: u32 = 2095; // Same as Quartz
 
addedruntime/opal/src/xcm_barrier.rsdiffbeforeafterboth
--- /dev/null
+++ b/runtime/opal/src/xcm_barrier.rs
@@ -0,0 +1,63 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
+use frame_support::{
+	{match_types, weights::Weight},
+	traits::Everything,
+};
+use xcm::{
+	latest::Xcm,
+	v1::{BodyId, Junction::*, Junctions::*, MultiLocation},
+};
+use xcm_builder::{AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, TakeWeightCredit};
+use xcm_executor::traits::ShouldExecute;
+
+use crate::runtime_common::config::xcm::{DenyThenTry, DenyTransact};
+
+match_types! {
+	pub type ParentOrParentsUnitPlurality: impl Contains<MultiLocation> = {
+		MultiLocation { parents: 1, interior: Here } |
+		MultiLocation { parents: 1, interior: X1(Plurality { id: BodyId::Unit, .. }) }
+	};
+}
+
+/// Execution barrier that just takes `max_weight` from `weight_credit`.
+///
+/// Useful to allow XCM execution by local chain users via extrinsics.
+/// E.g. `pallet_xcm::reserve_asset_transfer` to transfer a reserve asset
+/// out of the local chain to another one.
+pub struct AllowAllDebug;
+impl ShouldExecute for AllowAllDebug {
+	fn should_execute<Call>(
+		_origin: &MultiLocation,
+		_message: &mut Xcm<Call>,
+		_max_weight: Weight,
+		_weight_credit: &mut Weight,
+	) -> Result<(), ()> {
+		Ok(())
+	}
+}
+
+pub type Barrier = DenyThenTry<
+	DenyTransact,
+	(
+		TakeWeightCredit,
+		AllowTopLevelPaidExecutionFrom<Everything>,
+		AllowUnpaidExecutionFrom<ParentOrParentsUnitPlurality>,
+		// ^^^ Parent & its unit plurality gets free execution
+		AllowAllDebug,
+	),
+>;
deletedruntime/opal/src/xcm_config.rsdiffbeforeafterboth
--- a/runtime/opal/src/xcm_config.rs
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
-// This file is part of Unique Network.
-
-// Unique Network is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Unique Network is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-
-use frame_support::{
-	{match_types, weights::Weight},
-	traits::Everything,
-};
-use xcm::{
-	latest::Xcm,
-	v1::{BodyId, Junction::*, Junctions::*, MultiLocation},
-};
-use xcm_builder::{AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, TakeWeightCredit};
-use xcm_executor::traits::ShouldExecute;
-
-use crate::runtime_common::config::xcm::{DenyThenTry, DenyTransact};
-
-match_types! {
-	pub type ParentOrParentsUnitPlurality: impl Contains<MultiLocation> = {
-		MultiLocation { parents: 1, interior: Here } |
-		MultiLocation { parents: 1, interior: X1(Plurality { id: BodyId::Unit, .. }) }
-	};
-}
-
-/// Execution barrier that just takes `max_weight` from `weight_credit`.
-///
-/// Useful to allow XCM execution by local chain users via extrinsics.
-/// E.g. `pallet_xcm::reserve_asset_transfer` to transfer a reserve asset
-/// out of the local chain to another one.
-pub struct AllowAllDebug;
-impl ShouldExecute for AllowAllDebug {
-	fn should_execute<Call>(
-		_origin: &MultiLocation,
-		_message: &mut Xcm<Call>,
-		_max_weight: Weight,
-		_weight_credit: &mut Weight,
-	) -> Result<(), ()> {
-		Ok(())
-	}
-}
-
-pub type Barrier = DenyThenTry<
-	DenyTransact,
-	(
-		TakeWeightCredit,
-		AllowTopLevelPaidExecutionFrom<Everything>,
-		AllowUnpaidExecutionFrom<ParentOrParentsUnitPlurality>,
-		// ^^^ Parent & its unit plurality gets free execution
-		AllowAllDebug,
-	),
->;
modifiedruntime/quartz/src/lib.rsdiffbeforeafterboth
before · runtime/quartz/src/lib.rs
1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617//! The Substrate Node Template runtime. This can be compiled with `#[no_std]`, ready for Wasm.1819#![cfg_attr(not(feature = "std"), no_std)]20// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256.21#![recursion_limit = "1024"]22#![allow(clippy::from_over_into, clippy::identity_op)]23#![allow(clippy::fn_to_numeric_cast_with_truncation)]24// Make the WASM binary available.25#[cfg(feature = "std")]26include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));2728use frame_support::parameter_types;2930use sp_version::RuntimeVersion;31use sp_runtime::create_runtime_str;3233use up_common::types::*;3435#[path = "../../common/mod.rs"]36mod runtime_common;3738pub mod xcm_config;3940#[cfg(test)]41mod tests;4243pub use runtime_common::*;4445pub const RUNTIME_NAME: &str = "quartz";46pub const TOKEN_SYMBOL: &str = "QTZ";4748/// This runtime version.49pub const VERSION: RuntimeVersion = RuntimeVersion {50	spec_name: create_runtime_str!(RUNTIME_NAME),51	impl_name: create_runtime_str!(RUNTIME_NAME),52	authoring_version: 1,53	spec_version: 927020,54	impl_version: 0,55	apis: RUNTIME_API_VERSIONS,56	transaction_version: 2,57	state_version: 0,58};5960parameter_types! {61	pub const Version: RuntimeVersion = VERSION;62	pub const SS58Prefix: u8 = 255;63	pub const ChainId: u64 = 8881;64}6566construct_runtime!(quartz);6768impl_common_runtime_apis!();6970cumulus_pallet_parachain_system::register_validate_block!(71	Runtime = Runtime,72	BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::<Runtime, Executive>,73	CheckInherents = CheckInherents,74);
after · runtime/quartz/src/lib.rs
1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617//! The Substrate Node Template runtime. This can be compiled with `#[no_std]`, ready for Wasm.1819#![cfg_attr(not(feature = "std"), no_std)]20// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256.21#![recursion_limit = "1024"]22#![allow(clippy::from_over_into, clippy::identity_op)]23#![allow(clippy::fn_to_numeric_cast_with_truncation)]24// Make the WASM binary available.25#[cfg(feature = "std")]26include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));2728use frame_support::parameter_types;2930use sp_version::RuntimeVersion;31use sp_runtime::create_runtime_str;3233use up_common::types::*;3435#[path = "../../common/mod.rs"]36mod runtime_common;3738pub mod xcm_barrier;3940#[cfg(test)]41mod tests;4243pub use runtime_common::*;4445pub const RUNTIME_NAME: &str = "quartz";46pub const TOKEN_SYMBOL: &str = "QTZ";4748/// This runtime version.49pub const VERSION: RuntimeVersion = RuntimeVersion {50	spec_name: create_runtime_str!(RUNTIME_NAME),51	impl_name: create_runtime_str!(RUNTIME_NAME),52	authoring_version: 1,53	spec_version: 927020,54	impl_version: 0,55	apis: RUNTIME_API_VERSIONS,56	transaction_version: 2,57	state_version: 0,58};5960parameter_types! {61	pub const Version: RuntimeVersion = VERSION;62	pub const SS58Prefix: u8 = 255;63	pub const ChainId: u64 = 8881;64}6566construct_runtime!(quartz);6768impl_common_runtime_apis!();6970cumulus_pallet_parachain_system::register_validate_block!(71	Runtime = Runtime,72	BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::<Runtime, Executive>,73	CheckInherents = CheckInherents,74);
addedruntime/quartz/src/xcm_barrier.rsdiffbeforeafterboth
--- /dev/null
+++ b/runtime/quartz/src/xcm_barrier.rs
@@ -0,0 +1,84 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
+use frame_support::{match_types, parameter_types, traits::Get};
+use sp_std::{vec, vec::Vec};
+use xcm::v1::{BodyId, Junction::*, Junctions::*, MultiLocation};
+use xcm_builder::{
+	AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowUnpaidExecutionFrom, TakeWeightCredit,
+};
+
+use crate::{
+	ParachainInfo, PolkadotXcm,
+	runtime_common::config::xcm::{DenyThenTry, DenyTransact, DenyExchangeWithUnknownLocation},
+};
+
+match_types! {
+	pub type ParentOrParentsExecutivePlurality: impl Contains<MultiLocation> = {
+		MultiLocation { parents: 1, interior: Here } |
+		MultiLocation { parents: 1, interior: X1(Plurality { id: BodyId::Executive, .. }) }
+	};
+	pub type ParentOrSiblings: impl Contains<MultiLocation> = {
+		MultiLocation { parents: 1, interior: Here } |
+		MultiLocation { parents: 1, interior: X1(_) }
+	};
+}
+
+parameter_types! {
+	pub QuartzAllowedLocations: Vec<MultiLocation> = vec![
+		// Self location
+		MultiLocation {
+			parents: 0,
+			interior: Here,
+		},
+		// Parent location
+		MultiLocation {
+			parents: 1,
+			interior: Here,
+		},
+		// Karura/Acala location
+		MultiLocation {
+			parents: 1,
+			interior: X1(Parachain(2000)),
+		},
+		// Moonriver location
+		MultiLocation {
+			parents: 1,
+			interior: X1(Parachain(2023)),
+		},
+		// Self parachain address
+		MultiLocation {
+			parents: 1,
+			interior: X1(Parachain(ParachainInfo::get().into())),
+		},
+	];
+}
+
+pub type Barrier = DenyThenTry<
+	(
+		DenyTransact,
+		DenyExchangeWithUnknownLocation<QuartzAllowedLocations>,
+	),
+	(
+		TakeWeightCredit,
+		// Parent and its exec plurality get free execution
+		AllowUnpaidExecutionFrom<ParentOrParentsExecutivePlurality>,
+		// Expected responses are OK.
+		AllowKnownQueryResponses<PolkadotXcm>,
+		// Subscriptions for version tracking are OK.
+		AllowSubscriptionsFrom<ParentOrSiblings>,
+	),
+>;
deletedruntime/quartz/src/xcm_config.rsdiffbeforeafterboth
--- a/runtime/quartz/src/xcm_config.rs
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
-// This file is part of Unique Network.
-
-// Unique Network is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Unique Network is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-
-use frame_support::{match_types, parameter_types, traits::Get};
-use sp_std::{vec, vec::Vec};
-use xcm::v1::{BodyId, Junction::*, Junctions::*, MultiLocation};
-use xcm_builder::{
-	AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowUnpaidExecutionFrom, TakeWeightCredit,
-};
-
-use crate::{
-	ParachainInfo, PolkadotXcm,
-	runtime_common::config::xcm::{DenyThenTry, DenyTransact, DenyExchangeWithUnknownLocation},
-};
-
-match_types! {
-	pub type ParentOrParentsExecutivePlurality: impl Contains<MultiLocation> = {
-		MultiLocation { parents: 1, interior: Here } |
-		MultiLocation { parents: 1, interior: X1(Plurality { id: BodyId::Executive, .. }) }
-	};
-	pub type ParentOrSiblings: impl Contains<MultiLocation> = {
-		MultiLocation { parents: 1, interior: Here } |
-		MultiLocation { parents: 1, interior: X1(_) }
-	};
-}
-
-parameter_types! {
-	pub QuartzAllowedLocations: Vec<MultiLocation> = vec![
-		// Self location
-		MultiLocation {
-			parents: 0,
-			interior: Here,
-		},
-		// Parent location
-		MultiLocation {
-			parents: 1,
-			interior: Here,
-		},
-		// Karura/Acala location
-		MultiLocation {
-			parents: 1,
-			interior: X1(Parachain(2000)),
-		},
-		// Moonriver location
-		MultiLocation {
-			parents: 1,
-			interior: X1(Parachain(2023)),
-		},
-		// Self parachain address
-		MultiLocation {
-			parents: 1,
-			interior: X1(Parachain(ParachainInfo::get().into())),
-		},
-	];
-}
-
-pub type Barrier = DenyThenTry<
-	(
-		DenyTransact,
-		DenyExchangeWithUnknownLocation<QuartzAllowedLocations>,
-	),
-	(
-		TakeWeightCredit,
-		// Parent and its exec plurality get free execution
-		AllowUnpaidExecutionFrom<ParentOrParentsExecutivePlurality>,
-		// Expected responses are OK.
-		AllowKnownQueryResponses<PolkadotXcm>,
-		// Subscriptions for version tracking are OK.
-		AllowSubscriptionsFrom<ParentOrSiblings>,
-	),
->;
modifiedruntime/unique/src/lib.rsdiffbeforeafterboth
--- a/runtime/unique/src/lib.rs
+++ b/runtime/unique/src/lib.rs
@@ -35,7 +35,7 @@
 #[path = "../../common/mod.rs"]
 mod runtime_common;
 
-pub mod xcm_config;
+pub mod xcm_barrier;
 
 #[cfg(test)]
 mod tests;
addedruntime/unique/src/xcm_barrier.rsdiffbeforeafterboth
--- /dev/null
+++ b/runtime/unique/src/xcm_barrier.rs
@@ -0,0 +1,84 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
+use frame_support::{match_types, parameter_types, traits::Get};
+use sp_std::{vec, vec::Vec};
+use xcm::v1::{BodyId, Junction::*, Junctions::*, MultiLocation};
+use xcm_builder::{
+	AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowUnpaidExecutionFrom, TakeWeightCredit,
+};
+
+use crate::{
+	ParachainInfo, PolkadotXcm,
+	runtime_common::config::xcm::{DenyThenTry, DenyTransact, DenyExchangeWithUnknownLocation},
+};
+
+match_types! {
+	pub type ParentOrParentsExecutivePlurality: impl Contains<MultiLocation> = {
+		MultiLocation { parents: 1, interior: Here } |
+		MultiLocation { parents: 1, interior: X1(Plurality { id: BodyId::Executive, .. }) }
+	};
+	pub type ParentOrSiblings: impl Contains<MultiLocation> = {
+		MultiLocation { parents: 1, interior: Here } |
+		MultiLocation { parents: 1, interior: X1(_) }
+	};
+}
+
+parameter_types! {
+	pub UniqueAllowedLocations: Vec<MultiLocation> = vec![
+		// Self location
+		MultiLocation {
+			parents: 0,
+			interior: Here,
+		},
+		// Parent location
+		MultiLocation {
+			parents: 1,
+			interior: Here,
+		},
+		// Karura/Acala location
+		MultiLocation {
+			parents: 1,
+			interior: X1(Parachain(2000)),
+		},
+		// Moonbeam location
+		MultiLocation {
+			parents: 1,
+			interior: X1(Parachain(2004)),
+		},
+		// Self parachain address
+		MultiLocation {
+			parents: 1,
+			interior: X1(Parachain(ParachainInfo::get().into())),
+		},
+	];
+}
+
+pub type Barrier = DenyThenTry<
+	(
+		DenyTransact,
+		DenyExchangeWithUnknownLocation<UniqueAllowedLocations>,
+	),
+	(
+		TakeWeightCredit,
+		// Parent and its exec plurality get free execution
+		AllowUnpaidExecutionFrom<ParentOrParentsExecutivePlurality>,
+		// Expected responses are OK.
+		AllowKnownQueryResponses<PolkadotXcm>,
+		// Subscriptions for version tracking are OK.
+		AllowSubscriptionsFrom<ParentOrSiblings>,
+	),
+>;
deletedruntime/unique/src/xcm_config.rsdiffbeforeafterboth
--- a/runtime/unique/src/xcm_config.rs
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
-// This file is part of Unique Network.
-
-// Unique Network is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Unique Network is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-
-use frame_support::{match_types, parameter_types, traits::Get};
-use sp_std::{vec, vec::Vec};
-use xcm::v1::{BodyId, Junction::*, Junctions::*, MultiLocation};
-use xcm_builder::{
-	AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowUnpaidExecutionFrom, TakeWeightCredit,
-};
-
-use crate::{
-	ParachainInfo, PolkadotXcm,
-	runtime_common::config::xcm::{DenyThenTry, DenyTransact, DenyExchangeWithUnknownLocation},
-};
-
-match_types! {
-	pub type ParentOrParentsExecutivePlurality: impl Contains<MultiLocation> = {
-		MultiLocation { parents: 1, interior: Here } |
-		MultiLocation { parents: 1, interior: X1(Plurality { id: BodyId::Executive, .. }) }
-	};
-	pub type ParentOrSiblings: impl Contains<MultiLocation> = {
-		MultiLocation { parents: 1, interior: Here } |
-		MultiLocation { parents: 1, interior: X1(_) }
-	};
-}
-
-parameter_types! {
-	pub UniqueAllowedLocations: Vec<MultiLocation> = vec![
-		// Self location
-		MultiLocation {
-			parents: 0,
-			interior: Here,
-		},
-		// Parent location
-		MultiLocation {
-			parents: 1,
-			interior: Here,
-		},
-		// Karura/Acala location
-		MultiLocation {
-			parents: 1,
-			interior: X1(Parachain(2000)),
-		},
-		// Moonbeam location
-		MultiLocation {
-			parents: 1,
-			interior: X1(Parachain(2004)),
-		},
-		// Self parachain address
-		MultiLocation {
-			parents: 1,
-			interior: X1(Parachain(ParachainInfo::get().into())),
-		},
-	];
-}
-
-pub type Barrier = DenyThenTry<
-	(
-		DenyTransact,
-		DenyExchangeWithUnknownLocation<UniqueAllowedLocations>,
-	),
-	(
-		TakeWeightCredit,
-		// Parent and its exec plurality get free execution
-		AllowUnpaidExecutionFrom<ParentOrParentsExecutivePlurality>,
-		// Expected responses are OK.
-		AllowKnownQueryResponses<PolkadotXcm>,
-		// Subscriptions for version tracking are OK.
-		AllowSubscriptionsFrom<ParentOrSiblings>,
-	),
->;