difftreelog
feat add reset_token_properties benchmark
in: master
4 files changed
pallets/nonfungible/src/benchmarking.rsdiffbeforeafterboth200 let item = create_max_item(&collection, &owner, owner.clone())?;200 let item = create_max_item(&collection, &owner, owner.clone())?;201 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::ExistingToken, &Unlimited)?}201 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::ExistingToken, &Unlimited)?}202203 reset_token_properties {204 let b in 0..MAX_PROPERTIES_PER_ITEM;205 bench_init!{206 owner: sub; collection: collection(owner);207 owner: cross_from_sub;208 };209 let perms = (0..b).map(|k| PropertyKeyPermission {210 key: property_key(k as usize),211 permission: PropertyPermission {212 mutable: false,213 collection_admin: true,214 token_owner: true,215 },216 }).collect::<Vec<_>>();217 <Pallet<T>>::set_token_property_permissions(&collection, &owner, perms)?;218 let props = (0..b).map(|k| Property {219 key: property_key(k as usize),220 value: property_value(),221 }).collect::<Vec<_>>();222 let item = create_max_item(&collection, &owner, owner.clone())?;223 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::NewToken { mint_target_is_sender: true }, &Unlimited)?}202224203 delete_token_properties {225 delete_token_properties {204 let b in 0..MAX_PROPERTIES_PER_ITEM;226 let b in 0..MAX_PROPERTIES_PER_ITEM;pallets/nonfungible/src/common.rsdiffbeforeafterboth42 + t.iter()42 + t.iter()43 .filter_map(|t| {43 .filter_map(|t| {44 if t.properties.len() > 0 {44 if t.properties.len() > 0 {45 Some(Self::set_token_properties(t.properties.len() as u32))45 Some(<SelfWeightOf<T>>::reset_token_properties(46 t.properties.len() as u32,47 ))46 } else {48 } else {58 + data60 + data59 .iter()61 .iter()60 .filter_map(|t| match t {62 .filter_map(|t| match t {61 up_data_structs::CreateItemData::NFT(n) if n.properties.len() > 0 => {63 up_data_structs::CreateItemData::NFT(n) if n.properties.len() > 0 => Some(62 Some(Self::set_token_properties(n.properties.len() as u32))64 <SelfWeightOf<T>>::reset_token_properties(n.properties.len() as u32),63 }65 ),64 _ => None,66 _ => None,65 })67 })66 .fold(Weight::zero(), |a, b| a.saturating_add(b))68 .fold(Weight::zero(), |a, b| a.saturating_add(b))pallets/refungible/src/benchmarking.rsdiffbeforeafterboth257 let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?;257 let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?;258 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::ExistingToken, &Unlimited)?}258 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::ExistingToken, &Unlimited)?}259260 reset_token_properties {261 let b in 0..MAX_PROPERTIES_PER_ITEM;262 bench_init!{263 owner: sub; collection: collection(owner);264 owner: cross_from_sub;265 };266 let perms = (0..b).map(|k| PropertyKeyPermission {267 key: property_key(k as usize),268 permission: PropertyPermission {269 mutable: false,270 collection_admin: true,271 token_owner: true,272 },273 }).collect::<Vec<_>>();274 <Pallet<T>>::set_token_property_permissions(&collection, &owner, perms)?;275 let props = (0..b).map(|k| Property {276 key: property_key(k as usize),277 value: property_value(),278 }).collect::<Vec<_>>();279 let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?;280 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::NewToken { mint_target_is_sender: true }, &Unlimited)?}259281260 delete_token_properties {282 delete_token_properties {261 let b in 0..MAX_PROPERTIES_PER_ITEM;283 let b in 0..MAX_PROPERTIES_PER_ITEM;pallets/refungible/src/common.rsdiffbeforeafterboth474748fn properties_weight<T: Config>(properties: &CollectionPropertiesVec) -> Weight {48fn properties_weight<T: Config>(properties: &CollectionPropertiesVec) -> Weight {49 if properties.len() > 0 {49 if properties.len() > 0 {50 <CommonWeights<T>>::set_token_properties(properties.len() as u32)50 <SelfWeightOf<T>>::reset_token_properties(properties.len() as u32)51 } else {51 } else {52 Weight::zero()52 Weight::zero()53 }53 }