difftreelog
fix(foreign-assets) make benchmarks do updates
in: master
6 files changed
pallets/app-promotion/Cargo.tomldiffbeforeafterboth66pallet-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]7071pallet-evm-migration ={ default-features = false, path = "../evm-migration" }71################################################################################7273################################################################################7472pallets/app-promotion/src/benchmarking.rsdiffbeforeafterboth20use crate::Pallet as PromototionPallet;20use crate::Pallet as PromototionPallet;212122use sp_runtime::traits::Bounded;22use sp_runtime::traits::Bounded;23use sp_std::vec;242325use 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;3029pallets/common/src/benchmarking.rsdiffbeforeafterboth19use 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}pallets/common/src/lib.rsdiffbeforeafterboth346 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;352352pallets/foreign-assets/src/benchmarking.rsdiffbeforeafterboth161617#![allow(missing_docs)]17#![allow(missing_docs)]181819use 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::{302931benchmarks! {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 }504651 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))?;7273 }: {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}7769pallets/foreign-assets/src/weights.rsdiffbeforeafterboth11// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs23//! Autogenerated weights for pallet_foreign_assets4//!5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev6//! DATE: 2022-09-16, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`7//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 102489// Executed Command:10// target/release/unique-collator11// benchmark12// pallet13// --pallet14// pallet-foreign-assets15// --wasm-execution16// compiled17// --extrinsic18// *19// --template20// .maintain/frame-weight-template.hbs21// --steps=5022// --repeat=8023// --heap-pages=409624// --output=./pallets/foreign-assets/src/weights.rs252#![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)]6317use 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;93410/// 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}154016/// 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}306831// For backwards compatibility and tests69// For backwards compatibility and tests32impl 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