difftreelog
feat(rmrk) benchmark adding resources
in: master
2 files changed
pallets/proxy-rmrk-core/src/benchmarking.rsdiffbeforeafterboth18 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}202021fn 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}2425fn 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}3334fn 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}4445fn 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}245525fn 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());233264234 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 priorities242 )273 )274275 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());278279280 create_max_collection::<T>(&caller)?;281 let collection_id = 0;282283 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 resource291 )292293 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());296297 create_max_collection::<T>(&caller)?;298 let collection_id = 0;299300 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 resource308 )309310 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());313314 create_max_collection::<T>(&caller)?;315 let collection_id = 0;316317 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 resource325 )243}326}244327pallets/proxy-rmrk-core/src/lib.rsdiffbeforeafterboth926 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())?;