git.delta.rocks / unique-network / refs/commits / 1ddd82e06cac

difftreelog

Merge pull request #398 from UniqueNetwork/release-v923000

kozyrevdev2022-06-22parents: #011ebf2 #0d9468b.patch.diff
in: master
Release v923000

16 files changed

modifiedpallets/common/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/common/src/benchmarking.rs
+++ b/pallets/common/src/benchmarking.rs
@@ -98,6 +98,7 @@
 					token_owner: false,
 					collection_admin: false,
 					restricted: None,
+					#[cfg(feature = "runtime-benchmarks")]
 					permissive: true,
 				}),
 				mint_mode: Some(true),
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -1212,14 +1212,7 @@
 		limit_default_clone!(old_limit, new_limit,
 			access => {},
 			mint_mode => {},
-			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,
-				)
-			},
+			nesting => { /* todo check for permissive, if only it gets out of benchmarks */ },
 		);
 		Ok(new_limit)
 	}
modifiedpallets/nonfungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -1038,7 +1038,13 @@
 		nesting_budget: &dyn Budget,
 	) -> DispatchResult {
 		let nesting = handle.permissions.nesting();
-		if nesting.permissive {
+
+		#[cfg(not(feature = "runtime-benchmarks"))]
+		let permissive = false;
+		#[cfg(feature = "runtime-benchmarks")]
+		let permissive = nesting.permissive;
+
+		if permissive {
 			// Pass
 		} else if nesting.token_owner
 			&& <PalletStructure<T>>::check_indirectly_owned(
modifiedpallets/proxy-rmrk-core/src/lib.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-core/src/lib.rs
+++ b/pallets/proxy-rmrk-core/src/lib.rs
@@ -205,7 +205,7 @@
 						token_owner: true,
 						collection_admin: false,
 						restricted: None,
-
+						#[cfg(feature = "runtime-benchmarks")]
 						permissive: false,
 					}),
 					..Default::default()
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-17, 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		(42_359_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		(45_375_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		(22_753_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		(24_356_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 TokenAuxProperties (r:2 w:2)111	fn mint_nft(b: u32, ) -> Weight {112		(44_853_000 as Weight)113			// Standard Error: 2_000114			.saturating_add((10_721_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: 1_590_000133			.saturating_add((319_825_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		(72_576_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		(79_670_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		(254_989_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_651_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_579_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 TokenAuxProperties (r:1 w:1)208	fn add_basic_resource() -> Weight {209		(55_013_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 TokenAuxProperties (r:1 w:1)219	fn add_composable_resource() -> Weight {220		(55_184_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 TokenAuxProperties (r:1 w:1)230	fn add_slot_resource() -> Weight {231		(54_792_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 TokenAuxProperties (r:1 w:1)239	// Storage: Nonfungible TokenData (r:5 w:0)240	fn remove_resource() -> Weight {241		(46_447_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 TokenAuxProperties (r:1 w:1)250	fn accept_resource() -> Weight {251		(45_096_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 TokenAuxProperties (r:1 w:1)260	fn accept_resource_removal() -> Weight {261		(45_445_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		(42_359_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		(45_375_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		(22_753_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		(24_356_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 TokenAuxProperties (r:2 w:2)322	fn mint_nft(b: u32, ) -> Weight {323		(44_853_000 as Weight)324			// Standard Error: 2_000325			.saturating_add((10_721_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: 1_590_000344			.saturating_add((319_825_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		(72_576_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		(79_670_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		(254_989_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_651_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_579_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 TokenAuxProperties (r:1 w:1)419	fn add_basic_resource() -> Weight {420		(55_013_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 TokenAuxProperties (r:1 w:1)430	fn add_composable_resource() -> Weight {431		(55_184_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 TokenAuxProperties (r:1 w:1)441	fn add_slot_resource() -> Weight {442		(54_792_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 TokenAuxProperties (r:1 w:1)450	// Storage: Nonfungible TokenData (r:5 w:0)451	fn remove_resource() -> Weight {452		(46_447_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 TokenAuxProperties (r:1 w:1)461	fn accept_resource() -> Weight {462		(45_096_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 TokenAuxProperties (r:1 w:1)471	fn accept_resource_removal() -> Weight {472		(45_445_000 as Weight)473			.saturating_add(RocksDbWeight::get().reads(9 as Weight))474			.saturating_add(RocksDbWeight::get().writes(1 as Weight))475	}476}
modifiedpallets/proxy-rmrk-equip/src/weights.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-equip/src/weights.rs
+++ b/pallets/proxy-rmrk-equip/src/weights.rs
@@ -3,7 +3,7 @@
 //! Autogenerated weights for pallet_proxy_rmrk_equip
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-06-20, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2022-06-21, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
 
 // Executed Command:
@@ -54,9 +54,9 @@
 	// Storage: Nonfungible TokenData (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn create_base(b: u32, ) -> Weight {
-		(44_927_000 as Weight)
-			// Standard Error: 9_000
-			.saturating_add((18_896_000 as Weight).saturating_mul(b as Weight))
+		(62_832_000 as Weight)
+			// Standard Error: 22_000
+			.saturating_add((20_106_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(T::DbWeight::get().reads(6 as Weight))
 			.saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(b as Weight)))
 			.saturating_add(T::DbWeight::get().writes(8 as Weight))
@@ -71,9 +71,9 @@
 	// Storage: Nonfungible TokenData (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn theme_add(b: u32, ) -> Weight {
-		(39_120_000 as Weight)
-			// Standard Error: 11_000
-			.saturating_add((2_367_000 as Weight).saturating_mul(b as Weight))
+		(46_793_000 as Weight)
+			// Standard Error: 61_000
+			.saturating_add((3_061_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(T::DbWeight::get().reads(6 as Weight))
 			.saturating_add(T::DbWeight::get().writes(5 as Weight))
 	}
@@ -82,7 +82,7 @@
 	// Storage: RmrkEquip InernalPartId (r:1 w:0)
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	fn equippable() -> Weight {
-		(27_172_000 as Weight)
+		(32_495_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -103,9 +103,9 @@
 	// Storage: Nonfungible TokenData (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn create_base(b: u32, ) -> Weight {
-		(44_927_000 as Weight)
-			// Standard Error: 9_000
-			.saturating_add((18_896_000 as Weight).saturating_mul(b as Weight))
+		(62_832_000 as Weight)
+			// Standard Error: 22_000
+			.saturating_add((20_106_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
 			.saturating_add(RocksDbWeight::get().reads((2 as Weight).saturating_mul(b as Weight)))
 			.saturating_add(RocksDbWeight::get().writes(8 as Weight))
@@ -120,9 +120,9 @@
 	// Storage: Nonfungible TokenData (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn theme_add(b: u32, ) -> Weight {
-		(39_120_000 as Weight)
-			// Standard Error: 11_000
-			.saturating_add((2_367_000 as Weight).saturating_mul(b as Weight))
+		(46_793_000 as Weight)
+			// Standard Error: 61_000
+			.saturating_add((3_061_000 as Weight).saturating_mul(b as Weight))
 			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
 	}
@@ -131,7 +131,7 @@
 	// Storage: RmrkEquip InernalPartId (r:1 w:0)
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	fn equippable() -> Weight {
-		(27_172_000 as Weight)
+		(32_495_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
modifiedprimitives/data-structs/src/lib.rsdiffbeforeafterboth
--- a/primitives/data-structs/src/lib.rs
+++ b/primitives/data-structs/src/lib.rs
@@ -454,7 +454,7 @@
 			token_owner: false,
 			collection_admin: false,
 			restricted: None,
-
+			#[cfg(feature = "runtime-benchmarks")]
 			permissive: false,
 		};
 		self.nesting.as_ref().unwrap_or(&DEFAULT)
@@ -499,6 +499,7 @@
 	/// If set - only tokens from specified collections can be nested
 	pub restricted: Option<OwnerRestrictedSet>,
 
+	#[cfg(feature = "runtime-benchmarks")]
 	/// Anyone can nest tokens, mutually exclusive with `token_owner`, `admin`
 	pub permissive: bool,
 }
modifiedruntime/common/src/constants.rsdiffbeforeafterboth
--- a/runtime/common/src/constants.rs
+++ b/runtime/common/src/constants.rs
@@ -35,9 +35,10 @@
 pub const CENTIUNIQUE: Balance = 10 * MILLIUNIQUE;
 pub const UNIQUE: Balance = 100 * CENTIUNIQUE;
 
-pub const WEIGHT_TO_FEE_COEFF: u32 = 142_688_000;
+// Targeting 0.1 UNQ per transfer
+pub const WEIGHT_TO_FEE_COEFF: u32 = 207_890_902;
 
-// Targeting 0.15 UNQ per transfer
+// Targeting 0.15 UNQ per transfer via ETH
 pub const MIN_GAS_PRICE: u64 = 1_019_493_469_850;
 
 /// We assume that ~10% of the block weight is consumed by `on_initalize` handlers.
@@ -52,5 +53,5 @@
 parameter_types! {
 	pub const DefaultSponsoringRateLimit: BlockNumber = 1 * DAYS;
 
-	pub const TransactionByteFee: Balance = 501 * MICROUNIQUE; // Targeting 0.1 Unique per NFT transfer
+	pub const TransactionByteFee: Balance = 501 * MICROUNIQUE;
 }
modifiedruntime/opal/src/lib.rsdiffbeforeafterboth
--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -508,7 +508,6 @@
 
 	fn polynomial() -> WeightToFeeCoefficients<Self::Balance> {
 		smallvec!(WeightToFeeCoefficient {
-			// Targeting 0.1 Unique per NFT transfer
 			coeff_integer: WEIGHT_TO_FEE_COEFF.into(),
 			coeff_frac: Perbill::zero(),
 			negative: false,
modifiedruntime/quartz/src/lib.rsdiffbeforeafterboth
--- a/runtime/quartz/src/lib.rs
+++ b/runtime/quartz/src/lib.rs
@@ -507,7 +507,6 @@
 
 	fn polynomial() -> WeightToFeeCoefficients<Self::Balance> {
 		smallvec!(WeightToFeeCoefficient {
-			// Targeting 0.1 Unique per NFT transfer
 			coeff_integer: WEIGHT_TO_FEE_COEFF.into(),
 			coeff_frac: Perbill::zero(),
 			negative: false,
@@ -805,13 +804,8 @@
 	type LocationInverter = LocationInverter<Ancestry>;
 	type Barrier = Barrier;
 	type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;
-	type Trader = UsingOnlySelfCurrencyComponents<
-		LinearFee<Balance>,
-		RelayLocation,
-		AccountId,
-		Balances,
-		(),
-	>;
+	type Trader =
+		UsingOnlySelfCurrencyComponents<LinearFee<Balance>, RelayLocation, AccountId, Balances, ()>;
 	type ResponseHandler = (); // Don't handle responses for now.
 	type SubscriptionService = PolkadotXcm;
 
modifiedruntime/unique/src/lib.rsdiffbeforeafterboth
--- a/runtime/unique/src/lib.rs
+++ b/runtime/unique/src/lib.rs
@@ -506,7 +506,6 @@
 
 	fn polynomial() -> WeightToFeeCoefficients<Self::Balance> {
 		smallvec!(WeightToFeeCoefficient {
-			// Targeting 0.1 Unique per NFT transfer
 			coeff_integer: WEIGHT_TO_FEE_COEFF.into(),
 			coeff_frac: Perbill::zero(),
 			negative: false,
@@ -804,13 +803,8 @@
 	type LocationInverter = LocationInverter<Ancestry>;
 	type Barrier = Barrier;
 	type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;
-	type Trader = UsingOnlySelfCurrencyComponents<
-		LinearFee<Balance>,
-		RelayLocation,
-		AccountId,
-		Balances,
-		(),
-	>;
+	type Trader =
+		UsingOnlySelfCurrencyComponents<LinearFee<Balance>, RelayLocation, AccountId, Balances, ()>;
 	type ResponseHandler = (); // Don't handle responses for now.
 	type SubscriptionService = PolkadotXcm;
 
modifiedtests/src/createItem.test.tsdiffbeforeafterboth
--- a/tests/src/createItem.test.ts
+++ b/tests/src/createItem.test.ts
@@ -158,7 +158,7 @@
 
       const newCollectionID = await createCollectionWithPropsExpectSuccess();
       
-      createItemWithPropsExpectFailure(alice, newCollectionID, 'NFT', prps);
+      await createItemWithPropsExpectFailure(alice, newCollectionID, 'NFT', prps);
     });
   });
 
@@ -166,7 +166,7 @@
     await usingApi(async () => {
       const newCollectionID = await createCollectionWithPropsExpectSuccess();
       
-      createItemWithPropsExpectFailure(alice, newCollectionID, 'NFT', [{key: 'k', value: 'vvvvvv'.repeat(5000)}, {key: 'k2', value: 'vvv'.repeat(5000)}]);
+      await createItemWithPropsExpectFailure(alice, newCollectionID, 'NFT', [{key: 'k', value: 'vvvvvv'.repeat(5000)}, {key: 'k2', value: 'vvv'.repeat(5000)}]);
     });
   });
 });
modifiedtests/src/nesting/unnest.test.tsdiffbeforeafterboth
--- a/tests/src/nesting/unnest.test.ts
+++ b/tests/src/nesting/unnest.test.ts
@@ -153,6 +153,6 @@
 
     // Create a nested token ouroboros
     const nestedToken = await createItemExpectSuccess(alice, collection, 'NFT', {Ethereum: tokenIdToAddress(collection, targetToken)});
-    expect(transferExpectSuccess(collection, targetToken, alice, {Ethereum: tokenIdToAddress(collection, nestedToken)})).to.be.rejectedWith(/^structure\.OuroborosDetected$/);
+    await expect(transferExpectSuccess(collection, targetToken, alice, {Ethereum: tokenIdToAddress(collection, nestedToken)})).to.be.rejectedWith(/^structure\.OuroborosDetected$/);
   });
 });
modifiedtests/update_apps.shdiffbeforeafterboth
--- a/tests/update_apps.sh
+++ b/tests/update_apps.sh
@@ -1,5 +1,7 @@
 #!/usr/bin/env sh
 
+set -eux
+
 ./update_types.sh
 
 if [ ! -d polkadot-apps ]; then
@@ -8,4 +10,4 @@
 
 pushd polkadot-apps
 yarn link ../unique-types-js
-popd
\ No newline at end of file
+popd
modifiedtests/update_apps_start.shdiffbeforeafterboth
--- a/tests/update_apps_start.sh
+++ b/tests/update_apps_start.sh
@@ -1,7 +1,9 @@
 #!/usr/bin/env sh
 
+set -eux
+
 ./update_apps.sh
 
 pushd polkadot-apps
 yarn start
-popd
\ No newline at end of file
+popd
modifiedtests/update_types.shdiffbeforeafterboth
--- a/tests/update_types.sh
+++ b/tests/update_types.sh
@@ -1,5 +1,7 @@
 #!/usr/bin/env sh
 
+set -eux
+
 yarn polkadot-types
 
 if [ ! -d unique-types-js ]; then