pallet_moonbeam_foreign_assets/
weights.rs

1// Copyright 2025 Moonbeam Foundation.
2// This file is part of Moonbeam.
3
4// Moonbeam is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8
9// Moonbeam is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12// GNU General Public License for more details.
13
14// You should have received a copy of the GNU General Public License
15// along with Moonbeam.  If not, see <http://www.gnu.org/licenses/>.
16
17//! Autogenerated weights for pallet_foreign_asset_creator
18//!
19//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
20//! DATE: 2024-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
21//! WORST CASE MAP SIZE: `1000000`
22//! HOSTNAME: `girazoki-XPS-15-9530`, CPU: `13th Gen Intel(R) Core(TM) i9-13900H`
23//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
24
25// Executed Command:
26// ./target/release/moonbeam
27// benchmark
28// pallet
29// --execution=wasm
30// --wasm-execution=compiled
31// --pallet
32// pallet_moonbeam_foreign_assets
33// --extrinsic
34// *
35// --steps
36// 50
37// --repeat
38// 20
39// --template=./benchmarking/frame-weight-template.hbs
40// --json-file
41// raw.json
42// --output
43// weights/
44
45#![cfg_attr(rustfmt, rustfmt_skip)]
46#![allow(unused_parens)]
47#![allow(unused_imports)]
48
49use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
50use sp_std::marker::PhantomData;
51
52/// Weight functions needed for pallet_foreign_asset_creator.
53pub trait WeightInfo {
54	fn create_foreign_asset() -> Weight;
55	fn change_xcm_location() -> Weight;
56	fn freeze_foreign_asset() -> Weight;
57	fn unfreeze_foreign_asset() -> Weight;
58	fn claim_pending_deposit() -> Weight;
59}
60
61/// Weights for pallet_foreign_asset_creator using the Substrate node and recommended hardware.
62pub struct SubstrateWeight<T>(PhantomData<T>);
63impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
64	/// Storage: `ForeignAssetsCreator::AssetIdToForeignAsset` (r:1 w:1)
65	/// Proof: `ForeignAssetsCreator::AssetIdToForeignAsset` (`max_values`: None, `max_size`: None, mode: `Measured`)
66	/// Storage: `ForeignAssets::Asset` (r:1 w:1)
67	/// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(208), added: 2683, mode: `MaxEncodedLen`)
68	/// Storage: `ForeignAssetsCreator::ForeignAssetToAssetId` (r:0 w:1)
69	/// Proof: `ForeignAssetsCreator::ForeignAssetToAssetId` (`max_values`: None, `max_size`: None, mode: `Measured`)
70	fn create_foreign_asset() -> Weight {
71		// Proof Size summary in bytes:
72		//  Measured:  `113`
73		//  Estimated: `3673`
74		// Minimum execution time: 16_738_000 picoseconds.
75		Weight::from_parts(17_366_000, 3673)
76			.saturating_add(T::DbWeight::get().reads(2_u64))
77			.saturating_add(T::DbWeight::get().writes(3_u64))
78	}
79
80
81	/// Storage: `ForeignAssetsCreator::AssetIdToForeignAsset` (r:1 w:1)
82	/// Proof: `ForeignAssetsCreator::AssetIdToForeignAsset` (`max_values`: None, `max_size`: None, mode: `Measured`)
83	/// Storage: `ForeignAssetsCreator::ForeignAssetToAssetId` (r:0 w:2)
84	/// Proof: `ForeignAssetsCreator::ForeignAssetToAssetId` (`max_values`: None, `max_size`: None, mode: `Measured`)
85	fn change_xcm_location() -> Weight {
86		// Proof Size summary in bytes:
87		//  Measured:  `189`
88		//  Estimated: `3654`
89		// Minimum execution time: 13_861_000 picoseconds.
90		Weight::from_parts(14_153_000, 3654)
91			.saturating_add(T::DbWeight::get().reads(1_u64))
92			.saturating_add(T::DbWeight::get().writes(3_u64))
93	}
94	/// Storage: `ForeignAssetsCreator::AssetIdToForeignAsset` (r:1 w:1)
95	/// Proof: `ForeignAssetsCreator::AssetIdToForeignAsset` (`max_values`: None, `max_size`: None, mode: `Measured`)
96	/// Storage: `ForeignAssetsCreator::ForeignAssetToAssetId` (r:0 w:1)
97	/// Proof: `ForeignAssetsCreator::ForeignAssetToAssetId` (`max_values`: None, `max_size`: None, mode: `Measured`)
98	fn freeze_foreign_asset() -> Weight {
99		// Proof Size summary in bytes:
100		//  Measured:  `189`
101		//  Estimated: `3654`
102		// Minimum execution time: 11_698_000 picoseconds.
103		Weight::from_parts(12_184_000, 3654)
104			.saturating_add(T::DbWeight::get().reads(1_u64))
105			.saturating_add(T::DbWeight::get().writes(2_u64))
106	}
107	/// Storage: `ForeignAssetsCreator::AssetIdToForeignAsset` (r:1 w:1)
108	/// Proof: `ForeignAssetsCreator::AssetIdToForeignAsset` (`max_values`: None, `max_size`: None, mode: `Measured`)
109	/// Storage: `ForeignAssets::Asset` (r:1 w:1)
110	/// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(208), added: 2683, mode: `MaxEncodedLen`)
111	/// Storage: `ForeignAssetsCreator::ForeignAssetToAssetId` (r:0 w:1)
112	/// Proof: `ForeignAssetsCreator::ForeignAssetToAssetId` (`max_values`: None, `max_size`: None, mode: `Measured`)
113	fn unfreeze_foreign_asset() -> Weight {
114		// Proof Size summary in bytes:
115		//  Measured:  `429`
116		//  Estimated: `3894`
117		// Minimum execution time: 17_797_000 picoseconds.
118		Weight::from_parts(18_635_000, 3894)
119			.saturating_add(T::DbWeight::get().reads(2_u64))
120			.saturating_add(T::DbWeight::get().writes(3_u64))
121	}
122	/// Storage: `EvmForeignAssets::AssetsById` (r:1 w:0)
123	/// Proof: `EvmForeignAssets::AssetsById` (`max_values`: None, `max_size`: None, mode: `Measured`)
124	/// Storage: `EvmForeignAssets::AssetsByLocation` (r:1 w:0)
125	/// Proof: `EvmForeignAssets::AssetsByLocation` (`max_values`: None, `max_size`: None, mode: `Measured`)
126	/// Storage: `EvmForeignAssets::PendingDeposits` (r:1 w:1)
127	/// Proof: `EvmForeignAssets::PendingDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`)
128	/// Storage: `MaintenanceMode::MaintenanceMode` (r:1 w:0)
129	/// Proof: `MaintenanceMode::MaintenanceMode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
130	/// Storage: `EthereumXcm::EthereumXcmSuspended` (r:1 w:0)
131	/// Proof: `EthereumXcm::EthereumXcmSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
132	/// Storage: `EthereumXcm::Nonce` (r:1 w:1)
133	/// Proof: `EthereumXcm::Nonce` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
134	/// Storage: `EthereumChainId::ChainId` (r:1 w:0)
135	/// Proof: `EthereumChainId::ChainId` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
136	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
137	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
138	/// Storage: `EVM::AccountCodesMetadata` (r:2 w:0)
139	/// Proof: `EVM::AccountCodesMetadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
140	/// Storage: `System::Account` (r:1 w:1)
141	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
142	/// Storage: `System::Digest` (r:1 w:0)
143	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
144	/// Storage: `EVM::AccountCodes` (r:1 w:0)
145	/// Proof: `EVM::AccountCodes` (`max_values`: None, `max_size`: None, mode: `Measured`)
146	/// Storage: `EVM::AccountStorages` (r:3 w:2)
147	/// Proof: `EVM::AccountStorages` (`max_values`: None, `max_size`: None, mode: `Measured`)
148	/// Storage: `Ethereum::CounterForPending` (r:1 w:1)
149	/// Proof: `Ethereum::CounterForPending` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
150	/// Storage: `Ethereum::Pending` (r:2 w:1)
151	/// Proof: `Ethereum::Pending` (`max_values`: None, `max_size`: None, mode: `Measured`)
152	fn claim_pending_deposit() -> Weight {
153		// Proof Size summary in bytes:
154		//  Measured:  `24177`
155		//  Estimated: `32592`
156		// Minimum execution time: 128_000_000 picoseconds.
157		Weight::from_parts(136_000_000, 32592)
158			.saturating_add(T::DbWeight::get().reads(19_u64))
159			.saturating_add(T::DbWeight::get().writes(7_u64))
160	}
161}
162
163// For backwards compatibility and tests
164impl WeightInfo for () {
165	/// Storage: `ForeignAssetsCreator::AssetIdToForeignAsset` (r:1 w:1)
166	/// Proof: `ForeignAssetsCreator::AssetIdToForeignAsset` (`max_values`: None, `max_size`: None, mode: `Measured`)
167	/// Storage: `ForeignAssets::Asset` (r:1 w:1)
168	/// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(208), added: 2683, mode: `MaxEncodedLen`)
169	/// Storage: `ForeignAssetsCreator::ForeignAssetToAssetId` (r:0 w:1)
170	/// Proof: `ForeignAssetsCreator::ForeignAssetToAssetId` (`max_values`: None, `max_size`: None, mode: `Measured`)
171	fn create_foreign_asset() -> Weight {
172		// Proof Size summary in bytes:
173		//  Measured:  `113`
174		//  Estimated: `3673`
175		// Minimum execution time: 16_738_000 picoseconds.
176		Weight::from_parts(17_366_000, 3673)
177			.saturating_add(RocksDbWeight::get().reads(2_u64))
178			.saturating_add(RocksDbWeight::get().writes(3_u64))
179	}
180	/// Storage: `ForeignAssetsCreator::AssetIdToForeignAsset` (r:1 w:1)
181	/// Proof: `ForeignAssetsCreator::AssetIdToForeignAsset` (`max_values`: None, `max_size`: None, mode: `Measured`)
182	/// Storage: `ForeignAssetsCreator::ForeignAssetToAssetId` (r:0 w:2)
183	/// Proof: `ForeignAssetsCreator::ForeignAssetToAssetId` (`max_values`: None, `max_size`: None, mode: `Measured`)
184	fn change_xcm_location() -> Weight {
185		// Proof Size summary in bytes:
186		//  Measured:  `189`
187		//  Estimated: `3654`
188		// Minimum execution time: 13_861_000 picoseconds.
189		Weight::from_parts(14_153_000, 3654)
190			.saturating_add(RocksDbWeight::get().reads(1_u64))
191			.saturating_add(RocksDbWeight::get().writes(3_u64))
192	}
193	/// Storage: `ForeignAssetsCreator::AssetIdToForeignAsset` (r:1 w:1)
194	/// Proof: `ForeignAssetsCreator::AssetIdToForeignAsset` (`max_values`: None, `max_size`: None, mode: `Measured`)
195	/// Storage: `ForeignAssetsCreator::ForeignAssetToAssetId` (r:0 w:1)
196	/// Proof: `ForeignAssetsCreator::ForeignAssetToAssetId` (`max_values`: None, `max_size`: None, mode: `Measured`)
197	fn freeze_foreign_asset() -> Weight {
198		// Proof Size summary in bytes:
199		//  Measured:  `189`
200		//  Estimated: `3654`
201		// Minimum execution time: 11_698_000 picoseconds.
202		Weight::from_parts(12_184_000, 3654)
203			.saturating_add(RocksDbWeight::get().reads(1_u64))
204			.saturating_add(RocksDbWeight::get().writes(2_u64))
205	}
206	/// Storage: `ForeignAssetsCreator::AssetIdToForeignAsset` (r:1 w:1)
207	/// Proof: `ForeignAssetsCreator::AssetIdToForeignAsset` (`max_values`: None, `max_size`: None, mode: `Measured`)
208	/// Storage: `ForeignAssets::Asset` (r:1 w:1)
209	/// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(208), added: 2683, mode: `MaxEncodedLen`)
210	/// Storage: `ForeignAssetsCreator::ForeignAssetToAssetId` (r:0 w:1)
211	/// Proof: `ForeignAssetsCreator::ForeignAssetToAssetId` (`max_values`: None, `max_size`: None, mode: `Measured`)
212	fn unfreeze_foreign_asset() -> Weight {
213		// Proof Size summary in bytes:
214		//  Measured:  `429`
215		//  Estimated: `3894`
216		// Minimum execution time: 17_797_000 picoseconds.
217		Weight::from_parts(18_635_000, 3894)
218			.saturating_add(RocksDbWeight::get().reads(2_u64))
219			.saturating_add(RocksDbWeight::get().writes(3_u64))
220	}
221	/// Storage: `EvmForeignAssets::AssetsById` (r:1 w:0)
222	/// Proof: `EvmForeignAssets::AssetsById` (`max_values`: None, `max_size`: None, mode: `Measured`)
223	/// Storage: `EvmForeignAssets::AssetsByLocation` (r:1 w:0)
224	/// Proof: `EvmForeignAssets::AssetsByLocation` (`max_values`: None, `max_size`: None, mode: `Measured`)
225	/// Storage: `EvmForeignAssets::PendingDeposits` (r:1 w:1)
226	/// Proof: `EvmForeignAssets::PendingDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`)
227	/// Storage: `MaintenanceMode::MaintenanceMode` (r:1 w:0)
228	/// Proof: `MaintenanceMode::MaintenanceMode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
229	/// Storage: `EthereumXcm::EthereumXcmSuspended` (r:1 w:0)
230	/// Proof: `EthereumXcm::EthereumXcmSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
231	/// Storage: `EthereumXcm::Nonce` (r:1 w:1)
232	/// Proof: `EthereumXcm::Nonce` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
233	/// Storage: `EthereumChainId::ChainId` (r:1 w:0)
234	/// Proof: `EthereumChainId::ChainId` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
235	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
236	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
237	/// Storage: `EVM::AccountCodesMetadata` (r:2 w:0)
238	/// Proof: `EVM::AccountCodesMetadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
239	/// Storage: `System::Account` (r:1 w:1)
240	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
241	/// Storage: `System::Digest` (r:1 w:0)
242	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
243	/// Storage: `EVM::AccountCodes` (r:1 w:0)
244	/// Proof: `EVM::AccountCodes` (`max_values`: None, `max_size`: None, mode: `Measured`)
245	/// Storage: `EVM::AccountStorages` (r:3 w:2)
246	/// Proof: `EVM::AccountStorages` (`max_values`: None, `max_size`: None, mode: `Measured`)
247	/// Storage: `Ethereum::CounterForPending` (r:1 w:1)
248	/// Proof: `Ethereum::CounterForPending` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
249	/// Storage: `Ethereum::Pending` (r:2 w:1)
250	/// Proof: `Ethereum::Pending` (`max_values`: None, `max_size`: None, mode: `Measured`)
251	fn claim_pending_deposit() -> Weight {
252		// Proof Size summary in bytes:
253		//  Measured:  `24177`
254		//  Estimated: `32592`
255		// Minimum execution time: 128_000_000 picoseconds.
256		Weight::from_parts(136_000_000, 32592)
257			.saturating_add(RocksDbWeight::get().reads(19_u64))
258			.saturating_add(RocksDbWeight::get().writes(7_u64))
259	}
260}