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
--- a/pallets/app-promotion/Cargo.toml
+++ b/pallets/app-promotion/Cargo.toml
@@ -66,8 +66,6 @@
 pallet-common ={ default-features = false, path = "../common" }
 pallet-unique ={ default-features = false, path = "../unique" }
 pallet-evm-contract-helpers ={ default-features = false, path = "../evm-contract-helpers" }
-
-[dev-dependencies]
 pallet-evm-migration ={ default-features = false, path = "../evm-migration" }
 
 ################################################################################
modifiedpallets/app-promotion/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/app-promotion/src/benchmarking.rs
+++ b/pallets/app-promotion/src/benchmarking.rs
@@ -20,11 +20,10 @@
 use crate::Pallet as PromototionPallet;
 
 use sp_runtime::traits::Bounded;
-use sp_std::vec;
 
 use frame_benchmarking::{benchmarks, account};
 use frame_support::traits::OnInitialize;
-use frame_system::{Origin, RawOrigin};
+use frame_system::RawOrigin;
 use pallet_unique::benchmarking::create_nft_collection;
 use pallet_evm_migration::Pallet as EvmMigrationPallet;
 
modifiedpallets/common/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/common/src/benchmarking.rs
+++ b/pallets/common/src/benchmarking.rs
@@ -19,8 +19,8 @@
 use pallet_evm::account::CrossAccountId;
 use frame_benchmarking::{benchmarks, account};
 use up_data_structs::{
-	CollectionMode, CreateCollectionData, CollectionId, Property, PropertyKey, PropertyValue,
-	CollectionPermissions, NestingPermissions, MAX_COLLECTION_NAME_LENGTH,
+	CollectionMode, CollectionFlags, CreateCollectionData, CollectionId, Property, PropertyKey,
+	PropertyValue, CollectionPermissions, NestingPermissions, MAX_COLLECTION_NAME_LENGTH,
 	MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH, MAX_PROPERTIES_PER_ITEM,
 };
 use frame_support::{
@@ -116,7 +116,7 @@
 	create_collection_raw(
 		owner,
 		CollectionMode::NFT,
-		|owner, data| <Pallet<T>>::init_collection(owner, data, true),
+		|owner, data| <Pallet<T>>::init_collection(owner, data, CollectionFlags::default()),
 		|h| h,
 	)
 }
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -346,7 +346,7 @@
 	use frame_support::{Blake2_128Concat, pallet_prelude::*, storage::Key, traits::StorageVersion};
 	use frame_system::pallet_prelude::*;
 	use frame_support::traits::Currency;
-	use up_data_structs::{TokenId, mapping::TokenAddressMapping, CollectionFlags};
+	use up_data_structs::{TokenId, mapping::TokenAddressMapping};
 	use scale_info::TypeInfo;
 	use weights::WeightInfo;
 
modifiedpallets/foreign-assets/src/benchmarking.rsdiffbeforeafterboth
before · pallets/foreign-assets/src/benchmarking.rs
1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617#![allow(missing_docs)]1819use super::{Config, Pallet};20use frame_benchmarking::{benchmarks, account};21use frame_system::RawOrigin;22use crate::AssetMetadata;23use crate::Pallet as ForeignAssets;24use xcm::opaque::latest::Junction::Parachain;25use xcm::VersionedMultiLocation;26use frame_support::{27	traits::{Currency},28};29use sp_std::boxed::Box;3031benchmarks! {32	register_foreign_asset {33		let origin: RawOrigin<T::AccountId> = frame_system::RawOrigin::Root;34		let owner: T::AccountId = account("user", 0, 1);35		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{37			name: "name".into(),38			symbol: "symbol".into(),39			decimals: 18,40			minimal_balance: 1u32.into()41		};42		let mut balance: <<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance =43		   4_000_000_000u32.into();44		balance = balance * balance;45		<T as Config>::Currency::make_free_balance_be(&owner,46			balance);47	}: {48		ForeignAssets::<T>::register_foreign_asset(origin.into(), owner, Box::new(location), Box::new(metadata))?49	}5051	update_foreign_asset {52		let origin: RawOrigin<T::AccountId> = frame_system::RawOrigin::Root;53		let owner: T::AccountId = account("user", 0, 1);54		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{56			name: "name".into(),57			symbol: "symbol".into(),58			decimals: 18,59			minimal_balance: 1u32.into()60		};61		let metadata2: AssetMetadata<<<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance> = AssetMetadata{62			name: "name2".into(),63			symbol: "symbol2".into(),64			decimals: 18,65			minimal_balance: 1u32.into()66		};67		let mut balance: <<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance =68		   4_000_000_000u32.into();69		balance = balance * balance;70		<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))?;7273	}: {74		ForeignAssets::<T>::update_foreign_asset(origin.into(), 0, Box::new(location), Box::new(metadata2))?75	}76}
after · pallets/foreign-assets/src/benchmarking.rs
1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617#![allow(missing_docs)]1819use super::{Config, Pallet, Call};20use frame_benchmarking::{benchmarks, account};21use frame_system::RawOrigin;22use crate::AssetMetadata;23use xcm::opaque::latest::Junction::Parachain;24use xcm::VersionedMultiLocation;25use frame_support::{26	traits::{Currency},27};28use sp_std::boxed::Box;2930benchmarks! {31	register_foreign_asset {32		let owner: T::AccountId = account("user", 0, 1);33		let location: VersionedMultiLocation = VersionedMultiLocation::from(Parachain(1000).into());34		let metadata: AssetMetadata<<<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance> = AssetMetadata{35			name: "name".into(),36			symbol: "symbol".into(),37			decimals: 18,38			minimal_balance: 1u32.into()39		};40		let mut balance: <<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance =41		   4_000_000_000u32.into();42		balance = balance * balance;43		<T as Config>::Currency::make_free_balance_be(&owner,44			balance);45	}: _(RawOrigin::Root, owner, Box::new(location), Box::new(metadata))4647	update_foreign_asset {48		let owner: T::AccountId = account("user", 0, 1);49		let location: VersionedMultiLocation = VersionedMultiLocation::from(Parachain(2000).into());50		let metadata: AssetMetadata<<<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance> = AssetMetadata{51			name: "name".into(),52			symbol: "symbol".into(),53			decimals: 18,54			minimal_balance: 1u32.into()55		};56		let metadata2: AssetMetadata<<<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance> = AssetMetadata{57			name: "name2".into(),58			symbol: "symbol2".into(),59			decimals: 18,60			minimal_balance: 1u32.into()61		};62		let mut balance: <<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance =63		   4_000_000_000u32.into();64		balance = balance * balance;65		<T as Config>::Currency::make_free_balance_be(&owner, balance);66		Pallet::<T>::register_foreign_asset(RawOrigin::Root.into(), owner, Box::new(location.clone()), Box::new(metadata))?;67	}: _(RawOrigin::Root, 0, Box::new(location), Box::new(metadata2))68}
modifiedpallets/foreign-assets/src/weights.rsdiffbeforeafterboth
--- a/pallets/foreign-assets/src/weights.rs
+++ b/pallets/foreign-assets/src/weights.rs
@@ -1,43 +1,94 @@
+// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs
 
+//! Autogenerated weights for pallet_foreign_assets
+//!
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2022-09-16, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
+
+// Executed Command:
+// target/release/unique-collator
+// benchmark
+// pallet
+// --pallet
+// pallet-foreign-assets
+// --wasm-execution
+// compiled
+// --extrinsic
+// *
+// --template
+// .maintain/frame-weight-template.hbs
+// --steps=50
+// --repeat=80
+// --heap-pages=4096
+// --output=./pallets/foreign-assets/src/weights.rs
+
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
 #![allow(unused_imports)]
+#![allow(missing_docs)]
 #![allow(clippy::unnecessary_cast)]
 
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use sp_std::marker::PhantomData;
 
-/// Weight functions needed for module_asset_registry.
+/// Weight functions needed for pallet_foreign_assets.
 pub trait WeightInfo {
 	fn register_foreign_asset() -> Weight;
 	fn update_foreign_asset() -> Weight;
 }
 
-/// Weights for pallet_fungible using the Substrate node and recommended hardware.
+/// Weights for pallet_foreign_assets using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
+	// Storage: Common CreatedCollectionCount (r:1 w:1)
+	// Storage: Common DestroyedCollectionCount (r:1 w:0)
+	// Storage: System Account (r:2 w:2)
+	// Storage: ForeignAssets NextForeignAssetId (r:1 w:1)
+	// Storage: ForeignAssets LocationToCurrencyIds (r:1 w:1)
+	// Storage: ForeignAssets ForeignAssetLocations (r:1 w:1)
+	// Storage: ForeignAssets AssetMetadatas (r:1 w:1)
+	// Storage: ForeignAssets AssetBinding (r:1 w:1)
+	// Storage: Common CollectionPropertyPermissions (r:0 w:1)
+	// Storage: Common CollectionProperties (r:0 w:1)
+	// Storage: Common CollectionById (r:0 w:1)
 	fn register_foreign_asset() -> Weight {
-		(29_819_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(3 as Weight))
+		(52_161_000 as Weight)
+			.saturating_add(T::DbWeight::get().reads(9 as Weight))
+			.saturating_add(T::DbWeight::get().writes(11 as Weight))
 	}
+	// Storage: ForeignAssets ForeignAssetLocations (r:1 w:1)
+	// Storage: ForeignAssets AssetMetadatas (r:1 w:1)
 	fn update_foreign_asset() -> Weight {
-		(25_119_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		(19_111_000 as Weight)
+			.saturating_add(T::DbWeight::get().reads(2 as Weight))
+			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 }
 
 // For backwards compatibility and tests
 impl WeightInfo for () {
+	// Storage: Common CreatedCollectionCount (r:1 w:1)
+	// Storage: Common DestroyedCollectionCount (r:1 w:0)
+	// Storage: System Account (r:2 w:2)
+	// Storage: ForeignAssets NextForeignAssetId (r:1 w:1)
+	// Storage: ForeignAssets LocationToCurrencyIds (r:1 w:1)
+	// Storage: ForeignAssets ForeignAssetLocations (r:1 w:1)
+	// Storage: ForeignAssets AssetMetadatas (r:1 w:1)
+	// Storage: ForeignAssets AssetBinding (r:1 w:1)
+	// Storage: Common CollectionPropertyPermissions (r:0 w:1)
+	// Storage: Common CollectionProperties (r:0 w:1)
+	// Storage: Common CollectionById (r:0 w:1)
 	fn register_foreign_asset() -> Weight {
-		(29_819_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
+		(52_161_000 as Weight)
+			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
+			.saturating_add(RocksDbWeight::get().writes(11 as Weight))
 	}
+	// Storage: ForeignAssets ForeignAssetLocations (r:1 w:1)
+	// Storage: ForeignAssets AssetMetadatas (r:1 w:1)
 	fn update_foreign_asset() -> Weight {
-		(25_119_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		(19_111_000 as Weight)
+			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
+			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
 	}
-}
\ No newline at end of file
+}