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}