difftreelog
cargo fmt
in: master
1 file changed
pallets/proxy-rmrk-equip/src/benchmarking.rsdiffbeforeafterboth1use sp_std::vec;23use frame_benchmarking::{benchmarks, account};4use frame_system::RawOrigin;5use frame_support::{6 traits::{Currency, Get},7 BoundedVec,8};910use up_data_structs::*;1112use super::*;1314const SEED: u32 = 1;1516fn create_data<S: Get<u32>>() -> BoundedVec<u8, S> {17 vec![b'A'; S::get() as usize].try_into().expect("size == S")18}1920fn create_u32_array<S: Get<u32>>() -> BoundedVec<u32, S> {21 vec![0; S::get() as usize].try_into().expect("size == S")22}2324fn create_max_part() -> RmrkPartType {25 RmrkPartType::SlotPart(26 RmrkSlotPart {27 id: 42,28 equippable: RmrkEquippableList::Custom(create_u32_array()),29 src: create_data(),30 z: 1,31 }32 )33}3435fn create_parts_array<S: Get<u32>>(num: u32) -> BoundedVec<RmrkPartType, S> {36 vec![create_max_part(); num as usize].try_into().expect("num <= S")37}3839fn create_max_theme_property() -> RmrkThemeProperty {40 RmrkThemeProperty {41 key: create_data(),42 value: create_data(),43 } 44}4546fn create_theme_properties_array<S: Get<u32>>(num: u32) -> BoundedVec<RmrkThemeProperty, S> {47 vec![create_max_theme_property(); num as usize].try_into().expect("num <= S")48}4950fn create_max_theme(name: RmrkString, props_num: u32) -> RmrkBoundedTheme {51 RmrkBoundedTheme {52 name,53 properties: create_theme_properties_array(props_num),54 inherit: false,55 }56}5758benchmarks! {59 create_base {60 let b in 0..RmrkPartsLimit::get();6162 let caller = account("caller", 0, SEED);63 <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());6465 let base_type = create_data();66 let symbol = create_data();67 let parts = create_parts_array(b);68 }: _(RawOrigin::Signed(caller), base_type, symbol, parts)6970 theme_add {71 let b in 0..MaxPropertiesPerTheme::get();7273 let caller = account("caller", 0, SEED);74 <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());7576 let base_type = create_data();77 let symbol = create_data();78 let parts = create_parts_array(0);7980 <Pallet<T>>::create_base(RawOrigin::Signed(caller.clone()).into(), base_type, symbol, parts)?;81 let base_id = 1;8283 84 let default_theme_name = b"default".to_vec().try_into().expect("default is a valid name; qed");85 let default_theme = create_max_theme(default_theme_name, 0);8687 <Pallet<T>>::theme_add(RawOrigin::Signed(caller.clone()).into(), base_id, default_theme)?;8889 let theme = create_max_theme(create_data(), b);90 }: _(RawOrigin::Signed(caller), base_id, theme)91}1use sp_std::vec;23use frame_benchmarking::{benchmarks, account};4use frame_system::RawOrigin;5use frame_support::{6 traits::{Currency, Get},7 BoundedVec,8};910use up_data_structs::*;1112use super::*;1314const SEED: u32 = 1;1516fn create_data<S: Get<u32>>() -> BoundedVec<u8, S> {17 vec![b'A'; S::get() as usize].try_into().expect("size == S")18}1920fn create_u32_array<S: Get<u32>>() -> BoundedVec<u32, S> {21 vec![0; S::get() as usize].try_into().expect("size == S")22}2324fn create_max_part() -> RmrkPartType {25 RmrkPartType::SlotPart(RmrkSlotPart {26 id: 42,27 equippable: RmrkEquippableList::Custom(create_u32_array()),28 src: create_data(),29 z: 1,30 })31}3233fn create_parts_array<S: Get<u32>>(num: u32) -> BoundedVec<RmrkPartType, S> {34 vec![create_max_part(); num as usize]35 .try_into()36 .expect("num <= S")37}3839fn create_max_theme_property() -> RmrkThemeProperty {40 RmrkThemeProperty {41 key: create_data(),42 value: create_data(),43 }44}4546fn create_theme_properties_array<S: Get<u32>>(num: u32) -> BoundedVec<RmrkThemeProperty, S> {47 vec![create_max_theme_property(); num as usize]48 .try_into()49 .expect("num <= S")50}5152fn create_max_theme(name: RmrkString, props_num: u32) -> RmrkBoundedTheme {53 RmrkBoundedTheme {54 name,55 properties: create_theme_properties_array(props_num),56 inherit: false,57 }58}5960benchmarks! {61 create_base {62 let b in 0..RmrkPartsLimit::get();6364 let caller = account("caller", 0, SEED);65 <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());6667 let base_type = create_data();68 let symbol = create_data();69 let parts = create_parts_array(b);70 }: _(RawOrigin::Signed(caller), base_type, symbol, parts)7172 theme_add {73 let b in 0..MaxPropertiesPerTheme::get();7475 let caller = account("caller", 0, SEED);76 <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());7778 let base_type = create_data();79 let symbol = create_data();80 let parts = create_parts_array(0);8182 <Pallet<T>>::create_base(RawOrigin::Signed(caller.clone()).into(), base_type, symbol, parts)?;83 let base_id = 1;848586 let default_theme_name = b"default".to_vec().try_into().expect("default is a valid name; qed");87 let default_theme = create_max_theme(default_theme_name, 0);8889 <Pallet<T>>::theme_add(RawOrigin::Signed(caller.clone()).into(), base_id, default_theme)?;9091 let theme = create_max_theme(create_data(), b);92 }: _(RawOrigin::Signed(caller), base_id, theme)93}