git.delta.rocks / unique-network / refs/commits / 5c9b347b87d5

difftreelog

feat(rmrk) benchmark adding resources

Daniel Shiposha2022-06-09parent: #e1169bb.patch.diff
in: master

2 files changed

modifiedpallets/proxy-rmrk-core/src/benchmarking.rsdiffbeforeafterboth
18 vec![b'A'; S::get() as usize].try_into().expect("size == S")18 vec![b'A'; S::get() as usize].try_into().expect("size == S")
19}19}
2020
21fn create_priorities<S: Get<u32>>() -> BoundedVec<RmrkResourceId, S> {21fn create_u32_array<S: Get<u32>>() -> BoundedVec<u32, S> {
22 vec![0; S::get() as usize].try_into().expect("size == S")22 vec![0; S::get() as usize].try_into().expect("size == S")
23}23}
24
25fn create_basic_resource() -> RmrkBasicResource {
26 RmrkBasicResource {
27 src: Some(create_data()),
28 metadata: Some(create_data()),
29 license: Some(create_data()),
30 thumb: Some(create_data()),
31 }
32}
33
34fn create_composable_resource() -> RmrkComposableResource {
35 RmrkComposableResource {
36 parts: create_u32_array(),
37 base: 100,
38 src: Some(create_data()),
39 metadata: Some(create_data()),
40 license: Some(create_data()),
41 thumb: Some(create_data()),
42 }
43}
44
45fn create_slot_resource() -> RmrkSlotResource {
46 RmrkSlotResource {
47 base: 100,
48 slot: 200,
49 src: Some(create_data()),
50 metadata: Some(create_data()),
51 license: Some(create_data()),
52 thumb: Some(create_data()),
53 }
54}
2455
25fn create_max_collection<T: Config>(owner: &T::AccountId) -> DispatchResult {56fn create_max_collection<T: Config>(owner: &T::AccountId) -> DispatchResult {
26 <T as pallet_common::Config>::Currency::deposit_creating(owner, T::CollectionCreationPrice::get());57 <T as pallet_common::Config>::Currency::deposit_creating(owner, T::CollectionCreationPrice::get());
233264
234 let mut nft_builder = NftBuilder::new(collection_id);265 let mut nft_builder = NftBuilder::new(collection_id);
235 let nft_id = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;266 let nft_id = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;
236 let priorities = create_priorities();267 let priorities = create_u32_array();
237 }: _(268 }: _(
238 RawOrigin::Signed(caller),269 RawOrigin::Signed(caller),
239 collection_id,270 collection_id,
240 nft_id,271 nft_id,
241 priorities272 priorities
242 )273 )
274
275 add_basic_resource {
276 let caller: T::AccountId = account("caller", 0, SEED);
277 <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
278
279
280 create_max_collection::<T>(&caller)?;
281 let collection_id = 0;
282
283 let mut nft_builder = NftBuilder::new(collection_id);
284 let nft_id = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;
285 let resource = create_basic_resource();
286 }: _(
287 RawOrigin::Signed(caller),
288 collection_id,
289 nft_id,
290 resource
291 )
292
293 add_composable_resource {
294 let caller: T::AccountId = account("caller", 0, SEED);
295 <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
296
297 create_max_collection::<T>(&caller)?;
298 let collection_id = 0;
299
300 let mut nft_builder = NftBuilder::new(collection_id);
301 let nft_id = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;
302 let resource = create_composable_resource();
303 }: _(
304 RawOrigin::Signed(caller),
305 collection_id,
306 nft_id,
307 resource
308 )
309
310 add_slot_resource {
311 let caller: T::AccountId = account("caller", 0, SEED);
312 <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
313
314 create_max_collection::<T>(&caller)?;
315 let collection_id = 0;
316
317 let mut nft_builder = NftBuilder::new(collection_id);
318 let nft_id = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;
319 let resource = create_slot_resource();
320 }: _(
321 RawOrigin::Signed(caller),
322 collection_id,
323 nft_id,
324 resource
325 )
243}326}
244327
modifiedpallets/proxy-rmrk-core/src/lib.rsdiffbeforeafterboth
926 origin: OriginFor<T>,926 origin: OriginFor<T>,
927 rmrk_collection_id: RmrkCollectionId,927 rmrk_collection_id: RmrkCollectionId,
928 nft_id: RmrkNftId,928 nft_id: RmrkNftId,
929 _resource_id: RmrkBoundedResource,
930 resource: RmrkComposableResource,929 resource: RmrkComposableResource,
931 ) -> DispatchResult {930 ) -> DispatchResult {
932 let sender = ensure_signed(origin.clone())?;931 let sender = ensure_signed(origin.clone())?;