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

difftreelog

source

pallets/nft/src/benchmarking.rs24.9 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();156        157    }: 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)227    228    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())335    336    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())?;396    397        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}