git.delta.rocks / unique-network / refs/commits / e0c98a46d28e

difftreelog

fix(xcm) remove AllowTopLevelPaidExecutionFrom

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

2 files changed

modifiedruntime/quartz/src/xcm_config.rsdiffbeforeafterboth
before · runtime/quartz/src/xcm_config.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/>.1617use frame_support::{18	match_types, parameter_types,19	traits::{Everything, Get},20};21use sp_std::{vec, vec::Vec};22use xcm::v1::{BodyId, Junction::*, Junctions::*, MultiLocation};23use xcm_builder::{24	AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom,25	AllowUnpaidExecutionFrom, TakeWeightCredit,26};2728use crate::{29	ParachainInfo, PolkadotXcm,30	runtime_common::config::xcm::{DenyThenTry, DenyTransact, DenyExchangeWithUnknownLocation},31};3233match_types! {34	pub type ParentOrParentsExecutivePlurality: impl Contains<MultiLocation> = {35		MultiLocation { parents: 1, interior: Here } |36		MultiLocation { parents: 1, interior: X1(Plurality { id: BodyId::Executive, .. }) }37	};38	pub type ParentOrSiblings: impl Contains<MultiLocation> = {39		MultiLocation { parents: 1, interior: Here } |40		MultiLocation { parents: 1, interior: X1(_) }41	};42}4344parameter_types! {45	pub QuartzAllowedLocations: Vec<MultiLocation> = vec![46		// Self location47		MultiLocation {48			parents: 0,49			interior: Here,50		},51		// Parent location52		MultiLocation {53			parents: 1,54			interior: Here,55		},56		// Karura/Acala location57		MultiLocation {58			parents: 1,59			interior: X1(Parachain(2000)),60		},61		// Moonriver location62		MultiLocation {63			parents: 1,64			interior: X1(Parachain(2023)),65		},66		// Self parachain address67		MultiLocation {68			parents: 1,69			interior: X1(Parachain(ParachainInfo::get().into())),70		},71	];72}7374pub type Barrier = DenyThenTry<75	(76		DenyTransact,77		DenyExchangeWithUnknownLocation<QuartzAllowedLocations>,78	),79	(80		TakeWeightCredit,81		AllowTopLevelPaidExecutionFrom<Everything>,82		// Parent and its exec plurality get free execution83		AllowUnpaidExecutionFrom<ParentOrParentsExecutivePlurality>,84		// Expected responses are OK.85		AllowKnownQueryResponses<PolkadotXcm>,86		// Subscriptions for version tracking are OK.87		AllowSubscriptionsFrom<ParentOrSiblings>,88	),89>;
modifiedruntime/unique/src/xcm_config.rsdiffbeforeafterboth
--- a/runtime/unique/src/xcm_config.rs
+++ b/runtime/unique/src/xcm_config.rs
@@ -14,15 +14,11 @@
 // 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::{Everything, Get},
-};
+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, AllowTopLevelPaidExecutionFrom,
-	AllowUnpaidExecutionFrom, TakeWeightCredit,
+	AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowUnpaidExecutionFrom, TakeWeightCredit,
 };
 
 use crate::{
@@ -78,7 +74,6 @@
 	),
 	(
 		TakeWeightCredit,
-		AllowTopLevelPaidExecutionFrom<Everything>,
 		// Parent and its exec plurality get free execution
 		AllowUnpaidExecutionFrom<ParentOrParentsExecutivePlurality>,
 		// Expected responses are OK.