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

difftreelog

Item size weight added

str-mv2020-10-27parent: #2f8a220.patch.diff
in: master

2 files changed

modifiedpallets/nft/src/benchmarking.rsdiffbeforeafterboth
before · pallets/nft/src/benchmarking.rs
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    benchmarks! {1314        _ {}1516        create_collection {17            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();18            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();19            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();20            let mode: CollectionMode = CollectionMode::NFT(2000);21            let caller: T::AccountId = account("caller", 0, SEED);22        }: create_collection(RawOrigin::Signed(caller.clone()), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode)23        verify {24			assert_eq!(Nft::<T>::collection(2).owner, caller);25        }2627        destroy_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(2000);32            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());33            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;34        }: destroy_collection(RawOrigin::Signed(caller.clone()), 2)3536        add_to_white_list {37            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();38            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();39            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();40            let mode: CollectionMode = CollectionMode::NFT(2000);41            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());42            let whitelist_account: T::AccountId = account("admin", 0, SEED);43            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;44        }: add_to_white_list(RawOrigin::Signed(caller.clone()), 2, whitelist_account)4546        remove_from_white_list {47            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();48            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();49            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();50            let mode: CollectionMode = CollectionMode::NFT(2000);51            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());52            let whitelist_account: T::AccountId = account("admin", 0, SEED);53            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;54            Nft::<T>::add_to_white_list(RawOrigin::Signed(caller.clone()).into(), 2, whitelist_account.clone())?;55        }: remove_from_white_list(RawOrigin::Signed(caller.clone()), 2, whitelist_account)5657        set_public_access_mode {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(2000);62            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());63            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;64        }: set_public_access_mode(RawOrigin::Signed(caller.clone()), 2, AccessMode::WhiteList)6566        set_mint_permission {67            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();68            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();69            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();70            let mode: CollectionMode = CollectionMode::NFT(2000);71            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());72            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;73        }: set_mint_permission(RawOrigin::Signed(caller.clone()), 2, true)7475        change_collection_owner {76            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();77            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();78            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();79            let mode: CollectionMode = CollectionMode::NFT(2000);80            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());81            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;82            let new_owner: T::AccountId = account("admin", 0, SEED);83        }: change_collection_owner(RawOrigin::Signed(caller.clone()), 2, new_owner)8485        add_collection_admin {86            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();87            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();88            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();89            let mode: CollectionMode = CollectionMode::NFT(2000);90            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());91            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;92            let new_admin: T::AccountId = account("admin", 0, SEED);93        }: add_collection_admin(RawOrigin::Signed(caller.clone()), 2, new_admin)9495        remove_collection_admin {96            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();97            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();98            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();99            let mode: CollectionMode = CollectionMode::NFT(2000);100            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());101            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;102            let new_admin: T::AccountId = account("admin", 0, SEED);103            Nft::<T>::add_collection_admin(RawOrigin::Signed(caller.clone()).into(), 2, new_admin.clone())?;104        }: remove_collection_admin(RawOrigin::Signed(caller.clone()), 2, new_admin)105106        set_collection_sponsor {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(2000);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        }: set_collection_sponsor(RawOrigin::Signed(caller.clone()), 2, caller.clone())114115        confirm_sponsorship {116            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();117            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();118            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();119            let mode: CollectionMode = CollectionMode::NFT(2000);120            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());121            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;122            Nft::<T>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone())?;123        }: confirm_sponsorship(RawOrigin::Signed(caller.clone()), 2)124125        remove_collection_sponsor {126            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();127            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();128            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();129            let mode: CollectionMode = CollectionMode::NFT(2000);130            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());131            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;132            Nft::<T>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone())?;133            Nft::<T>::confirm_sponsorship(RawOrigin::Signed(caller.clone()).into(), 2)?;134        }: remove_collection_sponsor(RawOrigin::Signed(caller.clone()), 2)135136        // nft item137        create_item_nft {138            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();139            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();140            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();141            let mode: CollectionMode = CollectionMode::NFT(2000);142            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());143            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;144145        }: create_item(RawOrigin::Signed(caller.clone()), 2, [1, 2, 3].to_vec(), caller.clone())146147        // fungible item148        create_item_fungible {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::Fungible(3);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())?;155156        }: create_item(RawOrigin::Signed(caller.clone()), 2, [].to_vec(), caller.clone())157158        // refungible item159        create_item_refungible {160            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();161            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();162            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();163            let mode: CollectionMode = CollectionMode::ReFungible(3, 3);164            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());165            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;166167        }: create_item(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec(), caller.clone())168169        burn_item {170            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();171            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();172            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();173            let mode: CollectionMode = CollectionMode::NFT(2000);174            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());175            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;176            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [1, 2, 3].to_vec(), caller.clone())?;177178        }: burn_item(RawOrigin::Signed(caller.clone()), 2, 1)179180        transfer_nft {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::NFT(2000);185            let recipient: T::AccountId = account("recipient", 0, SEED);186            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());187            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;188            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [1, 2, 3].to_vec(), caller.clone())?;189190        }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)191        192        transfer_fungible {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::Fungible(3);197            let recipient: T::AccountId = account("recipient", 0, SEED);198            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());199            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;200            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [].to_vec(), caller.clone())?;201202        }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)203204        transfer_refungible {205            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();206            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();207            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();208            let mode: CollectionMode = CollectionMode::ReFungible(3,3);209            let recipient: T::AccountId = account("recipient", 0, SEED);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            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [1,2,3].to_vec(), caller.clone())?;213214        }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)215216        approve {217            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();218            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();219            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();220            let mode: CollectionMode = CollectionMode::ReFungible(3,3);221            let recipient: T::AccountId = account("recipient", 0, SEED);222            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());223            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;224            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [1,2,3].to_vec(), caller.clone())?;225226        }: approve(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1)227228        // Nft229        transfer_from_nft {230            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();231            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();232            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();233            let mode: CollectionMode = CollectionMode::NFT(300);234            let recipient: T::AccountId = account("recipient", 0, SEED);235            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());236            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;237            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [1,2,3].to_vec(), caller.clone())?;238            Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;239240        }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)241242        // Fungible243        transfer_from_fungible {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::Fungible(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            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [].to_vec(), caller.clone())?;252            Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;253254        }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)255256        // ReFungible257        transfer_from_refungible {258            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();259            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();260            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();261            let mode: CollectionMode = CollectionMode::ReFungible(3,3);262            let recipient: T::AccountId = account("recipient", 0, SEED);263            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());264            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;265            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [1,2,3].to_vec(), caller.clone())?;266            Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;267268        }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)269270        set_offchain_schema {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::ReFungible(3,3);275            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());276            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;277278        }: set_offchain_schema(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec())279    }
after · pallets/nft/src/benchmarking.rs
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    benchmarks! {1314        _ {}1516        create_collection {17            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();18            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();19            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();20            let mode: CollectionMode = CollectionMode::NFT(2000);21            let caller: T::AccountId = account("caller", 0, SEED);22        }: create_collection(RawOrigin::Signed(caller.clone()), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode)23        verify {24			assert_eq!(Nft::<T>::collection(2).owner, caller);25        }2627        destroy_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(2000);32            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());33            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;34        }: destroy_collection(RawOrigin::Signed(caller.clone()), 2)3536        add_to_white_list {37            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();38            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();39            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();40            let mode: CollectionMode = CollectionMode::NFT(2000);41            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());42            let whitelist_account: T::AccountId = account("admin", 0, SEED);43            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;44        }: add_to_white_list(RawOrigin::Signed(caller.clone()), 2, whitelist_account)4546        remove_from_white_list {47            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();48            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();49            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();50            let mode: CollectionMode = CollectionMode::NFT(2000);51            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());52            let whitelist_account: T::AccountId = account("admin", 0, SEED);53            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;54            Nft::<T>::add_to_white_list(RawOrigin::Signed(caller.clone()).into(), 2, whitelist_account.clone())?;55        }: remove_from_white_list(RawOrigin::Signed(caller.clone()), 2, whitelist_account)5657        set_public_access_mode {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(2000);62            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());63            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;64        }: set_public_access_mode(RawOrigin::Signed(caller.clone()), 2, AccessMode::WhiteList)6566        set_mint_permission {67            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();68            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();69            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();70            let mode: CollectionMode = CollectionMode::NFT(2000);71            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());72            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;73        }: set_mint_permission(RawOrigin::Signed(caller.clone()), 2, true)7475        change_collection_owner {76            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();77            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();78            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();79            let mode: CollectionMode = CollectionMode::NFT(2000);80            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());81            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;82            let new_owner: T::AccountId = account("admin", 0, SEED);83        }: change_collection_owner(RawOrigin::Signed(caller.clone()), 2, new_owner)8485        add_collection_admin {86            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();87            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();88            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();89            let mode: CollectionMode = CollectionMode::NFT(2000);90            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());91            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;92            let new_admin: T::AccountId = account("admin", 0, SEED);93        }: add_collection_admin(RawOrigin::Signed(caller.clone()), 2, new_admin)9495        remove_collection_admin {96            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();97            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();98            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();99            let mode: CollectionMode = CollectionMode::NFT(2000);100            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());101            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;102            let new_admin: T::AccountId = account("admin", 0, SEED);103            Nft::<T>::add_collection_admin(RawOrigin::Signed(caller.clone()).into(), 2, new_admin.clone())?;104        }: remove_collection_admin(RawOrigin::Signed(caller.clone()), 2, new_admin)105106        set_collection_sponsor {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(2000);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        }: set_collection_sponsor(RawOrigin::Signed(caller.clone()), 2, caller.clone())114115        confirm_sponsorship {116            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();117            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();118            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();119            let mode: CollectionMode = CollectionMode::NFT(2000);120            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());121            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;122            Nft::<T>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone())?;123        }: confirm_sponsorship(RawOrigin::Signed(caller.clone()), 2)124125        remove_collection_sponsor {126            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();127            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();128            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();129            let mode: CollectionMode = CollectionMode::NFT(2000);130            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());131            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;132            Nft::<T>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone())?;133            Nft::<T>::confirm_sponsorship(RawOrigin::Signed(caller.clone()).into(), 2)?;134        }: remove_collection_sponsor(RawOrigin::Signed(caller.clone()), 2)135136        // nft item137        create_item_nft {138            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();139            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();140            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();141            let mode: CollectionMode = CollectionMode::NFT(2000);142            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());143            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;144145        }: create_item(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec(), caller.clone())146147        #[extra]148        create_item_nft_large {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(2000);153            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());154            let mut item_large: Vec<u8> = Vec::new(); 155            for i in 0..1998 {156                item_large.push(10);157            }158            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;159160        }: create_item(RawOrigin::Signed(caller.clone()), 2, item_large, caller.clone())161162        // fungible item163        create_item_fungible {164            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();165            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();166            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();167            let mode: CollectionMode = CollectionMode::Fungible(3);168            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());169            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;170171        }: create_item(RawOrigin::Signed(caller.clone()), 2, [].to_vec(), caller.clone())172173        // refungible item174        create_item_refungible {175            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();176            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();177            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();178            let mode: CollectionMode = CollectionMode::ReFungible(3, 3);179            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());180            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;181182        }: create_item(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec(), caller.clone())183184        burn_item {185            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();186            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();187            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();188            let mode: CollectionMode = CollectionMode::NFT(2000);189            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());190            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;191            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [1, 2, 3].to_vec(), caller.clone())?;192193        }: burn_item(RawOrigin::Signed(caller.clone()), 2, 1)194195        transfer_nft {196            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();197            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();198            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();199            let mode: CollectionMode = CollectionMode::NFT(2000);200            let recipient: T::AccountId = account("recipient", 0, SEED);201            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());202            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;203            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [1, 2, 3].to_vec(), caller.clone())?;204205        }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)206        207        transfer_fungible {208            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();209            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();210            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();211            let mode: CollectionMode = CollectionMode::Fungible(3);212            let recipient: T::AccountId = account("recipient", 0, SEED);213            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());214            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;215            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [].to_vec(), caller.clone())?;216217        }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)218219        transfer_refungible {220            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();221            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();222            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();223            let mode: CollectionMode = CollectionMode::ReFungible(3,3);224            let recipient: T::AccountId = account("recipient", 0, SEED);225            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());226            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;227            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [1,2,3].to_vec(), caller.clone())?;228229        }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)230231        approve {232            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();233            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();234            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();235            let mode: CollectionMode = CollectionMode::ReFungible(3,3);236            let recipient: T::AccountId = account("recipient", 0, SEED);237            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());238            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;239            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [1,2,3].to_vec(), caller.clone())?;240241        }: approve(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1)242243        // Nft244        transfer_from_nft {245            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();246            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();247            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();248            let mode: CollectionMode = CollectionMode::NFT(300);249            let recipient: T::AccountId = account("recipient", 0, SEED);250            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());251            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;252            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [1,2,3].to_vec(), caller.clone())?;253            Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;254255        }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)256257        // Fungible258        transfer_from_fungible {259            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();260            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();261            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();262            let mode: CollectionMode = CollectionMode::Fungible(3);263            let recipient: T::AccountId = account("recipient", 0, SEED);264            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());265            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;266            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [].to_vec(), caller.clone())?;267            Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;268269        }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)270271        // ReFungible272        transfer_from_refungible {273            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();274            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();275            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();276            let mode: CollectionMode = CollectionMode::ReFungible(3,3);277            let recipient: T::AccountId = account("recipient", 0, SEED);278            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());279            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;280            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, [1,2,3].to_vec(), caller.clone())?;281            Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;282283        }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)284285        set_offchain_schema {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::ReFungible(3,3);290            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());291            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;292293        }: set_offchain_schema(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec())294    }
modifiedpallets/nft/src/lib.rsdiffbeforeafterboth
--- a/pallets/nft/src/lib.rs
+++ b/pallets/nft/src/lib.rs
@@ -785,6 +785,7 @@
         /// * owner: Address, initial owner of the NFT.
         #[weight =
         (130_000_000 as Weight)
+        .saturating_add((2135 as Weight).saturating_mul((properties.len() as u64) as Weight))
         .saturating_add(RocksDbWeight::get().reads(10 as Weight))
         .saturating_add(RocksDbWeight::get().writes(8 as Weight))]
         pub fn create_item(origin, collection_id: u64, properties: Vec<u8>, owner: T::AccountId) -> DispatchResult {