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

difftreelog

source

pallets/nft/src/benchmarking.rs26.4 KiBsourcehistory
1#[cfg(feature = "runtime-benchmarks")]2// mod benchmarking {3    use super::*;4    use sp_std::prelude::*;5    use frame_system::RawOrigin;6    // use frame_support::{ensure, traits::OnFinalize};7    use frame_benchmarking::{benchmarks, account, whitelisted_caller};  // , TrackedStorageKey, 8    use crate::Module as Nft;910    const SEED: u32 = 1;1112    fn default_nft_data() -> CreateItemData {13        CreateItemData::NFT(CreateNftData { const_data: vec![1, 2, 3], variable_data: vec![3, 2, 1] })14    }15    16    fn default_fungible_data () -> CreateItemData {17        CreateItemData::Fungible(CreateFungibleData { })18    }19    20    fn default_re_fungible_data () -> CreateItemData {21        CreateItemData::ReFungible(CreateReFungibleData { const_data: vec![1, 2, 3], variable_data: vec![3, 2, 1] })22    }232425    benchmarks! {2627        _ {}2829        create_collection {30            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();31            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();32            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();33            let mode: CollectionMode = CollectionMode::NFT;34            let caller: T::AccountId = account("caller", 0, SEED);35        }: create_collection(RawOrigin::Signed(caller.clone()), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode)36        verify {37			assert_eq!(Nft::<T>::collection(2).owner, caller);38        }3940        destroy_collection {41            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();42            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();43            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();44            let mode: CollectionMode = CollectionMode::NFT;45            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());46            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;47        }: destroy_collection(RawOrigin::Signed(caller.clone()), 2)4849        add_to_white_list {50            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();51            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();52            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();53            let mode: CollectionMode = CollectionMode::NFT;54            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());55            let whitelist_account: T::AccountId = account("admin", 0, SEED);56            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;57        }: add_to_white_list(RawOrigin::Signed(caller.clone()), 2, whitelist_account)5859        remove_from_white_list {60            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();61            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();62            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();63            let mode: CollectionMode = CollectionMode::NFT;64            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());65            let whitelist_account: T::AccountId = account("admin", 0, SEED);66            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;67            Nft::<T>::add_to_white_list(RawOrigin::Signed(caller.clone()).into(), 2, whitelist_account.clone())?;68        }: remove_from_white_list(RawOrigin::Signed(caller.clone()), 2, whitelist_account)6970        set_public_access_mode {71            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();72            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();73            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();74            let mode: CollectionMode = CollectionMode::NFT;75            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());76            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;77        }: set_public_access_mode(RawOrigin::Signed(caller.clone()), 2, AccessMode::WhiteList)7879        set_mint_permission {80            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();81            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();82            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();83            let mode: CollectionMode = CollectionMode::NFT;84            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());85            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;86        }: set_mint_permission(RawOrigin::Signed(caller.clone()), 2, true)8788        change_collection_owner {89            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();90            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();91            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();92            let mode: CollectionMode = CollectionMode::NFT;93            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());94            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;95            let new_owner: T::AccountId = account("admin", 0, SEED);96        }: change_collection_owner(RawOrigin::Signed(caller.clone()), 2, new_owner)9798        add_collection_admin {99            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();100            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();101            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();102            let mode: CollectionMode = CollectionMode::NFT;103            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());104            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;105            let new_admin: T::AccountId = account("admin", 0, SEED);106        }: add_collection_admin(RawOrigin::Signed(caller.clone()), 2, new_admin)107108        remove_collection_admin {109            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();110            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();111            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();112            let mode: CollectionMode = CollectionMode::NFT;113            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());114            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;115            let new_admin: T::AccountId = account("admin", 0, SEED);116            Nft::<T>::add_collection_admin(RawOrigin::Signed(caller.clone()).into(), 2, new_admin.clone())?;117        }: remove_collection_admin(RawOrigin::Signed(caller.clone()), 2, new_admin)118119        set_collection_sponsor {120            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();121            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();122            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();123            let mode: CollectionMode = CollectionMode::NFT;124            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());125            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;126        }: set_collection_sponsor(RawOrigin::Signed(caller.clone()), 2, caller.clone())127128        confirm_sponsorship {129            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();130            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();131            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();132            let mode: CollectionMode = CollectionMode::NFT;133            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());134            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;135            Nft::<T>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone())?;136        }: confirm_sponsorship(RawOrigin::Signed(caller.clone()), 2)137138        remove_collection_sponsor {139            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();140            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();141            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();142            let mode: CollectionMode = CollectionMode::NFT;143            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());144            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;145            Nft::<T>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone())?;146            Nft::<T>::confirm_sponsorship(RawOrigin::Signed(caller.clone()).into(), 2)?;147        }: remove_collection_sponsor(RawOrigin::Signed(caller.clone()), 2)148149        // nft item150        create_item_nft {151            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();152            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();153            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();154            let mode: CollectionMode = CollectionMode::NFT;155            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());156            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;157            let data = default_nft_data();158            159        }: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)160161        #[extra]162        create_item_nft_large {163            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();164            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();165            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();166            let mode: CollectionMode = CollectionMode::NFT;167            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());168            let mut nft_data = CreateNftData {169                const_data: vec![],170                variable_data: vec![]171            };172            for i in 0..1998 {173                nft_data.const_data.push(10);174                nft_data.variable_data.push(10);175            }176            let data = CreateItemData::NFT(nft_data);177            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;178179        }: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)180181        // fungible item182        create_item_fungible {183            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();184            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();185            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();186            let mode: CollectionMode = CollectionMode::Fungible(3);187            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());188            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;189            let data = default_fungible_data();190191        }: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)192193        // refungible item194        create_item_refungible {195            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();196            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();197            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();198            let mode: CollectionMode = CollectionMode::ReFungible(3);199            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());200            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;201            let data = default_re_fungible_data();202203        }: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)204205        burn_item {206            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();207            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();208            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();209            let mode: CollectionMode = CollectionMode::NFT;210            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());211            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;212            let data = default_nft_data();213            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;214215        }: burn_item(RawOrigin::Signed(caller.clone()), 2, 1)216217        transfer_nft {218            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();219            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();220            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();221            let mode: CollectionMode = CollectionMode::NFT;222            let recipient: T::AccountId = account("recipient", 0, SEED);223            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());224            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;225            let data = default_nft_data();226            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;227228        }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)229        230        transfer_fungible {231            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();232            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();233            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();234            let mode: CollectionMode = CollectionMode::Fungible(3);235            let recipient: T::AccountId = account("recipient", 0, SEED);236            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());237            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;238            let data = default_fungible_data();239            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;240241        }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)242243        transfer_refungible {244            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();245            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();246            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();247            let mode: CollectionMode = CollectionMode::ReFungible(3);248            let recipient: T::AccountId = account("recipient", 0, SEED);249            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());250            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;251            let data = default_re_fungible_data();252            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;253254        }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)255256        approve {257            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();258            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();259            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();260            let mode: CollectionMode = CollectionMode::ReFungible(3);261            let recipient: T::AccountId = account("recipient", 0, SEED);262            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());263            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;264            let data = default_re_fungible_data();265            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;266267        }: approve(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1)268269        // Nft270        transfer_from_nft {271            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();272            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();273            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();274            let mode: CollectionMode = CollectionMode::NFT;275            let recipient: T::AccountId = account("recipient", 0, SEED);276            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());277            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;278            let data = default_nft_data();279            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;280            Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;281282        }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)283284        // Fungible285        transfer_from_fungible {286            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();287            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();288            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();289            let mode: CollectionMode = CollectionMode::Fungible(3);290            let recipient: T::AccountId = account("recipient", 0, SEED);291            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());292            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;293            let data = default_fungible_data();294            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;295            Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;296297        }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)298299        // ReFungible300        transfer_from_refungible {301            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();302            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();303            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();304            let mode: CollectionMode = CollectionMode::ReFungible(3);305            let recipient: T::AccountId = account("recipient", 0, SEED);306            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());307            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;308            let data = default_re_fungible_data();309            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;310            Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;311312        }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)313314        enable_contract_sponsoring {315            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());316317        }: enable_contract_sponsoring(RawOrigin::Signed(caller.clone()), caller.clone(), true)318319        set_offchain_schema {320            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();321            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();322            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();323            let mode: CollectionMode = CollectionMode::ReFungible(3);324            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());325            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;326327        }: set_offchain_schema(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec())328329        set_const_on_chain_schema {330            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();331            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();332            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();333            let mode: CollectionMode = CollectionMode::ReFungible(3);334            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());335            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;336        }: set_const_on_chain_schema(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec())337        338        set_variable_on_chain_schema {339            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();340            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();341            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();342            let mode: CollectionMode = CollectionMode::ReFungible(3);343            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());344            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;345        }: set_variable_on_chain_schema(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec())346347        set_variable_meta_data {348            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();349            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();350            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();351            let mode: CollectionMode = CollectionMode::NFT;352            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());353            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;354            let data = default_nft_data();355            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;356357        }: set_variable_meta_data(RawOrigin::Signed(caller.clone()), 2, 1, [1, 2, 3].to_vec())358359        set_schema_version {360            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();361            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();362            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();363            let mode: CollectionMode = CollectionMode::NFT;364            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());365            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;366        }: set_schema_version(RawOrigin::Signed(caller.clone()), 2, SchemaVersion::Unique)367368        set_chain_limits {369            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());370            let limits = ChainLimits { 371                collection_numbers_limit: 0,372                account_token_ownership_limit: 0,373                collections_admins_limit: 0,374                custom_data_limit: 0,375                nft_sponsor_transfer_timeout: 0,376                fungible_sponsor_transfer_timeout: 0,377                refungible_sponsor_transfer_timeout: 0378            };379        }: set_chain_limits(RawOrigin::Signed(caller.clone()), limits)380381        set_contract_sponsoring_rate_limit {382            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();383            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();384            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();385            let mode: CollectionMode = CollectionMode::NFT;386            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());387            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;388            let block_number: T::BlockNumber = 0.into();   389        }: set_contract_sponsoring_rate_limit(RawOrigin::Signed(caller.clone()), caller.clone(), block_number)390391        set_collection_limits{392            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();393            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();394            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();395            let mode: CollectionMode = CollectionMode::NFT;396            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());397            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;398     399            let cl = CollectionLimits {400                account_token_ownership_limit: 0,401                sponsored_data_size: 0,402                token_limit: 0,403                sponsor_transfer_timeout: 0404            };405406        }: set_collection_limits(RawOrigin::Signed(caller.clone()), 2, cl)407408        add_to_contract_white_list{409            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());410        }: add_to_contract_white_list(RawOrigin::Signed(caller.clone()), caller.clone(), caller.clone())411412        remove_from_contract_white_list{413            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());414            Nft::<T>::add_to_contract_white_list(RawOrigin::Signed(caller.clone()).into(), caller.clone(), caller.clone())?;415        }: remove_from_contract_white_list(RawOrigin::Signed(caller.clone()), caller.clone(), caller.clone())416417        toggle_contract_white_list{418            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());419        }: toggle_contract_white_list(RawOrigin::Signed(caller.clone()), caller.clone(), true)420}