From 53cf041bb2d7d7d0cdf0cd8a449a7333583825e0 Mon Sep 17 00:00:00 2001
From: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Date: Wed, 16 Aug 2023 11:15:42 +0200
Subject: [PATCH] Remove `as_derivative` from `SafeCallFilter` (#3006)

* remove as_derivative from SafeCallFilter

* lock

---------

Co-authored-by: parity-processbot <>
---
 cumulus/client/pov-recovery/src/lib.rs        |  4 +-
 .../assets/asset-hub-kusama/src/xcm_config.rs |  1 -
 .../asset-hub-polkadot/src/xcm_config.rs      |  1 -
 .../asset-hub-westend/src/xcm_config.rs       | 62 +++++++++----------
 .../bridge-hub-kusama/src/xcm_config.rs       |  3 +-
 .../bridge-hub-polkadot/src/xcm_config.rs     |  3 +-
 .../bridge-hub-rococo/src/xcm_config.rs       |  1 -
 .../collectives-polkadot/src/xcm_config.rs    |  1 -
 8 files changed, 33 insertions(+), 43 deletions(-)

diff --git a/cumulus/client/pov-recovery/src/lib.rs b/cumulus/client/pov-recovery/src/lib.rs
index 1dafe282aab..a7509c54ab0 100644
--- a/cumulus/client/pov-recovery/src/lib.rs
+++ b/cumulus/client/pov-recovery/src/lib.rs
@@ -29,8 +29,8 @@
 //! It works in the following way:
 //!
 //! 1. For every included relay chain block we note the backed candidate of our parachain. If the
-//!    block belonging to the PoV is already known, we do nothing. Otherwise we start
-//!    a timer that waits for a randomized time inside a specified interval before starting to
+//!    block belonging to the PoV is already known, we do nothing. Otherwise we start a timer that
+//!    waits for a randomized time inside a specified interval before starting to
 //! recover    the PoV.
 //!
 //! 2. If between starting and firing the timer the block is imported, we skip the recovery of the
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/xcm_config.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/xcm_config.rs
index 6ab89de0325..275a9391b8e 100644
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/xcm_config.rs
+++ b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/xcm_config.rs
@@ -220,7 +220,6 @@ impl Contains<RuntimeCall> for SafeCallFilter {
 				) | RuntimeCall::Session(pallet_session::Call::purge_keys { .. }) |
 				RuntimeCall::XcmpQueue(..) |
 				RuntimeCall::DmpQueue(..) |
-				RuntimeCall::Utility(pallet_utility::Call::as_derivative { .. }) |
 				RuntimeCall::Assets(
 					pallet_assets::Call::create { .. } |
 						pallet_assets::Call::force_create { .. } |
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-polkadot/src/xcm_config.rs b/cumulus/parachains/runtimes/assets/asset-hub-polkadot/src/xcm_config.rs
index 2497f0d24e1..e897fcc6ad4 100644
--- a/cumulus/parachains/runtimes/assets/asset-hub-polkadot/src/xcm_config.rs
+++ b/cumulus/parachains/runtimes/assets/asset-hub-polkadot/src/xcm_config.rs
@@ -227,7 +227,6 @@ impl Contains<RuntimeCall> for SafeCallFilter {
 				) | RuntimeCall::Session(pallet_session::Call::purge_keys { .. }) |
 				RuntimeCall::XcmpQueue(..) |
 				RuntimeCall::DmpQueue(..) |
-				RuntimeCall::Utility(pallet_utility::Call::as_derivative { .. }) |
 				RuntimeCall::Assets(
 					pallet_assets::Call::create { .. } |
 						pallet_assets::Call::force_create { .. } |
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/xcm_config.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/xcm_config.rs
index 16066841f92..a5cb0425a22 100644
--- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/xcm_config.rs
+++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/xcm_config.rs
@@ -273,39 +273,35 @@ impl Contains<RuntimeCall> for SafeCallFilter {
 				) | RuntimeCall::Session(pallet_session::Call::purge_keys { .. }) |
 				RuntimeCall::XcmpQueue(..) |
 				RuntimeCall::DmpQueue(..) |
-				RuntimeCall::Utility(
-					pallet_utility::Call::as_derivative { .. } |
-						pallet_utility::Call::batch { .. } |
-						pallet_utility::Call::batch_all { .. },
-				) | RuntimeCall::Assets(
-				pallet_assets::Call::create { .. } |
-					pallet_assets::Call::force_create { .. } |
-					pallet_assets::Call::start_destroy { .. } |
-					pallet_assets::Call::destroy_accounts { .. } |
-					pallet_assets::Call::destroy_approvals { .. } |
-					pallet_assets::Call::finish_destroy { .. } |
-					pallet_assets::Call::mint { .. } |
-					pallet_assets::Call::burn { .. } |
-					pallet_assets::Call::transfer { .. } |
-					pallet_assets::Call::transfer_keep_alive { .. } |
-					pallet_assets::Call::force_transfer { .. } |
-					pallet_assets::Call::freeze { .. } |
-					pallet_assets::Call::thaw { .. } |
-					pallet_assets::Call::freeze_asset { .. } |
-					pallet_assets::Call::thaw_asset { .. } |
-					pallet_assets::Call::transfer_ownership { .. } |
-					pallet_assets::Call::set_team { .. } |
-					pallet_assets::Call::set_metadata { .. } |
-					pallet_assets::Call::clear_metadata { .. } |
-					pallet_assets::Call::force_clear_metadata { .. } |
-					pallet_assets::Call::force_asset_status { .. } |
-					pallet_assets::Call::approve_transfer { .. } |
-					pallet_assets::Call::cancel_approval { .. } |
-					pallet_assets::Call::force_cancel_approval { .. } |
-					pallet_assets::Call::transfer_approved { .. } |
-					pallet_assets::Call::touch { .. } |
-					pallet_assets::Call::refund { .. },
-			) | RuntimeCall::ForeignAssets(
+				RuntimeCall::Assets(
+					pallet_assets::Call::create { .. } |
+						pallet_assets::Call::force_create { .. } |
+						pallet_assets::Call::start_destroy { .. } |
+						pallet_assets::Call::destroy_accounts { .. } |
+						pallet_assets::Call::destroy_approvals { .. } |
+						pallet_assets::Call::finish_destroy { .. } |
+						pallet_assets::Call::mint { .. } |
+						pallet_assets::Call::burn { .. } |
+						pallet_assets::Call::transfer { .. } |
+						pallet_assets::Call::transfer_keep_alive { .. } |
+						pallet_assets::Call::force_transfer { .. } |
+						pallet_assets::Call::freeze { .. } |
+						pallet_assets::Call::thaw { .. } |
+						pallet_assets::Call::freeze_asset { .. } |
+						pallet_assets::Call::thaw_asset { .. } |
+						pallet_assets::Call::transfer_ownership { .. } |
+						pallet_assets::Call::set_team { .. } |
+						pallet_assets::Call::set_metadata { .. } |
+						pallet_assets::Call::clear_metadata { .. } |
+						pallet_assets::Call::force_clear_metadata { .. } |
+						pallet_assets::Call::force_asset_status { .. } |
+						pallet_assets::Call::approve_transfer { .. } |
+						pallet_assets::Call::cancel_approval { .. } |
+						pallet_assets::Call::force_cancel_approval { .. } |
+						pallet_assets::Call::transfer_approved { .. } |
+						pallet_assets::Call::touch { .. } |
+						pallet_assets::Call::refund { .. },
+				) | RuntimeCall::ForeignAssets(
 				pallet_assets::Call::create { .. } |
 					pallet_assets::Call::force_create { .. } |
 					pallet_assets::Call::start_destroy { .. } |
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-kusama/src/xcm_config.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-kusama/src/xcm_config.rs
index 1208f26c583..1fcec7b6b9c 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-kusama/src/xcm_config.rs
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-kusama/src/xcm_config.rs
@@ -147,8 +147,7 @@ impl Contains<RuntimeCall> for SafeCallFilter {
 						pallet_collator_selection::Call::remove_invulnerable { .. },
 				) | RuntimeCall::Session(pallet_session::Call::purge_keys { .. }) |
 				RuntimeCall::XcmpQueue(..) |
-				RuntimeCall::DmpQueue(..) |
-				RuntimeCall::Utility(pallet_utility::Call::as_derivative { .. })
+				RuntimeCall::DmpQueue(..)
 		)
 	}
 }
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-polkadot/src/xcm_config.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-polkadot/src/xcm_config.rs
index 65265582835..0b5831f028b 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-polkadot/src/xcm_config.rs
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-polkadot/src/xcm_config.rs
@@ -150,8 +150,7 @@ impl Contains<RuntimeCall> for SafeCallFilter {
 						pallet_collator_selection::Call::remove_invulnerable { .. },
 				) | RuntimeCall::Session(pallet_session::Call::purge_keys { .. }) |
 				RuntimeCall::XcmpQueue(..) |
-				RuntimeCall::DmpQueue(..) |
-				RuntimeCall::Utility(pallet_utility::Call::as_derivative { .. })
+				RuntimeCall::DmpQueue(..)
 		)
 	}
 }
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/xcm_config.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/xcm_config.rs
index e3dd8692814..170382fe583 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/xcm_config.rs
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/xcm_config.rs
@@ -184,7 +184,6 @@ impl Contains<RuntimeCall> for SafeCallFilter {
 				) | RuntimeCall::Session(pallet_session::Call::purge_keys { .. }) |
 				RuntimeCall::XcmpQueue(..) |
 				RuntimeCall::DmpQueue(..) |
-				RuntimeCall::Utility(pallet_utility::Call::as_derivative { .. }) |
 				RuntimeCall::BridgeRococoGrandpa(pallet_bridge_grandpa::Call::<
 					Runtime,
 					BridgeGrandpaRococoInstance,
diff --git a/cumulus/parachains/runtimes/collectives/collectives-polkadot/src/xcm_config.rs b/cumulus/parachains/runtimes/collectives/collectives-polkadot/src/xcm_config.rs
index 5f1f256e6b3..e9b5c1b165a 100644
--- a/cumulus/parachains/runtimes/collectives/collectives-polkadot/src/xcm_config.rs
+++ b/cumulus/parachains/runtimes/collectives/collectives-polkadot/src/xcm_config.rs
@@ -160,7 +160,6 @@ impl Contains<RuntimeCall> for SafeCallFilter {
 				RuntimeCall::PolkadotXcm(pallet_xcm::Call::force_xcm_version { .. }) |
 				RuntimeCall::XcmpQueue(..) |
 				RuntimeCall::DmpQueue(..) |
-				RuntimeCall::Utility(pallet_utility::Call::as_derivative { .. }) |
 				RuntimeCall::Alliance(
 					// `init_members` accepts unbounded vecs as arguments,
 					// but the call can be initiated only by root origin.
-- 
GitLab