From 9c8e0787fab16c26860fd0ac207539f5c5da17ae Mon Sep 17 00:00:00 2001 From: Daniel Shiposha Date: Mon, 25 Sep 2023 14:59:02 +0000 Subject: [PATCH] feat: add reset_token_properties benchmark --- --- a/pallets/nonfungible/src/benchmarking.rs +++ b/pallets/nonfungible/src/benchmarking.rs @@ -200,6 +200,28 @@ let item = create_max_item(&collection, &owner, owner.clone())?; }: {>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::ExistingToken, &Unlimited)?} + reset_token_properties { + let b in 0..MAX_PROPERTIES_PER_ITEM; + bench_init!{ + owner: sub; collection: collection(owner); + owner: cross_from_sub; + }; + let perms = (0..b).map(|k| PropertyKeyPermission { + key: property_key(k as usize), + permission: PropertyPermission { + mutable: false, + collection_admin: true, + token_owner: true, + }, + }).collect::>(); + >::set_token_property_permissions(&collection, &owner, perms)?; + let props = (0..b).map(|k| Property { + key: property_key(k as usize), + value: property_value(), + }).collect::>(); + let item = create_max_item(&collection, &owner, owner.clone())?; + }: {>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::NewToken { mint_target_is_sender: true }, &Unlimited)?} + delete_token_properties { let b in 0..MAX_PROPERTIES_PER_ITEM; bench_init!{ --- a/pallets/nonfungible/src/common.rs +++ b/pallets/nonfungible/src/common.rs @@ -42,7 +42,9 @@ + t.iter() .filter_map(|t| { if t.properties.len() > 0 { - Some(Self::set_token_properties(t.properties.len() as u32)) + Some(>::reset_token_properties( + t.properties.len() as u32, + )) } else { None } @@ -58,9 +60,9 @@ + data .iter() .filter_map(|t| match t { - up_data_structs::CreateItemData::NFT(n) if n.properties.len() > 0 => { - Some(Self::set_token_properties(n.properties.len() as u32)) - } + up_data_structs::CreateItemData::NFT(n) if n.properties.len() > 0 => Some( + >::reset_token_properties(n.properties.len() as u32), + ), _ => None, }) .fold(Weight::zero(), |a, b| a.saturating_add(b)) --- a/pallets/refungible/src/benchmarking.rs +++ b/pallets/refungible/src/benchmarking.rs @@ -257,6 +257,28 @@ let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?; }: {>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::ExistingToken, &Unlimited)?} + reset_token_properties { + let b in 0..MAX_PROPERTIES_PER_ITEM; + bench_init!{ + owner: sub; collection: collection(owner); + owner: cross_from_sub; + }; + let perms = (0..b).map(|k| PropertyKeyPermission { + key: property_key(k as usize), + permission: PropertyPermission { + mutable: false, + collection_admin: true, + token_owner: true, + }, + }).collect::>(); + >::set_token_property_permissions(&collection, &owner, perms)?; + let props = (0..b).map(|k| Property { + key: property_key(k as usize), + value: property_value(), + }).collect::>(); + let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?; + }: {>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::NewToken { mint_target_is_sender: true }, &Unlimited)?} + delete_token_properties { let b in 0..MAX_PROPERTIES_PER_ITEM; bench_init!{ --- a/pallets/refungible/src/common.rs +++ b/pallets/refungible/src/common.rs @@ -47,7 +47,7 @@ fn properties_weight(properties: &CollectionPropertiesVec) -> Weight { if properties.len() > 0 { - >::set_token_properties(properties.len() as u32) + >::reset_token_properties(properties.len() as u32) } else { Weight::zero() } -- gitstuff