git.delta.rocks / unique-network / refs/commits / 10d04f3edadb

difftreelog

fix benchmark rmrk-core with opal-runtime

Daniel Shiposha2022-06-16parent: #5d82f75.patch.diff
in: master

10 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -8558,11 +8558,14 @@
  "fp-evm-mapping",
  "fp-rpc",
  "fp-self-contained",
+ "frame-benchmarking",
  "frame-executive",
  "frame-support",
  "frame-system",
+ "frame-system-benchmarking",
  "frame-system-rpc-runtime-api",
  "frame-try-runtime",
+ "hex-literal",
  "log",
  "orml-vesting",
  "pallet-aura",
modifiedMakefilediffbeforeafterboth
--- a/Makefile
+++ b/Makefile
@@ -59,7 +59,7 @@
 
 .PHONY: _bench
 _bench:
-	cargo run --release --features runtime-benchmarks,unique-runtime -- \
+	cargo run --release --features runtime-benchmarks,$(RUNTIME) -- \
 	benchmark pallet --pallet pallet-$(if $(PALLET),$(PALLET),$(error Must set PALLET)) \
 	--wasm-execution compiled --extrinsic '*' \
 	--template .maintain/frame-weight-template.hbs --steps=50 --repeat=80 --heap-pages=4096 \
modifiednode/cli/Cargo.tomldiffbeforeafterboth
--- a/node/cli/Cargo.toml
+++ b/node/cli/Cargo.toml
@@ -323,7 +323,9 @@
 [features]
 default = []
 runtime-benchmarks = [
-    'unique-runtime/runtime-benchmarks',
+    'unique-runtime?/runtime-benchmarks',
+    'quartz-runtime?/runtime-benchmarks',
+    'opal-runtime/runtime-benchmarks',
     'polkadot-service/runtime-benchmarks',
 ]
 try-runtime = []
modifiednode/cli/src/chain_spec.rsdiffbeforeafterboth
--- a/node/cli/src/chain_spec.rs
+++ b/node/cli/src/chain_spec.rs
@@ -26,13 +26,13 @@
 use unique_runtime_common::types::*;
 
 #[cfg(feature = "unique-runtime")]
-use unique_runtime as default_runtime;
+pub use unique_runtime as default_runtime;
 
 #[cfg(all(not(feature = "unique-runtime"), feature = "quartz-runtime"))]
-use quartz_runtime as default_runtime;
+pub use quartz_runtime as default_runtime;
 
 #[cfg(all(not(feature = "unique-runtime"), not(feature = "quartz-runtime")))]
-use opal_runtime as default_runtime;
+pub use opal_runtime as default_runtime;
 
 /// The `ChainSpec` parameterized for the unique runtime.
 #[cfg(feature = "unique-runtime")]
modifiednode/cli/src/command.rsdiffbeforeafterboth
--- a/node/cli/src/command.rs
+++ b/node/cli/src/command.rs
@@ -33,7 +33,7 @@
 // limitations under the License.
 
 use crate::{
-	chain_spec::{self, RuntimeId, RuntimeIdentification, ServiceId, ServiceIdentification},
+	chain_spec::{self, RuntimeId, RuntimeIdentification, ServiceId, ServiceIdentification, default_runtime},
 	cli::{Cli, RelayChainCli, Subcommand},
 	service::{new_partial, start_node, start_dev_node},
 };
@@ -44,7 +44,7 @@
 #[cfg(feature = "quartz-runtime")]
 use crate::service::QuartzRuntimeExecutor;
 
-use crate::service::OpalRuntimeExecutor;
+use crate::service::{OpalRuntimeExecutor, DefaultRuntimeExecutor};
 
 use codec::Encode;
 use cumulus_primitives_core::ParaId;
@@ -372,7 +372,6 @@
 
 			Ok(())
 		}
-		#[cfg(feature = "unique-runtime")]
 		Some(Subcommand::Benchmark(cmd)) => {
 			use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE};
 			let runner = cli.create_runner(cmd)?;
@@ -380,7 +379,7 @@
 			match cmd {
 				BenchmarkCmd::Pallet(cmd) => {
 					if cfg!(feature = "runtime-benchmarks") {
-						runner.sync_run(|config| cmd.run::<Block, UniqueRuntimeExecutor>(config))
+						runner.sync_run(|config| cmd.run::<Block, DefaultRuntimeExecutor>(config))
 					} else {
 						Err("Benchmarking wasn't enabled when building the node. \
 					You can enable it with `--features runtime-benchmarks`."
@@ -389,16 +388,16 @@
 				}
 				BenchmarkCmd::Block(cmd) => runner.sync_run(|config| {
 					let partials = new_partial::<
-						unique_runtime::RuntimeApi,
-						UniqueRuntimeExecutor,
+						default_runtime::RuntimeApi,
+						DefaultRuntimeExecutor,
 						_,
 					>(&config, crate::service::parachain_build_import_queue)?;
 					cmd.run(partials.client)
 				}),
 				BenchmarkCmd::Storage(cmd) => runner.sync_run(|config| {
 					let partials = new_partial::<
-						unique_runtime::RuntimeApi,
-						UniqueRuntimeExecutor,
+						default_runtime::RuntimeApi,
+						DefaultRuntimeExecutor,
 						_,
 					>(&config, crate::service::parachain_build_import_queue)?;
 					let db = partials.backend.expose_db();
@@ -411,10 +410,6 @@
 				}
 				BenchmarkCmd::Overhead(_) => Err("Unsupported benchmarking command".into()),
 			}
-		}
-		#[cfg(not(feature = "unique-runtime"))]
-		Some(Subcommand::Benchmark(..)) => {
-			Err("benchmarking is only available with unique runtime enabled".into())
 		}
 		Some(Subcommand::TryRuntime(cmd)) => {
 			if cfg!(feature = "try-runtime") {
modifiednode/cli/src/service.rsdiffbeforeafterboth
--- a/node/cli/src/service.rs
+++ b/node/cli/src/service.rs
@@ -77,13 +77,21 @@
 
 #[cfg(feature = "quartz-runtime")]
 /// Quartz native executor instance.
-
 pub struct QuartzRuntimeExecutor;
 
 /// Opal native executor instance.
 pub struct OpalRuntimeExecutor;
 
 #[cfg(feature = "unique-runtime")]
+pub type DefaultRuntimeExecutor = UniqueRuntimeExecutor;
+
+#[cfg(all(not(feature = "unique-runtime"), feature = "quartz-runtime"))]
+pub type DefaultRuntimeExecutor = QuartzRuntimeExecutor;
+
+#[cfg(all(not(feature = "unique-runtime"), not(feature = "quartz-runtime")))]
+pub type DefaultRuntimeExecutor = OpalRuntimeExecutor;
+
+#[cfg(feature = "unique-runtime")]
 impl NativeExecutionDispatch for UniqueRuntimeExecutor {
 	type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions;
 
modifiedpallets/proxy-rmrk-core/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-core/src/benchmarking.rs
+++ b/pallets/proxy-rmrk-core/src/benchmarking.rs
@@ -220,7 +220,6 @@
 		let b in 0..100;
 
 		let caller: T::AccountId = account("caller", 0, SEED);
-		<T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
 
 		create_max_collection::<T>(&caller)?;
 		let collection_id = 0;
@@ -381,7 +380,6 @@
 
 	add_basic_resource {
 		let caller: T::AccountId = account("caller", 0, SEED);
-		<T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
 
 		create_max_collection::<T>(&caller)?;
 		let collection_id = 0;
@@ -398,7 +396,6 @@
 
 	add_composable_resource {
 		let caller: T::AccountId = account("caller", 0, SEED);
-		<T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
 
 		create_max_collection::<T>(&caller)?;
 		let collection_id = 0;
@@ -415,7 +412,6 @@
 
 	add_slot_resource {
 		let caller: T::AccountId = account("caller", 0, SEED);
-		<T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
 
 		create_max_collection::<T>(&caller)?;
 		let collection_id = 0;
@@ -432,7 +428,6 @@
 
 	remove_resource {
 		let caller: T::AccountId = account("caller", 0, SEED);
-		<T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
 
 		create_max_collection::<T>(&caller)?;
 		let collection_id = 0;
@@ -448,7 +443,7 @@
 			resource
 		)?;
 
-		let resource_id = 1;
+		let resource_id = 0;
 	}: _(
 		RawOrigin::Signed(caller),
 		collection_id,
@@ -460,8 +455,6 @@
 		let caller: T::AccountId = account("caller", 0, SEED);
 		let admin: T::AccountId = account("admin", 0, SEED);
 
-		<T as pallet_common::Config>::Currency::deposit_creating(&admin, T::CollectionCreationPrice::get());
-
 		create_max_collection::<T>(&admin)?;
 		let collection_id = 0;
 
@@ -486,7 +479,7 @@
 			resource
 		)?;
 
-		let resource_id = 1;
+		let resource_id = 0;
 	}: _(
 		RawOrigin::Signed(caller),
 		collection_id,
@@ -498,8 +491,6 @@
 		let caller: T::AccountId = account("caller", 0, SEED);
 		let admin: T::AccountId = account("admin", 0, SEED);
 
-		<T as pallet_common::Config>::Currency::deposit_creating(&admin, T::CollectionCreationPrice::get());
-
 		create_max_collection::<T>(&admin)?;
 		let collection_id = 0;
 
@@ -515,7 +506,7 @@
 			resource
 		)?;
 
-		let resource_id = 1;
+		let resource_id = 0;
 
 		let new_owner = <RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::AccountId(caller.clone());
 
modifiedpallets/proxy-rmrk-core/src/weights.rsdiffbeforeafterboth
before · pallets/proxy-rmrk-core/src/weights.rs
1// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs23//! Autogenerated weights for pallet_proxy_rmrk_core4//!5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev6//! DATE: 2022-06-14, STEPS: `50`, REPEAT: 200, LOW RANGE: `[]`, HIGH RANGE: `[]`7//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 102489// Executed Command:10// target/release/unique-collator11// benchmark12// pallet13// --pallet14// pallet-proxy-rmrk-core15// --wasm-execution16// compiled17// --extrinsic18// *19// --template20// .maintain/frame-weight-template.hbs21// --steps=5022// --repeat=20023// --heap-pages=409624// --output=./pallets/proxy-rmrk-core/src/weights.rs2526#![cfg_attr(rustfmt, rustfmt_skip)]27#![allow(unused_parens)]28#![allow(unused_imports)]29#![allow(clippy::unnecessary_cast)]3031use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};32use sp_std::marker::PhantomData;3334/// Weight functions needed for pallet_proxy_rmrk_core.35pub trait WeightInfo {36	fn create_collection() -> Weight;37	fn destroy_collection() -> Weight;38	fn change_collection_issuer() -> Weight;39	fn lock_collection() -> Weight;40	fn mint_nft(b: u32, ) -> Weight;41	fn burn_nft(b: u32, ) -> Weight;42	fn send() -> Weight;43	fn accept_nft() -> Weight;44	fn reject_nft() -> Weight;45	fn set_property() -> Weight;46	fn set_priority() -> Weight;47	fn add_basic_resource() -> Weight;48	fn add_composable_resource() -> Weight;49	fn add_slot_resource() -> Weight;50	fn remove_resource() -> Weight;51	fn accept_resource() -> Weight;52	fn accept_resource_removal() -> Weight;53}5455/// Weights for pallet_proxy_rmrk_core using the Substrate node and recommended hardware.56pub struct SubstrateWeight<T>(PhantomData<T>);57impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {58	// Storage: Common CreatedCollectionCount (r:1 w:1)59	// Storage: Common DestroyedCollectionCount (r:1 w:0)60	// Storage: System Account (r:2 w:2)61	// Storage: RmrkCore CollectionIndex (r:1 w:1)62	// Storage: Common CollectionPropertyPermissions (r:0 w:1)63	// Storage: Common CollectionProperties (r:0 w:1)64	// Storage: Common CollectionById (r:0 w:1)65	// Storage: RmrkCore UniqueCollectionId (r:0 w:1)66	fn create_collection() -> Weight {67		(41_277_000 as Weight)68			.saturating_add(T::DbWeight::get().reads(5 as Weight))69			.saturating_add(T::DbWeight::get().writes(8 as Weight))70	}71	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)72	// Storage: Common CollectionProperties (r:1 w:1)73	// Storage: Common CollectionById (r:1 w:1)74	// Storage: Nonfungible TokenData (r:1 w:0)75	// Storage: Common DestroyedCollectionCount (r:1 w:1)76	// Storage: Nonfungible TokensMinted (r:0 w:1)77	// Storage: Nonfungible TokensBurnt (r:0 w:1)78	// Storage: Common AdminAmount (r:0 w:1)79	fn destroy_collection() -> Weight {80		(43_371_000 as Weight)81			.saturating_add(T::DbWeight::get().reads(5 as Weight))82			.saturating_add(T::DbWeight::get().writes(6 as Weight))83	}84	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)85	// Storage: Common CollectionById (r:1 w:1)86	// Storage: Common CollectionProperties (r:1 w:0)87	fn change_collection_issuer() -> Weight {88		(21_891_000 as Weight)89			.saturating_add(T::DbWeight::get().reads(3 as Weight))90			.saturating_add(T::DbWeight::get().writes(1 as Weight))91	}92	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)93	// Storage: Common CollectionProperties (r:1 w:0)94	// Storage: Common CollectionById (r:1 w:1)95	// Storage: Nonfungible TokensMinted (r:1 w:0)96	// Storage: Nonfungible TokensBurnt (r:1 w:0)97	fn lock_collection() -> Weight {98		(23_144_000 as Weight)99			.saturating_add(T::DbWeight::get().reads(5 as Weight))100			.saturating_add(T::DbWeight::get().writes(1 as Weight))101	}102	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)103	// Storage: Common CollectionProperties (r:1 w:0)104	// Storage: Common CollectionById (r:1 w:0)105	// Storage: Nonfungible TokensMinted (r:1 w:1)106	// Storage: Nonfungible AccountBalance (r:1 w:1)107	// Storage: Nonfungible TokenProperties (r:1 w:1)108	// Storage: Nonfungible TokenData (r:0 w:1)109	// Storage: Nonfungible Owned (r:0 w:1)110	// Storage: Common CreatedCollectionCount (r:1 w:1)111	// Storage: Common DestroyedCollectionCount (r:1 w:0)112	// Storage: System Account (r:2 w:2)113	// Storage: Common CollectionPropertyPermissions (r:0 w:1)114	fn mint_nft(b: u32, ) -> Weight {115		(68_329_000 as Weight)116			// Standard Error: 3_000117			.saturating_add((21_470_000 as Weight).saturating_mul(b as Weight))118			.saturating_add(T::DbWeight::get().reads(12 as Weight))119			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))120			.saturating_add(T::DbWeight::get().writes(12 as Weight))121			.saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))122	}123	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)124	// Storage: Common CollectionProperties (r:1 w:0)125	// Storage: Common CollectionById (r:1 w:0)126	// Storage: Nonfungible TokenData (r:1 w:1)127	// Storage: Nonfungible TokenChildren (r:1 w:0)128	// Storage: Nonfungible TokensBurnt (r:1 w:1)129	// Storage: Nonfungible AccountBalance (r:1 w:1)130	// Storage: Nonfungible Allowance (r:1 w:0)131	// Storage: Nonfungible Owned (r:0 w:1)132	// Storage: Nonfungible TokenProperties (r:0 w:1)133	fn burn_nft(b: u32, ) -> Weight {134		(0 as Weight)135			// Standard Error: 959_000136			.saturating_add((305_872_000 as Weight).saturating_mul(b as Weight))137			.saturating_add(T::DbWeight::get().reads(9 as Weight))138			.saturating_add(T::DbWeight::get().reads((4 as Weight).saturating_mul(b as Weight)))139			.saturating_add(T::DbWeight::get().writes(6 as Weight))140			.saturating_add(T::DbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))141	}142	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)143	// Storage: Common CollectionProperties (r:1 w:0)144	// Storage: Common CollectionById (r:1 w:0)145	// Storage: Nonfungible TokenData (r:5 w:1)146	// Storage: Nonfungible TokenProperties (r:1 w:0)147	// Storage: Nonfungible AccountBalance (r:2 w:2)148	// Storage: Nonfungible Allowance (r:1 w:0)149	// Storage: Nonfungible TokenChildren (r:0 w:1)150	// Storage: Nonfungible Owned (r:0 w:2)151	fn send() -> Weight {152		(71_405_000 as Weight)153			.saturating_add(T::DbWeight::get().reads(12 as Weight))154			.saturating_add(T::DbWeight::get().writes(6 as Weight))155	}156	// Storage: RmrkCore UniqueCollectionId (r:2 w:0)157	// Storage: Common CollectionProperties (r:1 w:0)158	// Storage: Common CollectionById (r:2 w:0)159	// Storage: Nonfungible TokenData (r:6 w:1)160	// Storage: Nonfungible AccountBalance (r:2 w:2)161	// Storage: Nonfungible Allowance (r:1 w:0)162	// Storage: Nonfungible TokenProperties (r:1 w:1)163	// Storage: Nonfungible TokenChildren (r:0 w:1)164	// Storage: Nonfungible Owned (r:0 w:2)165	fn accept_nft() -> Weight {166		(79_159_000 as Weight)167			.saturating_add(T::DbWeight::get().reads(15 as Weight))168			.saturating_add(T::DbWeight::get().writes(7 as Weight))169	}170	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)171	// Storage: Common CollectionProperties (r:1 w:0)172	// Storage: Common CollectionById (r:1 w:0)173	// Storage: Nonfungible TokenProperties (r:1 w:5)174	// Storage: Nonfungible TokenData (r:5 w:5)175	// Storage: Nonfungible TokenChildren (r:9 w:4)176	// Storage: Nonfungible TokensBurnt (r:1 w:1)177	// Storage: Nonfungible AccountBalance (r:5 w:5)178	// Storage: Nonfungible Allowance (r:5 w:0)179	// Storage: Nonfungible Owned (r:0 w:5)180	fn reject_nft() -> Weight {181		(238_179_000 as Weight)182			.saturating_add(T::DbWeight::get().reads(29 as Weight))183			.saturating_add(T::DbWeight::get().writes(25 as Weight))184	}185	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)186	// Storage: Common CollectionProperties (r:1 w:0)187	// Storage: Common CollectionById (r:1 w:0)188	// Storage: Nonfungible TokenProperties (r:1 w:1)189	// Storage: Nonfungible TokenData (r:5 w:0)190	fn set_property() -> Weight {191		(47_770_000 as Weight)192			.saturating_add(T::DbWeight::get().reads(9 as Weight))193			.saturating_add(T::DbWeight::get().writes(1 as Weight))194	}195	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)196	// Storage: Common CollectionProperties (r:1 w:0)197	// Storage: Common CollectionById (r:1 w:0)198	// Storage: Nonfungible TokenProperties (r:1 w:1)199	// Storage: Nonfungible TokenData (r:5 w:0)200	fn set_priority() -> Weight {201		(46_679_000 as Weight)202			.saturating_add(T::DbWeight::get().reads(9 as Weight))203			.saturating_add(T::DbWeight::get().writes(1 as Weight))204	}205	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)206	// Storage: Common CollectionProperties (r:1 w:1)207	// Storage: Common CollectionById (r:1 w:1)208	// Storage: Nonfungible TokenData (r:5 w:1)209	// Storage: Nonfungible TokenProperties (r:2 w:2)210	// Storage: Common CreatedCollectionCount (r:1 w:1)211	// Storage: Common DestroyedCollectionCount (r:1 w:0)212	// Storage: System Account (r:2 w:2)213	// Storage: Nonfungible TokensMinted (r:1 w:1)214	// Storage: Nonfungible AccountBalance (r:1 w:1)215	// Storage: Nonfungible Owned (r:0 w:1)216	// Storage: Common CollectionPropertyPermissions (r:0 w:1)217	fn add_basic_resource() -> Weight {218		(100_770_000 as Weight)219			.saturating_add(T::DbWeight::get().reads(16 as Weight))220			.saturating_add(T::DbWeight::get().writes(12 as Weight))221	}222	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)223	// Storage: Common CollectionProperties (r:1 w:1)224	// Storage: Common CollectionById (r:1 w:1)225	// Storage: Nonfungible TokenData (r:5 w:1)226	// Storage: Nonfungible TokenProperties (r:2 w:2)227	// Storage: Common CreatedCollectionCount (r:1 w:1)228	// Storage: Common DestroyedCollectionCount (r:1 w:0)229	// Storage: System Account (r:2 w:2)230	// Storage: Nonfungible TokensMinted (r:1 w:1)231	// Storage: Nonfungible AccountBalance (r:1 w:1)232	// Storage: Nonfungible Owned (r:0 w:1)233	// Storage: Common CollectionPropertyPermissions (r:0 w:1)234	fn add_composable_resource() -> Weight {235		(101_791_000 as Weight)236			.saturating_add(T::DbWeight::get().reads(16 as Weight))237			.saturating_add(T::DbWeight::get().writes(12 as Weight))238	}239	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)240	// Storage: Common CollectionProperties (r:1 w:1)241	// Storage: Common CollectionById (r:1 w:1)242	// Storage: Nonfungible TokenData (r:5 w:1)243	// Storage: Nonfungible TokenProperties (r:2 w:2)244	// Storage: Common CreatedCollectionCount (r:1 w:1)245	// Storage: Common DestroyedCollectionCount (r:1 w:0)246	// Storage: System Account (r:2 w:2)247	// Storage: Nonfungible TokensMinted (r:1 w:1)248	// Storage: Nonfungible AccountBalance (r:1 w:1)249	// Storage: Nonfungible Owned (r:0 w:1)250	// Storage: Common CollectionPropertyPermissions (r:0 w:1)251	fn add_slot_resource() -> Weight {252		(101_610_000 as Weight)253			.saturating_add(T::DbWeight::get().reads(16 as Weight))254			.saturating_add(T::DbWeight::get().writes(12 as Weight))255	}256	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)257	// Storage: Common CollectionProperties (r:2 w:0)258	// Storage: Common CollectionById (r:2 w:0)259	// Storage: Nonfungible TokenProperties (r:1 w:1)260	// Storage: Nonfungible TokenData (r:6 w:1)261	// Storage: Nonfungible TokenChildren (r:1 w:0)262	// Storage: Nonfungible TokensBurnt (r:1 w:1)263	// Storage: Nonfungible AccountBalance (r:1 w:1)264	// Storage: Nonfungible Allowance (r:1 w:0)265	// Storage: Nonfungible Owned (r:0 w:1)266	fn remove_resource() -> Weight {267		(80_571_000 as Weight)268			.saturating_add(T::DbWeight::get().reads(16 as Weight))269			.saturating_add(T::DbWeight::get().writes(5 as Weight))270	}271	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)272	// Storage: Common CollectionProperties (r:1 w:0)273	// Storage: Common CollectionById (r:1 w:0)274	// Storage: Nonfungible TokenData (r:5 w:0)275	// Storage: Nonfungible TokenProperties (r:2 w:1)276	fn accept_resource() -> Weight {277		(54_733_000 as Weight)278			.saturating_add(T::DbWeight::get().reads(10 as Weight))279			.saturating_add(T::DbWeight::get().writes(1 as Weight))280	}281	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)282	// Storage: Common CollectionProperties (r:2 w:0)283	// Storage: Common CollectionById (r:2 w:0)284	// Storage: Nonfungible TokenData (r:6 w:1)285	// Storage: Nonfungible TokenProperties (r:2 w:1)286	// Storage: Nonfungible TokenChildren (r:1 w:0)287	// Storage: Nonfungible TokensBurnt (r:1 w:1)288	// Storage: Nonfungible AccountBalance (r:1 w:1)289	// Storage: Nonfungible Allowance (r:1 w:0)290	// Storage: Nonfungible Owned (r:0 w:1)291	fn accept_resource_removal() -> Weight {292		(84_138_000 as Weight)293			.saturating_add(T::DbWeight::get().reads(17 as Weight))294			.saturating_add(T::DbWeight::get().writes(5 as Weight))295	}296}297298// For backwards compatibility and tests299impl WeightInfo for () {300	// Storage: Common CreatedCollectionCount (r:1 w:1)301	// Storage: Common DestroyedCollectionCount (r:1 w:0)302	// Storage: System Account (r:2 w:2)303	// Storage: RmrkCore CollectionIndex (r:1 w:1)304	// Storage: Common CollectionPropertyPermissions (r:0 w:1)305	// Storage: Common CollectionProperties (r:0 w:1)306	// Storage: Common CollectionById (r:0 w:1)307	// Storage: RmrkCore UniqueCollectionId (r:0 w:1)308	fn create_collection() -> Weight {309		(41_277_000 as Weight)310			.saturating_add(RocksDbWeight::get().reads(5 as Weight))311			.saturating_add(RocksDbWeight::get().writes(8 as Weight))312	}313	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)314	// Storage: Common CollectionProperties (r:1 w:1)315	// Storage: Common CollectionById (r:1 w:1)316	// Storage: Nonfungible TokenData (r:1 w:0)317	// Storage: Common DestroyedCollectionCount (r:1 w:1)318	// Storage: Nonfungible TokensMinted (r:0 w:1)319	// Storage: Nonfungible TokensBurnt (r:0 w:1)320	// Storage: Common AdminAmount (r:0 w:1)321	fn destroy_collection() -> Weight {322		(43_371_000 as Weight)323			.saturating_add(RocksDbWeight::get().reads(5 as Weight))324			.saturating_add(RocksDbWeight::get().writes(6 as Weight))325	}326	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)327	// Storage: Common CollectionById (r:1 w:1)328	// Storage: Common CollectionProperties (r:1 w:0)329	fn change_collection_issuer() -> Weight {330		(21_891_000 as Weight)331			.saturating_add(RocksDbWeight::get().reads(3 as Weight))332			.saturating_add(RocksDbWeight::get().writes(1 as Weight))333	}334	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)335	// Storage: Common CollectionProperties (r:1 w:0)336	// Storage: Common CollectionById (r:1 w:1)337	// Storage: Nonfungible TokensMinted (r:1 w:0)338	// Storage: Nonfungible TokensBurnt (r:1 w:0)339	fn lock_collection() -> Weight {340		(23_144_000 as Weight)341			.saturating_add(RocksDbWeight::get().reads(5 as Weight))342			.saturating_add(RocksDbWeight::get().writes(1 as Weight))343	}344	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)345	// Storage: Common CollectionProperties (r:1 w:0)346	// Storage: Common CollectionById (r:1 w:0)347	// Storage: Nonfungible TokensMinted (r:1 w:1)348	// Storage: Nonfungible AccountBalance (r:1 w:1)349	// Storage: Nonfungible TokenProperties (r:1 w:1)350	// Storage: Nonfungible TokenData (r:0 w:1)351	// Storage: Nonfungible Owned (r:0 w:1)352	// Storage: Common CreatedCollectionCount (r:1 w:1)353	// Storage: Common DestroyedCollectionCount (r:1 w:0)354	// Storage: System Account (r:2 w:2)355	// Storage: Common CollectionPropertyPermissions (r:0 w:1)356	fn mint_nft(b: u32, ) -> Weight {357		(68_329_000 as Weight)358			// Standard Error: 3_000359			.saturating_add((21_470_000 as Weight).saturating_mul(b as Weight))360			.saturating_add(RocksDbWeight::get().reads(12 as Weight))361			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))362			.saturating_add(RocksDbWeight::get().writes(12 as Weight))363			.saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))364	}365	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)366	// Storage: Common CollectionProperties (r:1 w:0)367	// Storage: Common CollectionById (r:1 w:0)368	// Storage: Nonfungible TokenData (r:1 w:1)369	// Storage: Nonfungible TokenChildren (r:1 w:0)370	// Storage: Nonfungible TokensBurnt (r:1 w:1)371	// Storage: Nonfungible AccountBalance (r:1 w:1)372	// Storage: Nonfungible Allowance (r:1 w:0)373	// Storage: Nonfungible Owned (r:0 w:1)374	// Storage: Nonfungible TokenProperties (r:0 w:1)375	fn burn_nft(b: u32, ) -> Weight {376		(0 as Weight)377			// Standard Error: 959_000378			.saturating_add((305_872_000 as Weight).saturating_mul(b as Weight))379			.saturating_add(RocksDbWeight::get().reads(9 as Weight))380			.saturating_add(RocksDbWeight::get().reads((4 as Weight).saturating_mul(b as Weight)))381			.saturating_add(RocksDbWeight::get().writes(6 as Weight))382			.saturating_add(RocksDbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))383	}384	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)385	// Storage: Common CollectionProperties (r:1 w:0)386	// Storage: Common CollectionById (r:1 w:0)387	// Storage: Nonfungible TokenData (r:5 w:1)388	// Storage: Nonfungible TokenProperties (r:1 w:0)389	// Storage: Nonfungible AccountBalance (r:2 w:2)390	// Storage: Nonfungible Allowance (r:1 w:0)391	// Storage: Nonfungible TokenChildren (r:0 w:1)392	// Storage: Nonfungible Owned (r:0 w:2)393	fn send() -> Weight {394		(71_405_000 as Weight)395			.saturating_add(RocksDbWeight::get().reads(12 as Weight))396			.saturating_add(RocksDbWeight::get().writes(6 as Weight))397	}398	// Storage: RmrkCore UniqueCollectionId (r:2 w:0)399	// Storage: Common CollectionProperties (r:1 w:0)400	// Storage: Common CollectionById (r:2 w:0)401	// Storage: Nonfungible TokenData (r:6 w:1)402	// Storage: Nonfungible AccountBalance (r:2 w:2)403	// Storage: Nonfungible Allowance (r:1 w:0)404	// Storage: Nonfungible TokenProperties (r:1 w:1)405	// Storage: Nonfungible TokenChildren (r:0 w:1)406	// Storage: Nonfungible Owned (r:0 w:2)407	fn accept_nft() -> Weight {408		(79_159_000 as Weight)409			.saturating_add(RocksDbWeight::get().reads(15 as Weight))410			.saturating_add(RocksDbWeight::get().writes(7 as Weight))411	}412	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)413	// Storage: Common CollectionProperties (r:1 w:0)414	// Storage: Common CollectionById (r:1 w:0)415	// Storage: Nonfungible TokenProperties (r:1 w:5)416	// Storage: Nonfungible TokenData (r:5 w:5)417	// Storage: Nonfungible TokenChildren (r:9 w:4)418	// Storage: Nonfungible TokensBurnt (r:1 w:1)419	// Storage: Nonfungible AccountBalance (r:5 w:5)420	// Storage: Nonfungible Allowance (r:5 w:0)421	// Storage: Nonfungible Owned (r:0 w:5)422	fn reject_nft() -> Weight {423		(238_179_000 as Weight)424			.saturating_add(RocksDbWeight::get().reads(29 as Weight))425			.saturating_add(RocksDbWeight::get().writes(25 as Weight))426	}427	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)428	// Storage: Common CollectionProperties (r:1 w:0)429	// Storage: Common CollectionById (r:1 w:0)430	// Storage: Nonfungible TokenProperties (r:1 w:1)431	// Storage: Nonfungible TokenData (r:5 w:0)432	fn set_property() -> Weight {433		(47_770_000 as Weight)434			.saturating_add(RocksDbWeight::get().reads(9 as Weight))435			.saturating_add(RocksDbWeight::get().writes(1 as Weight))436	}437	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)438	// Storage: Common CollectionProperties (r:1 w:0)439	// Storage: Common CollectionById (r:1 w:0)440	// Storage: Nonfungible TokenProperties (r:1 w:1)441	// Storage: Nonfungible TokenData (r:5 w:0)442	fn set_priority() -> Weight {443		(46_679_000 as Weight)444			.saturating_add(RocksDbWeight::get().reads(9 as Weight))445			.saturating_add(RocksDbWeight::get().writes(1 as Weight))446	}447	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)448	// Storage: Common CollectionProperties (r:1 w:1)449	// Storage: Common CollectionById (r:1 w:1)450	// Storage: Nonfungible TokenData (r:5 w:1)451	// Storage: Nonfungible TokenProperties (r:2 w:2)452	// Storage: Common CreatedCollectionCount (r:1 w:1)453	// Storage: Common DestroyedCollectionCount (r:1 w:0)454	// Storage: System Account (r:2 w:2)455	// Storage: Nonfungible TokensMinted (r:1 w:1)456	// Storage: Nonfungible AccountBalance (r:1 w:1)457	// Storage: Nonfungible Owned (r:0 w:1)458	// Storage: Common CollectionPropertyPermissions (r:0 w:1)459	fn add_basic_resource() -> Weight {460		(100_770_000 as Weight)461			.saturating_add(RocksDbWeight::get().reads(16 as Weight))462			.saturating_add(RocksDbWeight::get().writes(12 as Weight))463	}464	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)465	// Storage: Common CollectionProperties (r:1 w:1)466	// Storage: Common CollectionById (r:1 w:1)467	// Storage: Nonfungible TokenData (r:5 w:1)468	// Storage: Nonfungible TokenProperties (r:2 w:2)469	// Storage: Common CreatedCollectionCount (r:1 w:1)470	// Storage: Common DestroyedCollectionCount (r:1 w:0)471	// Storage: System Account (r:2 w:2)472	// Storage: Nonfungible TokensMinted (r:1 w:1)473	// Storage: Nonfungible AccountBalance (r:1 w:1)474	// Storage: Nonfungible Owned (r:0 w:1)475	// Storage: Common CollectionPropertyPermissions (r:0 w:1)476	fn add_composable_resource() -> Weight {477		(101_791_000 as Weight)478			.saturating_add(RocksDbWeight::get().reads(16 as Weight))479			.saturating_add(RocksDbWeight::get().writes(12 as Weight))480	}481	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)482	// Storage: Common CollectionProperties (r:1 w:1)483	// Storage: Common CollectionById (r:1 w:1)484	// Storage: Nonfungible TokenData (r:5 w:1)485	// Storage: Nonfungible TokenProperties (r:2 w:2)486	// Storage: Common CreatedCollectionCount (r:1 w:1)487	// Storage: Common DestroyedCollectionCount (r:1 w:0)488	// Storage: System Account (r:2 w:2)489	// Storage: Nonfungible TokensMinted (r:1 w:1)490	// Storage: Nonfungible AccountBalance (r:1 w:1)491	// Storage: Nonfungible Owned (r:0 w:1)492	// Storage: Common CollectionPropertyPermissions (r:0 w:1)493	fn add_slot_resource() -> Weight {494		(101_610_000 as Weight)495			.saturating_add(RocksDbWeight::get().reads(16 as Weight))496			.saturating_add(RocksDbWeight::get().writes(12 as Weight))497	}498	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)499	// Storage: Common CollectionProperties (r:2 w:0)500	// Storage: Common CollectionById (r:2 w:0)501	// Storage: Nonfungible TokenProperties (r:1 w:1)502	// Storage: Nonfungible TokenData (r:6 w:1)503	// Storage: Nonfungible TokenChildren (r:1 w:0)504	// Storage: Nonfungible TokensBurnt (r:1 w:1)505	// Storage: Nonfungible AccountBalance (r:1 w:1)506	// Storage: Nonfungible Allowance (r:1 w:0)507	// Storage: Nonfungible Owned (r:0 w:1)508	fn remove_resource() -> Weight {509		(80_571_000 as Weight)510			.saturating_add(RocksDbWeight::get().reads(16 as Weight))511			.saturating_add(RocksDbWeight::get().writes(5 as Weight))512	}513	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)514	// Storage: Common CollectionProperties (r:1 w:0)515	// Storage: Common CollectionById (r:1 w:0)516	// Storage: Nonfungible TokenData (r:5 w:0)517	// Storage: Nonfungible TokenProperties (r:2 w:1)518	fn accept_resource() -> Weight {519		(54_733_000 as Weight)520			.saturating_add(RocksDbWeight::get().reads(10 as Weight))521			.saturating_add(RocksDbWeight::get().writes(1 as Weight))522	}523	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)524	// Storage: Common CollectionProperties (r:2 w:0)525	// Storage: Common CollectionById (r:2 w:0)526	// Storage: Nonfungible TokenData (r:6 w:1)527	// Storage: Nonfungible TokenProperties (r:2 w:1)528	// Storage: Nonfungible TokenChildren (r:1 w:0)529	// Storage: Nonfungible TokensBurnt (r:1 w:1)530	// Storage: Nonfungible AccountBalance (r:1 w:1)531	// Storage: Nonfungible Allowance (r:1 w:0)532	// Storage: Nonfungible Owned (r:0 w:1)533	fn accept_resource_removal() -> Weight {534		(84_138_000 as Weight)535			.saturating_add(RocksDbWeight::get().reads(17 as Weight))536			.saturating_add(RocksDbWeight::get().writes(5 as Weight))537	}538}
after · pallets/proxy-rmrk-core/src/weights.rs
1// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs23//! Autogenerated weights for pallet_proxy_rmrk_core4//!5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev6//! DATE: 2022-06-16, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`7//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 102489// Executed Command:10// target/release/unique-collator11// benchmark12// pallet13// --pallet14// pallet-proxy-rmrk-core15// --wasm-execution16// compiled17// --extrinsic18// *19// --template20// .maintain/frame-weight-template.hbs21// --steps=5022// --repeat=8023// --heap-pages=409624// --output=./pallets/proxy-rmrk-core/src/weights.rs2526#![cfg_attr(rustfmt, rustfmt_skip)]27#![allow(unused_parens)]28#![allow(unused_imports)]29#![allow(clippy::unnecessary_cast)]3031use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};32use sp_std::marker::PhantomData;3334/// Weight functions needed for pallet_proxy_rmrk_core.35pub trait WeightInfo {36	fn create_collection() -> Weight;37	fn destroy_collection() -> Weight;38	fn change_collection_issuer() -> Weight;39	fn lock_collection() -> Weight;40	fn mint_nft(b: u32, ) -> Weight;41	fn burn_nft(b: u32, ) -> Weight;42	fn send() -> Weight;43	fn accept_nft() -> Weight;44	fn reject_nft() -> Weight;45	fn set_property() -> Weight;46	fn set_priority() -> Weight;47	fn add_basic_resource() -> Weight;48	fn add_composable_resource() -> Weight;49	fn add_slot_resource() -> Weight;50	fn remove_resource() -> Weight;51	fn accept_resource() -> Weight;52	fn accept_resource_removal() -> Weight;53}5455/// Weights for pallet_proxy_rmrk_core using the Substrate node and recommended hardware.56pub struct SubstrateWeight<T>(PhantomData<T>);57impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {58	// Storage: Common CreatedCollectionCount (r:1 w:1)59	// Storage: Common DestroyedCollectionCount (r:1 w:0)60	// Storage: System Account (r:2 w:2)61	// Storage: RmrkCore CollectionIndex (r:1 w:1)62	// Storage: Common CollectionPropertyPermissions (r:0 w:1)63	// Storage: Common CollectionProperties (r:0 w:1)64	// Storage: Common CollectionById (r:0 w:1)65	// Storage: RmrkCore UniqueCollectionId (r:0 w:1)66	fn create_collection() -> Weight {67		(41_768_000 as Weight)68			.saturating_add(T::DbWeight::get().reads(5 as Weight))69			.saturating_add(T::DbWeight::get().writes(8 as Weight))70	}71	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)72	// Storage: Common CollectionProperties (r:1 w:1)73	// Storage: Common CollectionById (r:1 w:1)74	// Storage: Nonfungible TokenData (r:1 w:0)75	// Storage: Common DestroyedCollectionCount (r:1 w:1)76	// Storage: Nonfungible TokensMinted (r:0 w:1)77	// Storage: Nonfungible TokensBurnt (r:0 w:1)78	// Storage: Common AdminAmount (r:0 w:1)79	fn destroy_collection() -> Weight {80		(43_402_000 as Weight)81			.saturating_add(T::DbWeight::get().reads(5 as Weight))82			.saturating_add(T::DbWeight::get().writes(6 as Weight))83	}84	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)85	// Storage: Common CollectionById (r:1 w:1)86	// Storage: Common CollectionProperties (r:1 w:0)87	fn change_collection_issuer() -> Weight {88		(21_711_000 as Weight)89			.saturating_add(T::DbWeight::get().reads(3 as Weight))90			.saturating_add(T::DbWeight::get().writes(1 as Weight))91	}92	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)93	// Storage: Common CollectionProperties (r:1 w:0)94	// Storage: Common CollectionById (r:1 w:1)95	// Storage: Nonfungible TokensMinted (r:1 w:0)96	// Storage: Nonfungible TokensBurnt (r:1 w:0)97	fn lock_collection() -> Weight {98		(23_204_000 as Weight)99			.saturating_add(T::DbWeight::get().reads(5 as Weight))100			.saturating_add(T::DbWeight::get().writes(1 as Weight))101	}102	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)103	// Storage: Common CollectionProperties (r:1 w:0)104	// Storage: Common CollectionById (r:1 w:0)105	// Storage: Nonfungible TokensMinted (r:1 w:1)106	// Storage: Nonfungible AccountBalance (r:1 w:1)107	// Storage: Nonfungible TokenProperties (r:1 w:1)108	// Storage: Nonfungible TokenData (r:0 w:1)109	// Storage: Nonfungible Owned (r:0 w:1)110	// Storage: Nonfungible TokenSysProperties (r:2 w:2)111	fn mint_nft(b: u32, ) -> Weight {112		(44_655_000 as Weight)113			// Standard Error: 2_000114			.saturating_add((10_953_000 as Weight).saturating_mul(b as Weight))115			.saturating_add(T::DbWeight::get().reads(6 as Weight))116			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))117			.saturating_add(T::DbWeight::get().writes(5 as Weight))118			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))119	}120	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)121	// Storage: Common CollectionProperties (r:1 w:0)122	// Storage: Common CollectionById (r:1 w:0)123	// Storage: Nonfungible TokenData (r:1 w:1)124	// Storage: Nonfungible TokenChildren (r:1 w:0)125	// Storage: Nonfungible TokensBurnt (r:1 w:1)126	// Storage: Nonfungible AccountBalance (r:1 w:1)127	// Storage: Nonfungible Allowance (r:1 w:0)128	// Storage: Nonfungible Owned (r:0 w:1)129	// Storage: Nonfungible TokenProperties (r:0 w:1)130	fn burn_nft(b: u32, ) -> Weight {131		(0 as Weight)132			// Standard Error: 3_677_000133			.saturating_add((357_082_000 as Weight).saturating_mul(b as Weight))134			.saturating_add(T::DbWeight::get().reads(9 as Weight))135			.saturating_add(T::DbWeight::get().reads((4 as Weight).saturating_mul(b as Weight)))136			.saturating_add(T::DbWeight::get().writes(6 as Weight))137			.saturating_add(T::DbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))138	}139	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)140	// Storage: Common CollectionProperties (r:1 w:0)141	// Storage: Common CollectionById (r:1 w:0)142	// Storage: Nonfungible TokenData (r:5 w:1)143	// Storage: Nonfungible TokenProperties (r:1 w:0)144	// Storage: Nonfungible AccountBalance (r:2 w:2)145	// Storage: Nonfungible Allowance (r:1 w:0)146	// Storage: Nonfungible TokenChildren (r:0 w:1)147	// Storage: Nonfungible Owned (r:0 w:2)148	fn send() -> Weight {149		(73_968_000 as Weight)150			.saturating_add(T::DbWeight::get().reads(12 as Weight))151			.saturating_add(T::DbWeight::get().writes(6 as Weight))152	}153	// Storage: RmrkCore UniqueCollectionId (r:2 w:0)154	// Storage: Common CollectionProperties (r:1 w:0)155	// Storage: Common CollectionById (r:2 w:0)156	// Storage: Nonfungible TokenData (r:6 w:1)157	// Storage: Nonfungible AccountBalance (r:2 w:2)158	// Storage: Nonfungible Allowance (r:1 w:0)159	// Storage: Nonfungible TokenProperties (r:1 w:1)160	// Storage: Nonfungible TokenChildren (r:0 w:1)161	// Storage: Nonfungible Owned (r:0 w:2)162	fn accept_nft() -> Weight {163		(81_954_000 as Weight)164			.saturating_add(T::DbWeight::get().reads(15 as Weight))165			.saturating_add(T::DbWeight::get().writes(7 as Weight))166	}167	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)168	// Storage: Common CollectionProperties (r:1 w:0)169	// Storage: Common CollectionById (r:1 w:0)170	// Storage: Nonfungible TokenData (r:5 w:5)171	// Storage: Nonfungible TokenProperties (r:1 w:5)172	// Storage: Nonfungible TokenChildren (r:9 w:4)173	// Storage: Nonfungible TokensBurnt (r:1 w:1)174	// Storage: Nonfungible AccountBalance (r:5 w:5)175	// Storage: Nonfungible Allowance (r:5 w:0)176	// Storage: Nonfungible Owned (r:0 w:5)177	fn reject_nft() -> Weight {178		(250_041_000 as Weight)179			.saturating_add(T::DbWeight::get().reads(29 as Weight))180			.saturating_add(T::DbWeight::get().writes(25 as Weight))181	}182	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)183	// Storage: Common CollectionProperties (r:1 w:0)184	// Storage: Common CollectionById (r:1 w:0)185	// Storage: Nonfungible TokenProperties (r:1 w:1)186	// Storage: Nonfungible TokenData (r:5 w:0)187	fn set_property() -> Weight {188		(48_631_000 as Weight)189			.saturating_add(T::DbWeight::get().reads(9 as Weight))190			.saturating_add(T::DbWeight::get().writes(1 as Weight))191	}192	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)193	// Storage: Common CollectionProperties (r:1 w:0)194	// Storage: Common CollectionById (r:1 w:0)195	// Storage: Nonfungible TokenProperties (r:1 w:1)196	// Storage: Nonfungible TokenData (r:5 w:0)197	fn set_priority() -> Weight {198		(47_830_000 as Weight)199			.saturating_add(T::DbWeight::get().reads(9 as Weight))200			.saturating_add(T::DbWeight::get().writes(1 as Weight))201	}202	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)203	// Storage: Common CollectionProperties (r:1 w:0)204	// Storage: Common CollectionById (r:1 w:0)205	// Storage: Nonfungible TokenData (r:5 w:0)206	// Storage: Nonfungible TokenProperties (r:1 w:1)207	// Storage: Nonfungible TokenSysProperties (r:1 w:1)208	fn add_basic_resource() -> Weight {209		(54_773_000 as Weight)210			.saturating_add(T::DbWeight::get().reads(10 as Weight))211			.saturating_add(T::DbWeight::get().writes(2 as Weight))212	}213	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)214	// Storage: Common CollectionProperties (r:1 w:0)215	// Storage: Common CollectionById (r:1 w:0)216	// Storage: Nonfungible TokenData (r:5 w:0)217	// Storage: Nonfungible TokenProperties (r:1 w:1)218	// Storage: Nonfungible TokenSysProperties (r:1 w:1)219	fn add_composable_resource() -> Weight {220		(55_214_000 as Weight)221			.saturating_add(T::DbWeight::get().reads(10 as Weight))222			.saturating_add(T::DbWeight::get().writes(2 as Weight))223	}224	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)225	// Storage: Common CollectionProperties (r:1 w:0)226	// Storage: Common CollectionById (r:1 w:0)227	// Storage: Nonfungible TokenData (r:5 w:0)228	// Storage: Nonfungible TokenProperties (r:1 w:1)229	// Storage: Nonfungible TokenSysProperties (r:1 w:1)230	fn add_slot_resource() -> Weight {231		(54_863_000 as Weight)232			.saturating_add(T::DbWeight::get().reads(10 as Weight))233			.saturating_add(T::DbWeight::get().writes(2 as Weight))234	}235	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)236	// Storage: Common CollectionProperties (r:1 w:0)237	// Storage: Common CollectionById (r:1 w:0)238	// Storage: Nonfungible TokenSysProperties (r:1 w:1)239	// Storage: Nonfungible TokenData (r:5 w:0)240	fn remove_resource() -> Weight {241		(46_848_000 as Weight)242			.saturating_add(T::DbWeight::get().reads(9 as Weight))243			.saturating_add(T::DbWeight::get().writes(1 as Weight))244	}245	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)246	// Storage: Common CollectionProperties (r:1 w:0)247	// Storage: Common CollectionById (r:1 w:0)248	// Storage: Nonfungible TokenData (r:5 w:0)249	// Storage: Nonfungible TokenSysProperties (r:1 w:1)250	fn accept_resource() -> Weight {251		(45_635_000 as Weight)252			.saturating_add(T::DbWeight::get().reads(9 as Weight))253			.saturating_add(T::DbWeight::get().writes(1 as Weight))254	}255	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)256	// Storage: Common CollectionProperties (r:1 w:0)257	// Storage: Common CollectionById (r:1 w:0)258	// Storage: Nonfungible TokenData (r:5 w:0)259	// Storage: Nonfungible TokenSysProperties (r:1 w:1)260	fn accept_resource_removal() -> Weight {261		(45_535_000 as Weight)262			.saturating_add(T::DbWeight::get().reads(9 as Weight))263			.saturating_add(T::DbWeight::get().writes(1 as Weight))264	}265}266267// For backwards compatibility and tests268impl WeightInfo for () {269	// Storage: Common CreatedCollectionCount (r:1 w:1)270	// Storage: Common DestroyedCollectionCount (r:1 w:0)271	// Storage: System Account (r:2 w:2)272	// Storage: RmrkCore CollectionIndex (r:1 w:1)273	// Storage: Common CollectionPropertyPermissions (r:0 w:1)274	// Storage: Common CollectionProperties (r:0 w:1)275	// Storage: Common CollectionById (r:0 w:1)276	// Storage: RmrkCore UniqueCollectionId (r:0 w:1)277	fn create_collection() -> Weight {278		(41_768_000 as Weight)279			.saturating_add(RocksDbWeight::get().reads(5 as Weight))280			.saturating_add(RocksDbWeight::get().writes(8 as Weight))281	}282	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)283	// Storage: Common CollectionProperties (r:1 w:1)284	// Storage: Common CollectionById (r:1 w:1)285	// Storage: Nonfungible TokenData (r:1 w:0)286	// Storage: Common DestroyedCollectionCount (r:1 w:1)287	// Storage: Nonfungible TokensMinted (r:0 w:1)288	// Storage: Nonfungible TokensBurnt (r:0 w:1)289	// Storage: Common AdminAmount (r:0 w:1)290	fn destroy_collection() -> Weight {291		(43_402_000 as Weight)292			.saturating_add(RocksDbWeight::get().reads(5 as Weight))293			.saturating_add(RocksDbWeight::get().writes(6 as Weight))294	}295	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)296	// Storage: Common CollectionById (r:1 w:1)297	// Storage: Common CollectionProperties (r:1 w:0)298	fn change_collection_issuer() -> Weight {299		(21_711_000 as Weight)300			.saturating_add(RocksDbWeight::get().reads(3 as Weight))301			.saturating_add(RocksDbWeight::get().writes(1 as Weight))302	}303	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)304	// Storage: Common CollectionProperties (r:1 w:0)305	// Storage: Common CollectionById (r:1 w:1)306	// Storage: Nonfungible TokensMinted (r:1 w:0)307	// Storage: Nonfungible TokensBurnt (r:1 w:0)308	fn lock_collection() -> Weight {309		(23_204_000 as Weight)310			.saturating_add(RocksDbWeight::get().reads(5 as Weight))311			.saturating_add(RocksDbWeight::get().writes(1 as Weight))312	}313	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)314	// Storage: Common CollectionProperties (r:1 w:0)315	// Storage: Common CollectionById (r:1 w:0)316	// Storage: Nonfungible TokensMinted (r:1 w:1)317	// Storage: Nonfungible AccountBalance (r:1 w:1)318	// Storage: Nonfungible TokenProperties (r:1 w:1)319	// Storage: Nonfungible TokenData (r:0 w:1)320	// Storage: Nonfungible Owned (r:0 w:1)321	// Storage: Nonfungible TokenSysProperties (r:2 w:2)322	fn mint_nft(b: u32, ) -> Weight {323		(44_655_000 as Weight)324			// Standard Error: 2_000325			.saturating_add((10_953_000 as Weight).saturating_mul(b as Weight))326			.saturating_add(RocksDbWeight::get().reads(6 as Weight))327			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))328			.saturating_add(RocksDbWeight::get().writes(5 as Weight))329			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))330	}331	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)332	// Storage: Common CollectionProperties (r:1 w:0)333	// Storage: Common CollectionById (r:1 w:0)334	// Storage: Nonfungible TokenData (r:1 w:1)335	// Storage: Nonfungible TokenChildren (r:1 w:0)336	// Storage: Nonfungible TokensBurnt (r:1 w:1)337	// Storage: Nonfungible AccountBalance (r:1 w:1)338	// Storage: Nonfungible Allowance (r:1 w:0)339	// Storage: Nonfungible Owned (r:0 w:1)340	// Storage: Nonfungible TokenProperties (r:0 w:1)341	fn burn_nft(b: u32, ) -> Weight {342		(0 as Weight)343			// Standard Error: 3_677_000344			.saturating_add((357_082_000 as Weight).saturating_mul(b as Weight))345			.saturating_add(RocksDbWeight::get().reads(9 as Weight))346			.saturating_add(RocksDbWeight::get().reads((4 as Weight).saturating_mul(b as Weight)))347			.saturating_add(RocksDbWeight::get().writes(6 as Weight))348			.saturating_add(RocksDbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))349	}350	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)351	// Storage: Common CollectionProperties (r:1 w:0)352	// Storage: Common CollectionById (r:1 w:0)353	// Storage: Nonfungible TokenData (r:5 w:1)354	// Storage: Nonfungible TokenProperties (r:1 w:0)355	// Storage: Nonfungible AccountBalance (r:2 w:2)356	// Storage: Nonfungible Allowance (r:1 w:0)357	// Storage: Nonfungible TokenChildren (r:0 w:1)358	// Storage: Nonfungible Owned (r:0 w:2)359	fn send() -> Weight {360		(73_968_000 as Weight)361			.saturating_add(RocksDbWeight::get().reads(12 as Weight))362			.saturating_add(RocksDbWeight::get().writes(6 as Weight))363	}364	// Storage: RmrkCore UniqueCollectionId (r:2 w:0)365	// Storage: Common CollectionProperties (r:1 w:0)366	// Storage: Common CollectionById (r:2 w:0)367	// Storage: Nonfungible TokenData (r:6 w:1)368	// Storage: Nonfungible AccountBalance (r:2 w:2)369	// Storage: Nonfungible Allowance (r:1 w:0)370	// Storage: Nonfungible TokenProperties (r:1 w:1)371	// Storage: Nonfungible TokenChildren (r:0 w:1)372	// Storage: Nonfungible Owned (r:0 w:2)373	fn accept_nft() -> Weight {374		(81_954_000 as Weight)375			.saturating_add(RocksDbWeight::get().reads(15 as Weight))376			.saturating_add(RocksDbWeight::get().writes(7 as Weight))377	}378	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)379	// Storage: Common CollectionProperties (r:1 w:0)380	// Storage: Common CollectionById (r:1 w:0)381	// Storage: Nonfungible TokenData (r:5 w:5)382	// Storage: Nonfungible TokenProperties (r:1 w:5)383	// Storage: Nonfungible TokenChildren (r:9 w:4)384	// Storage: Nonfungible TokensBurnt (r:1 w:1)385	// Storage: Nonfungible AccountBalance (r:5 w:5)386	// Storage: Nonfungible Allowance (r:5 w:0)387	// Storage: Nonfungible Owned (r:0 w:5)388	fn reject_nft() -> Weight {389		(250_041_000 as Weight)390			.saturating_add(RocksDbWeight::get().reads(29 as Weight))391			.saturating_add(RocksDbWeight::get().writes(25 as Weight))392	}393	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)394	// Storage: Common CollectionProperties (r:1 w:0)395	// Storage: Common CollectionById (r:1 w:0)396	// Storage: Nonfungible TokenProperties (r:1 w:1)397	// Storage: Nonfungible TokenData (r:5 w:0)398	fn set_property() -> Weight {399		(48_631_000 as Weight)400			.saturating_add(RocksDbWeight::get().reads(9 as Weight))401			.saturating_add(RocksDbWeight::get().writes(1 as Weight))402	}403	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)404	// Storage: Common CollectionProperties (r:1 w:0)405	// Storage: Common CollectionById (r:1 w:0)406	// Storage: Nonfungible TokenProperties (r:1 w:1)407	// Storage: Nonfungible TokenData (r:5 w:0)408	fn set_priority() -> Weight {409		(47_830_000 as Weight)410			.saturating_add(RocksDbWeight::get().reads(9 as Weight))411			.saturating_add(RocksDbWeight::get().writes(1 as Weight))412	}413	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)414	// Storage: Common CollectionProperties (r:1 w:0)415	// Storage: Common CollectionById (r:1 w:0)416	// Storage: Nonfungible TokenData (r:5 w:0)417	// Storage: Nonfungible TokenProperties (r:1 w:1)418	// Storage: Nonfungible TokenSysProperties (r:1 w:1)419	fn add_basic_resource() -> Weight {420		(54_773_000 as Weight)421			.saturating_add(RocksDbWeight::get().reads(10 as Weight))422			.saturating_add(RocksDbWeight::get().writes(2 as Weight))423	}424	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)425	// Storage: Common CollectionProperties (r:1 w:0)426	// Storage: Common CollectionById (r:1 w:0)427	// Storage: Nonfungible TokenData (r:5 w:0)428	// Storage: Nonfungible TokenProperties (r:1 w:1)429	// Storage: Nonfungible TokenSysProperties (r:1 w:1)430	fn add_composable_resource() -> Weight {431		(55_214_000 as Weight)432			.saturating_add(RocksDbWeight::get().reads(10 as Weight))433			.saturating_add(RocksDbWeight::get().writes(2 as Weight))434	}435	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)436	// Storage: Common CollectionProperties (r:1 w:0)437	// Storage: Common CollectionById (r:1 w:0)438	// Storage: Nonfungible TokenData (r:5 w:0)439	// Storage: Nonfungible TokenProperties (r:1 w:1)440	// Storage: Nonfungible TokenSysProperties (r:1 w:1)441	fn add_slot_resource() -> Weight {442		(54_863_000 as Weight)443			.saturating_add(RocksDbWeight::get().reads(10 as Weight))444			.saturating_add(RocksDbWeight::get().writes(2 as Weight))445	}446	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)447	// Storage: Common CollectionProperties (r:1 w:0)448	// Storage: Common CollectionById (r:1 w:0)449	// Storage: Nonfungible TokenSysProperties (r:1 w:1)450	// Storage: Nonfungible TokenData (r:5 w:0)451	fn remove_resource() -> Weight {452		(46_848_000 as Weight)453			.saturating_add(RocksDbWeight::get().reads(9 as Weight))454			.saturating_add(RocksDbWeight::get().writes(1 as Weight))455	}456	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)457	// Storage: Common CollectionProperties (r:1 w:0)458	// Storage: Common CollectionById (r:1 w:0)459	// Storage: Nonfungible TokenData (r:5 w:0)460	// Storage: Nonfungible TokenSysProperties (r:1 w:1)461	fn accept_resource() -> Weight {462		(45_635_000 as Weight)463			.saturating_add(RocksDbWeight::get().reads(9 as Weight))464			.saturating_add(RocksDbWeight::get().writes(1 as Weight))465	}466	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)467	// Storage: Common CollectionProperties (r:1 w:0)468	// Storage: Common CollectionById (r:1 w:0)469	// Storage: Nonfungible TokenData (r:5 w:0)470	// Storage: Nonfungible TokenSysProperties (r:1 w:1)471	fn accept_resource_removal() -> Weight {472		(45_535_000 as Weight)473			.saturating_add(RocksDbWeight::get().reads(9 as Weight))474			.saturating_add(RocksDbWeight::get().writes(1 as Weight))475	}476}
modifiedruntime/common/src/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/src/runtime_apis.rs
+++ b/runtime/common/src/runtime_apis.rs
@@ -454,6 +454,10 @@
                     list_benchmark!(list, extra, pallet_refungible, Refungible);
                     list_benchmark!(list, extra, pallet_nonfungible, Nonfungible);
                     list_benchmark!(list, extra, pallet_unique_scheduler, Scheduler);
+
+                    #[cfg(not(feature = "unique-runtime"))]
+                    list_benchmark!(list, extra, pallet_proxy_rmrk_core, RmrkCore);
+
                     // list_benchmark!(list, extra, pallet_evm_coder_substrate, EvmCoderSubstrate);
 
                     let storage_info = AllPalletsReversedWithSystemFirst::storage_info();
@@ -498,6 +502,10 @@
                     add_benchmark!(params, batches, pallet_refungible, Refungible);
                     add_benchmark!(params, batches, pallet_nonfungible, Nonfungible);
                     add_benchmark!(params, batches, pallet_unique_scheduler, Scheduler);
+
+                    #[cfg(not(feature = "unique-runtime"))]
+                    add_benchmark!(params, batches, pallet_proxy_rmrk_core, RmrkCore);
+
                     // add_benchmark!(params, batches, pallet_evm_coder_substrate, EvmCoderSubstrate);
 
                     if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) }
modifiedruntime/unique/Cargo.tomldiffbeforeafterboth
--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -16,7 +16,7 @@
 targets = ['x86_64-unknown-linux-gnu']
 
 [features]
-default = ['std']
+default = ['std', 'unique-runtime']
 runtime-benchmarks = [
     'hex-literal',
     'frame-benchmarking',
@@ -119,6 +119,7 @@
     "orml-vesting/std",
 ]
 limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']
+unique-runtime = []
 
 ################################################################################
 # Substrate Dependencies