git.delta.rocks / unique-network / refs/commits / 4fa2a1bb0fae

difftreelog

source

pallets/nft/src/benchmarking.rs23.1 KiBsourcehistory
1#![cfg(feature = "runtime-benchmarks")]23use super::*;4use crate::Module as Nft;56use sp_std::prelude::*;7use frame_system::RawOrigin;8use frame_benchmarking::{benchmarks, account, whitelisted_caller}; // , TrackedStorageKey,910const SEED: u32 = 1;11/*12fn default_nft_data() -> CreateItemData {13	CreateItemData::NFT(CreateNftData { const_data: vec![1, 2, 3], variable_data: vec![3, 2, 1] })14}1516fn default_fungible_data () -> CreateItemData {17	CreateItemData::Fungible(CreateFungibleData { })18}1920fn default_re_fungible_data () -> CreateItemData {21	CreateItemData::ReFungible(CreateReFungibleData { const_data: vec![1, 2, 3], variable_data: vec![3, 2, 1] })22}23*/2425benchmarks! {2627	create_collection {28		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();29		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();30		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();31		let mode: CollectionMode = CollectionMode::NFT;32		let caller: T::AccountId = account("caller", 0, SEED);33	}: _(RawOrigin::Signed(caller.clone()), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode)34/*35	verify {36		assert_eq!(Nft::<T>::collection_id(2).owner, caller);37	}38	destroy_collection {39		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();40		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();41		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();42		let mode: CollectionMode = CollectionMode::NFT;43		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());44		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;45	}: _(RawOrigin::Signed(caller.clone()), 2)4647	add_to_white_list {48		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();49		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();50		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();51		let mode: CollectionMode = CollectionMode::NFT;52		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());53		let whitelist_account: T::AccountId = account("admin", 0, SEED);54		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;55	}: add_to_white_list(RawOrigin::Signed(caller.clone()), 2, whitelist_account)5657	remove_from_white_list {58		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();59		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();60		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();61		let mode: CollectionMode = CollectionMode::NFT;62		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());63		let whitelist_account: T::AccountId = account("admin", 0, SEED);64		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;65		Nft::<T>::add_to_white_list(RawOrigin::Signed(caller.clone()).into(), 2, whitelist_account.clone())?;66	}: remove_from_white_list(RawOrigin::Signed(caller.clone()), 2, whitelist_account)6768	set_public_access_mode {69		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();70		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();71		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();72		let mode: CollectionMode = CollectionMode::NFT;73		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());74		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;75	}: set_public_access_mode(RawOrigin::Signed(caller.clone()), 2, AccessMode::WhiteList)7677	set_mint_permission {78		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();79		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();80		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();81		let mode: CollectionMode = CollectionMode::NFT;82		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());83		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;84	}: set_mint_permission(RawOrigin::Signed(caller.clone()), 2, true)8586	change_collection_owner {87		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();88		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();89		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();90		let mode: CollectionMode = CollectionMode::NFT;91		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());92		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;93		let new_owner: T::AccountId = account("admin", 0, SEED);94	}: change_collection_owner(RawOrigin::Signed(caller.clone()), 2, new_owner)9596	add_collection_admin {97		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();98		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();99		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();100		let mode: CollectionMode = CollectionMode::NFT;101		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());102		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;103		let new_admin: T::AccountId = account("admin", 0, SEED);104	}: add_collection_admin(RawOrigin::Signed(caller.clone()), 2, new_admin)105106	remove_collection_admin {107		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();108		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();109		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();110		let mode: CollectionMode = CollectionMode::NFT;111		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());112		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;113		let new_admin: T::AccountId = account("admin", 0, SEED);114		Nft::<T>::add_collection_admin(RawOrigin::Signed(caller.clone()).into(), 2, new_admin.clone())?;115	}: remove_collection_admin(RawOrigin::Signed(caller.clone()), 2, new_admin)116117	set_collection_sponsor {118		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();119		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();120		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();121		let mode: CollectionMode = CollectionMode::NFT;122		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());123		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;124	}: set_collection_sponsor(RawOrigin::Signed(caller.clone()), 2, caller.clone())125126	confirm_sponsorship {127		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();128		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();129		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();130		let mode: CollectionMode = CollectionMode::NFT;131		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());132		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;133		Nft::<T>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone())?;134	}: confirm_sponsorship(RawOrigin::Signed(caller.clone()), 2)135136	remove_collection_sponsor {137		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();138		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();139		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();140		let mode: CollectionMode = CollectionMode::NFT;141		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());142		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;143		Nft::<T>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone())?;144		Nft::<T>::confirm_sponsorship(RawOrigin::Signed(caller.clone()).into(), 2)?;145	}: remove_collection_sponsor(RawOrigin::Signed(caller.clone()), 2)146147	// nft item148	create_item_nft {149		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();150		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();151		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();152		let mode: CollectionMode = CollectionMode::NFT;153		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());154		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;155		let data = default_nft_data();156157	}: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)158159	#[extra]160	create_item_nft_large {161		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();162		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();163		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();164		let mode: CollectionMode = CollectionMode::NFT;165		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());166		let mut nft_data = CreateNftData {167			const_data: vec![],168			variable_data: vec![]169		};170		for i in 0..1998 {171			nft_data.const_data.push(10);172			nft_data.variable_data.push(10);173		}174		let data = CreateItemData::NFT(nft_data);175		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;176177	}: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)178179	// fungible item180	create_item_fungible {181		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();182		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();183		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();184		let mode: CollectionMode = CollectionMode::Fungible(3);185		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());186		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;187		let data = default_fungible_data();188189	}: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)190191	// refungible item192	create_item_refungible {193		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();194		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();195		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();196		let mode: CollectionMode = CollectionMode::ReFungible(3);197		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());198		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;199		let data = default_re_fungible_data();200201	}: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)202203	burn_item {204		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();205		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();206		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();207		let mode: CollectionMode = CollectionMode::NFT;208		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());209		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;210		let data = default_nft_data();211		Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;212213	}: burn_item(RawOrigin::Signed(caller.clone()), 2, 1)214215	transfer_nft {216		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();217		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();218		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();219		let mode: CollectionMode = CollectionMode::NFT;220		let recipient: T::AccountId = account("recipient", 0, SEED);221		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());222		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;223		let data = default_nft_data();224		Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;225226	}: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)227228	transfer_fungible {229		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();230		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();231		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();232		let mode: CollectionMode = CollectionMode::Fungible(3);233		let recipient: T::AccountId = account("recipient", 0, SEED);234		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());235		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;236		let data = default_fungible_data();237		Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;238239	}: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)240241	transfer_refungible {242		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();243		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();244		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();245		let mode: CollectionMode = CollectionMode::ReFungible(3);246		let recipient: T::AccountId = account("recipient", 0, SEED);247		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());248		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;249		let data = default_re_fungible_data();250		Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;251252	}: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)253254	approve {255		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();256		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();257		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();258		let mode: CollectionMode = CollectionMode::ReFungible(3);259		let recipient: T::AccountId = account("recipient", 0, SEED);260		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());261		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;262		let data = default_re_fungible_data();263		Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;264265	}: approve(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1)266267	// Nft268	transfer_from_nft {269		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();270		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();271		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();272		let mode: CollectionMode = CollectionMode::NFT;273		let recipient: T::AccountId = account("recipient", 0, SEED);274		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());275		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;276		let data = default_nft_data();277		Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;278		Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;279280	}: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)281282	// Fungible283	transfer_from_fungible {284		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();285		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();286		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();287		let mode: CollectionMode = CollectionMode::Fungible(3);288		let recipient: T::AccountId = account("recipient", 0, SEED);289		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());290		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;291		let data = default_fungible_data();292		Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;293		Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;294295	}: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)296297	// ReFungible298	transfer_from_refungible {299		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();300		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();301		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();302		let mode: CollectionMode = CollectionMode::ReFungible(3);303		let recipient: T::AccountId = account("recipient", 0, SEED);304		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());305		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;306		let data = default_re_fungible_data();307		Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;308		Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;309310	}: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)311312	enable_contract_sponsoring {313		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());314315	}: enable_contract_sponsoring(RawOrigin::Signed(caller.clone()), caller.clone(), true)316317	set_offchain_schema {318		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();319		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();320		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();321		let mode: CollectionMode = CollectionMode::ReFungible(3);322		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());323		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;324325	}: set_offchain_schema(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec())326327	set_const_on_chain_schema {328		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();329		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();330		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();331		let mode: CollectionMode = CollectionMode::ReFungible(3);332		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());333		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;334	}: set_const_on_chain_schema(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec())335336	set_variable_on_chain_schema {337		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();338		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();339		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();340		let mode: CollectionMode = CollectionMode::ReFungible(3);341		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());342		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;343	}: set_variable_on_chain_schema(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec())344345	set_variable_meta_data {346		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();347		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();348		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();349		let mode: CollectionMode = CollectionMode::NFT;350		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());351		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;352		let data = default_nft_data();353		Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;354355	}: set_variable_meta_data(RawOrigin::Signed(caller.clone()), 2, 1, [1, 2, 3].to_vec())356357	set_schema_version {358		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();359		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();360		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();361		let mode: CollectionMode = CollectionMode::NFT;362		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());363		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;364	}: set_schema_version(RawOrigin::Signed(caller.clone()), 2, SchemaVersion::Unique)365366	set_chain_limits {367		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());368		let limits = ChainLimits {369			collection_numbers_limit: 0,370			account_token_ownership_limit: 0,371			collections_admins_limit: 0,372			custom_data_limit: 0,373			nft_sponsor_transfer_timeout: 0,374			fungible_sponsor_transfer_timeout: 0,375			refungible_sponsor_transfer_timeout: 0376		};377	}: set_chain_limits(RawOrigin::Signed(caller.clone()), limits)378379	set_contract_sponsoring_rate_limit {380		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();381		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();382		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();383		let mode: CollectionMode = CollectionMode::NFT;384		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());385		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;386		let block_number: T::BlockNumber = 0.into();387	}: set_contract_sponsoring_rate_limit(RawOrigin::Signed(caller.clone()), caller.clone(), block_number)388389	set_collection_limits{390		let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();391		let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();392		let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();393		let mode: CollectionMode = CollectionMode::NFT;394		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());395		Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;396397		let cl = CollectionLimits {398			account_token_ownership_limit: 0,399			sponsored_data_size: 0,400			token_limit: 0,401			sponsor_transfer_timeout: 0402		};403404	}: set_collection_limits(RawOrigin::Signed(caller.clone()), 2, cl)405406	add_to_contract_white_list{407		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());408	}: add_to_contract_white_list(RawOrigin::Signed(caller.clone()), caller.clone(), caller.clone())409410	remove_from_contract_white_list{411		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());412		Nft::<T>::add_to_contract_white_list(RawOrigin::Signed(caller.clone()).into(), caller.clone(), caller.clone())?;413	}: remove_from_contract_white_list(RawOrigin::Signed(caller.clone()), caller.clone(), caller.clone())414415	toggle_contract_white_list{416		let caller: T::AccountId = T::AccountId::from(whitelisted_caller());417	}: toggle_contract_white_list(RawOrigin::Signed(caller.clone()), caller.clone(), true)418*/419}