git.delta.rocks / unique-network / refs/commits / 67ee4bedd37d

difftreelog

fix benchmarks+try-runtime

Daniel Shiposha2024-05-24parent: #8c2fbfd.patch.diff
in: master

6 files changed

modifiednode/cli/src/command.rsdiffbeforeafterboth
--- a/node/cli/src/command.rs
+++ b/node/cli/src/command.rs
@@ -352,11 +352,14 @@
 			use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE};
 			use polkadot_cli::Block;
 
+			type Header = <Block as sp_runtime::traits::Block>::Header;
+			type Hasher = <Header as sp_runtime::traits::Header>::Hashing;
+
 			let runner = cli.create_runner(cmd)?;
 			// Switch on the concrete benchmark sub-command-
 			match cmd {
 				BenchmarkCmd::Pallet(cmd) => {
-					runner.sync_run(|config| cmd.run::<Block, ParachainHostFunctions>(config))
+					runner.sync_run(|config| cmd.run::<Hasher, ParachainHostFunctions>(config))
 				}
 				BenchmarkCmd::Block(cmd) => runner.sync_run(|config| {
 					let partials = new_partial::<
modifiedpallets/foreign-assets/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/foreign-assets/src/benchmarking.rs
+++ b/pallets/foreign-assets/src/benchmarking.rs
@@ -32,8 +32,7 @@
 
 	#[benchmark]
 	fn force_register_foreign_asset() -> Result<(), BenchmarkError> {
-		let location =
-			Location::from((Parachain(1000), PalletInstance(42), GeneralIndex(1)).into());
+		let asset_id: AssetId = (Parachain(1000), PalletInstance(42), GeneralIndex(1)).into();
 		let name = create_u16_data::<MAX_COLLECTION_NAME_LENGTH>();
 		let token_prefix = create_data::<MAX_TOKEN_PREFIX_LENGTH>();
 		let mode = ForeignCollectionMode::NFT;
@@ -41,7 +40,7 @@
 		#[extrinsic_call]
 		_(
 			RawOrigin::Root,
-			Box::new(location.into()),
+			Box::new(asset_id.into()),
 			name,
 			token_prefix,
 			mode,
modifiedruntime/common/config/governance/fellowship.rsdiffbeforeafterboth
--- a/runtime/common/config/governance/fellowship.rs
+++ b/runtime/common/config/governance/fellowship.rs
@@ -73,6 +73,9 @@
 	type Polls = FellowshipReferenda;
 	type MinRankOfClass = ClassToRankMapper<Self, ()>;
 	type VoteWeight = pallet_ranked_collective::Geometric;
+
+	#[cfg(feature = "runtime-benchmarks")]
+	type BenchmarkSetup = ();
 }
 
 pub struct EnsureFellowshipProposition;
modifiedruntime/common/config/xcm.rsdiffbeforeafterboth
--- a/runtime/common/config/xcm.rs
+++ b/runtime/common/config/xcm.rs
@@ -194,11 +194,6 @@
 	type TransactionalProcessor = FrameTransactionalProcessor;
 }
 
-#[cfg(feature = "runtime-benchmarks")]
-parameter_types! {
-	pub ReachableDest: Option<Location> = Some(Parent.into());
-}
-
 impl pallet_xcm::Config for Runtime {
 	type RuntimeEvent = RuntimeEvent;
 	type SendXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, ()>;
@@ -223,10 +218,21 @@
 	type AdminOrigin = EnsureRoot<AccountId>;
 	type MaxRemoteLockConsumers = ConstU32<0>;
 	type RemoteLockConsumerIdentifier = ();
-	#[cfg(feature = "runtime-benchmarks")]
-	type ReachableDest = ReachableDest;
 }
 
+#[cfg(feature = "runtime-benchmarks")]
+impl pallet_xcm::benchmarking::Config for Runtime {
+	type DeliveryHelper = ();
+
+	fn reachable_dest() -> Option<Location> {
+		Some(Parent.into())
+	}
+
+	fn get_asset() -> Asset {
+		(Location::here(), 1_000_000_000_000_000_000u128).into()
+	}
+}
+
 impl cumulus_pallet_xcm::Config for Runtime {
 	type RuntimeEvent = RuntimeEvent;
 	type XcmExecutor = XcmExecutor<XcmExecutorConfig<Self>>;
modifiedruntime/common/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -535,9 +535,10 @@
 				) {
 					use frame_benchmarking::{list_benchmark, Benchmarking, BenchmarkList};
 					use frame_support::traits::StorageInfoTrait;
+					use pallet_xcm::benchmarking::Pallet as PalletXcmBenchmarks;
 
 					let mut list = Vec::<BenchmarkList>::new();
-					list_benchmark!(list, extra, pallet_xcm, PolkadotXcm);
+					list_benchmark!(list, extra, pallet_xcm, PalletXcmBenchmarks::<Runtime>);
 
 					list_benchmark!(list, extra, pallet_evm_migration, EvmMigration);
 					list_benchmark!(list, extra, pallet_common, Common);
@@ -578,6 +579,7 @@
 				) -> Result<Vec<frame_benchmarking::BenchmarkBatch>, sp_runtime::RuntimeString> {
 					use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark};
 					use sp_storage::TrackedStorageKey;
+					use pallet_xcm::benchmarking::Pallet as PalletXcmBenchmarks;
 
 					let allowlist: Vec<TrackedStorageKey> = vec![
 						// Total Issuance
@@ -601,8 +603,9 @@
 
 					let mut batches = Vec::<BenchmarkBatch>::new();
 					let params = (&config, &allowlist);
-					add_benchmark!(params, batches, pallet_xcm, PolkadotXcm);
 
+					add_benchmark!(params, batches, pallet_xcm, PalletXcmBenchmarks::<Runtime>);
+
 					add_benchmark!(params, batches, pallet_evm_migration, EvmMigration);
 					add_benchmark!(params, batches, pallet_common, Common);
 					add_benchmark!(params, batches, pallet_unique, Unique);
modifiedruntime/common/weights/xcm.rsdiffbeforeafterboth
before · runtime/common/weights/xcm.rs
1// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs23//! Autogenerated weights for pallet_xcm4//!5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 29.0.06//! DATE: 2023-11-29, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`7//! WORST CASE MAP SIZE: `1000000`8//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024910// Executed Command:11// ./target/production/unique-collator12// benchmark13// pallet14// --pallet15// pallet-xcm16// --wasm-execution17// compiled18// --extrinsic19// *20// --template=.maintain/external-weight-template.hbs21// --steps=5022// --repeat=8023// --heap-pages=409624// --output=./runtime/common/weights/xcm.rs2526#![cfg_attr(rustfmt, rustfmt_skip)]27#![allow(unused_parens)]28#![allow(unused_imports)]29#![allow(missing_docs)]30#![allow(clippy::unnecessary_cast)]3132use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};33use sp_std::marker::PhantomData;3435/// Weights for pallet_xcm using the Substrate node and recommended hardware.36pub struct SubstrateWeight<T>(PhantomData<T>);37impl<T: frame_system::Config> pallet_xcm::WeightInfo for SubstrateWeight<T> {38	/// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)39	/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)40	/// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)41	/// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)42	/// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)43	/// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)44	/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)45	/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)46	/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)47	/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)48	fn send() -> Weight {49		// Proof Size summary in bytes:50		//  Measured:  `278`51		//  Estimated: `3743`52		// Minimum execution time: 22_693_000 picoseconds.53		Weight::from_parts(23_155_000, 3743)54			.saturating_add(T::DbWeight::get().reads(5_u64))55			.saturating_add(T::DbWeight::get().writes(2_u64))56	}57	/// Storage: `ParachainInfo::ParachainId` (r:1 w:0)58	/// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)59	fn teleport_assets() -> Weight {60		// Proof Size summary in bytes:61		//  Measured:  `169`62		//  Estimated: `1489`63		// Minimum execution time: 21_165_000 picoseconds.64		Weight::from_parts(21_568_000, 1489)65			.saturating_add(T::DbWeight::get().reads(1_u64))66	}67	/// Storage: `ParachainInfo::ParachainId` (r:1 w:0)68	/// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)69	fn reserve_transfer_assets() -> Weight {70		// Proof Size summary in bytes:71		//  Measured:  `169`72		//  Estimated: `1489`73		// Minimum execution time: 20_929_000 picoseconds.74		Weight::from_parts(21_295_000, 1489)75			.saturating_add(T::DbWeight::get().reads(1_u64))76	}77	fn execute() -> Weight {78		// Proof Size summary in bytes:79		//  Measured:  `0`80		//  Estimated: `0`81		// Minimum execution time: 7_580_000 picoseconds.82		Weight::from_parts(7_829_000, 0)83	}84	/// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1)85	/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)86	fn force_xcm_version() -> Weight {87		// Proof Size summary in bytes:88		//  Measured:  `0`89		//  Estimated: `0`90		// Minimum execution time: 7_503_000 picoseconds.91		Weight::from_parts(7_703_000, 0)92			.saturating_add(T::DbWeight::get().writes(1_u64))93	}94	/// Storage: `PolkadotXcm::SafeXcmVersion` (r:0 w:1)95	/// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)96	fn force_default_xcm_version() -> Weight {97		// Proof Size summary in bytes:98		//  Measured:  `0`99		//  Estimated: `0`100		// Minimum execution time: 2_505_000 picoseconds.101		Weight::from_parts(2_619_000, 0)102			.saturating_add(T::DbWeight::get().writes(1_u64))103	}104	/// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1)105	/// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)106	/// Storage: `PolkadotXcm::QueryCounter` (r:1 w:1)107	/// Proof: `PolkadotXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)108	/// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)109	/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)110	/// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)111	/// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)112	/// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)113	/// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)114	/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)115	/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)116	/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)117	/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)118	/// Storage: `PolkadotXcm::Queries` (r:0 w:1)119	/// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)120	fn force_subscribe_version_notify() -> Weight {121		// Proof Size summary in bytes:122		//  Measured:  `278`123		//  Estimated: `3743`124		// Minimum execution time: 26_213_000 picoseconds.125		Weight::from_parts(26_652_000, 3743)126			.saturating_add(T::DbWeight::get().reads(7_u64))127			.saturating_add(T::DbWeight::get().writes(5_u64))128	}129	/// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1)130	/// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)131	/// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)132	/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)133	/// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)134	/// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)135	/// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)136	/// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)137	/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)138	/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)139	/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)140	/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)141	/// Storage: `PolkadotXcm::Queries` (r:0 w:1)142	/// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)143	fn force_unsubscribe_version_notify() -> Weight {144		// Proof Size summary in bytes:145		//  Measured:  `461`146		//  Estimated: `3926`147		// Minimum execution time: 27_648_000 picoseconds.148		Weight::from_parts(28_084_000, 3926)149			.saturating_add(T::DbWeight::get().reads(6_u64))150			.saturating_add(T::DbWeight::get().writes(4_u64))151	}152	/// Storage: `PolkadotXcm::XcmExecutionSuspended` (r:0 w:1)153	/// Proof: `PolkadotXcm::XcmExecutionSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)154	fn force_suspension() -> Weight {155		// Proof Size summary in bytes:156		//  Measured:  `0`157		//  Estimated: `0`158		// Minimum execution time: 2_529_000 picoseconds.159		Weight::from_parts(2_650_000, 0)160			.saturating_add(T::DbWeight::get().writes(1_u64))161	}162	/// Storage: `PolkadotXcm::SupportedVersion` (r:4 w:2)163	/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)164	fn migrate_supported_version() -> Weight {165		// Proof Size summary in bytes:166		//  Measured:  `196`167		//  Estimated: `11086`168		// Minimum execution time: 15_973_000 picoseconds.169		Weight::from_parts(16_358_000, 11086)170			.saturating_add(T::DbWeight::get().reads(4_u64))171			.saturating_add(T::DbWeight::get().writes(2_u64))172	}173	/// Storage: `PolkadotXcm::VersionNotifiers` (r:4 w:2)174	/// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)175	fn migrate_version_notifiers() -> Weight {176		// Proof Size summary in bytes:177		//  Measured:  `200`178		//  Estimated: `11090`179		// Minimum execution time: 16_027_000 picoseconds.180		Weight::from_parts(16_585_000, 11090)181			.saturating_add(T::DbWeight::get().reads(4_u64))182			.saturating_add(T::DbWeight::get().writes(2_u64))183	}184	/// Storage: `PolkadotXcm::VersionNotifyTargets` (r:5 w:0)185	/// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)186	fn already_notified_target() -> Weight {187		// Proof Size summary in bytes:188		//  Measured:  `207`189		//  Estimated: `13572`190		// Minimum execution time: 16_817_000 picoseconds.191		Weight::from_parts(17_137_000, 13572)192			.saturating_add(T::DbWeight::get().reads(5_u64))193	}194	/// Storage: `PolkadotXcm::VersionNotifyTargets` (r:2 w:1)195	/// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)196	/// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)197	/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)198	/// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)199	/// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)200	/// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)201	/// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)202	/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)203	/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)204	/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)205	/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)206	fn notify_current_targets() -> Weight {207		// Proof Size summary in bytes:208		//  Measured:  `345`209		//  Estimated: `6285`210		// Minimum execution time: 24_551_000 picoseconds.211		Weight::from_parts(24_975_000, 6285)212			.saturating_add(T::DbWeight::get().reads(7_u64))213			.saturating_add(T::DbWeight::get().writes(3_u64))214	}215	/// Storage: `PolkadotXcm::VersionNotifyTargets` (r:3 w:0)216	/// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)217	fn notify_target_migration_fail() -> Weight {218		// Proof Size summary in bytes:219		//  Measured:  `239`220		//  Estimated: `8654`221		// Minimum execution time: 8_412_000 picoseconds.222		Weight::from_parts(8_710_000, 8654)223			.saturating_add(T::DbWeight::get().reads(3_u64))224	}225	/// Storage: `PolkadotXcm::VersionNotifyTargets` (r:4 w:2)226	/// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)227	fn migrate_version_notify_targets() -> Weight {228		// Proof Size summary in bytes:229		//  Measured:  `207`230		//  Estimated: `11097`231		// Minimum execution time: 16_427_000 picoseconds.232		Weight::from_parts(16_774_000, 11097)233			.saturating_add(T::DbWeight::get().reads(4_u64))234			.saturating_add(T::DbWeight::get().writes(2_u64))235	}236	/// Storage: `PolkadotXcm::VersionNotifyTargets` (r:4 w:2)237	/// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)238	/// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)239	/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)240	/// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)241	/// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)242	/// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)243	/// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)244	/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)245	/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)246	/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)247	/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)248	fn migrate_and_notify_old_targets() -> Weight {249		// Proof Size summary in bytes:250		//  Measured:  `349`251		//  Estimated: `11239`252		// Minimum execution time: 30_394_000 picoseconds.253		Weight::from_parts(30_868_000, 11239)254			.saturating_add(T::DbWeight::get().reads(9_u64))255			.saturating_add(T::DbWeight::get().writes(4_u64))256	}257258	fn transfer_assets() -> Weight {259        // TODO!260		Self::send()261    }262263	fn new_query() -> Weight {264        // TODO!265		Self::send()266    }267268	fn take_response() -> Weight {269        // TODO!270		Self::send()271    }272273	fn claim_assets() -> Weight {274        // TODO!275		Self::send()276    }277}278