git.delta.rocks / unique-network / refs/commits / 9c8e0787fab1

difftreelog

feat add reset_token_properties benchmark

Daniel Shiposha2023-09-25parent: #e3c9079.patch.diff
in: master

4 files changed

modifiedpallets/nonfungible/src/benchmarking.rsdiffbeforeafterboth
200 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)?}
202
203 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)?}
202224
203 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;
modifiedpallets/nonfungible/src/common.rsdiffbeforeafterboth
--- 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(<SelfWeightOf<T>>::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(
+						<SelfWeightOf<T>>::reset_token_properties(n.properties.len() as u32),
+					),
 					_ => None,
 				})
 				.fold(Weight::zero(), |a, b| a.saturating_add(b))
modifiedpallets/refungible/src/benchmarking.rsdiffbeforeafterboth
--- 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)])?;
 	}: {<Pallet<T>>::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::<Vec<_>>();
+		<Pallet<T>>::set_token_property_permissions(&collection, &owner, perms)?;
+		let props = (0..b).map(|k| Property {
+			key: property_key(k as usize),
+			value: property_value(),
+		}).collect::<Vec<_>>();
+		let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?;
+	}: {<Pallet<T>>::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!{
modifiedpallets/refungible/src/common.rsdiffbeforeafterboth
--- a/pallets/refungible/src/common.rs
+++ b/pallets/refungible/src/common.rs
@@ -47,7 +47,7 @@
 
 fn properties_weight<T: Config>(properties: &CollectionPropertiesVec) -> Weight {
 	if properties.len() > 0 {
-		<CommonWeights<T>>::set_token_properties(properties.len() as u32)
+		<SelfWeightOf<T>>::reset_token_properties(properties.len() as u32)
 	} else {
 		Weight::zero()
 	}