git.delta.rocks / unique-network / refs/commits / 63282b096011

difftreelog

refactor(collator-selection) shuffle pallets + add benchmarks to bench

Fahrrader2022-12-28parent: #ce1b509.patch.diff
in: master

7 files changed

modifiedMakefilediffbeforeafterboth
--- a/Makefile
+++ b/Makefile
@@ -143,4 +143,4 @@
 	
 .PHONY: bench
 # Disabled: bench-scheduler, bench-rmrk-core, bench-rmrk-equip
-bench: bench-evm-migration bench-unique bench-structure bench-fungible bench-refungible bench-nonfungible bench-foreign-assets
+bench: bench-evm-migration bench-unique bench-structure bench-fungible bench-refungible bench-nonfungible bench-foreign-assets bench-collator-selection bench-identity
modifiedruntime/common/construct_runtime/mod.rsdiffbeforeafterboth
before · runtime/common/construct_runtime/mod.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/>.1617mod util;1819#[macro_export]20macro_rules! construct_runtime {21    ($select_runtime:ident) => {22        $crate::construct_runtime_impl! {23            select_runtime($select_runtime);2425            pub enum Runtime where26                Block = Block,27                NodeBlock = opaque::Block,28                UncheckedExtrinsic = UncheckedExtrinsic29            {30                System: frame_system = 0,3132                ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event<T>, ValidateUnsigned} = 20,33                ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21,3435                #[runtimes(opal)]36                Authorship: pallet_authorship::{Pallet, Call, Storage} = 22,3738                #[runtimes(opal)]39                CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event<T>, Config<T>} = 23,4041                #[runtimes(opal)]42                Session: pallet_session::{Pallet, Call, Storage, Event, Config<T>} = 24,4344                Aura: pallet_aura::{Pallet, Config<T>} = 25,45                AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 26,4647                #[runtimes(opal)]48                Identity: pallet_identity::{Pallet, Call, Storage, Event<T>} = 27,4950                Balances: pallet_balances::{Pallet, Call, Storage, Config<T>, Event<T>} = 30,51                RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Storage} = 31,52                Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 32,53                TransactionPayment: pallet_transaction_payment::{Pallet, Storage, Event<T>} = 33,54                Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event<T>} = 34,55                Sudo: pallet_sudo::{Pallet, Call, Storage, Config<T>, Event<T>} = 35,56                Vesting: orml_vesting::{Pallet, Storage, Call, Event<T>, Config<T>} = 37,5758                XTokens: orml_xtokens = 38,59                Tokens: orml_tokens = 39,60                // Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>} = 38,6162                // XCM helpers.63                XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event<T>} = 50,64                PolkadotXcm: pallet_xcm::{Pallet, Call, Event<T>, Origin} = 51,65                CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event<T>, Origin} = 52,66                DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event<T>} = 53,6768                // Unique Pallets69                Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,70                Unique: pallet_unique::{Pallet, Call, Storage} = 61,7172                // #[runtimes(opal)]73                // Scheduler: pallet_unique_scheduler_v2::{Pallet, Call, Storage, Event<T>} = 62,7475                Configuration: pallet_configuration::{Pallet, Call, Storage, Event<T>} = 63,7677                Charging: pallet_charge_transaction::{Pallet, Call, Storage } = 64,78                // ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65,79                Common: pallet_common::{Pallet, Storage, Event<T>} = 66,80                Fungible: pallet_fungible::{Pallet, Storage} = 67,8182                #[runtimes(opal, quartz)]83                Refungible: pallet_refungible::{Pallet, Storage} = 68,8485                Nonfungible: pallet_nonfungible::{Pallet, Storage} = 69,86                Structure: pallet_structure::{Pallet, Call, Storage, Event<T>} = 70,8788                #[runtimes(opal)]89                RmrkCore: pallet_proxy_rmrk_core::{Pallet, Call, Storage, Event<T>} = 71,9091                #[runtimes(opal)]92                RmrkEquip: pallet_proxy_rmrk_equip::{Pallet, Call, Storage, Event<T>} = 72,9394                #[runtimes(opal, quartz)]95                AppPromotion: pallet_app_promotion::{Pallet, Call, Storage, Event<T>} = 73,9697                #[runtimes(opal, quartz, unique)]98                ForeignAssets: pallet_foreign_assets::{Pallet, Call, Storage, Event<T>} = 80,99100                // Frontier101                EVM: pallet_evm::{Pallet, Config, Call, Storage, Event<T>} = 100,102                Ethereum: pallet_ethereum::{Pallet, Config, Call, Storage, Event, Origin} = 101,103104                EvmCoderSubstrate: pallet_evm_coder_substrate::{Pallet, Storage} = 150,105                EvmContractHelpers: pallet_evm_contract_helpers::{Pallet, Storage, Event<T>} = 151,106                EvmTransactionPayment: pallet_evm_transaction_payment::{Pallet} = 152,107                EvmMigration: pallet_evm_migration::{Pallet, Call, Storage, Event<T>} = 153,108109                Maintenance: pallet_maintenance::{Pallet, Call, Storage, Event<T>} = 154,110111                #[runtimes(opal)]112                TestUtils: pallet_test_utils = 255,113            }114        }115    }116}
after · runtime/common/construct_runtime/mod.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/>.1617mod util;1819#[macro_export]20macro_rules! construct_runtime {21    ($select_runtime:ident) => {22        $crate::construct_runtime_impl! {23            select_runtime($select_runtime);2425            pub enum Runtime where26                Block = Block,27                NodeBlock = opaque::Block,28                UncheckedExtrinsic = UncheckedExtrinsic29            {30                System: frame_system = 0,3132                ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event<T>, ValidateUnsigned} = 20,33                ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21,3435                Aura: pallet_aura::{Pallet, Config<T>} = 22,36                AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 23,3738                #[runtimes(opal)]39                Authorship: pallet_authorship::{Pallet, Call, Storage} = 24,4041                #[runtimes(opal)]42                CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event<T>, Config<T>} = 25,4344                #[runtimes(opal)]45                Session: pallet_session::{Pallet, Call, Storage, Event, Config<T>} = 26,4647                Balances: pallet_balances::{Pallet, Call, Storage, Config<T>, Event<T>} = 30,48                RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Storage} = 31,49                Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 32,50                TransactionPayment: pallet_transaction_payment::{Pallet, Storage, Event<T>} = 33,51                Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event<T>} = 34,52                Sudo: pallet_sudo::{Pallet, Call, Storage, Config<T>, Event<T>} = 35,53                Vesting: orml_vesting::{Pallet, Storage, Call, Event<T>, Config<T>} = 37,5455                XTokens: orml_xtokens = 38,56                Tokens: orml_tokens = 39,57                // Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>} = 38,5859                #[runtimes(opal)]60                Identity: pallet_identity::{Pallet, Call, Storage, Event<T>} = 40,6162                // XCM helpers.63                XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event<T>} = 50,64                PolkadotXcm: pallet_xcm::{Pallet, Call, Event<T>, Origin} = 51,65                CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event<T>, Origin} = 52,66                DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event<T>} = 53,6768                // Unique Pallets69                Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,70                Unique: pallet_unique::{Pallet, Call, Storage} = 61,7172                // #[runtimes(opal)]73                // Scheduler: pallet_unique_scheduler_v2::{Pallet, Call, Storage, Event<T>} = 62,7475                Configuration: pallet_configuration::{Pallet, Call, Storage, Event<T>} = 63,7677                Charging: pallet_charge_transaction::{Pallet, Call, Storage } = 64,78                // ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65,79                Common: pallet_common::{Pallet, Storage, Event<T>} = 66,80                Fungible: pallet_fungible::{Pallet, Storage} = 67,8182                #[runtimes(opal, quartz)]83                Refungible: pallet_refungible::{Pallet, Storage} = 68,8485                Nonfungible: pallet_nonfungible::{Pallet, Storage} = 69,86                Structure: pallet_structure::{Pallet, Call, Storage, Event<T>} = 70,8788                #[runtimes(opal)]89                RmrkCore: pallet_proxy_rmrk_core::{Pallet, Call, Storage, Event<T>} = 71,9091                #[runtimes(opal)]92                RmrkEquip: pallet_proxy_rmrk_equip::{Pallet, Call, Storage, Event<T>} = 72,9394                #[runtimes(opal, quartz)]95                AppPromotion: pallet_app_promotion::{Pallet, Call, Storage, Event<T>} = 73,9697                #[runtimes(opal, quartz, unique)]98                ForeignAssets: pallet_foreign_assets::{Pallet, Call, Storage, Event<T>} = 80,99100                // Frontier101                EVM: pallet_evm::{Pallet, Config, Call, Storage, Event<T>} = 100,102                Ethereum: pallet_ethereum::{Pallet, Config, Call, Storage, Event, Origin} = 101,103104                EvmCoderSubstrate: pallet_evm_coder_substrate::{Pallet, Storage} = 150,105                EvmContractHelpers: pallet_evm_contract_helpers::{Pallet, Storage, Event<T>} = 151,106                EvmTransactionPayment: pallet_evm_transaction_payment::{Pallet} = 152,107                EvmMigration: pallet_evm_migration::{Pallet, Call, Storage, Event<T>} = 153,108109                Maintenance: pallet_maintenance::{Pallet, Call, Storage, Event<T>} = 154,110111                #[runtimes(opal)]112                TestUtils: pallet_test_utils = 255,113            }114        }115    }116}
deletedruntime/common/data_management.rsdiffbeforeafterboth
--- a/runtime/common/data_management.rs
+++ /dev/null
@@ -1,67 +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 scale_info::TypeInfo;
-use codec::{Encode, Decode};
-use up_common::types::AccountId;
-use crate::RuntimeCall;
-
-use sp_runtime::{
-	traits::{DispatchInfoOf, SignedExtension},
-	transaction_validity::{
-		TransactionValidity, ValidTransaction, InvalidTransaction, TransactionValidityError,
-	},
-};
-
-#[derive(Debug, Encode, Decode, PartialEq, Eq, Clone, TypeInfo)]
-pub struct FilterIdentity;
-
-impl SignedExtension for FilterIdentity {
-	type AccountId = AccountId;
-	type Call = RuntimeCall;
-	type AdditionalSigned = ();
-	type Pre = ();
-
-	const IDENTIFIER: &'static str = "FilterIdentity";
-
-	fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {
-		Ok(())
-	}
-
-	fn pre_dispatch(
-		self,
-		who: &Self::AccountId,
-		call: &Self::Call,
-		info: &DispatchInfoOf<Self::Call>,
-		len: usize,
-	) -> Result<Self::Pre, TransactionValidityError> {
-		self.validate(who, call, info, len).map(|_| ())
-	}
-
-	fn validate(
-		&self,
-		_who: &Self::AccountId,
-		call: &Self::Call,
-		_info: &DispatchInfoOf<Self::Call>,
-		_len: usize,
-	) -> TransactionValidity {
-		match call {
-			#[cfg(feature = "collator-selection")]
-			RuntimeCall::Identity(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
-			_ => Ok(ValidTransaction::default()),
-		}
-	}
-}
addedruntime/common/identity.rsdiffbeforeafterboth
--- /dev/null
+++ b/runtime/common/identity.rs
@@ -0,0 +1,67 @@
+// 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 scale_info::TypeInfo;
+use codec::{Encode, Decode};
+use up_common::types::AccountId;
+use crate::RuntimeCall;
+
+use sp_runtime::{
+	traits::{DispatchInfoOf, SignedExtension},
+	transaction_validity::{
+		TransactionValidity, ValidTransaction, InvalidTransaction, TransactionValidityError,
+	},
+};
+
+#[derive(Debug, Encode, Decode, PartialEq, Eq, Clone, TypeInfo)]
+pub struct DisableIdentityCalls;
+
+impl SignedExtension for DisableIdentityCalls {
+	type AccountId = AccountId;
+	type Call = RuntimeCall;
+	type AdditionalSigned = ();
+	type Pre = ();
+
+	const IDENTIFIER: &'static str = "DisableIdentityCalls";
+
+	fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {
+		Ok(())
+	}
+
+	fn pre_dispatch(
+		self,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		self.validate(who, call, info, len).map(|_| ())
+	}
+
+	fn validate(
+		&self,
+		_who: &Self::AccountId,
+		call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
+		_len: usize,
+	) -> TransactionValidity {
+		match call {
+			#[cfg(feature = "collator-selection")]
+			RuntimeCall::Identity(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
+			_ => Ok(ValidTransaction::default()),
+		}
+	}
+}
modifiedruntime/common/mod.rsdiffbeforeafterboth
--- a/runtime/common/mod.rs
+++ b/runtime/common/mod.rs
@@ -16,9 +16,9 @@
 
 pub mod config;
 pub mod construct_runtime;
-pub mod data_management;
 pub mod dispatch;
 pub mod ethereum;
+pub mod identity;
 pub mod instance;
 pub mod maintenance;
 pub mod runtime_apis;
@@ -97,7 +97,7 @@
 	frame_system::CheckNonce<Runtime>,
 	frame_system::CheckWeight<Runtime>,
 	maintenance::CheckMaintenance,
-	data_management::FilterIdentity,
+	identity::DisableIdentityCalls,
 	ChargeTransactionPayment,
 	//pallet_contract_helpers::ContractHelpersExtension<Runtime>,
 	pallet_ethereum::FakeTransactionFinalizer<Runtime>,
modifiedtests/src/.outdated/substrate/substrate-api.tsdiffbeforeafterboth
--- a/tests/src/.outdated/substrate/substrate-api.ts
+++ b/tests/src/.outdated/substrate/substrate-api.ts
@@ -41,7 +41,7 @@
         extrinsic: {},
         payload: {},
       },
-      FilterIdentity: {
+      DisableIdentityCalls: {
         extrinsic: {},
         payload: {},
       },
modifiedtests/src/util/playgrounds/unique.dev.tsdiffbeforeafterboth
--- a/tests/src/util/playgrounds/unique.dev.ts
+++ b/tests/src/util/playgrounds/unique.dev.ts
@@ -93,7 +93,7 @@
           extrinsic: {},
           payload: {},
         },
-        FilterIdentity: {
+        DisableIdentityCalls: {
           extrinsic: {},
           payload: {},
         },