git.delta.rocks / unique-network / refs/commits / 0a85bcfdec34

difftreelog

fix(foreign-assets) make benchmarks do updates

Yaroslav Bolyukin2022-09-16parent: #0141b6c.patch.diff
in: master

6 files changed

modifiedpallets/app-promotion/Cargo.tomldiffbeforeafterboth
66pallet-common ={ default-features = false, path = "../common" }66pallet-common ={ default-features = false, path = "../common" }
67pallet-unique ={ default-features = false, path = "../unique" }67pallet-unique ={ default-features = false, path = "../unique" }
68pallet-evm-contract-helpers ={ default-features = false, path = "../evm-contract-helpers" }68pallet-evm-contract-helpers ={ default-features = false, path = "../evm-contract-helpers" }
6969pallet-evm-migration ={ default-features = false, path = "../evm-migration" }
70[dev-dependencies]70
71pallet-evm-migration ={ default-features = false, path = "../evm-migration" }71################################################################################
72
73################################################################################
7472
modifiedpallets/app-promotion/src/benchmarking.rsdiffbeforeafterboth
20use crate::Pallet as PromototionPallet;20use crate::Pallet as PromototionPallet;
2121
22use sp_runtime::traits::Bounded;22use sp_runtime::traits::Bounded;
23use sp_std::vec;
2423
25use frame_benchmarking::{benchmarks, account};24use frame_benchmarking::{benchmarks, account};
26use frame_support::traits::OnInitialize;25use frame_support::traits::OnInitialize;
27use frame_system::{Origin, RawOrigin};26use frame_system::RawOrigin;
28use pallet_unique::benchmarking::create_nft_collection;27use pallet_unique::benchmarking::create_nft_collection;
29use pallet_evm_migration::Pallet as EvmMigrationPallet;28use pallet_evm_migration::Pallet as EvmMigrationPallet;
3029
modifiedpallets/common/src/benchmarking.rsdiffbeforeafterboth
19use pallet_evm::account::CrossAccountId;19use pallet_evm::account::CrossAccountId;
20use frame_benchmarking::{benchmarks, account};20use frame_benchmarking::{benchmarks, account};
21use up_data_structs::{21use up_data_structs::{
22 CollectionMode, CreateCollectionData, CollectionId, Property, PropertyKey, PropertyValue,22 CollectionMode, CollectionFlags, CreateCollectionData, CollectionId, Property, PropertyKey,
23 CollectionPermissions, NestingPermissions, MAX_COLLECTION_NAME_LENGTH,23 PropertyValue, CollectionPermissions, NestingPermissions, MAX_COLLECTION_NAME_LENGTH,
24 MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH, MAX_PROPERTIES_PER_ITEM,24 MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH, MAX_PROPERTIES_PER_ITEM,
25};25};
116 create_collection_raw(116 create_collection_raw(
117 owner,117 owner,
118 CollectionMode::NFT,118 CollectionMode::NFT,
119 |owner, data| <Pallet<T>>::init_collection(owner, data, true),119 |owner, data| <Pallet<T>>::init_collection(owner, data, CollectionFlags::default()),
120 |h| h,120 |h| h,
121 )121 )
122}122}
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
346 use frame_support::{Blake2_128Concat, pallet_prelude::*, storage::Key, traits::StorageVersion};346 use frame_support::{Blake2_128Concat, pallet_prelude::*, storage::Key, traits::StorageVersion};
347 use frame_system::pallet_prelude::*;347 use frame_system::pallet_prelude::*;
348 use frame_support::traits::Currency;348 use frame_support::traits::Currency;
349 use up_data_structs::{TokenId, mapping::TokenAddressMapping, CollectionFlags};349 use up_data_structs::{TokenId, mapping::TokenAddressMapping};
350 use scale_info::TypeInfo;350 use scale_info::TypeInfo;
351 use weights::WeightInfo;351 use weights::WeightInfo;
352352
modifiedpallets/foreign-assets/src/benchmarking.rsdiffbeforeafterboth
1616
17#![allow(missing_docs)]17#![allow(missing_docs)]
1818
19use super::{Config, Pallet};19use super::{Config, Pallet, Call};
20use frame_benchmarking::{benchmarks, account};20use frame_benchmarking::{benchmarks, account};
21use frame_system::RawOrigin;21use frame_system::RawOrigin;
22use crate::AssetMetadata;22use crate::AssetMetadata;
23use crate::Pallet as ForeignAssets;
24use xcm::opaque::latest::Junction::Parachain;23use xcm::opaque::latest::Junction::Parachain;
25use xcm::VersionedMultiLocation;24use xcm::VersionedMultiLocation;
26use frame_support::{25use frame_support::{
3029
31benchmarks! {30benchmarks! {
32 register_foreign_asset {31 register_foreign_asset {
33 let origin: RawOrigin<T::AccountId> = frame_system::RawOrigin::Root;
34 let owner: T::AccountId = account("user", 0, 1);32 let owner: T::AccountId = account("user", 0, 1);
35 let location: VersionedMultiLocation = VersionedMultiLocation::from(Parachain(1000).into());33 let location: VersionedMultiLocation = VersionedMultiLocation::from(Parachain(1000).into());
36 let metadata: AssetMetadata<<<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance> = AssetMetadata{34 let metadata: AssetMetadata<<<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance> = AssetMetadata{
44 balance = balance * balance;42 balance = balance * balance;
45 <T as Config>::Currency::make_free_balance_be(&owner,43 <T as Config>::Currency::make_free_balance_be(&owner,
46 balance);44 balance);
47 }: {45 }: _(RawOrigin::Root, owner, Box::new(location), Box::new(metadata))
48 ForeignAssets::<T>::register_foreign_asset(origin.into(), owner, Box::new(location), Box::new(metadata))?
49 }
5046
51 update_foreign_asset {47 update_foreign_asset {
52 let origin: RawOrigin<T::AccountId> = frame_system::RawOrigin::Root;
53 let owner: T::AccountId = account("user", 0, 1);48 let owner: T::AccountId = account("user", 0, 1);
54 let location: VersionedMultiLocation = VersionedMultiLocation::from(Parachain(2000).into());49 let location: VersionedMultiLocation = VersionedMultiLocation::from(Parachain(2000).into());
55 let metadata: AssetMetadata<<<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance> = AssetMetadata{50 let metadata: AssetMetadata<<<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance> = AssetMetadata{
68 4_000_000_000u32.into();63 4_000_000_000u32.into();
69 balance = balance * balance;64 balance = balance * balance;
70 <T as Config>::Currency::make_free_balance_be(&owner, balance);65 <T as Config>::Currency::make_free_balance_be(&owner, balance);
71 ForeignAssets::<T>::register_foreign_asset(origin.clone().into(), owner, Box::new(location.clone()), Box::new(metadata))?;66 Pallet::<T>::register_foreign_asset(RawOrigin::Root.into(), owner, Box::new(location.clone()), Box::new(metadata))?;
72
73 }: {67 }: _(RawOrigin::Root, 0, Box::new(location), Box::new(metadata2))
74 ForeignAssets::<T>::update_foreign_asset(origin.into(), 0, Box::new(location), Box::new(metadata2))?
75 }
76}68}
7769
modifiedpallets/foreign-assets/src/weights.rsdiffbeforeafterboth
11// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs
2
3//! Autogenerated weights for pallet_foreign_assets
4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2022-09-16, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
8
9// Executed Command:
10// target/release/unique-collator
11// benchmark
12// pallet
13// --pallet
14// pallet-foreign-assets
15// --wasm-execution
16// compiled
17// --extrinsic
18// *
19// --template
20// .maintain/frame-weight-template.hbs
21// --steps=50
22// --repeat=80
23// --heap-pages=4096
24// --output=./pallets/foreign-assets/src/weights.rs
25
2#![cfg_attr(rustfmt, rustfmt_skip)]26#![cfg_attr(rustfmt, rustfmt_skip)]
3#![allow(unused_parens)]27#![allow(unused_parens)]
4#![allow(unused_imports)]28#![allow(unused_imports)]
29#![allow(missing_docs)]
5#![allow(clippy::unnecessary_cast)]30#![allow(clippy::unnecessary_cast)]
631
7use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};32use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
8use sp_std::marker::PhantomData;33use sp_std::marker::PhantomData;
934
10/// Weight functions needed for module_asset_registry.35/// Weight functions needed for pallet_foreign_assets.
11pub trait WeightInfo {36pub trait WeightInfo {
12 fn register_foreign_asset() -> Weight;37 fn register_foreign_asset() -> Weight;
13 fn update_foreign_asset() -> Weight;38 fn update_foreign_asset() -> Weight;
14}39}
1540
16/// Weights for pallet_fungible using the Substrate node and recommended hardware.41/// Weights for pallet_foreign_assets using the Substrate node and recommended hardware.
17pub struct SubstrateWeight<T>(PhantomData<T>);42pub struct SubstrateWeight<T>(PhantomData<T>);
18impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {43impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
44 // Storage: Common CreatedCollectionCount (r:1 w:1)
45 // Storage: Common DestroyedCollectionCount (r:1 w:0)
46 // Storage: System Account (r:2 w:2)
47 // Storage: ForeignAssets NextForeignAssetId (r:1 w:1)
48 // Storage: ForeignAssets LocationToCurrencyIds (r:1 w:1)
49 // Storage: ForeignAssets ForeignAssetLocations (r:1 w:1)
50 // Storage: ForeignAssets AssetMetadatas (r:1 w:1)
51 // Storage: ForeignAssets AssetBinding (r:1 w:1)
52 // Storage: Common CollectionPropertyPermissions (r:0 w:1)
53 // Storage: Common CollectionProperties (r:0 w:1)
54 // Storage: Common CollectionById (r:0 w:1)
19 fn register_foreign_asset() -> Weight {55 fn register_foreign_asset() -> Weight {
20 (29_819_000 as Weight)56 (52_161_000 as Weight)
21 .saturating_add(T::DbWeight::get().reads(2 as Weight))57 .saturating_add(T::DbWeight::get().reads(9 as Weight))
22 .saturating_add(T::DbWeight::get().writes(3 as Weight))58 .saturating_add(T::DbWeight::get().writes(11 as Weight))
23 }59 }
60 // Storage: ForeignAssets ForeignAssetLocations (r:1 w:1)
61 // Storage: ForeignAssets AssetMetadatas (r:1 w:1)
24 fn update_foreign_asset() -> Weight {62 fn update_foreign_asset() -> Weight {
25 (25_119_000 as Weight)63 (19_111_000 as Weight)
26 .saturating_add(T::DbWeight::get().reads(1 as Weight))64 .saturating_add(T::DbWeight::get().reads(2 as Weight))
27 .saturating_add(T::DbWeight::get().writes(1 as Weight))65 .saturating_add(T::DbWeight::get().writes(2 as Weight))
28 }66 }
29}67}
3068
31// For backwards compatibility and tests69// For backwards compatibility and tests
32impl WeightInfo for () {70impl WeightInfo for () {
71 // Storage: Common CreatedCollectionCount (r:1 w:1)
72 // Storage: Common DestroyedCollectionCount (r:1 w:0)
73 // Storage: System Account (r:2 w:2)
74 // Storage: ForeignAssets NextForeignAssetId (r:1 w:1)
75 // Storage: ForeignAssets LocationToCurrencyIds (r:1 w:1)
76 // Storage: ForeignAssets ForeignAssetLocations (r:1 w:1)
77 // Storage: ForeignAssets AssetMetadatas (r:1 w:1)
78 // Storage: ForeignAssets AssetBinding (r:1 w:1)
79 // Storage: Common CollectionPropertyPermissions (r:0 w:1)
80 // Storage: Common CollectionProperties (r:0 w:1)
81 // Storage: Common CollectionById (r:0 w:1)
33 fn register_foreign_asset() -> Weight {82 fn register_foreign_asset() -> Weight {
34 (29_819_000 as Weight)83 (52_161_000 as Weight)
35 .saturating_add(RocksDbWeight::get().reads(2 as Weight))84 .saturating_add(RocksDbWeight::get().reads(9 as Weight))
36 .saturating_add(RocksDbWeight::get().writes(3 as Weight))85 .saturating_add(RocksDbWeight::get().writes(11 as Weight))
37 }86 }
87 // Storage: ForeignAssets ForeignAssetLocations (r:1 w:1)
88 // Storage: ForeignAssets AssetMetadatas (r:1 w:1)
38 fn update_foreign_asset() -> Weight {89 fn update_foreign_asset() -> Weight {
39 (25_119_000 as Weight)90 (19_111_000 as Weight)
40 .saturating_add(RocksDbWeight::get().reads(1 as Weight))91 .saturating_add(RocksDbWeight::get().reads(2 as Weight))
41 .saturating_add(RocksDbWeight::get().writes(1 as Weight))92 .saturating_add(RocksDbWeight::get().writes(2 as Weight))
42 }93 }
43}94}
95