git.delta.rocks / unique-network / refs/commits / 00a765656f26

difftreelog

feat(rmrk) benchmark reject_nft

Daniel Shiposha2022-06-10parent: #66e7432.patch.diff
in: master

3 files changed

modifiedpallets/proxy-rmrk-core/src/benchmarking.rsdiffbeforeafterboth
before · pallets/proxy-rmrk-core/src/benchmarking.rs
1use sp_std::vec;23use frame_benchmarking::{benchmarks, account};4use frame_system::RawOrigin;5use frame_support::{6	traits::{Currency, Get},7	BoundedVec,8};9use sp_runtime::Permill;1011use up_data_structs::*;1213use super::*;1415const SEED: u32 = 1;1617fn create_data<S: Get<u32>>() -> BoundedVec<u8, S> {18	vec![b'A'; S::get() as usize].try_into().expect("size == S")19}2021fn create_u32_array<S: Get<u32>>() -> BoundedVec<u32, S> {22	vec![0; S::get() as usize].try_into().expect("size == S")23}2425fn create_basic_resource() -> RmrkBasicResource {26	RmrkBasicResource {27		src: Some(create_data()),28		metadata: Some(create_data()),29		license: Some(create_data()),30		thumb: Some(create_data()),31	}32}3334fn create_composable_resource() -> RmrkComposableResource {35	RmrkComposableResource {36		parts: create_u32_array(),37		base: 100,38		src: Some(create_data()),39		metadata: Some(create_data()),40		license: Some(create_data()),41		thumb: Some(create_data()),42	}43}4445fn create_slot_resource() -> RmrkSlotResource {46	RmrkSlotResource {47		base: 100,48		slot: 200,49		src: Some(create_data()),50		metadata: Some(create_data()),51		license: Some(create_data()),52		thumb: Some(create_data()),53	}54}5556fn create_max_collection<T: Config>(owner: &T::AccountId) -> DispatchResult {57	<T as pallet_common::Config>::Currency::deposit_creating(58		owner,59		T::CollectionCreationPrice::get(),60	);6162	let metadata = create_data();63	let max = None;64	let symbol = create_data();6566	<Pallet<T>>::create_collection(67		RawOrigin::Signed(owner.clone()).into(),68		metadata,69		max,70		symbol,71	)72}7374fn create_max_nft<T: Config>(75	owner: &T::AccountId,76	collection_id: RmrkCollectionId,77) -> DispatchResult {78	let royalty_recipient = Some(owner.clone());79	let royalty_amount = Some(Permill::from_percent(25));80	let metadata = create_data();81	let transferable = true;8283	<Pallet<T>>::mint_nft(84		RawOrigin::Signed(owner.clone()).into(),85		owner.clone(),86		collection_id,87		royalty_recipient,88		royalty_amount,89		metadata,90		transferable,91	)92}9394struct NftBuilder {95	collection_id: RmrkCollectionId,96	current_nft_id: RmrkNftId,97}9899impl NftBuilder {100	fn new(collection_id: RmrkCollectionId) -> Self {101		Self {102			collection_id,103			current_nft_id: 0,104		}105	}106107	fn build<T: Config>(&mut self, owner: &T::AccountId) -> Result<RmrkNftId, DispatchError> {108		create_max_nft::<T>(owner, self.collection_id)?;109		self.current_nft_id += 1;110111		Ok(self.current_nft_id)112	}113114	fn build_tower<T: Config>(115		&mut self,116		owner: &T::AccountId,117		height: u32,118	) -> Result<RmrkNftId, DispatchError> {119		self.build::<T>(owner)?;120121		let mut prev_nft_id = self.current_nft_id;122123		for _ in 0..height {124			self.build::<T>(owner)?;125126			let new_owner =127				<RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::CollectionAndNftTuple(128					self.collection_id,129					prev_nft_id,130				);131132			<Pallet<T>>::send(133				RawOrigin::Signed(owner.clone()).into(),134				self.collection_id,135				self.current_nft_id,136				new_owner,137			)?;138139			prev_nft_id = self.current_nft_id;140		}141142		let deepest_nft_id = self.current_nft_id;143144		Ok(deepest_nft_id)145	}146}147148benchmarks! {149	create_collection {150		let caller = account("caller", 0, SEED);151		<T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());152		let metadata = create_data();153		let max = None;154		let symbol = create_data();155	}: _(RawOrigin::Signed(caller), metadata, max, symbol)156157	destroy_collection {158		let caller = account("caller", 0, SEED);159160		create_max_collection::<T>(&caller)?;161		let collection_id = 0;162	}: _(RawOrigin::Signed(caller), collection_id)163164	change_collection_issuer {165		let caller: T::AccountId = account("caller", 0, SEED);166167		create_max_collection::<T>(&caller)?;168		let collection_id = 0;169170		let new_owner: T::AccountId = account("new_owner", 0, SEED);171172		let new_owner_source = T::Lookup::unlookup(new_owner);173	}: _(RawOrigin::Signed(caller), collection_id, new_owner_source)174175	lock_collection {176		let caller: T::AccountId = account("caller", 0, SEED);177178		create_max_collection::<T>(&caller)?;179		let collection_id = 0;180	}: _(RawOrigin::Signed(caller), collection_id)181182	mint_nft {183		let caller: T::AccountId = account("caller", 0, SEED);184185		create_max_collection::<T>(&caller)?;186		let collection_id = 0;187		let owner = caller.clone();188189		let royalty_recipient = Some(caller.clone());190		let royalty_amount = Some(Permill::from_percent(25));191		let metadata = create_data();192		let transferable = true;193	}:  _(194		RawOrigin::Signed(caller),195		owner,196		collection_id,197		royalty_recipient,198		royalty_amount,199		metadata,200		transferable201	)202203	send {204		let caller: T::AccountId = account("caller", 0, SEED);205		create_max_collection::<T>(&caller)?;206		let collection_id = 0;207208		let mut nft_builder = NftBuilder::new(collection_id);209		let src_nft_id = nft_builder.build::<T>(&caller)?;210		let target_nft_id = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 2)?;211	}: _(212		RawOrigin::Signed(caller),213		collection_id,214		src_nft_id,215		<RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::CollectionAndNftTuple(collection_id, target_nft_id)216	)217218	accept_nft {219		let caller: T::AccountId = account("caller", 0, SEED);220		let sender: T::AccountId = account("sender", 0, SEED);221222		create_max_collection::<T>(&sender)?;223		let src_collection_id = 0;224225		create_max_collection::<T>(&caller)?;226		let target_collection_id = 1;227228		let mut src_nft_builder = NftBuilder::new(src_collection_id);229		let src_nft_id = src_nft_builder.build::<T>(&sender)?;230231		let mut target_nft_builder = NftBuilder::new(target_collection_id);232		let fake_target_nft_id = target_nft_builder.build::<T>(&caller)?;233		let target_nft_id = target_nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;234235		let new_owner = <RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::CollectionAndNftTuple(236			target_collection_id,237			fake_target_nft_id238		);239240		let actual_new_owner = <RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::CollectionAndNftTuple(241			target_collection_id,242			target_nft_id243		);244245		<Pallet<T>>::send(246			RawOrigin::Signed(sender.clone()).into(),247			src_collection_id,248			src_nft_id,249			new_owner,250		)?;251	}: _(252		RawOrigin::Signed(caller),253		src_collection_id,254		src_nft_id,255		actual_new_owner256	)257258	set_property {259		let caller: T::AccountId = account("caller", 0, SEED);260		create_max_collection::<T>(&caller)?;261		let collection_id = 0;262263		let mut nft_builder = NftBuilder::new(collection_id);264		let nft_id = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;265266		let key = create_data();267		let value = create_data();268	}: _(269		RawOrigin::Signed(caller),270		collection_id,271		Some(nft_id),272		key,273		value274	)275276	set_priority {277		let caller: T::AccountId = account("caller", 0, SEED);278		create_max_collection::<T>(&caller)?;279		let collection_id = 0;280281		let mut nft_builder = NftBuilder::new(collection_id);282		let nft_id = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;283		let priorities = create_u32_array();284	}: _(285		RawOrigin::Signed(caller),286		collection_id,287		nft_id,288		priorities289	)290291	add_basic_resource {292		let caller: T::AccountId = account("caller", 0, SEED);293		<T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());294295		create_max_collection::<T>(&caller)?;296		let collection_id = 0;297298		let mut nft_builder = NftBuilder::new(collection_id);299		let nft_id = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;300		let resource = create_basic_resource();301	}: _(302		RawOrigin::Signed(caller),303		collection_id,304		nft_id,305		resource306	)307308	add_composable_resource {309		let caller: T::AccountId = account("caller", 0, SEED);310		<T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());311312		create_max_collection::<T>(&caller)?;313		let collection_id = 0;314315		let mut nft_builder = NftBuilder::new(collection_id);316		let nft_id = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;317		let resource = create_composable_resource();318	}: _(319		RawOrigin::Signed(caller),320		collection_id,321		nft_id,322		resource323	)324325	add_slot_resource {326		let caller: T::AccountId = account("caller", 0, SEED);327		<T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());328329		create_max_collection::<T>(&caller)?;330		let collection_id = 0;331332		let mut nft_builder = NftBuilder::new(collection_id);333		let nft_id = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;334		let resource = create_slot_resource();335	}: _(336		RawOrigin::Signed(caller),337		collection_id,338		nft_id,339		resource340	)341342	remove_resource {343		let caller: T::AccountId = account("caller", 0, SEED);344		<T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());345346		create_max_collection::<T>(&caller)?;347		let collection_id = 0;348349		let mut nft_builder = NftBuilder::new(collection_id);350		let nft_id = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;351		let resource = create_basic_resource();352353		<Pallet<T>>::add_basic_resource(354			RawOrigin::Signed(caller.clone()).into(),355			collection_id,356			nft_id,357			resource358		)?;359360		let resource_id = 1;361	}: _(362		RawOrigin::Signed(caller),363		collection_id,364		nft_id,365		resource_id366	)367368	accept_resource {369		let caller: T::AccountId = account("caller", 0, SEED);370		let admin: T::AccountId = account("admin", 0, SEED);371372		<T as pallet_common::Config>::Currency::deposit_creating(&admin, T::CollectionCreationPrice::get());373374		create_max_collection::<T>(&admin)?;375		let collection_id = 0;376377		let mut nft_builder = NftBuilder::new(collection_id);378		let root_nft_id = 1;379		let nested_nft_id = nft_builder.build_tower::<T>(&admin, NESTING_BUDGET - 1)?;380		let resource = create_basic_resource();381382		let new_owner = <RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::AccountId(caller.clone());383384		<Pallet<T>>::send(385			RawOrigin::Signed(admin.clone()).into(),386			collection_id,387			root_nft_id,388			new_owner,389		)?;390391		<Pallet<T>>::add_basic_resource(392			RawOrigin::Signed(admin.clone()).into(),393			collection_id,394			nested_nft_id,395			resource396		)?;397398		let resource_id = 1;399	}: _(400		RawOrigin::Signed(caller),401		collection_id,402		nested_nft_id,403		resource_id404	)405406	accept_resource_removal {407		let caller: T::AccountId = account("caller", 0, SEED);408		let admin: T::AccountId = account("admin", 0, SEED);409410		<T as pallet_common::Config>::Currency::deposit_creating(&admin, T::CollectionCreationPrice::get());411412		create_max_collection::<T>(&admin)?;413		let collection_id = 0;414415		let mut nft_builder = NftBuilder::new(collection_id);416		let root_nft_id = 1;417		let nested_nft_id = nft_builder.build_tower::<T>(&admin, NESTING_BUDGET - 1)?;418		let resource = create_basic_resource();419420		<Pallet<T>>::add_basic_resource(421			RawOrigin::Signed(admin.clone()).into(),422			collection_id,423			nested_nft_id,424			resource425		)?;426427		let resource_id = 1;428429		let new_owner = <RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::AccountId(caller.clone());430431		<Pallet<T>>::send(432			RawOrigin::Signed(admin.clone()).into(),433			collection_id,434			root_nft_id,435			new_owner,436		)?;437438		<Pallet<T>>::remove_resource(439			RawOrigin::Signed(admin).into(),440			collection_id,441			nested_nft_id,442			resource_id443		)?;444	}: _(445		RawOrigin::Signed(caller),446		collection_id,447		nested_nft_id,448		resource_id449	)450}
modifiedpallets/proxy-rmrk-core/src/lib.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-core/src/lib.rs
+++ b/pallets/proxy-rmrk-core/src/lib.rs
@@ -628,8 +628,8 @@
 		/// - `origin`: sender of the transaction
 		/// - `rmrk_collection_id`: collection id of the nft to be accepted
 		/// - `rmrk_nft_id`: nft id of the nft to be accepted
-		#[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))]
 		#[transactional]
+		#[pallet::weight(<SelfWeightOf<T>>::reject_nft())]
 		pub fn reject_nft(
 			origin: OriginFor<T>,
 			rmrk_collection_id: RmrkCollectionId,
modifiedpallets/proxy-rmrk-core/src/weights.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-core/src/weights.rs
+++ b/pallets/proxy-rmrk-core/src/weights.rs
@@ -40,6 +40,7 @@
 	fn mint_nft() -> Weight;
 	fn send() -> Weight;
 	fn accept_nft() -> Weight;
+	fn reject_nft() -> Weight;
 	fn set_property() -> Weight;
 	fn set_priority() -> Weight;
 	fn add_basic_resource() -> Weight;
@@ -61,11 +62,10 @@
 	// Storage: Common CollectionProperties (r:0 w:1)
 	// Storage: Common CollectionById (r:0 w:1)
 	// Storage: RmrkCore UniqueCollectionId (r:0 w:1)
-	// Storage: RmrkCore RmrkInernalCollectionId (r:0 w:1)
 	fn create_collection() -> Weight {
-		(40_146_000 as Weight)
+		(40_456_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(5 as Weight))
-			.saturating_add(T::DbWeight::get().writes(9 as Weight))
+			.saturating_add(T::DbWeight::get().writes(8 as Weight))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:1)
@@ -76,7 +76,7 @@
 	// Storage: Nonfungible TokensBurnt (r:0 w:1)
 	// Storage: Common AdminAmount (r:0 w:1)
 	fn destroy_collection() -> Weight {
-		(44_905_000 as Weight)
+		(43_812_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(5 as Weight))
 			.saturating_add(T::DbWeight::get().writes(6 as Weight))
 	}
@@ -84,7 +84,7 @@
 	// Storage: Common CollectionById (r:1 w:1)
 	// Storage: Common CollectionProperties (r:1 w:0)
 	fn change_collection_issuer() -> Weight {
-		(22_502_000 as Weight)
+		(22_032_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -94,7 +94,7 @@
 	// Storage: Nonfungible TokensMinted (r:1 w:0)
 	// Storage: Nonfungible TokensBurnt (r:1 w:0)
 	fn lock_collection() -> Weight {
-		(23_705_000 as Weight)
+		(23_314_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(5 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -107,7 +107,7 @@
 	// Storage: Nonfungible TokenData (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn mint_nft() -> Weight {
-		(40_727_000 as Weight)
+		(40_075_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(6 as Weight))
 			.saturating_add(T::DbWeight::get().writes(5 as Weight))
 	}
@@ -121,7 +121,7 @@
 	// Storage: Nonfungible TokenChildren (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn send() -> Weight {
-		(73_288_000 as Weight)
+		(71_474_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(12 as Weight))
 			.saturating_add(T::DbWeight::get().writes(6 as Weight))
 	}
@@ -135,17 +135,32 @@
 	// Storage: Nonfungible TokenChildren (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn accept_nft() -> Weight {
-		(81_985_000 as Weight)
+		(79_890_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(15 as Weight))
 			.saturating_add(T::DbWeight::get().writes(7 as Weight))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:0)
+	// Storage: Nonfungible TokenProperties (r:1 w:5)
+	// Storage: Nonfungible TokenData (r:5 w:5)
+	// Storage: Nonfungible TokenChildren (r:9 w:4)
+	// Storage: Nonfungible TokensBurnt (r:1 w:1)
+	// Storage: Nonfungible AccountBalance (r:5 w:5)
+	// Storage: Nonfungible Allowance (r:5 w:0)
+	// Storage: Nonfungible Owned (r:0 w:5)
+	fn reject_nft() -> Weight {
+		(236_754_000 as Weight)
+			.saturating_add(T::DbWeight::get().reads(29 as Weight))
+			.saturating_add(T::DbWeight::get().writes(25 as Weight))
+	}
+	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
+	// Storage: Common CollectionProperties (r:1 w:0)
+	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	fn set_property() -> Weight {
-		(50_535_000 as Weight)
+		(48_370_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(9 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -155,7 +170,7 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	fn set_priority() -> Weight {
-		(49_443_000 as Weight)
+		(47_128_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(9 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -172,7 +187,7 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Common CollectionPropertyPermissions (r:0 w:1)
 	fn add_basic_resource() -> Weight {
-		(104_226_000 as Weight)
+		(101_501_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(16 as Weight))
 			.saturating_add(T::DbWeight::get().writes(12 as Weight))
 	}
@@ -189,7 +204,7 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Common CollectionPropertyPermissions (r:0 w:1)
 	fn add_composable_resource() -> Weight {
-		(105_197_000 as Weight)
+		(103_004_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(16 as Weight))
 			.saturating_add(T::DbWeight::get().writes(12 as Weight))
 	}
@@ -206,7 +221,7 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Common CollectionPropertyPermissions (r:0 w:1)
 	fn add_slot_resource() -> Weight {
-		(105_899_000 as Weight)
+		(102_613_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(16 as Weight))
 			.saturating_add(T::DbWeight::get().writes(12 as Weight))
 	}
@@ -221,7 +236,7 @@
 	// Storage: Nonfungible Allowance (r:1 w:0)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn remove_resource() -> Weight {
-		(82_997_000 as Weight)
+		(82_084_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(16 as Weight))
 			.saturating_add(T::DbWeight::get().writes(5 as Weight))
 	}
@@ -231,7 +246,7 @@
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	// Storage: Nonfungible TokenProperties (r:2 w:1)
 	fn accept_resource() -> Weight {
-		(56_848_000 as Weight)
+		(56_426_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(10 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -246,7 +261,7 @@
 	// Storage: Nonfungible Allowance (r:1 w:0)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn accept_resource_removal() -> Weight {
-		(86_303_000 as Weight)
+		(85_631_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(17 as Weight))
 			.saturating_add(T::DbWeight::get().writes(5 as Weight))
 	}
@@ -262,11 +277,10 @@
 	// Storage: Common CollectionProperties (r:0 w:1)
 	// Storage: Common CollectionById (r:0 w:1)
 	// Storage: RmrkCore UniqueCollectionId (r:0 w:1)
-	// Storage: RmrkCore RmrkInernalCollectionId (r:0 w:1)
 	fn create_collection() -> Weight {
-		(40_146_000 as Weight)
+		(40_456_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(9 as Weight))
+			.saturating_add(RocksDbWeight::get().writes(8 as Weight))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:1)
@@ -277,7 +291,7 @@
 	// Storage: Nonfungible TokensBurnt (r:0 w:1)
 	// Storage: Common AdminAmount (r:0 w:1)
 	fn destroy_collection() -> Weight {
-		(44_905_000 as Weight)
+		(43_812_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
 	}
@@ -285,7 +299,7 @@
 	// Storage: Common CollectionById (r:1 w:1)
 	// Storage: Common CollectionProperties (r:1 w:0)
 	fn change_collection_issuer() -> Weight {
-		(22_502_000 as Weight)
+		(22_032_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
@@ -295,7 +309,7 @@
 	// Storage: Nonfungible TokensMinted (r:1 w:0)
 	// Storage: Nonfungible TokensBurnt (r:1 w:0)
 	fn lock_collection() -> Weight {
-		(23_705_000 as Weight)
+		(23_314_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
@@ -308,7 +322,7 @@
 	// Storage: Nonfungible TokenData (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn mint_nft() -> Weight {
-		(40_727_000 as Weight)
+		(40_075_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
 	}
@@ -322,7 +336,7 @@
 	// Storage: Nonfungible TokenChildren (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn send() -> Weight {
-		(73_288_000 as Weight)
+		(71_474_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(12 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
 	}
@@ -336,17 +350,32 @@
 	// Storage: Nonfungible TokenChildren (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn accept_nft() -> Weight {
-		(81_985_000 as Weight)
+		(79_890_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(15 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(7 as Weight))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:0)
+	// Storage: Nonfungible TokenProperties (r:1 w:5)
+	// Storage: Nonfungible TokenData (r:5 w:5)
+	// Storage: Nonfungible TokenChildren (r:9 w:4)
+	// Storage: Nonfungible TokensBurnt (r:1 w:1)
+	// Storage: Nonfungible AccountBalance (r:5 w:5)
+	// Storage: Nonfungible Allowance (r:5 w:0)
+	// Storage: Nonfungible Owned (r:0 w:5)
+	fn reject_nft() -> Weight {
+		(236_754_000 as Weight)
+			.saturating_add(RocksDbWeight::get().reads(29 as Weight))
+			.saturating_add(RocksDbWeight::get().writes(25 as Weight))
+	}
+	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
+	// Storage: Common CollectionProperties (r:1 w:0)
+	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	fn set_property() -> Weight {
-		(50_535_000 as Weight)
+		(48_370_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
@@ -356,7 +385,7 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	fn set_priority() -> Weight {
-		(49_443_000 as Weight)
+		(47_128_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
@@ -373,7 +402,7 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Common CollectionPropertyPermissions (r:0 w:1)
 	fn add_basic_resource() -> Weight {
-		(104_226_000 as Weight)
+		(101_501_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(16 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(12 as Weight))
 	}
@@ -390,7 +419,7 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Common CollectionPropertyPermissions (r:0 w:1)
 	fn add_composable_resource() -> Weight {
-		(105_197_000 as Weight)
+		(103_004_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(16 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(12 as Weight))
 	}
@@ -407,7 +436,7 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Common CollectionPropertyPermissions (r:0 w:1)
 	fn add_slot_resource() -> Weight {
-		(105_899_000 as Weight)
+		(102_613_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(16 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(12 as Weight))
 	}
@@ -422,7 +451,7 @@
 	// Storage: Nonfungible Allowance (r:1 w:0)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn remove_resource() -> Weight {
-		(82_997_000 as Weight)
+		(82_084_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(16 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
 	}
@@ -432,7 +461,7 @@
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	// Storage: Nonfungible TokenProperties (r:2 w:1)
 	fn accept_resource() -> Weight {
-		(56_848_000 as Weight)
+		(56_426_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(10 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
@@ -447,7 +476,7 @@
 	// Storage: Nonfungible Allowance (r:1 w:0)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn accept_resource_removal() -> Weight {
-		(86_303_000 as Weight)
+		(85_631_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(17 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
 	}