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

difftreelog

refactor(interface) remove outdated benchmarks

Yaroslav Bolyukin2021-10-22parent: #d54d8c2.patch.diff
in: master

3 files changed

modifiedpallets/nft/src/benchmarking.rsdiffbeforeafterboth
before · pallets/nft/src/benchmarking.rs
1#![cfg(feature = "runtime-benchmarks")]23use super::*;4use crate::Pallet;5use frame_system::RawOrigin;6use frame_benchmarking::{benchmarks, account};7use nft_data_structs::*;8use core::convert::TryInto;9use sp_runtime::DispatchError;1011const SEED: u32 = 1;1213fn create_data(size: usize) -> Vec<u8> {14	(0..size).map(|v| (v & 0xff) as u8).collect()15}16fn create_u16_data(size: usize) -> Vec<u16> {17	(0..size).map(|v| (v & 0xffff) as u16).collect()18}1920fn default_nft_data() -> CreateItemData {21	CreateItemData::NFT(CreateNftData {22		const_data: create_data(CUSTOM_DATA_LIMIT as usize).try_into().unwrap(),23		variable_data: create_data(CUSTOM_DATA_LIMIT as usize).try_into().unwrap(),24	})25}2627fn default_fungible_data() -> CreateItemData {28	CreateItemData::Fungible(CreateFungibleData { value: 1000 })29}3031fn default_re_fungible_data() -> CreateItemData {32	CreateItemData::ReFungible(CreateReFungibleData {33		const_data: create_data(CUSTOM_DATA_LIMIT as usize).try_into().unwrap(),34		variable_data: create_data(CUSTOM_DATA_LIMIT as usize).try_into().unwrap(),35		pieces: 1000,36	})37}3839fn create_collection_helper<T: Config>(40	owner: T::AccountId,41	mode: CollectionMode,42) -> Result<CollectionId, DispatchError> {43	T::Currency::deposit_creating(&owner, T::CollectionCreationPrice::get());44	let col_name = create_u16_data(MAX_COLLECTION_NAME_LENGTH)45		.try_into()46		.unwrap();47	let col_desc = create_u16_data(MAX_COLLECTION_DESCRIPTION_LENGTH)48		.try_into()49		.unwrap();50	let token_prefix = create_data(MAX_TOKEN_PREFIX_LENGTH).try_into().unwrap();51	<Pallet<T>>::create_collection(52		RawOrigin::Signed(owner).into(),53		col_name,54		col_desc,55		token_prefix,56		mode,57	)?;58	Ok(CreatedCollectionCount::get())59}60fn create_nft_collection<T: Config>(owner: T::AccountId) -> Result<CollectionId, DispatchError> {61	create_collection_helper::<T>(owner, CollectionMode::NFT)62}63fn create_fungible_collection<T: Config>(64	owner: T::AccountId,65) -> Result<CollectionId, DispatchError> {66	create_collection_helper::<T>(owner, CollectionMode::Fungible(0))67}68fn create_refungible_collection<T: Config>(69	owner: T::AccountId,70) -> Result<CollectionId, DispatchError> {71	create_collection_helper::<T>(owner, CollectionMode::ReFungible)72}7374benchmarks! {7576	create_collection {77		let col_name: Vec<u16> = create_u16_data(MAX_COLLECTION_NAME_LENGTH);78		let col_desc: Vec<u16> = create_u16_data(MAX_COLLECTION_DESCRIPTION_LENGTH);79		let token_prefix: Vec<u8> = create_data(MAX_TOKEN_PREFIX_LENGTH);80		let mode: CollectionMode = CollectionMode::NFT;81		let caller: T::AccountId = account("caller", 0, SEED);82		T::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());83	}: _(RawOrigin::Signed(caller.clone()), col_name.clone(), col_desc.clone(), token_prefix.clone(), mode)84	verify {85		assert_eq!(<Pallet<T>>::collection_id(2).unwrap().owner, caller);86	}8788	destroy_collection {89		let caller: T::AccountId = account("caller", 0, SEED);90		let collection = create_nft_collection::<T>(caller.clone())?;91	}: _(RawOrigin::Signed(caller.clone()), collection)9293	add_to_white_list {94		let caller: T::AccountId = account("caller", 0, SEED);95		let whitelist_account: T::AccountId = account("admin", 0, SEED);96		let collection = create_nft_collection::<T>(caller.clone())?;97	}: _(RawOrigin::Signed(caller.clone()), collection, T::CrossAccountId::from_sub(whitelist_account))9899	remove_from_white_list {100		let caller: T::AccountId = account("caller", 0, SEED);101		let whitelist_account: T::AccountId = account("admin", 0, SEED);102		let collection = create_nft_collection::<T>(caller.clone())?;103		<Pallet<T>>::add_to_white_list(RawOrigin::Signed(caller.clone()).into(), collection, T::CrossAccountId::from_sub(whitelist_account.clone()))?;104	}: _(RawOrigin::Signed(caller.clone()), collection, T::CrossAccountId::from_sub(whitelist_account))105106	set_public_access_mode {107		let caller: T::AccountId = account("caller", 0, SEED);108		let collection = create_nft_collection::<T>(caller.clone())?;109	}: _(RawOrigin::Signed(caller.clone()), collection, AccessMode::WhiteList)110111	set_mint_permission {112		let caller: T::AccountId = account("caller", 0, SEED);113		let collection = create_nft_collection::<T>(caller.clone())?;114	}: _(RawOrigin::Signed(caller.clone()), collection, true)115116	change_collection_owner {117		let caller: T::AccountId = account("caller", 0, SEED);118		let collection = create_nft_collection::<T>(caller.clone())?;119		let new_owner: T::AccountId = account("admin", 0, SEED);120	}: _(RawOrigin::Signed(caller.clone()), collection, new_owner)121122	add_collection_admin {123		let caller: T::AccountId = account("caller", 0, SEED);124		let collection = create_nft_collection::<T>(caller.clone())?;125		let new_admin: T::AccountId = account("admin", 0, SEED);126	}: _(RawOrigin::Signed(caller.clone()), collection, T::CrossAccountId::from_sub(new_admin))127128	remove_collection_admin {129		let caller: T::AccountId = account("caller", 0, SEED);130		let collection = create_nft_collection::<T>(caller.clone())?;131		let new_admin: T::AccountId = account("admin", 0, SEED);132		<Pallet<T>>::add_collection_admin(RawOrigin::Signed(caller.clone()).into(), 2, T::CrossAccountId::from_sub(new_admin.clone()))?;133	}: _(RawOrigin::Signed(caller.clone()), collection, T::CrossAccountId::from_sub(new_admin))134135	set_collection_sponsor {136		let caller: T::AccountId = account("caller", 0, SEED);137		let collection = create_nft_collection::<T>(caller.clone())?;138	}: _(RawOrigin::Signed(caller.clone()), collection, caller.clone())139140	confirm_sponsorship {141		let caller: T::AccountId = account("caller", 0, SEED);142		let collection = create_nft_collection::<T>(caller.clone())?;143		<Pallet<T>>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone())?;144	}: _(RawOrigin::Signed(caller.clone()), collection)145146	remove_collection_sponsor {147		let caller: T::AccountId = account("caller", 0, SEED);148		let collection = create_nft_collection::<T>(caller.clone())?;149		<Pallet<T>>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone())?;150		<Pallet<T>>::confirm_sponsorship(RawOrigin::Signed(caller.clone()).into(), 2)?;151	}: _(RawOrigin::Signed(caller.clone()), collection)152153	// nft item154	create_item_nft {155		let b in 0..(CUSTOM_DATA_LIMIT * 2);156157		let caller: T::AccountId = account("caller", 0, SEED);158		let collection = create_nft_collection::<T>(caller.clone())?;159		let data = CreateItemData::NFT(CreateNftData {160			const_data: create_data(b.min(CUSTOM_DATA_LIMIT) as usize).try_into().unwrap(),161			variable_data: create_data(b.saturating_sub(CUSTOM_DATA_LIMIT) as usize).try_into().unwrap(),162		});163	}: create_item(RawOrigin::Signed(caller.clone()), collection, T::CrossAccountId::from_sub(caller.clone()), data)164165	create_multiple_items_nft {166		// TODO: Take item data size into account. As create_item_nft bench shows, this parameter has no effect on execution time,167		// but it may if we increase CUSTOM_DATA_LIMIT168		let b in 1..1000;169170		let caller: T::AccountId = account("caller", 0, SEED);171		let collection = create_nft_collection::<T>(caller.clone())?;172		let data = (0..b).map(|_| default_nft_data()).collect();173	}: create_multiple_items(RawOrigin::Signed(caller.clone()), collection, T::CrossAccountId::from_sub(caller.clone()), data)174175	// fungible item176	create_item_fungible {177		let caller: T::AccountId = account("caller", 0, SEED);178		let collection = create_fungible_collection::<T>(caller.clone())?;179		let data = CreateItemData::Fungible(CreateFungibleData {180			value: 1000,181		});182	}: create_item(RawOrigin::Signed(caller.clone()), collection, T::CrossAccountId::from_sub(caller.clone()), data)183184	create_multiple_items_fungible {185		let b in 1..1000;186187		let caller: T::AccountId = account("caller", 0, SEED);188		let collection = create_fungible_collection::<T>(caller.clone())?;189		let data = (0..b).map(|_| default_fungible_data()).collect();190	}: create_multiple_items(RawOrigin::Signed(caller.clone()), collection, T::CrossAccountId::from_sub(caller.clone()), data)191192	// refungible item193	create_item_refungible {194		let b in 0..(CUSTOM_DATA_LIMIT * 2);195196		let caller: T::AccountId = account("caller", 0, SEED);197		let collection = create_refungible_collection::<T>(caller.clone())?;198		let data = CreateItemData::ReFungible(CreateReFungibleData {199			const_data: create_data(b.min(CUSTOM_DATA_LIMIT) as usize).try_into().unwrap(),200			variable_data: create_data(b.saturating_sub(CUSTOM_DATA_LIMIT) as usize).try_into().unwrap(),201			pieces: 1000,202		});203	}: create_item(RawOrigin::Signed(caller.clone()), collection, T::CrossAccountId::from_sub(caller.clone()), data)204205	create_multiple_items_refungible {206		// TODO: Take item data size into account. As create_item_nft bench shows, this parameter has no effect on execution time,207		// but it may if we increase CUSTOM_DATA_LIMIT208		let b in 1..1000;209210		let caller: T::AccountId = account("caller", 0, SEED);211		let collection = create_refungible_collection::<T>(caller.clone())?;212		let data = (0..b).map(|_| default_re_fungible_data()).collect();213	}: create_multiple_items(RawOrigin::Signed(caller.clone()), collection, T::CrossAccountId::from_sub(caller.clone()), data)214215	burn_item_nft {216		let caller: T::AccountId = account("caller", 0, SEED);217		let collection = create_nft_collection::<T>(caller.clone())?;218		let data = default_nft_data();219		<Pallet<T>>::create_item(RawOrigin::Signed(caller.clone()).into(), collection, T::CrossAccountId::from_sub(caller.clone()), data)?;220	}: burn_item(RawOrigin::Signed(caller.clone()), collection, 1, 1)221222	transfer_nft {223		let caller: T::AccountId = account("caller", 0, SEED);224		let collection = create_nft_collection::<T>(caller.clone())?;225		let recipient: T::AccountId = account("recipient", 0, SEED);226		let data = default_nft_data();227		<Pallet<T>>::create_item(RawOrigin::Signed(caller.clone()).into(), collection, T::CrossAccountId::from_sub(caller.clone()), data)?;228	}: transfer(RawOrigin::Signed(caller.clone()), T::CrossAccountId::from_sub(recipient.clone()), collection, 1, 1)229230	transfer_fungible {231		let caller: T::AccountId = account("caller", 0, SEED);232		let collection = create_fungible_collection::<T>(caller.clone())?;233		let recipient: T::AccountId = account("recipient", 0, SEED);234		let data = default_fungible_data();235		<Pallet<T>>::create_item(RawOrigin::Signed(caller.clone()).into(), collection, T::CrossAccountId::from_sub(caller.clone()), data)?;236	}: transfer(RawOrigin::Signed(caller.clone()), T::CrossAccountId::from_sub(recipient.clone()), collection, 1, 1)237238	transfer_refungible {239		let caller: T::AccountId = account("caller", 0, SEED);240		let collection = create_refungible_collection::<T>(caller.clone())?;241		let recipient: T::AccountId = account("recipient", 0, SEED);242		let data = default_re_fungible_data();243		<Pallet<T>>::create_item(RawOrigin::Signed(caller.clone()).into(), collection, T::CrossAccountId::from_sub(caller.clone()), data)?;244	}: transfer(RawOrigin::Signed(caller.clone()), T::CrossAccountId::from_sub(recipient.clone()), collection, 1, 1)245246	set_transfers_enabled_flag {247		let caller: T::AccountId = account("caller", 0, SEED);248		let collection = create_nft_collection::<T>(caller.clone())?;249	}: _(RawOrigin::Signed(caller.clone()), collection, false)250251	approve_nft {252		let caller: T::AccountId = account("caller", 0, SEED);253		let collection = create_nft_collection::<T>(caller.clone())?;254		let recipient: T::AccountId = account("recipient", 0, SEED);255		let data = default_nft_data();256		<Pallet<T>>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, T::CrossAccountId::from_sub(caller.clone()), data)?;257	}: approve(RawOrigin::Signed(caller.clone()), T::CrossAccountId::from_sub(recipient.clone()), collection, 1, 1)258259	// Nft260	transfer_from_nft {261		let caller: T::AccountId = account("caller", 0, SEED);262		let collection = create_nft_collection::<T>(caller.clone())?;263		let recipient: T::AccountId = account("recipient", 0, SEED);264		let data = default_nft_data();265		<Pallet<T>>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, T::CrossAccountId::from_sub(caller.clone()), data)?;266		<Pallet<T>>::approve(RawOrigin::Signed(caller.clone()).into(), T::CrossAccountId::from_sub(recipient.clone()), 2, 1, 1)?;267	}: transfer_from(RawOrigin::Signed(caller.clone()), T::CrossAccountId::from_sub(caller.clone()), T::CrossAccountId::from_sub(recipient.clone()), 2, 1, 1)268269	// Fungible270	transfer_from_fungible {271		let caller: T::AccountId = account("caller", 0, SEED);272		let collection = create_fungible_collection::<T>(caller.clone())?;273		let recipient: T::AccountId = account("recipient", 0, SEED);274		let data = default_fungible_data();275		<Pallet<T>>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, T::CrossAccountId::from_sub(caller.clone()), data)?;276		<Pallet<T>>::approve(RawOrigin::Signed(caller.clone()).into(), T::CrossAccountId::from_sub(recipient.clone()), 2, 1, 1)?;277	}: transfer_from(RawOrigin::Signed(caller.clone()), T::CrossAccountId::from_sub(caller.clone()), T::CrossAccountId::from_sub(recipient.clone()), 2, 1, 1)278279	// ReFungible280	transfer_from_refungible {281		let caller: T::AccountId = account("caller", 0, SEED);282		let collection = create_refungible_collection::<T>(caller.clone())?;283		let recipient: T::AccountId = account("recipient", 0, SEED);284		let data = default_re_fungible_data();285		<Pallet<T>>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, T::CrossAccountId::from_sub(caller.clone()), data)?;286		<Pallet<T>>::approve(RawOrigin::Signed(caller.clone()).into(), T::CrossAccountId::from_sub(recipient.clone()), 2, 1, 1)?;287	}: transfer_from(RawOrigin::Signed(caller.clone()), T::CrossAccountId::from_sub(caller.clone()), T::CrossAccountId::from_sub(recipient.clone()), 2, 1, 1)288289	set_offchain_schema {290		let b in 0..OFFCHAIN_SCHEMA_LIMIT;291292		let caller: T::AccountId = account("caller", 0, SEED);293		let collection = create_nft_collection::<T>(caller.clone())?;294		let data = create_data(b as usize);295	}: set_offchain_schema(RawOrigin::Signed(caller.clone()), collection, data)296297	set_const_on_chain_schema {298		let b in 0..CONST_ON_CHAIN_SCHEMA_LIMIT;299300		let caller: T::AccountId = account("caller", 0, SEED);301		let collection = create_nft_collection::<T>(caller.clone())?;302		let data = create_data(b as usize);303	}: set_const_on_chain_schema(RawOrigin::Signed(caller.clone()), collection, data)304305	set_variable_on_chain_schema {306		let b in 0..VARIABLE_ON_CHAIN_SCHEMA_LIMIT;307308		let caller: T::AccountId = account("caller", 0, SEED);309		let collection = create_nft_collection::<T>(caller.clone())?;310		let data = create_data(b as usize);311	}: set_variable_on_chain_schema(RawOrigin::Signed(caller.clone()), 2, data)312313	set_variable_meta_data_nft {314		let b in 0..CUSTOM_DATA_LIMIT;315316		let caller: T::AccountId = account("caller", 0, SEED);317		let collection = create_nft_collection::<T>(caller.clone())?;318		let data = default_nft_data();319		<Pallet<T>>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, T::CrossAccountId::from_sub(caller.clone()), data)?;320		let data = create_data(b as usize);321	}: set_variable_meta_data(RawOrigin::Signed(caller.clone()), collection, 1, data)322323	set_schema_version {324		let caller: T::AccountId = account("caller", 0, SEED);325		let collection = create_nft_collection::<T>(caller.clone())?;326	}: set_schema_version(RawOrigin::Signed(caller.clone()), 2, SchemaVersion::Unique)327328	set_collection_limits{329		let caller: T::AccountId = account("caller", 0, SEED);330		let collection = create_nft_collection::<T>(caller.clone())?;331332		let cl = CollectionLimits {333			account_token_ownership_limit: 0,334			sponsored_data_size: 0,335			token_limit: 1,336			sponsor_transfer_timeout: 0,337			owner_can_destroy: true,338			owner_can_transfer: true,339			sponsored_data_rate_limit: None,340		};341	}: set_collection_limits(RawOrigin::Signed(caller.clone()), 2, cl)342}
after · pallets/nft/src/benchmarking.rs
1#![cfg(feature = "runtime-benchmarks")]23use super::*;4use crate::Pallet;5use frame_system::RawOrigin;6use frame_benchmarking::{benchmarks, account};7use nft_data_structs::*;8use core::convert::TryInto;9use sp_runtime::DispatchError;10use pallet_common::benchmarking::{create_data, create_u16_data};1112const SEED: u32 = 1;1314fn create_collection_helper<T: Config>(15	owner: T::AccountId,16	mode: CollectionMode,17) -> Result<CollectionId, DispatchError> {18	T::Currency::deposit_creating(&owner, T::CollectionCreationPrice::get());19	let col_name = create_u16_data(MAX_COLLECTION_NAME_LENGTH)20		.try_into()21		.unwrap();22	let col_desc = create_u16_data(MAX_COLLECTION_DESCRIPTION_LENGTH)23		.try_into()24		.unwrap();25	let token_prefix = create_data(MAX_TOKEN_PREFIX_LENGTH).try_into().unwrap();26	<Pallet<T>>::create_collection(27		RawOrigin::Signed(owner).into(),28		col_name,29		col_desc,30		token_prefix,31		mode,32	)?;33	Ok(<pallet_common::CreatedCollectionCount<T>>::get())34}35fn create_nft_collection<T: Config>(owner: T::AccountId) -> Result<CollectionId, DispatchError> {36	create_collection_helper::<T>(owner, CollectionMode::NFT)37}3839benchmarks! {4041	create_collection {42		let col_name: Vec<u16> = create_u16_data(MAX_COLLECTION_NAME_LENGTH);43		let col_desc: Vec<u16> = create_u16_data(MAX_COLLECTION_DESCRIPTION_LENGTH);44		let token_prefix: Vec<u8> = create_data(MAX_TOKEN_PREFIX_LENGTH);45		let mode: CollectionMode = CollectionMode::NFT;46		let caller: T::AccountId = account("caller", 0, SEED);47		T::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());48	}: _(RawOrigin::Signed(caller.clone()), col_name.clone(), col_desc.clone(), token_prefix.clone(), mode)49	verify {50		assert_eq!(<pallet_common::CollectionById<T>>::get(CollectionId(1)).unwrap().owner, caller);51	}5253	destroy_collection {54		let caller: T::AccountId = account("caller", 0, SEED);55		let collection = create_nft_collection::<T>(caller.clone())?;56	}: _(RawOrigin::Signed(caller.clone()), collection)5758	add_to_white_list {59		let caller: T::AccountId = account("caller", 0, SEED);60		let whitelist_account: T::AccountId = account("admin", 0, SEED);61		let collection = create_nft_collection::<T>(caller.clone())?;62	}: _(RawOrigin::Signed(caller.clone()), collection, T::CrossAccountId::from_sub(whitelist_account))6364	remove_from_white_list {65		let caller: T::AccountId = account("caller", 0, SEED);66		let whitelist_account: T::AccountId = account("admin", 0, SEED);67		let collection = create_nft_collection::<T>(caller.clone())?;68		<Pallet<T>>::add_to_white_list(RawOrigin::Signed(caller.clone()).into(), collection, T::CrossAccountId::from_sub(whitelist_account.clone()))?;69	}: _(RawOrigin::Signed(caller.clone()), collection, T::CrossAccountId::from_sub(whitelist_account))7071	set_public_access_mode {72		let caller: T::AccountId = account("caller", 0, SEED);73		let collection = create_nft_collection::<T>(caller.clone())?;74	}: _(RawOrigin::Signed(caller.clone()), collection, AccessMode::WhiteList)7576	set_mint_permission {77		let caller: T::AccountId = account("caller", 0, SEED);78		let collection = create_nft_collection::<T>(caller.clone())?;79	}: _(RawOrigin::Signed(caller.clone()), collection, true)8081	change_collection_owner {82		let caller: T::AccountId = account("caller", 0, SEED);83		let collection = create_nft_collection::<T>(caller.clone())?;84		let new_owner: T::AccountId = account("admin", 0, SEED);85	}: _(RawOrigin::Signed(caller.clone()), collection, new_owner)8687	add_collection_admin {88		let caller: T::AccountId = account("caller", 0, SEED);89		let collection = create_nft_collection::<T>(caller.clone())?;90		let new_admin: T::AccountId = account("admin", 0, SEED);91	}: _(RawOrigin::Signed(caller.clone()), collection, T::CrossAccountId::from_sub(new_admin))9293	remove_collection_admin {94		let caller: T::AccountId = account("caller", 0, SEED);95		let collection = create_nft_collection::<T>(caller.clone())?;96		let new_admin: T::AccountId = account("admin", 0, SEED);97		<Pallet<T>>::add_collection_admin(RawOrigin::Signed(caller.clone()).into(), collection, T::CrossAccountId::from_sub(new_admin.clone()))?;98	}: _(RawOrigin::Signed(caller.clone()), collection, T::CrossAccountId::from_sub(new_admin))99100	set_collection_sponsor {101		let caller: T::AccountId = account("caller", 0, SEED);102		let collection = create_nft_collection::<T>(caller.clone())?;103	}: _(RawOrigin::Signed(caller.clone()), collection, caller.clone())104105	confirm_sponsorship {106		let caller: T::AccountId = account("caller", 0, SEED);107		let collection = create_nft_collection::<T>(caller.clone())?;108		<Pallet<T>>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), collection, caller.clone())?;109	}: _(RawOrigin::Signed(caller.clone()), collection)110111	remove_collection_sponsor {112		let caller: T::AccountId = account("caller", 0, SEED);113		let collection = create_nft_collection::<T>(caller.clone())?;114		<Pallet<T>>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), collection, caller.clone())?;115		<Pallet<T>>::confirm_sponsorship(RawOrigin::Signed(caller.clone()).into(), collection)?;116	}: _(RawOrigin::Signed(caller.clone()), collection)117118	set_transfers_enabled_flag {119		let caller: T::AccountId = account("caller", 0, SEED);120		let collection = create_nft_collection::<T>(caller.clone())?;121	}: _(RawOrigin::Signed(caller.clone()), collection, false)122123	set_offchain_schema {124		let b in 0..OFFCHAIN_SCHEMA_LIMIT;125126		let caller: T::AccountId = account("caller", 0, SEED);127		let collection = create_nft_collection::<T>(caller.clone())?;128		let data = create_data(b as usize);129	}: set_offchain_schema(RawOrigin::Signed(caller.clone()), collection, data)130131	set_const_on_chain_schema {132		let b in 0..CONST_ON_CHAIN_SCHEMA_LIMIT;133134		let caller: T::AccountId = account("caller", 0, SEED);135		let collection = create_nft_collection::<T>(caller.clone())?;136		let data = create_data(b as usize);137	}: set_const_on_chain_schema(RawOrigin::Signed(caller.clone()), collection, data)138139	set_variable_on_chain_schema {140		let b in 0..VARIABLE_ON_CHAIN_SCHEMA_LIMIT;141142		let caller: T::AccountId = account("caller", 0, SEED);143		let collection = create_nft_collection::<T>(caller.clone())?;144		let data = create_data(b as usize);145	}: set_variable_on_chain_schema(RawOrigin::Signed(caller.clone()), collection, data)146147	set_schema_version {148		let caller: T::AccountId = account("caller", 0, SEED);149		let collection = create_nft_collection::<T>(caller.clone())?;150	}: set_schema_version(RawOrigin::Signed(caller.clone()), collection, SchemaVersion::Unique)151152	set_collection_limits{153		let caller: T::AccountId = account("caller", 0, SEED);154		let collection = create_nft_collection::<T>(caller.clone())?;155156		let cl = CollectionLimits {157			account_token_ownership_limit: Some(0),158			sponsored_data_size: 0,159			token_limit: 1,160			sponsor_transfer_timeout: 0,161			owner_can_destroy: true,162			owner_can_transfer: true,163			sponsored_data_rate_limit: None,164		};165	}: set_collection_limits(RawOrigin::Signed(caller.clone()), collection, cl)166167	set_meta_update_permission_flag {168		let caller: T::AccountId = account("caller", 0, SEED);169		let collection = create_nft_collection::<T>(caller.clone())?;170	}: _(RawOrigin::Signed(caller.clone()), collection, MetaUpdatePermission::Admin)171}
modifiedpallets/nft/src/lib.rsdiffbeforeafterboth
--- a/pallets/nft/src/lib.rs
+++ b/pallets/nft/src/lib.rs
@@ -100,38 +100,6 @@
 
 type SelfWeightOf<T> = <T as Config>::WeightInfo;
 
-trait WeightInfoHelpers: WeightInfo {
-	fn transfer() -> Weight {
-		Self::transfer_nft()
-			.max(Self::transfer_fungible())
-			.max(Self::transfer_refungible())
-	}
-	fn transfer_from() -> Weight {
-		Self::transfer_from_nft()
-			.max(Self::transfer_from_fungible())
-			.max(Self::transfer_from_refungible())
-	}
-	fn approve() -> Weight {
-		// TODO: refungible, fungible
-		Self::approve_nft()
-	}
-	fn set_variable_meta_data(data: u32) -> Weight {
-		// TODO: refungible
-		Self::set_variable_meta_data_nft(data)
-	}
-	fn create_item(data: u32) -> Weight {
-		Self::create_item_nft(data)
-			.max(Self::create_item_fungible())
-			.max(Self::create_item_refungible(data))
-	}
-	fn create_multiple_items(amount: u32) -> Weight {
-		Self::create_multiple_items_nft(amount)
-			.max(Self::create_multiple_items_fungible(amount))
-			.max(Self::create_multiple_items_refungible(amount))
-	}
-}
-impl<T: WeightInfo> WeightInfoHelpers for T {}
-
 // # Used definitions
 //
 // ## User control levels
@@ -754,7 +722,7 @@
 		/// * collection_id: ID of the collection.
 		///
 		/// * value: New flag value.
-		#[weight = <SelfWeightOf<T>>::set_variable_meta_data(0)]
+		#[weight = <SelfWeightOf<T>>::set_meta_update_permission_flag()]
 		#[transactional]
 		pub fn set_meta_update_permission_flag(origin, collection_id: CollectionId, value: MetaUpdatePermission) -> DispatchResult {
 			let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
modifiedpallets/nft/src/weights.rsdiffbeforeafterboth
--- a/pallets/nft/src/weights.rs
+++ b/pallets/nft/src/weights.rs
@@ -2,8 +2,8 @@
 
 //! Autogenerated weights for pallet_nft
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0
-//! DATE: 2021-08-31, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2021-10-21, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 128
 
 // Executed Command:
@@ -43,202 +43,141 @@
 	fn set_collection_sponsor() -> Weight;
 	fn confirm_sponsorship() -> Weight;
 	fn remove_collection_sponsor() -> Weight;
-	fn create_item_nft(b: u32, ) -> Weight;
-	fn create_multiple_items_nft(b: u32, ) -> Weight;
-	fn create_item_fungible() -> Weight;
-	fn create_multiple_items_fungible(b: u32, ) -> Weight;
-	fn create_item_refungible(b: u32, ) -> Weight;
-	fn create_multiple_items_refungible(b: u32, ) -> Weight;
-	fn burn_item_nft() -> Weight;
-	fn transfer_nft() -> Weight;
-	fn transfer_fungible() -> Weight;
-	fn transfer_refungible() -> Weight;
 	fn set_transfers_enabled_flag() -> Weight;
-	fn approve_nft() -> Weight;
-	fn transfer_from_nft() -> Weight;
-	fn transfer_from_fungible() -> Weight;
-	fn transfer_from_refungible() -> Weight;
 	fn set_offchain_schema(b: u32, ) -> Weight;
 	fn set_const_on_chain_schema(b: u32, ) -> Weight;
 	fn set_variable_on_chain_schema(b: u32, ) -> Weight;
-	fn set_variable_meta_data_nft(b: u32, ) -> Weight;
 	fn set_schema_version() -> Weight;
 	fn set_collection_limits() -> Weight;
+	fn set_meta_update_permission_flag() -> Weight;
 }
 
 /// Weights for pallet_nft using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
+	// Storage: Common CreatedCollectionCount (r:1 w:1)
+	// Storage: Common DestroyedCollectionCount (r:1 w:0)
+	// Storage: System Account (r:2 w:2)
+	// Storage: Common CollectionById (r:0 w:1)
 	fn create_collection() -> Weight {
-		(25_851_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(8 as Weight))
-			.saturating_add(T::DbWeight::get().writes(6 as Weight))
+		(23_803_000 as Weight)
+			.saturating_add(T::DbWeight::get().reads(4 as Weight))
+			.saturating_add(T::DbWeight::get().writes(4 as Weight))
 	}
+	// Storage: Common CollectionById (r:1 w:1)
+	// Storage: Common DestroyedCollectionCount (r:1 w:1)
+	// Storage: Nonfungible TokensMinted (r:0 w:1)
+	// Storage: Nonfungible TokensBurnt (r:0 w:1)
 	fn destroy_collection() -> Weight {
-		(28_737_000 as Weight)
+		(27_831_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(4 as Weight))
 	}
+	// Storage: Common CollectionById (r:1 w:0)
+	// Storage: Common Allowlist (r:0 w:1)
 	fn add_to_white_list() -> Weight {
-		(6_237_000 as Weight)
+		(6_629_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_white_list() -> Weight {
-		(6_252_000 as Weight)
+		(6_596_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 {
-		(6_691_000 as Weight)
+		(6_338_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 {
-		(6_630_000 as Weight)
+		(6_383_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 {
-		(6_521_000 as Weight)
+		(6_493_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 IsAdmin (r:0 w:1)
 	fn add_collection_admin() -> Weight {
-		(8_057_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
+		(6_850_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 IsAdmin (r:0 w:1)
 	fn remove_collection_admin() -> Weight {
-		(8_307_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
+		(6_615_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_sponsor() -> Weight {
-		(6_484_000 as Weight)
+		(6_430_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 {
-		(6_530_000 as Weight)
+		(6_125_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 {
-		(6_733_000 as Weight)
+		(6_236_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
-	fn create_item_nft(_b: u32, ) -> Weight {
-		(167_909_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(11 as Weight))
-			.saturating_add(T::DbWeight::get().writes(8 as Weight))
-	}
-	fn create_multiple_items_nft(b: u32, ) -> Weight {
-		(336_830_000 as Weight)
-			// Standard Error: 42_000
-			.saturating_add((11_627_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(11 as Weight))
-			.saturating_add(T::DbWeight::get().writes(7 as Weight))
-			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
-	}
-	fn create_item_fungible() -> Weight {
-		(24_123_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(9 as Weight))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
-	}
-	fn create_multiple_items_fungible(b: u32, ) -> Weight {
-		(48_227_000 as Weight)
-			// Standard Error: 13_000
-			.saturating_add((2_918_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(9 as Weight))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
-	}
-	fn create_item_refungible(_b: u32, ) -> Weight {
-		(26_293_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(9 as Weight))
-			.saturating_add(T::DbWeight::get().writes(7 as Weight))
-	}
-	fn create_multiple_items_refungible(b: u32, ) -> Weight {
-		(0 as Weight)
-			// Standard Error: 16_000
-			.saturating_add((8_374_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(9 as Weight))
-			.saturating_add(T::DbWeight::get().writes(6 as Weight))
-			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
-	}
-	fn burn_item_nft() -> Weight {
-		(32_237_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(9 as Weight))
-			.saturating_add(T::DbWeight::get().writes(7 as Weight))
-	}
-	fn transfer_nft() -> Weight {
-		(192_578_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(14 as Weight))
-			.saturating_add(T::DbWeight::get().writes(10 as Weight))
-	}
-	fn transfer_fungible() -> Weight {
-		(170_749_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(11 as Weight))
-			.saturating_add(T::DbWeight::get().writes(7 as Weight))
-	}
-	fn transfer_refungible() -> Weight {
-		(35_949_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(10 as Weight))
-			.saturating_add(T::DbWeight::get().writes(7 as Weight))
-	}
+	// Storage: Common CollectionById (r:1 w:1)
 	fn set_transfers_enabled_flag() -> Weight {
-		(6_376_000 as Weight)
+		(6_500_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
-	fn approve_nft() -> Weight {
-		(169_825_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(9 as Weight))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
-	}
-	fn transfer_from_nft() -> Weight {
-		(197_912_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(15 as Weight))
-			.saturating_add(T::DbWeight::get().writes(11 as Weight))
-	}
-	fn transfer_from_fungible() -> Weight {
-		(183_789_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(12 as Weight))
-			.saturating_add(T::DbWeight::get().writes(8 as Weight))
-	}
-	fn transfer_from_refungible() -> Weight {
-		(37_149_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(11 as Weight))
-			.saturating_add(T::DbWeight::get().writes(8 as Weight))
-	}
+	// Storage: Common CollectionById (r:1 w:1)
 	fn set_offchain_schema(_b: u32, ) -> Weight {
-		(6_435_000 as Weight)
+		(6_538_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 {
-		(6_646_000 as Weight)
+		(6_542_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
-	fn set_variable_on_chain_schema(_b: u32, ) -> Weight {
-		(6_542_000 as Weight)
+	// Storage: Common CollectionById (r:1 w:1)
+	fn set_variable_on_chain_schema(b: u32, ) -> Weight {
+		(6_092_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))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
-	fn set_variable_meta_data_nft(_b: u32, ) -> Weight {
-		(14_697_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
+	// Storage: Common CollectionById (r:1 w:1)
+	fn set_schema_version() -> Weight {
+		(6_470_000 as Weight)
+			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
-	fn set_schema_version() -> Weight {
-		(6_566_000 as Weight)
+	// Storage: Common CollectionById (r:1 w:1)
+	fn set_collection_limits() -> Weight {
+		(6_841_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
-	fn set_collection_limits() -> Weight {
-		(6_349_000 as Weight)
+	// Storage: Common CollectionById (r:1 w:1)
+	fn set_meta_update_permission_flag() -> Weight {
+		(6_278_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -246,178 +185,129 @@
 
 // For backwards compatibility and tests
 impl WeightInfo for () {
+	// Storage: Common CreatedCollectionCount (r:1 w:1)
+	// Storage: Common DestroyedCollectionCount (r:1 w:0)
+	// Storage: System Account (r:2 w:2)
+	// Storage: Common CollectionById (r:0 w:1)
 	fn create_collection() -> Weight {
-		(25_851_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(8 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
+		(23_803_000 as Weight)
+			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
+			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
 	}
+	// Storage: Common CollectionById (r:1 w:1)
+	// Storage: Common DestroyedCollectionCount (r:1 w:1)
+	// Storage: Nonfungible TokensMinted (r:0 w:1)
+	// Storage: Nonfungible TokensBurnt (r:0 w:1)
 	fn destroy_collection() -> Weight {
-		(28_737_000 as Weight)
+		(27_831_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
 	}
+	// Storage: Common CollectionById (r:1 w:0)
+	// Storage: Common Allowlist (r:0 w:1)
 	fn add_to_white_list() -> Weight {
-		(6_237_000 as Weight)
+		(6_629_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_white_list() -> Weight {
-		(6_252_000 as Weight)
+		(6_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_public_access_mode() -> Weight {
-		(6_691_000 as Weight)
+		(6_338_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 {
-		(6_630_000 as Weight)
+		(6_383_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 {
-		(6_521_000 as Weight)
+		(6_493_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 IsAdmin (r:0 w:1)
 	fn add_collection_admin() -> Weight {
-		(8_057_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
+		(6_850_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 IsAdmin (r:0 w:1)
 	fn remove_collection_admin() -> Weight {
-		(8_307_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
+		(6_615_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_sponsor() -> Weight {
-		(6_484_000 as Weight)
+		(6_430_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 {
-		(6_530_000 as Weight)
+		(6_125_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 {
-		(6_733_000 as Weight)
+		(6_236_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
-	fn create_item_nft(b: u32, ) -> Weight {
-		(167_180_000 as Weight)
-			// Standard Error: 1_000
-			.saturating_add((10_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(11 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(8 as Weight))
-	}
-	fn create_multiple_items_nft(b: u32, ) -> Weight {
-		(336_830_000 as Weight)
-			// Standard Error: 42_000
-			.saturating_add((11_627_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(11 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(7 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
-	}
-	fn create_item_fungible() -> Weight {
-		(24_123_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
-	}
-	fn create_multiple_items_fungible(b: u32, ) -> Weight {
-		(13_217_000 as Weight)
-			// Standard Error: 4_000
-			.saturating_add((2_971_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
-	}
-	fn create_item_refungible(_b: u32, ) -> Weight {
-		(26_293_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(7 as Weight))
-	}
-	fn create_multiple_items_refungible(b: u32, ) -> Weight {
-		(0 as Weight)
-			// Standard Error: 16_000
-			.saturating_add((8_374_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
-	}
-	fn burn_item_nft() -> Weight {
-		(32_237_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(7 as Weight))
-	}
-	fn transfer_nft() -> Weight {
-		(192_578_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(14 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(10 as Weight))
-	}
-	fn transfer_fungible() -> Weight {
-		(170_749_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(11 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(7 as Weight))
-	}
-	fn transfer_refungible() -> Weight {
-		(35_949_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(10 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(7 as Weight))
-	}
+	// Storage: Common CollectionById (r:1 w:1)
 	fn set_transfers_enabled_flag() -> Weight {
-		(6_376_000 as Weight)
+		(6_500_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
-	fn approve_nft() -> Weight {
-		(169_825_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
-	}
-	fn transfer_from_nft() -> Weight {
-		(197_912_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(15 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(11 as Weight))
-	}
-	fn transfer_from_fungible() -> Weight {
-		(183_789_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(12 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(8 as Weight))
-	}
-	fn transfer_from_refungible() -> Weight {
-		(37_149_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(11 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(8 as Weight))
-	}
+	// Storage: Common CollectionById (r:1 w:1)
 	fn set_offchain_schema(_b: u32, ) -> Weight {
-		(6_435_000 as Weight)
+		(6_538_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 {
-		(6_646_000 as Weight)
+		(6_542_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
-	fn set_variable_on_chain_schema(_b: u32, ) -> Weight {
-		(6_542_000 as Weight)
+	// Storage: Common CollectionById (r:1 w:1)
+	fn set_variable_on_chain_schema(b: u32, ) -> Weight {
+		(6_092_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))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
-	fn set_variable_meta_data_nft(_b: u32, ) -> Weight {
-		(14_697_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
+	// Storage: Common CollectionById (r:1 w:1)
+	fn set_schema_version() -> Weight {
+		(6_470_000 as Weight)
+			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
-	fn set_schema_version() -> Weight {
-		(6_566_000 as Weight)
+	// Storage: Common CollectionById (r:1 w:1)
+	fn set_collection_limits() -> Weight {
+		(6_841_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
-	fn set_collection_limits() -> Weight {
-		(6_349_000 as Weight)
+	// Storage: Common CollectionById (r:1 w:1)
+	fn set_meta_update_permission_flag() -> Weight {
+		(6_278_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}