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

difftreelog

chore re-run benchmarks

Igor Kozyrev2022-06-15parent: #a5c6ddf.patch.diff
in: master

11 files changed

modifiedMakefilediffbeforeafterboth
--- a/Makefile
+++ b/Makefile
@@ -60,18 +60,10 @@
 .PHONY: _bench
 _bench:
 	cargo run --release --features runtime-benchmarks,unique-runtime -- \
-	benchmark pallet --pallet pallet-$(PALLET) \
+	benchmark pallet --pallet pallet-$(if $(PALLET),$(PALLET),$(error Must set PALLET)) \
 	--wasm-execution compiled --extrinsic '*' \
-	--template .maintain/frame-weight-template.hbs --steps=50 --repeat=200 --heap-pages=4096 \
-	--output=./pallets/$(PALLET)/src/weights.rs
-
-.PHONY: _bench2
-_bench2:
-	cargo run --release --features runtime-benchmarks,unique-runtime -- \
-	benchmark pallet --pallet pallet-$(PALLET) \
-	--wasm-execution compiled --extrinsic '*' \
-	--template .maintain/frame-weight-template.hbs --steps=50 --repeat=200 --heap-pages=4096 \
-	--output=./pallets/$(PALLET_DIR)/src/weights.rs
+	--template .maintain/frame-weight-template.hbs --steps=50 --repeat=80 --heap-pages=4096 \
+	--output=./pallets/$(if $(PALLET_DIR),$(PALLET_DIR),$(PALLET))/src/weights.rs
 
 .PHONY: bench-evm-migration
 bench-evm-migration:
@@ -103,7 +95,7 @@
 
 .PHONY: bench-scheduler
 bench-scheduler:
-	make _bench2 PALLET=unique-scheduler PALLET_DIR=scheduler
+	make _bench PALLET=unique-scheduler PALLET_DIR=scheduler
 
 .PHONY: bench-rmrk-core
 bench-rmrk-core:
modifiedpallets/common/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/common/src/benchmarking.rs
+++ b/pallets/common/src/benchmarking.rs
@@ -100,6 +100,7 @@
 					restricted: None,
 					permissive: true,
 				}),
+                mint_mode: Some(true),
 				..Default::default()
 			}),
 			..Default::default()
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -1212,11 +1212,14 @@
 		limit_default_clone!(old_limit, new_limit,
 			access => {},
 			mint_mode => {},
-			nesting => ensure!(
-				// Permissive is only allowed for tests and internal usage of chain for now
-				old_limit.permissive || !new_limit.permissive,
-				<Error<T>>::NoPermission,
-			),
+			nesting => {
+				#[cfg(not(feature = "runtime-benchmarks"))]
+				ensure!(
+					// Permissive is only allowed for tests and internal usage of chain for now
+					old_limit.permissive || !new_limit.permissive,
+					<Error<T>>::NoPermission,
+				)
+			},
 		);
 		Ok(new_limit)
 	}
modifiedpallets/evm-migration/src/weights.rsdiffbeforeafterboth
--- a/pallets/evm-migration/src/weights.rs
+++ b/pallets/evm-migration/src/weights.rs
@@ -3,12 +3,13 @@
 //! Autogenerated weights for pallet_evm_migration
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-03-01, STEPS: `50`, REPEAT: 200, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2022-06-15, STEPS: `50`, REPEAT: 200, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
 
 // Executed Command:
 // target/release/unique-collator
 // benchmark
+// pallet
 // --pallet
 // pallet-evm-migration
 // --wasm-execution
@@ -44,23 +45,23 @@
 	// Storage: System Account (r:1 w:0)
 	// Storage: EVM AccountCodes (r:1 w:0)
 	fn begin() -> Weight {
-		(6_441_000 as Weight)
+		(6_914_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: EvmMigration MigrationPending (r:1 w:0)
 	// Storage: EVM AccountStorages (r:0 w:1)
 	fn set_data(b: u32, ) -> Weight {
-		(3_424_000 as Weight)
+		(2_875_000 as Weight)
 			// Standard Error: 0
-			.saturating_add((973_000 as Weight).saturating_mul(b as Weight))
+			.saturating_add((794_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
 	}
 	// Storage: EvmMigration MigrationPending (r:1 w:1)
 	// Storage: EVM AccountCodes (r:0 w:1)
 	fn finish(b: u32, ) -> Weight {
-		(4_702_000 as Weight)
+		(6_320_000 as Weight)
 			// Standard Error: 0
 			.saturating_add((2_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
@@ -74,23 +75,23 @@
 	// Storage: System Account (r:1 w:0)
 	// Storage: EVM AccountCodes (r:1 w:0)
 	fn begin() -> Weight {
-		(6_441_000 as Weight)
+		(6_914_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
 	// Storage: EvmMigration MigrationPending (r:1 w:0)
 	// Storage: EVM AccountStorages (r:0 w:1)
 	fn set_data(b: u32, ) -> Weight {
-		(3_424_000 as Weight)
+		(2_875_000 as Weight)
 			// Standard Error: 0
-			.saturating_add((973_000 as Weight).saturating_mul(b as Weight))
+			.saturating_add((794_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
 	}
 	// Storage: EvmMigration MigrationPending (r:1 w:1)
 	// Storage: EVM AccountCodes (r:0 w:1)
 	fn finish(b: u32, ) -> Weight {
-		(4_702_000 as Weight)
+		(6_320_000 as Weight)
 			// Standard Error: 0
 			.saturating_add((2_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
modifiedpallets/fungible/src/weights.rsdiffbeforeafterboth
--- a/pallets/fungible/src/weights.rs
+++ b/pallets/fungible/src/weights.rs
@@ -3,12 +3,13 @@
 //! Autogenerated weights for pallet_fungible
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-03-01, STEPS: `50`, REPEAT: 200, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2022-06-15, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
 
 // Executed Command:
 // target/release/unique-collator
 // benchmark
+// pallet
 // --pallet
 // pallet-fungible
 // --wasm-execution
@@ -18,7 +19,7 @@
 // --template
 // .maintain/frame-weight-template.hbs
 // --steps=50
-// --repeat=200
+// --repeat=80
 // --heap-pages=4096
 // --output=./pallets/fungible/src/weights.rs
 
@@ -47,16 +48,16 @@
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:1 w:1)
 	fn create_item() -> Weight {
-		(14_407_000 as Weight)
+		(17_828_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:4 w:4)
 	fn create_multiple_items_ex(b: u32, ) -> Weight {
-		(13_030_000 as Weight)
-			// Standard Error: 1_000
-			.saturating_add((3_779_000 as Weight).saturating_mul(b as Weight))
+		(17_574_000 as Weight)
+			// Standard Error: 3_000
+			.saturating_add((4_288_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
@@ -65,28 +66,27 @@
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:1 w:1)
 	fn burn_item() -> Weight {
-		(15_565_000 as Weight)
+		(18_417_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
-
 	// Storage: Fungible Balance (r:2 w:2)
 	fn transfer() -> Weight {
-		(17_713_000 as Weight)
+		(20_090_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Fungible Balance (r:1 w:0)
 	// Storage: Fungible Allowance (r:0 w:1)
 	fn approve() -> Weight {
-		(14_834_000 as Weight)
+		(17_532_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Fungible Allowance (r:1 w:1)
 	// Storage: Fungible Balance (r:2 w:2)
 	fn transfer_from() -> Weight {
-		(25_189_000 as Weight)
+		(29_869_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(3 as Weight))
 	}
@@ -94,7 +94,7 @@
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:1 w:1)
 	fn burn_from() -> Weight {
-		(24_065_000 as Weight)
+		(27_835_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(3 as Weight))
 	}
@@ -105,16 +105,16 @@
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:1 w:1)
 	fn create_item() -> Weight {
-		(14_407_000 as Weight)
+		(17_828_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:4 w:4)
 	fn create_multiple_items_ex(b: u32, ) -> Weight {
-		(13_030_000 as Weight)
-			// Standard Error: 1_000
-			.saturating_add((3_779_000 as Weight).saturating_mul(b as Weight))
+		(17_574_000 as Weight)
+			// Standard Error: 3_000
+			.saturating_add((4_288_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
@@ -123,28 +123,27 @@
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:1 w:1)
 	fn burn_item() -> Weight {
-		(15_565_000 as Weight)
+		(18_417_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
 	}
-
 	// Storage: Fungible Balance (r:2 w:2)
 	fn transfer() -> Weight {
-		(17_713_000 as Weight)
+		(20_090_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Fungible Balance (r:1 w:0)
 	// Storage: Fungible Allowance (r:0 w:1)
 	fn approve() -> Weight {
-		(14_834_000 as Weight)
+		(17_532_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Fungible Allowance (r:1 w:1)
 	// Storage: Fungible Balance (r:2 w:2)
 	fn transfer_from() -> Weight {
-		(25_189_000 as Weight)
+		(29_869_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
 	}
@@ -152,7 +151,7 @@
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:1 w:1)
 	fn burn_from() -> Weight {
-		(24_065_000 as Weight)
+		(27_835_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
 	}
modifiedpallets/nonfungible/src/weights.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/weights.rs
+++ b/pallets/nonfungible/src/weights.rs
@@ -3,12 +3,13 @@
 //! Autogenerated weights for pallet_nonfungible
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-03-01, STEPS: `50`, REPEAT: 200, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2022-06-15, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
 
 // Executed Command:
 // target/release/unique-collator
 // benchmark
+// pallet
 // --pallet
 // pallet-nonfungible
 // --wasm-execution
@@ -18,7 +19,7 @@
 // --template
 // .maintain/frame-weight-template.hbs
 // --steps=50
-// --repeat=200
+// --repeat=80
 // --heap-pages=4096
 // --output=./pallets/nonfungible/src/weights.rs
 
@@ -42,9 +43,9 @@
 	fn approve() -> Weight;
 	fn transfer_from() -> Weight;
 	fn burn_from() -> Weight;
-	fn set_token_property_permissions(b: u32) -> Weight;
-	fn set_token_properties(b: u32) -> Weight;
-	fn delete_token_properties(b: u32) -> Weight;
+	fn set_token_property_permissions(b: u32, ) -> Weight;
+	fn set_token_properties(b: u32, ) -> Weight;
+	fn delete_token_properties(b: u32, ) -> Weight;
 }
 
 /// Weights for pallet_nonfungible using the Substrate node and recommended hardware.
@@ -55,7 +56,7 @@
 	// Storage: Nonfungible TokenData (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn create_item() -> Weight {
-		(18_450_000 as Weight)
+		(24_135_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(4 as Weight))
 	}
@@ -64,9 +65,9 @@
 	// Storage: Nonfungible TokenData (r:0 w:4)
 	// Storage: Nonfungible Owned (r:0 w:4)
 	fn create_multiple_items(b: u32, ) -> Weight {
-		(10_228_000 as Weight)
-			// Standard Error: 1_000
-			.saturating_add((4_392_000 as Weight).saturating_mul(b as Weight))
+		(21_952_000 as Weight)
+			// Standard Error: 5_000
+			.saturating_add((4_727_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(b as Weight)))
@@ -76,23 +77,25 @@
 	// Storage: Nonfungible TokenData (r:0 w:4)
 	// Storage: Nonfungible Owned (r:0 w:4)
 	fn create_multiple_items_ex(b: u32, ) -> Weight {
-		(6_543_000 as Weight)
-			// Standard Error: 2_000
-			.saturating_add((7_175_000 as Weight).saturating_mul(b as Weight))
+		(10_432_000 as Weight)
+			// Standard Error: 6_000
+			.saturating_add((7_383_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
 	}
 	// Storage: Nonfungible TokenData (r:1 w:1)
+	// Storage: Nonfungible TokenChildren (r:1 w:0)
 	// Storage: Nonfungible TokensBurnt (r:1 w:1)
 	// Storage: Nonfungible AccountBalance (r:1 w:1)
 	// Storage: Nonfungible Allowance (r:1 w:0)
 	// Storage: Nonfungible Owned (r:0 w:1)
+	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	fn burn_item() -> Weight {
-		(24_554_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
+		(29_798_000 as Weight)
+			.saturating_add(T::DbWeight::get().reads(5 as Weight))
+			.saturating_add(T::DbWeight::get().writes(5 as Weight))
 	}
 	// Storage: Nonfungible TokenChildren (r:1 w:0)
 	// Storage: Nonfungible TokenData (r:1 w:1)
@@ -102,7 +105,7 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	fn burn_recursively_self_raw() -> Weight {
-		(86_136_000 as Weight)
+		(37_955_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(5 as Weight))
 			.saturating_add(T::DbWeight::get().writes(5 as Weight))
 	}
@@ -116,11 +119,11 @@
 	// Storage: Common CollectionById (r:1 w:0)
 	fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight {
 		(0 as Weight)
-			// Standard Error: 42_828_000
-			.saturating_add((381_478_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(6 as Weight))
+			// Standard Error: 1_349_000
+			.saturating_add((275_145_000 as Weight).saturating_mul(b as Weight))
+			.saturating_add(T::DbWeight::get().reads(7 as Weight))
 			.saturating_add(T::DbWeight::get().reads((4 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(T::DbWeight::get().writes(5 as Weight))
+			.saturating_add(T::DbWeight::get().writes(6 as Weight))
 			.saturating_add(T::DbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))
 	}
 	// Storage: Nonfungible TokenData (r:1 w:1)
@@ -128,14 +131,14 @@
 	// Storage: Nonfungible Allowance (r:1 w:0)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn transfer() -> Weight {
-		(28_339_000 as Weight)
+		(27_867_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes(5 as Weight))
 	}
 	// Storage: Nonfungible TokenData (r:1 w:0)
 	// Storage: Nonfungible Allowance (r:1 w:1)
 	fn approve() -> Weight {
-		(17_616_000 as Weight)
+		(18_824_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -144,25 +147,27 @@
 	// Storage: Nonfungible AccountBalance (r:2 w:2)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn transfer_from() -> Weight {
-		(32_196_000 as Weight)
+		(32_879_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes(6 as Weight))
 	}
 	// Storage: Nonfungible Allowance (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:1 w:1)
+	// Storage: Nonfungible TokenChildren (r:1 w:0)
 	// Storage: Nonfungible TokensBurnt (r:1 w:1)
 	// Storage: Nonfungible AccountBalance (r:1 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
+	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	fn burn_from() -> Weight {
-		(27_580_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(5 as Weight))
+		(37_061_000 as Weight)
+			.saturating_add(T::DbWeight::get().reads(5 as Weight))
+			.saturating_add(T::DbWeight::get().writes(6 as Weight))
 	}
 	// Storage: Common CollectionPropertyPermissions (r:1 w:1)
 	fn set_token_property_permissions(b: u32, ) -> Weight {
 		(0 as Weight)
-			// Standard Error: 3_432_000
-			.saturating_add((126_888_000 as Weight).saturating_mul(b as Weight))
+			// Standard Error: 57_000
+			.saturating_add((15_149_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -171,8 +176,8 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	fn set_token_properties(b: u32, ) -> Weight {
 		(0 as Weight)
-			// Standard Error: 158_583_000
-			.saturating_add((4_707_700_000 as Weight).saturating_mul(b as Weight))
+			// Standard Error: 2_278_000
+			.saturating_add((409_613_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -181,8 +186,8 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	fn delete_token_properties(b: u32, ) -> Weight {
 		(0 as Weight)
-			// Standard Error: 169_018_000
-			.saturating_add((4_783_967_000 as Weight).saturating_mul(b as Weight))
+			// Standard Error: 2_234_000
+			.saturating_add((408_185_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -195,7 +200,7 @@
 	// Storage: Nonfungible TokenData (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn create_item() -> Weight {
-		(18_450_000 as Weight)
+		(24_135_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
 	}
@@ -204,9 +209,9 @@
 	// Storage: Nonfungible TokenData (r:0 w:4)
 	// Storage: Nonfungible Owned (r:0 w:4)
 	fn create_multiple_items(b: u32, ) -> Weight {
-		(10_228_000 as Weight)
-			// Standard Error: 1_000
-			.saturating_add((4_392_000 as Weight).saturating_mul(b as Weight))
+		(21_952_000 as Weight)
+			// Standard Error: 5_000
+			.saturating_add((4_727_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes((2 as Weight).saturating_mul(b as Weight)))
@@ -216,23 +221,25 @@
 	// Storage: Nonfungible TokenData (r:0 w:4)
 	// Storage: Nonfungible Owned (r:0 w:4)
 	fn create_multiple_items_ex(b: u32, ) -> Weight {
-		(6_543_000 as Weight)
-			// Standard Error: 2_000
-			.saturating_add((7_175_000 as Weight).saturating_mul(b as Weight))
+		(10_432_000 as Weight)
+			// Standard Error: 6_000
+			.saturating_add((7_383_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
 	}
 	// Storage: Nonfungible TokenData (r:1 w:1)
+	// Storage: Nonfungible TokenChildren (r:1 w:0)
 	// Storage: Nonfungible TokensBurnt (r:1 w:1)
 	// Storage: Nonfungible AccountBalance (r:1 w:1)
 	// Storage: Nonfungible Allowance (r:1 w:0)
 	// Storage: Nonfungible Owned (r:0 w:1)
+	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	fn burn_item() -> Weight {
-		(24_554_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
+		(29_798_000 as Weight)
+			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
+			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
 	}
 	// Storage: Nonfungible TokenChildren (r:1 w:0)
 	// Storage: Nonfungible TokenData (r:1 w:1)
@@ -242,7 +249,7 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	fn burn_recursively_self_raw() -> Weight {
-		(86_136_000 as Weight)
+		(37_955_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
 	}
@@ -256,11 +263,11 @@
 	// Storage: Common CollectionById (r:1 w:0)
 	fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight {
 		(0 as Weight)
-			// Standard Error: 42_828_000
-			.saturating_add((381_478_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
+			// Standard Error: 1_349_000
+			.saturating_add((275_145_000 as Weight).saturating_mul(b as Weight))
+			.saturating_add(RocksDbWeight::get().reads(7 as Weight))
 			.saturating_add(RocksDbWeight::get().reads((4 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
+			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
 			.saturating_add(RocksDbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))
 	}
 	// Storage: Nonfungible TokenData (r:1 w:1)
@@ -268,14 +275,14 @@
 	// Storage: Nonfungible Allowance (r:1 w:0)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn transfer() -> Weight {
-		(28_339_000 as Weight)
+		(27_867_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
 	}
 	// Storage: Nonfungible TokenData (r:1 w:0)
 	// Storage: Nonfungible Allowance (r:1 w:1)
 	fn approve() -> Weight {
-		(17_616_000 as Weight)
+		(18_824_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
@@ -284,25 +291,27 @@
 	// Storage: Nonfungible AccountBalance (r:2 w:2)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn transfer_from() -> Weight {
-		(32_196_000 as Weight)
+		(32_879_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
 	}
 	// Storage: Nonfungible Allowance (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:1 w:1)
+	// Storage: Nonfungible TokenChildren (r:1 w:0)
 	// Storage: Nonfungible TokensBurnt (r:1 w:1)
 	// Storage: Nonfungible AccountBalance (r:1 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
+	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	fn burn_from() -> Weight {
-		(27_580_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
+		(37_061_000 as Weight)
+			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
+			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
 	}
 	// Storage: Common CollectionPropertyPermissions (r:1 w:1)
 	fn set_token_property_permissions(b: u32, ) -> Weight {
 		(0 as Weight)
-			// Standard Error: 3_432_000
-			.saturating_add((126_888_000 as Weight).saturating_mul(b as Weight))
+			// Standard Error: 57_000
+			.saturating_add((15_149_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
@@ -311,8 +320,8 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	fn set_token_properties(b: u32, ) -> Weight {
 		(0 as Weight)
-			// Standard Error: 158_583_000
-			.saturating_add((4_707_700_000 as Weight).saturating_mul(b as Weight))
+			// Standard Error: 2_278_000
+			.saturating_add((409_613_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
@@ -321,8 +330,8 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	fn delete_token_properties(b: u32, ) -> Weight {
 		(0 as Weight)
-			// Standard Error: 169_018_000
-			.saturating_add((4_783_967_000 as Weight).saturating_mul(b as Weight))
+			// Standard Error: 2_234_000
+			.saturating_add((408_185_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
modifiedpallets/refungible/src/common.rsdiffbeforeafterboth
before · pallets/refungible/src/common.rs
1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617use core::marker::PhantomData;1819use sp_std::collections::btree_map::BTreeMap;20use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight, traits::Get};21use up_data_structs::{22	CollectionId, TokenId, CreateItemExData, CreateRefungibleExData, budget::Budget, Property,23	PropertyKey, PropertyValue, PropertyKeyPermission, CreateItemData,24};25use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};26use pallet_structure::Error as StructureError;27use sp_runtime::DispatchError;28use sp_std::{vec::Vec, vec};2930use crate::{31	AccountBalance, Allowance, Balance, Config, Error, Owned, Pallet, RefungibleHandle,32	SelfWeightOf, TokenData, weights::WeightInfo, TokensMinted,33};3435macro_rules! max_weight_of {36	($($method:ident ($($args:tt)*)),*) => {37		038		$(39			.max(<SelfWeightOf<T>>::$method($($args)*))40		)*41	};42}4344pub struct CommonWeights<T: Config>(PhantomData<T>);45impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {46	fn create_item() -> Weight {47		<SelfWeightOf<T>>::create_item()48	}4950	fn create_multiple_items(data: &[CreateItemData]) -> Weight {51		<SelfWeightOf<T>>::create_multiple_items(data.len() as u32)52	}5354	fn create_multiple_items_ex(call: &CreateItemExData<T::CrossAccountId>) -> Weight {55		match call {56			CreateItemExData::RefungibleMultipleOwners(i) => {57				<SelfWeightOf<T>>::create_multiple_items_ex_multiple_owners(i.users.len() as u32)58			}59			CreateItemExData::RefungibleMultipleItems(i) => {60				<SelfWeightOf<T>>::create_multiple_items_ex_multiple_items(i.len() as u32)61			}62			_ => 0,63		}64	}6566	fn burn_item() -> Weight {67		max_weight_of!(burn_item_partial(), burn_item_fully())68	}6970	fn set_collection_properties(_amount: u32) -> Weight {71		// Error72		073	}7475	fn delete_collection_properties(_amount: u32) -> Weight {76		// Error77		078	}7980	fn set_token_properties(amount: u32) -> Weight {81		<SelfWeightOf<T>>::set_token_properties(amount)82	}8384	fn delete_token_properties(amount: u32) -> Weight {85		<SelfWeightOf<T>>::delete_token_properties(amount)86	}8788	fn set_token_property_permissions(amount: u32) -> Weight {89		<SelfWeightOf<T>>::set_token_property_permissions(amount)90	}9192	fn transfer() -> Weight {93		max_weight_of!(94			transfer_normal(),95			transfer_creating(),96			transfer_removing(),97			transfer_creating_removing()98		)99	}100101	fn approve() -> Weight {102		<SelfWeightOf<T>>::approve()103	}104105	fn transfer_from() -> Weight {106		max_weight_of!(107			transfer_from_normal(),108			transfer_from_creating(),109			transfer_from_removing(),110			transfer_from_creating_removing()111		)112	}113114	fn burn_from() -> Weight {115		<SelfWeightOf<T>>::burn_from()116	}117118	fn burn_recursively_self_raw() -> Weight {119		// Read to get total balance120		Self::burn_item() + T::DbWeight::get().reads(1)121	}122	fn burn_recursively_breadth_raw(_amount: u32) -> Weight {123		// Refungible token can't have children124		0125	}126}127128fn map_create_data<T: Config>(129	data: up_data_structs::CreateItemData,130	to: &T::CrossAccountId,131) -> Result<CreateRefungibleExData<T::CrossAccountId>, DispatchError> {132	match data {133		up_data_structs::CreateItemData::ReFungible(data) => Ok(CreateRefungibleExData {134			const_data: data.const_data,135			users: {136				let mut out = BTreeMap::new();137				out.insert(to.clone(), data.pieces);138				out.try_into().expect("limit > 0")139			},140		}),141		_ => fail!(<Error<T>>::NotRefungibleDataUsedToMintFungibleCollectionToken),142	}143}144145impl<T: Config> CommonCollectionOperations<T> for RefungibleHandle<T> {146	fn create_item(147		&self,148		sender: T::CrossAccountId,149		to: T::CrossAccountId,150		data: up_data_structs::CreateItemData,151		nesting_budget: &dyn Budget,152	) -> DispatchResultWithPostInfo {153		with_weight(154			<Pallet<T>>::create_item(155				self,156				&sender,157				map_create_data::<T>(data, &to)?,158				nesting_budget,159			),160			<CommonWeights<T>>::create_item(),161		)162	}163164	fn create_multiple_items(165		&self,166		sender: T::CrossAccountId,167		to: T::CrossAccountId,168		data: Vec<up_data_structs::CreateItemData>,169		nesting_budget: &dyn Budget,170	) -> DispatchResultWithPostInfo {171		let weight = <CommonWeights<T>>::create_multiple_items(&data);172		let data = data173			.into_iter()174			.map(|d| map_create_data::<T>(d, &to))175			.collect::<Result<Vec<_>, DispatchError>>()?;176177		with_weight(178			<Pallet<T>>::create_multiple_items(self, &sender, data, nesting_budget),179			weight,180		)181	}182183	fn create_multiple_items_ex(184		&self,185		sender: <T>::CrossAccountId,186		data: CreateItemExData<T::CrossAccountId>,187		nesting_budget: &dyn Budget,188	) -> DispatchResultWithPostInfo {189		let weight = <CommonWeights<T>>::create_multiple_items_ex(&data);190		let data = match data {191			CreateItemExData::RefungibleMultipleOwners(r) => vec![r],192			CreateItemExData::RefungibleMultipleItems(r)193				if r.iter().all(|i| i.users.len() == 1) =>194			{195				r.into_inner()196			}197			_ => fail!(<Error<T>>::NotRefungibleDataUsedToMintFungibleCollectionToken),198		};199200		with_weight(201			<Pallet<T>>::create_multiple_items(self, &sender, data, nesting_budget),202			weight,203		)204	}205206	fn burn_item(207		&self,208		sender: T::CrossAccountId,209		token: TokenId,210		amount: u128,211	) -> DispatchResultWithPostInfo {212		with_weight(213			<Pallet<T>>::burn(self, &sender, token, amount),214			<CommonWeights<T>>::burn_item(),215		)216	}217218	fn burn_item_recursively(219		&self,220		sender: T::CrossAccountId,221		token: TokenId,222		self_budget: &dyn Budget,223		_breadth_budget: &dyn Budget,224	) -> DispatchResultWithPostInfo {225		ensure!(self_budget.consume(), <StructureError<T>>::DepthLimit,);226		with_weight(227			<Pallet<T>>::burn(228				self,229				&sender,230				token,231				<Balance<T>>::get((self.id, token, &sender)),232			),233			<CommonWeights<T>>::burn_recursively_self_raw(),234		)235	}236237	fn transfer(238		&self,239		from: T::CrossAccountId,240		to: T::CrossAccountId,241		token: TokenId,242		amount: u128,243		nesting_budget: &dyn Budget,244	) -> DispatchResultWithPostInfo {245		with_weight(246			<Pallet<T>>::transfer(self, &from, &to, token, amount, nesting_budget),247			<CommonWeights<T>>::transfer(),248		)249	}250251	fn approve(252		&self,253		sender: T::CrossAccountId,254		spender: T::CrossAccountId,255		token: TokenId,256		amount: u128,257	) -> DispatchResultWithPostInfo {258		with_weight(259			<Pallet<T>>::set_allowance(self, &sender, &spender, token, amount),260			<CommonWeights<T>>::approve(),261		)262	}263264	fn transfer_from(265		&self,266		sender: T::CrossAccountId,267		from: T::CrossAccountId,268		to: T::CrossAccountId,269		token: TokenId,270		amount: u128,271		nesting_budget: &dyn Budget,272	) -> DispatchResultWithPostInfo {273		with_weight(274			<Pallet<T>>::transfer_from(self, &sender, &from, &to, token, amount, nesting_budget),275			<CommonWeights<T>>::transfer_from(),276		)277	}278279	fn burn_from(280		&self,281		sender: T::CrossAccountId,282		from: T::CrossAccountId,283		token: TokenId,284		amount: u128,285		nesting_budget: &dyn Budget,286	) -> DispatchResultWithPostInfo {287		with_weight(288			<Pallet<T>>::burn_from(self, &sender, &from, token, amount, nesting_budget),289			<CommonWeights<T>>::burn_from(),290		)291	}292293	fn set_collection_properties(294		&self,295		_sender: T::CrossAccountId,296		_property: Vec<Property>,297	) -> DispatchResultWithPostInfo {298		fail!(<Error<T>>::SettingPropertiesNotAllowed)299	}300301	fn delete_collection_properties(302		&self,303		_sender: &T::CrossAccountId,304		_property_keys: Vec<PropertyKey>,305	) -> DispatchResultWithPostInfo {306		fail!(<Error<T>>::SettingPropertiesNotAllowed)307	}308309	fn set_token_properties(310		&self,311		_sender: T::CrossAccountId,312		_token_id: TokenId,313		_property: Vec<Property>,314	) -> DispatchResultWithPostInfo {315		fail!(<Error<T>>::SettingPropertiesNotAllowed)316	}317318	fn set_token_property_permissions(319		&self,320		_sender: &T::CrossAccountId,321		_property_permissions: Vec<PropertyKeyPermission>,322	) -> DispatchResultWithPostInfo {323		fail!(<Error<T>>::SettingPropertiesNotAllowed)324	}325326	fn delete_token_properties(327		&self,328		_sender: T::CrossAccountId,329		_token_id: TokenId,330		_property_keys: Vec<PropertyKey>,331	) -> DispatchResultWithPostInfo {332		fail!(<Error<T>>::SettingPropertiesNotAllowed)333	}334335	fn check_nesting(336		&self,337		_sender: <T>::CrossAccountId,338		_from: (CollectionId, TokenId),339		_under: TokenId,340		_budget: &dyn Budget,341	) -> sp_runtime::DispatchResult {342		fail!(<Error<T>>::RefungibleDisallowsNesting)343	}344345	fn nest(&self, _under: TokenId, _to_nest: (CollectionId, TokenId)) {}346347	fn unnest(&self, _under: TokenId, _to_nest: (CollectionId, TokenId)) {}348349	fn account_tokens(&self, account: T::CrossAccountId) -> Vec<TokenId> {350		<Owned<T>>::iter_prefix((self.id, account))351			.map(|(id, _)| id)352			.collect()353	}354355	fn collection_tokens(&self) -> Vec<TokenId> {356		<TokenData<T>>::iter_prefix((self.id,))357			.map(|(id, _)| id)358			.collect()359	}360361	fn token_exists(&self, token: TokenId) -> bool {362		<Pallet<T>>::token_exists(self, token)363	}364365	fn last_token_id(&self) -> TokenId {366		TokenId(<TokensMinted<T>>::get(self.id))367	}368369	fn token_owner(&self, _token: TokenId) -> Option<T::CrossAccountId> {370		None371	}372373	fn token_property(&self, _token_id: TokenId, _key: &PropertyKey) -> Option<PropertyValue> {374		None375	}376377	fn token_properties(378		&self,379		_token_id: TokenId,380		_keys: Option<Vec<PropertyKey>>,381	) -> Vec<Property> {382		Vec::new()383	}384385	fn total_supply(&self) -> u32 {386		<Pallet<T>>::total_supply(self)387	}388389	fn account_balance(&self, account: T::CrossAccountId) -> u32 {390		<AccountBalance<T>>::get((self.id, account))391	}392393	fn balance(&self, account: T::CrossAccountId, token: TokenId) -> u128 {394		<Balance<T>>::get((self.id, token, account))395	}396397	fn allowance(398		&self,399		sender: T::CrossAccountId,400		spender: T::CrossAccountId,401		token: TokenId,402	) -> u128 {403		<Allowance<T>>::get((self.id, token, sender, spender))404	}405}
after · pallets/refungible/src/common.rs
1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617use core::marker::PhantomData;1819use sp_std::collections::btree_map::BTreeMap;20use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight, traits::Get};21use up_data_structs::{22	CollectionId, TokenId, CreateItemExData, CreateRefungibleExData, budget::Budget, Property,23	PropertyKey, PropertyValue, PropertyKeyPermission, CreateItemData,24};25use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};26use pallet_structure::Error as StructureError;27use sp_runtime::DispatchError;28use sp_std::{vec::Vec, vec};2930use crate::{31	AccountBalance, Allowance, Balance, Config, Error, Owned, Pallet, RefungibleHandle,32	SelfWeightOf, TokenData, weights::WeightInfo, TokensMinted,33};3435macro_rules! max_weight_of {36	($($method:ident ($($args:tt)*)),*) => {37		038		$(39			.max(<SelfWeightOf<T>>::$method($($args)*))40		)*41	};42}4344pub struct CommonWeights<T: Config>(PhantomData<T>);45impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {46	fn create_item() -> Weight {47		<SelfWeightOf<T>>::create_item()48	}4950	fn create_multiple_items(data: &[CreateItemData]) -> Weight {51		<SelfWeightOf<T>>::create_multiple_items(data.len() as u32)52	}5354	fn create_multiple_items_ex(call: &CreateItemExData<T::CrossAccountId>) -> Weight {55		match call {56			CreateItemExData::RefungibleMultipleOwners(i) => {57				<SelfWeightOf<T>>::create_multiple_items_ex_multiple_owners(i.users.len() as u32)58			}59			CreateItemExData::RefungibleMultipleItems(i) => {60				<SelfWeightOf<T>>::create_multiple_items_ex_multiple_items(i.len() as u32)61			}62			_ => 0,63		}64	}6566	fn burn_item() -> Weight {67		max_weight_of!(burn_item_partial(), burn_item_fully())68	}6970	fn set_collection_properties(_amount: u32) -> Weight {71		// Error72		073	}7475	fn delete_collection_properties(_amount: u32) -> Weight {76		// Error77		078	}7980	fn set_token_properties(_amount: u32) -> Weight {81		// Error82		083	}8485	fn delete_token_properties(_amount: u32) -> Weight {86		// Error87		088	}8990	fn set_token_property_permissions(_amount: u32) -> Weight {91		// Error92		093	}9495	fn transfer() -> Weight {96		max_weight_of!(97			transfer_normal(),98			transfer_creating(),99			transfer_removing(),100			transfer_creating_removing()101		)102	}103104	fn approve() -> Weight {105		<SelfWeightOf<T>>::approve()106	}107108	fn transfer_from() -> Weight {109		max_weight_of!(110			transfer_from_normal(),111			transfer_from_creating(),112			transfer_from_removing(),113			transfer_from_creating_removing()114		)115	}116117	fn burn_from() -> Weight {118		<SelfWeightOf<T>>::burn_from()119	}120121	fn burn_recursively_self_raw() -> Weight {122		// Read to get total balance123		Self::burn_item() + T::DbWeight::get().reads(1)124	}125	fn burn_recursively_breadth_raw(_amount: u32) -> Weight {126		// Refungible token can't have children127		0128	}129}130131fn map_create_data<T: Config>(132	data: up_data_structs::CreateItemData,133	to: &T::CrossAccountId,134) -> Result<CreateRefungibleExData<T::CrossAccountId>, DispatchError> {135	match data {136		up_data_structs::CreateItemData::ReFungible(data) => Ok(CreateRefungibleExData {137			const_data: data.const_data,138			users: {139				let mut out = BTreeMap::new();140				out.insert(to.clone(), data.pieces);141				out.try_into().expect("limit > 0")142			},143		}),144		_ => fail!(<Error<T>>::NotRefungibleDataUsedToMintFungibleCollectionToken),145	}146}147148impl<T: Config> CommonCollectionOperations<T> for RefungibleHandle<T> {149	fn create_item(150		&self,151		sender: T::CrossAccountId,152		to: T::CrossAccountId,153		data: up_data_structs::CreateItemData,154		nesting_budget: &dyn Budget,155	) -> DispatchResultWithPostInfo {156		with_weight(157			<Pallet<T>>::create_item(158				self,159				&sender,160				map_create_data::<T>(data, &to)?,161				nesting_budget,162			),163			<CommonWeights<T>>::create_item(),164		)165	}166167	fn create_multiple_items(168		&self,169		sender: T::CrossAccountId,170		to: T::CrossAccountId,171		data: Vec<up_data_structs::CreateItemData>,172		nesting_budget: &dyn Budget,173	) -> DispatchResultWithPostInfo {174		let weight = <CommonWeights<T>>::create_multiple_items(&data);175		let data = data176			.into_iter()177			.map(|d| map_create_data::<T>(d, &to))178			.collect::<Result<Vec<_>, DispatchError>>()?;179180		with_weight(181			<Pallet<T>>::create_multiple_items(self, &sender, data, nesting_budget),182			weight,183		)184	}185186	fn create_multiple_items_ex(187		&self,188		sender: <T>::CrossAccountId,189		data: CreateItemExData<T::CrossAccountId>,190		nesting_budget: &dyn Budget,191	) -> DispatchResultWithPostInfo {192		let weight = <CommonWeights<T>>::create_multiple_items_ex(&data);193		let data = match data {194			CreateItemExData::RefungibleMultipleOwners(r) => vec![r],195			CreateItemExData::RefungibleMultipleItems(r)196				if r.iter().all(|i| i.users.len() == 1) =>197			{198				r.into_inner()199			}200			_ => fail!(<Error<T>>::NotRefungibleDataUsedToMintFungibleCollectionToken),201		};202203		with_weight(204			<Pallet<T>>::create_multiple_items(self, &sender, data, nesting_budget),205			weight,206		)207	}208209	fn burn_item(210		&self,211		sender: T::CrossAccountId,212		token: TokenId,213		amount: u128,214	) -> DispatchResultWithPostInfo {215		with_weight(216			<Pallet<T>>::burn(self, &sender, token, amount),217			<CommonWeights<T>>::burn_item(),218		)219	}220221	fn burn_item_recursively(222		&self,223		sender: T::CrossAccountId,224		token: TokenId,225		self_budget: &dyn Budget,226		_breadth_budget: &dyn Budget,227	) -> DispatchResultWithPostInfo {228		ensure!(self_budget.consume(), <StructureError<T>>::DepthLimit,);229		with_weight(230			<Pallet<T>>::burn(231				self,232				&sender,233				token,234				<Balance<T>>::get((self.id, token, &sender)),235			),236			<CommonWeights<T>>::burn_recursively_self_raw(),237		)238	}239240	fn transfer(241		&self,242		from: T::CrossAccountId,243		to: T::CrossAccountId,244		token: TokenId,245		amount: u128,246		nesting_budget: &dyn Budget,247	) -> DispatchResultWithPostInfo {248		with_weight(249			<Pallet<T>>::transfer(self, &from, &to, token, amount, nesting_budget),250			<CommonWeights<T>>::transfer(),251		)252	}253254	fn approve(255		&self,256		sender: T::CrossAccountId,257		spender: T::CrossAccountId,258		token: TokenId,259		amount: u128,260	) -> DispatchResultWithPostInfo {261		with_weight(262			<Pallet<T>>::set_allowance(self, &sender, &spender, token, amount),263			<CommonWeights<T>>::approve(),264		)265	}266267	fn transfer_from(268		&self,269		sender: T::CrossAccountId,270		from: T::CrossAccountId,271		to: T::CrossAccountId,272		token: TokenId,273		amount: u128,274		nesting_budget: &dyn Budget,275	) -> DispatchResultWithPostInfo {276		with_weight(277			<Pallet<T>>::transfer_from(self, &sender, &from, &to, token, amount, nesting_budget),278			<CommonWeights<T>>::transfer_from(),279		)280	}281282	fn burn_from(283		&self,284		sender: T::CrossAccountId,285		from: T::CrossAccountId,286		token: TokenId,287		amount: u128,288		nesting_budget: &dyn Budget,289	) -> DispatchResultWithPostInfo {290		with_weight(291			<Pallet<T>>::burn_from(self, &sender, &from, token, amount, nesting_budget),292			<CommonWeights<T>>::burn_from(),293		)294	}295296	fn set_collection_properties(297		&self,298		_sender: T::CrossAccountId,299		_property: Vec<Property>,300	) -> DispatchResultWithPostInfo {301		fail!(<Error<T>>::SettingPropertiesNotAllowed)302	}303304	fn delete_collection_properties(305		&self,306		_sender: &T::CrossAccountId,307		_property_keys: Vec<PropertyKey>,308	) -> DispatchResultWithPostInfo {309		fail!(<Error<T>>::SettingPropertiesNotAllowed)310	}311312	fn set_token_properties(313		&self,314		_sender: T::CrossAccountId,315		_token_id: TokenId,316		_property: Vec<Property>,317	) -> DispatchResultWithPostInfo {318		fail!(<Error<T>>::SettingPropertiesNotAllowed)319	}320321	fn set_token_property_permissions(322		&self,323		_sender: &T::CrossAccountId,324		_property_permissions: Vec<PropertyKeyPermission>,325	) -> DispatchResultWithPostInfo {326		fail!(<Error<T>>::SettingPropertiesNotAllowed)327	}328329	fn delete_token_properties(330		&self,331		_sender: T::CrossAccountId,332		_token_id: TokenId,333		_property_keys: Vec<PropertyKey>,334	) -> DispatchResultWithPostInfo {335		fail!(<Error<T>>::SettingPropertiesNotAllowed)336	}337338	fn check_nesting(339		&self,340		_sender: <T>::CrossAccountId,341		_from: (CollectionId, TokenId),342		_under: TokenId,343		_budget: &dyn Budget,344	) -> sp_runtime::DispatchResult {345		fail!(<Error<T>>::RefungibleDisallowsNesting)346	}347348	fn nest(&self, _under: TokenId, _to_nest: (CollectionId, TokenId)) {}349350	fn unnest(&self, _under: TokenId, _to_nest: (CollectionId, TokenId)) {}351352	fn account_tokens(&self, account: T::CrossAccountId) -> Vec<TokenId> {353		<Owned<T>>::iter_prefix((self.id, account))354			.map(|(id, _)| id)355			.collect()356	}357358	fn collection_tokens(&self) -> Vec<TokenId> {359		<TokenData<T>>::iter_prefix((self.id,))360			.map(|(id, _)| id)361			.collect()362	}363364	fn token_exists(&self, token: TokenId) -> bool {365		<Pallet<T>>::token_exists(self, token)366	}367368	fn last_token_id(&self) -> TokenId {369		TokenId(<TokensMinted<T>>::get(self.id))370	}371372	fn token_owner(&self, _token: TokenId) -> Option<T::CrossAccountId> {373		None374	}375376	fn token_property(&self, _token_id: TokenId, _key: &PropertyKey) -> Option<PropertyValue> {377		None378	}379380	fn token_properties(381		&self,382		_token_id: TokenId,383		_keys: Option<Vec<PropertyKey>>,384	) -> Vec<Property> {385		Vec::new()386	}387388	fn total_supply(&self) -> u32 {389		<Pallet<T>>::total_supply(self)390	}391392	fn account_balance(&self, account: T::CrossAccountId) -> u32 {393		<AccountBalance<T>>::get((self.id, account))394	}395396	fn balance(&self, account: T::CrossAccountId, token: TokenId) -> u128 {397		<Balance<T>>::get((self.id, token, account))398	}399400	fn allowance(401		&self,402		sender: T::CrossAccountId,403		spender: T::CrossAccountId,404		token: TokenId,405	) -> u128 {406		<Allowance<T>>::get((self.id, token, sender, spender))407	}408}
modifiedpallets/refungible/src/weights.rsdiffbeforeafterboth
--- a/pallets/refungible/src/weights.rs
+++ b/pallets/refungible/src/weights.rs
@@ -3,12 +3,13 @@
 //! Autogenerated weights for pallet_refungible
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-03-01, STEPS: `50`, REPEAT: 200, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2022-06-15, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
 
 // Executed Command:
 // target/release/unique-collator
 // benchmark
+// pallet
 // --pallet
 // pallet-refungible
 // --wasm-execution
@@ -18,7 +19,7 @@
 // --template
 // .maintain/frame-weight-template.hbs
 // --steps=50
-// --repeat=200
+// --repeat=80
 // --heap-pages=4096
 // --output=./pallets/refungible/src/weights.rs
 
@@ -38,9 +39,6 @@
 	fn create_multiple_items_ex_multiple_owners(b: u32, ) -> Weight;
 	fn burn_item_partial() -> Weight;
 	fn burn_item_fully() -> Weight;
-	fn set_token_properties(amount: u32) -> Weight;
-	fn delete_token_properties(amount: u32) -> Weight;
-	fn set_token_property_permissions(amount: u32) -> Weight;
 	fn transfer_normal() -> Weight;
 	fn transfer_creating() -> Weight;
 	fn transfer_removing() -> Weight;
@@ -63,7 +61,7 @@
 	// Storage: Refungible TokenData (r:0 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn create_item() -> Weight {
-		(21_255_000 as Weight)
+		(21_321_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(6 as Weight))
 	}
@@ -74,9 +72,9 @@
 	// Storage: Refungible TokenData (r:0 w:4)
 	// Storage: Refungible Owned (r:0 w:4)
 	fn create_multiple_items(b: u32, ) -> Weight {
-		(18_052_000 as Weight)
-			// Standard Error: 1_000
-			.saturating_add((5_549_000 as Weight).saturating_mul(b as Weight))
+		(16_313_000 as Weight)
+			// Standard Error: 4_000
+			.saturating_add((5_464_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))
@@ -88,9 +86,9 @@
 	// Storage: Refungible TokenData (r:0 w:4)
 	// Storage: Refungible Owned (r:0 w:4)
 	fn create_multiple_items_ex_multiple_items(b: u32, ) -> Weight {
-		(15_766_000 as Weight)
-			// Standard Error: 2_000
-			.saturating_add((8_187_000 as Weight).saturating_mul(b as Weight))
+		(15_631_000 as Weight)
+			// Standard Error: 5_000
+			.saturating_add((8_141_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
@@ -103,9 +101,9 @@
 	// Storage: Refungible Balance (r:0 w:4)
 	// Storage: Refungible Owned (r:0 w:4)
 	fn create_multiple_items_ex_multiple_owners(b: u32, ) -> Weight {
-		(5_675_000 as Weight)
-			// Standard Error: 2_000
-			.saturating_add((6_315_000 as Weight).saturating_mul(b as Weight))
+		(11_191_000 as Weight)
+			// Standard Error: 4_000
+			.saturating_add((6_321_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
 			.saturating_add(T::DbWeight::get().writes(3 as Weight))
@@ -116,7 +114,7 @@
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn burn_item_partial() -> Weight {
-		(23_518_000 as Weight)
+		(24_421_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(4 as Weight))
 	}
@@ -127,29 +125,13 @@
 	// Storage: Refungible TokenData (r:0 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn burn_item_fully() -> Weight {
-		(32_489_000 as Weight)
+		(32_900_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes(6 as Weight))
 	}
-
-	fn set_token_properties(_amount: u32) -> Weight {
-		// Error
-		0
-	}
-
-	fn delete_token_properties(_amount: u32) -> Weight {
-		// Error
-		0
-	}
-
-	fn set_token_property_permissions(_amount: u32) -> Weight {
-		// Error
-		0
-	}
-
 	// Storage: Refungible Balance (r:2 w:2)
 	fn transfer_normal() -> Weight {
-		(19_766_000 as Weight)
+		(20_215_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
@@ -157,7 +139,7 @@
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_creating() -> Weight {
-		(23_360_000 as Weight)
+		(24_809_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(4 as Weight))
 	}
@@ -165,7 +147,7 @@
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_removing() -> Weight {
-		(25_344_000 as Weight)
+		(26_704_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(4 as Weight))
 	}
@@ -173,21 +155,21 @@
 	// Storage: Refungible AccountBalance (r:2 w:2)
 	// Storage: Refungible Owned (r:0 w:2)
 	fn transfer_creating_removing() -> Weight {
-		(28_553_000 as Weight)
+		(28_728_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes(6 as Weight))
 	}
 	// Storage: Refungible Balance (r:1 w:0)
 	// Storage: Refungible Allowance (r:0 w:1)
 	fn approve() -> Weight {
-		(15_356_000 as Weight)
+		(16_107_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Refungible Allowance (r:1 w:1)
 	// Storage: Refungible Balance (r:2 w:2)
 	fn transfer_from_normal() -> Weight {
-		(28_832_000 as Weight)
+		(28_765_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(3 as Weight))
 	}
@@ -196,7 +178,7 @@
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_from_creating() -> Weight {
-		(32_132_000 as Weight)
+		(32_788_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes(5 as Weight))
 	}
@@ -205,7 +187,7 @@
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_from_removing() -> Weight {
-		(33_237_000 as Weight)
+		(34_523_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes(5 as Weight))
 	}
@@ -214,7 +196,7 @@
 	// Storage: Refungible AccountBalance (r:2 w:2)
 	// Storage: Refungible Owned (r:0 w:2)
 	fn transfer_from_creating_removing() -> Weight {
-		(36_399_000 as Weight)
+		(36_749_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(5 as Weight))
 			.saturating_add(T::DbWeight::get().writes(7 as Weight))
 	}
@@ -226,7 +208,7 @@
 	// Storage: Refungible TokenData (r:0 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn burn_from() -> Weight {
-		(42_043_000 as Weight)
+		(42_259_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(5 as Weight))
 			.saturating_add(T::DbWeight::get().writes(7 as Weight))
 	}
@@ -241,7 +223,7 @@
 	// Storage: Refungible TokenData (r:0 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn create_item() -> Weight {
-		(21_255_000 as Weight)
+		(21_321_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
 	}
@@ -252,9 +234,9 @@
 	// Storage: Refungible TokenData (r:0 w:4)
 	// Storage: Refungible Owned (r:0 w:4)
 	fn create_multiple_items(b: u32, ) -> Weight {
-		(18_052_000 as Weight)
-			// Standard Error: 1_000
-			.saturating_add((5_549_000 as Weight).saturating_mul(b as Weight))
+		(16_313_000 as Weight)
+			// Standard Error: 4_000
+			.saturating_add((5_464_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))
@@ -266,9 +248,9 @@
 	// Storage: Refungible TokenData (r:0 w:4)
 	// Storage: Refungible Owned (r:0 w:4)
 	fn create_multiple_items_ex_multiple_items(b: u32, ) -> Weight {
-		(15_766_000 as Weight)
-			// Standard Error: 2_000
-			.saturating_add((8_187_000 as Weight).saturating_mul(b as Weight))
+		(15_631_000 as Weight)
+			// Standard Error: 5_000
+			.saturating_add((8_141_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
@@ -281,9 +263,9 @@
 	// Storage: Refungible Balance (r:0 w:4)
 	// Storage: Refungible Owned (r:0 w:4)
 	fn create_multiple_items_ex_multiple_owners(b: u32, ) -> Weight {
-		(5_675_000 as Weight)
-			// Standard Error: 2_000
-			.saturating_add((6_315_000 as Weight).saturating_mul(b as Weight))
+		(11_191_000 as Weight)
+			// Standard Error: 4_000
+			.saturating_add((6_321_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
 			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
@@ -294,7 +276,7 @@
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn burn_item_partial() -> Weight {
-		(23_518_000 as Weight)
+		(24_421_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
 	}
@@ -305,29 +287,13 @@
 	// Storage: Refungible TokenData (r:0 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn burn_item_fully() -> Weight {
-		(32_489_000 as Weight)
+		(32_900_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
-	}
-
-	fn set_token_properties(_amount: u32) -> Weight {
-		// Error
-		0
-	}
-
-	fn delete_token_properties(_amount: u32) -> Weight {
-		// Error
-		0
-	}
-
-	fn set_token_property_permissions(_amount: u32) -> Weight {
-		// Error
-		0
 	}
-
 	// Storage: Refungible Balance (r:2 w:2)
 	fn transfer_normal() -> Weight {
-		(19_766_000 as Weight)
+		(20_215_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
 	}
@@ -335,7 +301,7 @@
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_creating() -> Weight {
-		(23_360_000 as Weight)
+		(24_809_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
 	}
@@ -343,7 +309,7 @@
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_removing() -> Weight {
-		(25_344_000 as Weight)
+		(26_704_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
 	}
@@ -351,21 +317,21 @@
 	// Storage: Refungible AccountBalance (r:2 w:2)
 	// Storage: Refungible Owned (r:0 w:2)
 	fn transfer_creating_removing() -> Weight {
-		(28_553_000 as Weight)
+		(28_728_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
 	}
 	// Storage: Refungible Balance (r:1 w:0)
 	// Storage: Refungible Allowance (r:0 w:1)
 	fn approve() -> Weight {
-		(15_356_000 as Weight)
+		(16_107_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Refungible Allowance (r:1 w:1)
 	// Storage: Refungible Balance (r:2 w:2)
 	fn transfer_from_normal() -> Weight {
-		(28_832_000 as Weight)
+		(28_765_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
 	}
@@ -374,7 +340,7 @@
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_from_creating() -> Weight {
-		(32_132_000 as Weight)
+		(32_788_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
 	}
@@ -383,7 +349,7 @@
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_from_removing() -> Weight {
-		(33_237_000 as Weight)
+		(34_523_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
 	}
@@ -392,7 +358,7 @@
 	// Storage: Refungible AccountBalance (r:2 w:2)
 	// Storage: Refungible Owned (r:0 w:2)
 	fn transfer_from_creating_removing() -> Weight {
-		(36_399_000 as Weight)
+		(36_749_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(7 as Weight))
 	}
@@ -404,7 +370,7 @@
 	// Storage: Refungible TokenData (r:0 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn burn_from() -> Weight {
-		(42_043_000 as Weight)
+		(42_259_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(7 as Weight))
 	}
modifiedpallets/scheduler/src/weights.rsdiffbeforeafterboth
--- a/pallets/scheduler/src/weights.rs
+++ b/pallets/scheduler/src/weights.rs
@@ -3,7 +3,7 @@
 //! Autogenerated weights for pallet_unique_scheduler
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-06-09, STEPS: `50`, REPEAT: 200, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2022-06-15, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
 
 // Executed Command:
@@ -19,7 +19,7 @@
 // --template
 // .maintain/frame-weight-template.hbs
 // --steps=50
-// --repeat=200
+// --repeat=80
 // --heap-pages=4096
 // --output=./pallets/scheduler/src/weights.rs
 
@@ -55,9 +55,9 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_periodic_named_resolved(s: u32, ) -> Weight {
-		(35_999_000 as Weight)
-			// Standard Error: 3_000
-			.saturating_add((32_234_000 as Weight).saturating_mul(s as Weight))
+		(27_374_000 as Weight)
+			// Standard Error: 7_000
+			.saturating_add((9_673_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(s as Weight)))
 			.saturating_add(T::DbWeight::get().writes(4 as Weight))
@@ -69,9 +69,9 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_named_resolved(s: u32, ) -> Weight {
-		(34_874_000 as Weight)
-			// Standard Error: 2_000
-			.saturating_add((23_114_000 as Weight).saturating_mul(s as Weight))
+		(25_967_000 as Weight)
+			// Standard Error: 6_000
+			.saturating_add((5_916_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
@@ -82,9 +82,9 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_periodic(s: u32, ) -> Weight {
-		(36_469_000 as Weight)
-			// Standard Error: 3_000
-			.saturating_add((32_202_000 as Weight).saturating_mul(s as Weight))
+		(27_097_000 as Weight)
+			// Standard Error: 5_000
+			.saturating_add((9_652_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(s as Weight)))
 			.saturating_add(T::DbWeight::get().writes(4 as Weight))
@@ -96,9 +96,9 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_periodic_resolved(s: u32, ) -> Weight {
-		(35_352_000 as Weight)
-			// Standard Error: 3_000
-			.saturating_add((32_309_000 as Weight).saturating_mul(s as Weight))
+		(43_116_000 as Weight)
+			// Standard Error: 18_000
+			.saturating_add((8_352_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(s as Weight)))
 			.saturating_add(T::DbWeight::get().writes(4 as Weight))
@@ -107,9 +107,9 @@
 	// Storage: Scheduler Agenda (r:2 w:2)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_aborted(s: u32, ) -> Weight {
-		(11_267_000 as Weight)
-			// Standard Error: 1_000
-			.saturating_add((9_368_000 as Weight).saturating_mul(s as Weight))
+		(4_921_000 as Weight)
+			// Standard Error: 4_000
+			.saturating_add((2_249_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
@@ -120,9 +120,9 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_named_aborted(s: u32, ) -> Weight {
-		(35_937_000 as Weight)
-			// Standard Error: 3_000
-			.saturating_add((23_037_000 as Weight).saturating_mul(s as Weight))
+		(26_934_000 as Weight)
+			// Standard Error: 7_000
+			.saturating_add((5_819_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
@@ -130,9 +130,9 @@
 	// Storage: Scheduler Agenda (r:2 w:2)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_named(s: u32, ) -> Weight {
-		(10_338_000 as Weight)
-			// Standard Error: 2_000
-			.saturating_add((9_422_000 as Weight).saturating_mul(s as Weight))
+		(6_423_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((2_141_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
@@ -143,9 +143,9 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize(s: u32, ) -> Weight {
-		(37_448_000 as Weight)
-			// Standard Error: 7_000
-			.saturating_add((22_907_000 as Weight).saturating_mul(s as Weight))
+		(27_586_000 as Weight)
+			// Standard Error: 11_000
+			.saturating_add((5_264_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
@@ -156,9 +156,9 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_resolved(s: u32, ) -> Weight {
-		(34_841_000 as Weight)
-			// Standard Error: 7_000
-			.saturating_add((22_966_000 as Weight).saturating_mul(s as Weight))
+		(24_356_000 as Weight)
+			// Standard Error: 4_000
+			.saturating_add((5_301_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
@@ -166,18 +166,18 @@
 	// Storage: Scheduler Lookup (r:1 w:1)
 	// Storage: Scheduler Agenda (r:1 w:1)
 	fn schedule_named(s: u32, ) -> Weight {
-		(33_845_000 as Weight)
-			// Standard Error: 0
-			.saturating_add((168_000 as Weight).saturating_mul(s as Weight))
+		(14_871_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((183_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Scheduler Lookup (r:1 w:1)
 	// Storage: Scheduler Agenda (r:1 w:1)
 	fn cancel_named(s: u32, ) -> Weight {
-		(31_169_000 as Weight)
+		(16_676_000 as Weight)
 			// Standard Error: 1_000
-			.saturating_add((1_565_000 as Weight).saturating_mul(s as Weight))
+			.saturating_add((500_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
@@ -191,9 +191,9 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_periodic_named_resolved(s: u32, ) -> Weight {
-		(35_999_000 as Weight)
-			// Standard Error: 3_000
-			.saturating_add((32_234_000 as Weight).saturating_mul(s as Weight))
+		(27_374_000 as Weight)
+			// Standard Error: 7_000
+			.saturating_add((9_673_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(s as Weight)))
 			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
@@ -205,9 +205,9 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_named_resolved(s: u32, ) -> Weight {
-		(34_874_000 as Weight)
-			// Standard Error: 2_000
-			.saturating_add((23_114_000 as Weight).saturating_mul(s as Weight))
+		(25_967_000 as Weight)
+			// Standard Error: 6_000
+			.saturating_add((5_916_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
@@ -218,9 +218,9 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_periodic(s: u32, ) -> Weight {
-		(36_469_000 as Weight)
-			// Standard Error: 3_000
-			.saturating_add((32_202_000 as Weight).saturating_mul(s as Weight))
+		(27_097_000 as Weight)
+			// Standard Error: 5_000
+			.saturating_add((9_652_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(s as Weight)))
 			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
@@ -232,9 +232,9 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_periodic_resolved(s: u32, ) -> Weight {
-		(35_352_000 as Weight)
-			// Standard Error: 3_000
-			.saturating_add((32_309_000 as Weight).saturating_mul(s as Weight))
+		(43_116_000 as Weight)
+			// Standard Error: 18_000
+			.saturating_add((8_352_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(s as Weight)))
 			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
@@ -243,9 +243,9 @@
 	// Storage: Scheduler Agenda (r:2 w:2)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_aborted(s: u32, ) -> Weight {
-		(11_267_000 as Weight)
-			// Standard Error: 1_000
-			.saturating_add((9_368_000 as Weight).saturating_mul(s as Weight))
+		(4_921_000 as Weight)
+			// Standard Error: 4_000
+			.saturating_add((2_249_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
@@ -256,9 +256,9 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_named_aborted(s: u32, ) -> Weight {
-		(35_937_000 as Weight)
-			// Standard Error: 3_000
-			.saturating_add((23_037_000 as Weight).saturating_mul(s as Weight))
+		(26_934_000 as Weight)
+			// Standard Error: 7_000
+			.saturating_add((5_819_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
@@ -266,9 +266,9 @@
 	// Storage: Scheduler Agenda (r:2 w:2)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_named(s: u32, ) -> Weight {
-		(10_338_000 as Weight)
-			// Standard Error: 2_000
-			.saturating_add((9_422_000 as Weight).saturating_mul(s as Weight))
+		(6_423_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((2_141_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
@@ -279,9 +279,9 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize(s: u32, ) -> Weight {
-		(37_448_000 as Weight)
-			// Standard Error: 7_000
-			.saturating_add((22_907_000 as Weight).saturating_mul(s as Weight))
+		(27_586_000 as Weight)
+			// Standard Error: 11_000
+			.saturating_add((5_264_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
@@ -292,9 +292,9 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_resolved(s: u32, ) -> Weight {
-		(34_841_000 as Weight)
-			// Standard Error: 7_000
-			.saturating_add((22_966_000 as Weight).saturating_mul(s as Weight))
+		(24_356_000 as Weight)
+			// Standard Error: 4_000
+			.saturating_add((5_301_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
@@ -302,18 +302,18 @@
 	// Storage: Scheduler Lookup (r:1 w:1)
 	// Storage: Scheduler Agenda (r:1 w:1)
 	fn schedule_named(s: u32, ) -> Weight {
-		(33_845_000 as Weight)
-			// Standard Error: 0
-			.saturating_add((168_000 as Weight).saturating_mul(s as Weight))
+		(14_871_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((183_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Scheduler Lookup (r:1 w:1)
 	// Storage: Scheduler Agenda (r:1 w:1)
 	fn cancel_named(s: u32, ) -> Weight {
-		(31_169_000 as Weight)
+		(16_676_000 as Weight)
 			// Standard Error: 1_000
-			.saturating_add((1_565_000 as Weight).saturating_mul(s as Weight))
+			.saturating_add((500_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
 	}
modifiedpallets/structure/src/weights.rsdiffbeforeafterboth
--- a/pallets/structure/src/weights.rs
+++ b/pallets/structure/src/weights.rs
@@ -3,12 +3,13 @@
 //! Autogenerated weights for pallet_structure
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-03-24, STEPS: `50`, REPEAT: 200, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2022-06-15, STEPS: `50`, REPEAT: 200, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
 
 // Executed Command:
 // target/release/unique-collator
 // benchmark
+// pallet
 // --pallet
 // pallet-structure
 // --wasm-execution
@@ -41,7 +42,7 @@
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Nonfungible TokenData (r:1 w:0)
 	fn find_parent() -> Weight {
-		(6_302_000 as Weight)
+		(7_013_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 	}
 }
@@ -51,7 +52,7 @@
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Nonfungible TokenData (r:1 w:0)
 	fn find_parent() -> Weight {
-		(6_302_000 as Weight)
+		(7_013_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 	}
 }
modifiedpallets/unique/src/weights.rsdiffbeforeafterboth
--- a/pallets/unique/src/weights.rs
+++ b/pallets/unique/src/weights.rs
@@ -3,12 +3,13 @@
 //! Autogenerated weights for pallet_unique
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-03-01, STEPS: `50`, REPEAT: 200, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2022-06-15, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
 
 // Executed Command:
 // target/release/unique-collator
 // benchmark
+// pallet
 // --pallet
 // pallet-unique
 // --wasm-execution
@@ -18,7 +19,7 @@
 // --template
 // .maintain/frame-weight-template.hbs
 // --steps=50
-// --repeat=200
+// --repeat=80
 // --heap-pages=4096
 // --output=./pallets/unique/src/weights.rs
 
@@ -36,8 +37,6 @@
 	fn destroy_collection() -> Weight;
 	fn add_to_allow_list() -> Weight;
 	fn remove_from_allow_list() -> Weight;
-	fn set_public_access_mode() -> Weight;
-	fn set_mint_permission() -> Weight;
 	fn change_collection_owner() -> Weight;
 	fn add_collection_admin() -> Weight;
 	fn remove_collection_admin() -> Weight;
@@ -45,9 +44,6 @@
 	fn confirm_sponsorship() -> Weight;
 	fn remove_collection_sponsor() -> Weight;
 	fn set_transfers_enabled_flag() -> Weight;
-	fn set_offchain_schema(b: u32, ) -> Weight;
-	fn set_const_on_chain_schema(b: u32, ) -> Weight;
-	fn set_schema_version() -> Weight;
 	fn set_collection_limits() -> Weight;
 }
 
@@ -57,51 +53,43 @@
 	// Storage: Common CreatedCollectionCount (r:1 w:1)
 	// Storage: Common DestroyedCollectionCount (r:1 w:0)
 	// Storage: System Account (r:2 w:2)
+	// Storage: Common CollectionPropertyPermissions (r:0 w:1)
+	// Storage: Common CollectionProperties (r:0 w:1)
 	// Storage: Common CollectionById (r:0 w:1)
 	fn create_collection() -> Weight {
-		(28_929_000 as Weight)
+		(39_427_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
+			.saturating_add(T::DbWeight::get().writes(6 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
+	// Storage: Nonfungible TokenData (r:1 w:0)
 	// Storage: Common DestroyedCollectionCount (r:1 w:1)
 	// Storage: Nonfungible TokensMinted (r:0 w:1)
 	// Storage: Nonfungible TokensBurnt (r:0 w:1)
 	// Storage: Common AdminAmount (r:0 w:1)
+	// Storage: Common CollectionProperties (r:0 w:1)
 	fn destroy_collection() -> Weight {
-		(40_303_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(5 as Weight))
+		(48_339_000 as Weight)
+			.saturating_add(T::DbWeight::get().reads(3 as Weight))
+			.saturating_add(T::DbWeight::get().writes(6 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Common Allowlist (r:0 w:1)
 	fn add_to_allow_list() -> Weight {
-		(15_989_000 as Weight)
+		(17_379_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Common Allowlist (r:0 w:1)
 	fn remove_from_allow_list() -> Weight {
-		(15_582_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
-	}
-	// Storage: Common CollectionById (r:1 w:1)
-	fn set_public_access_mode() -> Weight {
-		(14_846_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
-	}
-	// Storage: Common CollectionById (r:1 w:1)
-	fn set_mint_permission() -> Weight {
-		(14_534_000 as Weight)
+		(17_490_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn change_collection_owner() -> Weight {
-		(14_990_000 as Weight)
+		(17_701_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -109,7 +97,7 @@
 	// Storage: Common IsAdmin (r:1 w:1)
 	// Storage: Common AdminAmount (r:1 w:1)
 	fn add_collection_admin() -> Weight {
-		(19_957_000 as Weight)
+		(23_301_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
@@ -117,55 +105,37 @@
 	// Storage: Common IsAdmin (r:1 w:1)
 	// Storage: Common AdminAmount (r:1 w:1)
 	fn remove_collection_admin() -> Weight {
-		(21_209_000 as Weight)
+		(24_859_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn set_collection_sponsor() -> Weight {
-		(14_963_000 as Weight)
+		(17_795_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn confirm_sponsorship() -> Weight {
-		(14_478_000 as Weight)
+		(17_297_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn remove_collection_sponsor() -> Weight {
-		(14_393_000 as Weight)
+		(17_079_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn set_transfers_enabled_flag() -> Weight {
-		(7_309_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
-	}
-	// Storage: Common CollectionById (r:1 w:1)
-	fn set_offchain_schema(_b: u32, ) -> Weight {
-		(15_220_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
-	}
-	// Storage: Common CollectionById (r:1 w:1)
-	fn set_const_on_chain_schema(_b: u32, ) -> Weight {
-		(14_984_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
-	}
-	// Storage: Common CollectionById (r:1 w:1)
-	fn set_schema_version() -> Weight {
-		(14_596_000 as Weight)
+		(9_734_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn set_collection_limits() -> Weight {
-		(15_339_000 as Weight)
+		(17_998_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -176,51 +146,43 @@
 	// Storage: Common CreatedCollectionCount (r:1 w:1)
 	// Storage: Common DestroyedCollectionCount (r:1 w:0)
 	// Storage: System Account (r:2 w:2)
+	// Storage: Common CollectionPropertyPermissions (r:0 w:1)
+	// Storage: Common CollectionProperties (r:0 w:1)
 	// Storage: Common CollectionById (r:0 w:1)
 	fn create_collection() -> Weight {
-		(28_929_000 as Weight)
+		(39_427_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
+			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
+	// Storage: Nonfungible TokenData (r:1 w:0)
 	// Storage: Common DestroyedCollectionCount (r:1 w:1)
 	// Storage: Nonfungible TokensMinted (r:0 w:1)
 	// Storage: Nonfungible TokensBurnt (r:0 w:1)
 	// Storage: Common AdminAmount (r:0 w:1)
+	// Storage: Common CollectionProperties (r:0 w:1)
 	fn destroy_collection() -> Weight {
-		(40_303_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
+		(48_339_000 as Weight)
+			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
+			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Common Allowlist (r:0 w:1)
 	fn add_to_allow_list() -> Weight {
-		(15_989_000 as Weight)
+		(17_379_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Common Allowlist (r:0 w:1)
 	fn remove_from_allow_list() -> Weight {
-		(15_582_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
-	}
-	// Storage: Common CollectionById (r:1 w:1)
-	fn set_public_access_mode() -> Weight {
-		(14_846_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
-	}
-	// Storage: Common CollectionById (r:1 w:1)
-	fn set_mint_permission() -> Weight {
-		(14_534_000 as Weight)
+		(17_490_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn change_collection_owner() -> Weight {
-		(14_990_000 as Weight)
+		(17_701_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
@@ -228,7 +190,7 @@
 	// Storage: Common IsAdmin (r:1 w:1)
 	// Storage: Common AdminAmount (r:1 w:1)
 	fn add_collection_admin() -> Weight {
-		(19_957_000 as Weight)
+		(23_301_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
 	}
@@ -236,55 +198,37 @@
 	// Storage: Common IsAdmin (r:1 w:1)
 	// Storage: Common AdminAmount (r:1 w:1)
 	fn remove_collection_admin() -> Weight {
-		(21_209_000 as Weight)
+		(24_859_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn set_collection_sponsor() -> Weight {
-		(14_963_000 as Weight)
+		(17_795_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn confirm_sponsorship() -> Weight {
-		(14_478_000 as Weight)
+		(17_297_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn remove_collection_sponsor() -> Weight {
-		(14_393_000 as Weight)
+		(17_079_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn set_transfers_enabled_flag() -> Weight {
-		(7_309_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
-	}
-	// Storage: Common CollectionById (r:1 w:1)
-	fn set_offchain_schema(_b: u32, ) -> Weight {
-		(15_220_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
-	}
-	// Storage: Common CollectionById (r:1 w:1)
-	fn set_const_on_chain_schema(_b: u32, ) -> Weight {
-		(14_984_000 as Weight)
+		(9_734_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
-	fn set_schema_version() -> Weight {
-		(14_596_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
-	}
-	// Storage: Common CollectionById (r:1 w:1)
 	fn set_collection_limits() -> Weight {
-		(15_339_000 as Weight)
+		(17_998_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}