1
// Copyright 2024 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_moonbeam_lazy_migrations`
18
//!
19
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
20
//! DATE: 2024-11-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
21
//! WORST CASE MAP SIZE: `1000000`
22
//! HOSTNAME: `device-46.home`, CPU: `<UNKNOWN>`
23
//! WASM-EXECUTION: Compiled, CHAIN: None, 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_lazy_migrations
33
// --extrinsic
34
// *
35
// --steps
36
// 50
37
// --repeat
38
// 20
39
// --header=./file_header.txt
40
// --template=./benchmarking/frame-weight-template.hbs
41
// --json-file
42
// raw.json
43
// --output
44
// weights.rs
45

            
46
#![cfg_attr(rustfmt, rustfmt_skip)]
47
#![allow(unused_parens)]
48
#![allow(unused_imports)]
49

            
50
/// Weights for `pallet_moonbeam_lazy_migrations`.
51
use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
52
use sp_std::marker::PhantomData;
53
pub trait WeightInfo {
54
	fn approve_assets_to_migrate(n: u32, ) -> Weight;
55
	fn start_foreign_assets_migration() -> Weight;
56
	fn migrate_foreign_asset_balances(n: u32, ) -> Weight;
57
	fn migrate_foreign_asset_approvals(n: u32, ) -> Weight;
58
	fn finish_foreign_assets_migration() -> Weight;	
59
}
60
pub struct SubstrateWeightInfo<T>(PhantomData<T>);
61
impl<T: frame_system::Config> WeightInfo for SubstrateWeightInfo<T> {
62
	/// Storage: `Assets::Asset` (r:100 w:0)
63
	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(174), added: 2649, mode: `MaxEncodedLen`)
64
	/// Storage: `MoonbeamLazyMigrations::ApprovedForeignAssets` (r:0 w:100)
65
	/// Proof: `MoonbeamLazyMigrations::ApprovedForeignAssets` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
66
	/// The range of component `n` is `[1, 100]`.
67
	fn approve_assets_to_migrate(n: u32, ) -> Weight {
68
		// Proof Size summary in bytes:
69
		//  Measured:  `73 + n * (69 ±0)`
70
		//  Estimated: `990 + n * (2649 ±0)`
71
		// Minimum execution time: 6_000_000 picoseconds.
72
		Weight::from_parts(1_043_425, 990)
73
			// Standard Error: 5_952
74
			.saturating_add(Weight::from_parts(3_473_582, 0).saturating_mul(n.into()))
75
			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
76
			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))
77
			.saturating_add(Weight::from_parts(0, 2649).saturating_mul(n.into()))
78
	}
79
	/// Storage: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (r:1 w:1)
80
	/// Proof: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (`max_values`: Some(1), `max_size`: Some(25), added: 520, mode: `MaxEncodedLen`)
81
	/// Storage: `Assets::Asset` (r:1 w:1)
82
	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(174), added: 2649, mode: `MaxEncodedLen`)
83
	/// Storage: `Assets::Metadata` (r:1 w:0)
84
	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(152), added: 2627, mode: `MaxEncodedLen`)
85
	/// Storage: `AssetManager::AssetIdType` (r:1 w:1)
86
	/// Proof: `AssetManager::AssetIdType` (`max_values`: None, `max_size`: None, mode: `Measured`)
87
	/// Storage: `EvmForeignAssets::AssetsById` (r:1 w:1)
88
	/// Proof: `EvmForeignAssets::AssetsById` (`max_values`: None, `max_size`: None, mode: `Measured`)
89
	/// Storage: `EvmForeignAssets::AssetsByLocation` (r:1 w:1)
90
	/// Proof: `EvmForeignAssets::AssetsByLocation` (`max_values`: None, `max_size`: None, mode: `Measured`)
91
	/// Storage: `EvmForeignAssets::CounterForAssetsById` (r:1 w:1)
92
	/// Proof: `EvmForeignAssets::CounterForAssetsById` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
93
	/// Storage: `EthereumXcm::EthereumXcmSuspended` (r:1 w:0)
94
	/// Proof: `EthereumXcm::EthereumXcmSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
95
	/// Storage: `EthereumXcm::Nonce` (r:1 w:1)
96
	/// Proof: `EthereumXcm::Nonce` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
97
	/// Storage: `EthereumChainId::ChainId` (r:1 w:0)
98
	/// Proof: `EthereumChainId::ChainId` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
99
	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
100
	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
101
	/// Storage: `EVM::AccountCodesMetadata` (r:1 w:1)
102
	/// Proof: `EVM::AccountCodesMetadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
103
	/// Storage: `System::Account` (r:2 w:2)
104
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
105
	/// Storage: `EVM::AccountStorages` (r:11 w:11)
106
	/// Proof: `EVM::AccountStorages` (`max_values`: None, `max_size`: None, mode: `Measured`)
107
	/// Storage: `EVM::Suicided` (r:1 w:0)
108
	/// Proof: `EVM::Suicided` (`max_values`: None, `max_size`: None, mode: `Measured`)
109
	/// Storage: `Ethereum::Pending` (r:1 w:1)
110
	/// Proof: `Ethereum::Pending` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
111
	/// Storage: `EVM::AccountCodes` (r:0 w:1)
112
	/// Proof: `EVM::AccountCodes` (`max_values`: None, `max_size`: None, mode: `Measured`)
113
	fn start_foreign_assets_migration() -> Weight {
114
		// Proof Size summary in bytes:
115
		//  Measured:  `2036`
116
		//  Estimated: `30251`
117
		// Minimum execution time: 571_000_000 picoseconds.
118
		Weight::from_parts(575_000_000, 30251)
119
			.saturating_add(T::DbWeight::get().reads(27_u64))
120
			.saturating_add(T::DbWeight::get().writes(23_u64))
121
	}
122
	/// Storage: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (r:1 w:1)
123
	/// Proof: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (`max_values`: Some(1), `max_size`: Some(25), added: 520, mode: `MaxEncodedLen`)
124
	/// Storage: `Assets::Account` (r:1001 w:1000)
125
	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`)
126
	/// Storage: `System::Account` (r:1001 w:1001)
127
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
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::Digest` (r:1 w:0)
141
	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
142
	/// Storage: `EVM::AccountCodes` (r:1 w:0)
143
	/// Proof: `EVM::AccountCodes` (`max_values`: None, `max_size`: None, mode: `Measured`)
144
	/// Storage: `Assets::Asset` (r:1 w:0)
145
	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(174), added: 2649, mode: `MaxEncodedLen`)
146
	/// Storage: `EVM::AccountStorages` (r:1002 w:1001)
147
	/// Proof: `EVM::AccountStorages` (`max_values`: None, `max_size`: None, mode: `Measured`)
148
	/// Storage: `Ethereum::Pending` (r:1 w:1)
149
	/// Proof: `Ethereum::Pending` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
150
	/// The range of component `n` is `[1, 1000]`.
151
	fn migrate_foreign_asset_balances(n: u32, ) -> Weight {
152
		// Proof Size summary in bytes:
153
		//  Measured:  `24733 + n * (215 ±0)`
154
		//  Estimated: `33276 + n * (2691 ±0)`
155
		// Minimum execution time: 350_000_000 picoseconds.
156
		Weight::from_parts(354_000_000, 33276)
157
			// Standard Error: 6_615_203
158
			.saturating_add(Weight::from_parts(746_018_198, 0).saturating_mul(n.into()))
159
			.saturating_add(T::DbWeight::get().reads(19_u64))
160
			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(n.into())))
161
			.saturating_add(T::DbWeight::get().writes(8_u64))
162
			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(n.into())))
163
			.saturating_add(Weight::from_parts(0, 2691).saturating_mul(n.into()))
164
	}
165
	/// Storage: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (r:1 w:1)
166
	/// Proof: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (`max_values`: Some(1), `max_size`: Some(25), added: 520, mode: `MaxEncodedLen`)
167
	/// Storage: `Assets::Approvals` (r:1000 w:999)
168
	/// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(136), added: 2611, mode: `MaxEncodedLen`)
169
	/// Storage: `MaintenanceMode::MaintenanceMode` (r:1 w:0)
170
	/// Proof: `MaintenanceMode::MaintenanceMode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
171
	/// Storage: `EthereumXcm::EthereumXcmSuspended` (r:1 w:0)
172
	/// Proof: `EthereumXcm::EthereumXcmSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
173
	/// Storage: `EthereumXcm::Nonce` (r:1 w:1)
174
	/// Proof: `EthereumXcm::Nonce` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
175
	/// Storage: `EthereumChainId::ChainId` (r:1 w:0)
176
	/// Proof: `EthereumChainId::ChainId` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
177
	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
178
	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
179
	/// Storage: `EVM::AccountCodesMetadata` (r:2 w:0)
180
	/// Proof: `EVM::AccountCodesMetadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
181
	/// Storage: `System::Account` (r:1 w:1)
182
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
183
	/// Storage: `System::Digest` (r:1 w:0)
184
	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
185
	/// Storage: `EVM::AccountCodes` (r:1 w:0)
186
	/// Proof: `EVM::AccountCodes` (`max_values`: None, `max_size`: None, mode: `Measured`)
187
	/// Storage: `Assets::Asset` (r:1 w:0)
188
	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(174), added: 2649, mode: `MaxEncodedLen`)
189
	/// Storage: `EVM::AccountStorages` (r:1000 w:999)
190
	/// Proof: `EVM::AccountStorages` (`max_values`: None, `max_size`: None, mode: `Measured`)
191
	/// Storage: `Ethereum::Pending` (r:1 w:1)
192
	/// Proof: `Ethereum::Pending` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
193
	/// The range of component `n` is `[1, 1000]`.
194
	fn migrate_foreign_asset_approvals(n: u32, ) -> Weight {
195
		// Proof Size summary in bytes:
196
		//  Measured:  `26751 + n * (1367 ±0)`
197
		//  Estimated: `32664 + n * (3843 ±0)`
198
		// Minimum execution time: 162_000_000 picoseconds.
199
		Weight::from_parts(163_000_000, 32664)
200
			// Standard Error: 22_761_178
201
			.saturating_add(Weight::from_parts(1_982_250_264, 0).saturating_mul(n.into()))
202
			.saturating_add(T::DbWeight::get().reads(15_u64))
203
			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(n.into())))
204
			.saturating_add(T::DbWeight::get().writes(4_u64))
205
			.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(n.into())))
206
			.saturating_add(Weight::from_parts(0, 3843).saturating_mul(n.into()))
207
	}
208
	/// Storage: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (r:1 w:1)
209
	/// Proof: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (`max_values`: Some(1), `max_size`: Some(25), added: 520, mode: `MaxEncodedLen`)
210
	/// Storage: `Assets::Asset` (r:1 w:1)
211
	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(174), added: 2649, mode: `MaxEncodedLen`)
212
	/// Storage: `Assets::Metadata` (r:1 w:1)
213
	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(152), added: 2627, mode: `MaxEncodedLen`)
214
	/// Storage: `System::Account` (r:1 w:1)
215
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
216
	fn finish_foreign_assets_migration() -> Weight {
217
		// Proof Size summary in bytes:
218
		//  Measured:  `829`
219
		//  Estimated: `3639`
220
		// Minimum execution time: 30_000_000 picoseconds.
221
		Weight::from_parts(31_000_000, 3639)
222
			.saturating_add(T::DbWeight::get().reads(4_u64))
223
			.saturating_add(T::DbWeight::get().writes(4_u64))
224
	}
225
}
226

            
227
impl WeightInfo for () {
228
	/// Storage: `Assets::Asset` (r:100 w:0)
229
	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(174), added: 2649, mode: `MaxEncodedLen`)
230
	/// Storage: `MoonbeamLazyMigrations::ApprovedForeignAssets` (r:0 w:100)
231
	/// Proof: `MoonbeamLazyMigrations::ApprovedForeignAssets` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
232
	/// The range of component `n` is `[1, 100]`.
233
	fn approve_assets_to_migrate(n: u32, ) -> Weight {
234
		// Proof Size summary in bytes:
235
		//  Measured:  `73 + n * (69 ±0)`
236
		//  Estimated: `990 + n * (2649 ±0)`
237
		// Minimum execution time: 6_000_000 picoseconds.
238
		Weight::from_parts(1_043_425, 990)
239
			// Standard Error: 5_952
240
			.saturating_add(Weight::from_parts(3_473_582, 0).saturating_mul(n.into()))
241
			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
242
			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))
243
			.saturating_add(Weight::from_parts(0, 2649).saturating_mul(n.into()))
244
	}
245
	/// Storage: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (r:1 w:1)
246
	/// Proof: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (`max_values`: Some(1), `max_size`: Some(25), added: 520, mode: `MaxEncodedLen`)
247
	/// Storage: `Assets::Asset` (r:1 w:1)
248
	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(174), added: 2649, mode: `MaxEncodedLen`)
249
	/// Storage: `Assets::Metadata` (r:1 w:0)
250
	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(152), added: 2627, mode: `MaxEncodedLen`)
251
	/// Storage: `AssetManager::AssetIdType` (r:1 w:1)
252
	/// Proof: `AssetManager::AssetIdType` (`max_values`: None, `max_size`: None, mode: `Measured`)
253
	/// Storage: `EvmForeignAssets::AssetsById` (r:1 w:1)
254
	/// Proof: `EvmForeignAssets::AssetsById` (`max_values`: None, `max_size`: None, mode: `Measured`)
255
	/// Storage: `EvmForeignAssets::AssetsByLocation` (r:1 w:1)
256
	/// Proof: `EvmForeignAssets::AssetsByLocation` (`max_values`: None, `max_size`: None, mode: `Measured`)
257
	/// Storage: `EvmForeignAssets::CounterForAssetsById` (r:1 w:1)
258
	/// Proof: `EvmForeignAssets::CounterForAssetsById` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
259
	/// Storage: `EthereumXcm::EthereumXcmSuspended` (r:1 w:0)
260
	/// Proof: `EthereumXcm::EthereumXcmSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
261
	/// Storage: `EthereumXcm::Nonce` (r:1 w:1)
262
	/// Proof: `EthereumXcm::Nonce` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
263
	/// Storage: `EthereumChainId::ChainId` (r:1 w:0)
264
	/// Proof: `EthereumChainId::ChainId` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
265
	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
266
	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
267
	/// Storage: `EVM::AccountCodesMetadata` (r:1 w:1)
268
	/// Proof: `EVM::AccountCodesMetadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
269
	/// Storage: `System::Account` (r:2 w:2)
270
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
271
	/// Storage: `EVM::AccountStorages` (r:11 w:11)
272
	/// Proof: `EVM::AccountStorages` (`max_values`: None, `max_size`: None, mode: `Measured`)
273
	/// Storage: `EVM::Suicided` (r:1 w:0)
274
	/// Proof: `EVM::Suicided` (`max_values`: None, `max_size`: None, mode: `Measured`)
275
	/// Storage: `Ethereum::Pending` (r:1 w:1)
276
	/// Proof: `Ethereum::Pending` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
277
	/// Storage: `EVM::AccountCodes` (r:0 w:1)
278
	/// Proof: `EVM::AccountCodes` (`max_values`: None, `max_size`: None, mode: `Measured`)
279
	fn start_foreign_assets_migration() -> Weight {
280
		// Proof Size summary in bytes:
281
		//  Measured:  `2036`
282
		//  Estimated: `30251`
283
		// Minimum execution time: 571_000_000 picoseconds.
284
		Weight::from_parts(575_000_000, 30251)
285
			.saturating_add(RocksDbWeight::get().reads(27_u64))
286
			.saturating_add(RocksDbWeight::get().writes(23_u64))
287
	}
288
	/// Storage: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (r:1 w:1)
289
	/// Proof: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (`max_values`: Some(1), `max_size`: Some(25), added: 520, mode: `MaxEncodedLen`)
290
	/// Storage: `Assets::Account` (r:1001 w:1000)
291
	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`)
292
	/// Storage: `System::Account` (r:1001 w:1001)
293
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
294
	/// Storage: `MaintenanceMode::MaintenanceMode` (r:1 w:0)
295
	/// Proof: `MaintenanceMode::MaintenanceMode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
296
	/// Storage: `EthereumXcm::EthereumXcmSuspended` (r:1 w:0)
297
	/// Proof: `EthereumXcm::EthereumXcmSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
298
	/// Storage: `EthereumXcm::Nonce` (r:1 w:1)
299
	/// Proof: `EthereumXcm::Nonce` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
300
	/// Storage: `EthereumChainId::ChainId` (r:1 w:0)
301
	/// Proof: `EthereumChainId::ChainId` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
302
	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
303
	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
304
	/// Storage: `EVM::AccountCodesMetadata` (r:2 w:0)
305
	/// Proof: `EVM::AccountCodesMetadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
306
	/// Storage: `System::Digest` (r:1 w:0)
307
	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
308
	/// Storage: `EVM::AccountCodes` (r:1 w:0)
309
	/// Proof: `EVM::AccountCodes` (`max_values`: None, `max_size`: None, mode: `Measured`)
310
	/// Storage: `Assets::Asset` (r:1 w:0)
311
	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(174), added: 2649, mode: `MaxEncodedLen`)
312
	/// Storage: `EVM::AccountStorages` (r:1002 w:1001)
313
	/// Proof: `EVM::AccountStorages` (`max_values`: None, `max_size`: None, mode: `Measured`)
314
	/// Storage: `Ethereum::Pending` (r:1 w:1)
315
	/// Proof: `Ethereum::Pending` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
316
	/// The range of component `n` is `[1, 1000]`.
317
	fn migrate_foreign_asset_balances(n: u32, ) -> Weight {
318
		// Proof Size summary in bytes:
319
		//  Measured:  `24733 + n * (215 ±0)`
320
		//  Estimated: `33276 + n * (2691 ±0)`
321
		// Minimum execution time: 350_000_000 picoseconds.
322
		Weight::from_parts(354_000_000, 33276)
323
			// Standard Error: 6_615_203
324
			.saturating_add(Weight::from_parts(746_018_198, 0).saturating_mul(n.into()))
325
			.saturating_add(RocksDbWeight::get().reads(19_u64))
326
			.saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(n.into())))
327
			.saturating_add(RocksDbWeight::get().writes(8_u64))
328
			.saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(n.into())))
329
			.saturating_add(Weight::from_parts(0, 2691).saturating_mul(n.into()))
330
	}
331
	/// Storage: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (r:1 w:1)
332
	/// Proof: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (`max_values`: Some(1), `max_size`: Some(25), added: 520, mode: `MaxEncodedLen`)
333
	/// Storage: `Assets::Approvals` (r:1000 w:999)
334
	/// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(136), added: 2611, mode: `MaxEncodedLen`)
335
	/// Storage: `MaintenanceMode::MaintenanceMode` (r:1 w:0)
336
	/// Proof: `MaintenanceMode::MaintenanceMode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
337
	/// Storage: `EthereumXcm::EthereumXcmSuspended` (r:1 w:0)
338
	/// Proof: `EthereumXcm::EthereumXcmSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
339
	/// Storage: `EthereumXcm::Nonce` (r:1 w:1)
340
	/// Proof: `EthereumXcm::Nonce` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
341
	/// Storage: `EthereumChainId::ChainId` (r:1 w:0)
342
	/// Proof: `EthereumChainId::ChainId` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
343
	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
344
	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
345
	/// Storage: `EVM::AccountCodesMetadata` (r:2 w:0)
346
	/// Proof: `EVM::AccountCodesMetadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
347
	/// Storage: `System::Account` (r:1 w:1)
348
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
349
	/// Storage: `System::Digest` (r:1 w:0)
350
	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
351
	/// Storage: `EVM::AccountCodes` (r:1 w:0)
352
	/// Proof: `EVM::AccountCodes` (`max_values`: None, `max_size`: None, mode: `Measured`)
353
	/// Storage: `Assets::Asset` (r:1 w:0)
354
	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(174), added: 2649, mode: `MaxEncodedLen`)
355
	/// Storage: `EVM::AccountStorages` (r:1000 w:999)
356
	/// Proof: `EVM::AccountStorages` (`max_values`: None, `max_size`: None, mode: `Measured`)
357
	/// Storage: `Ethereum::Pending` (r:1 w:1)
358
	/// Proof: `Ethereum::Pending` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
359
	/// The range of component `n` is `[1, 1000]`.
360
	fn migrate_foreign_asset_approvals(n: u32, ) -> Weight {
361
		// Proof Size summary in bytes:
362
		//  Measured:  `26751 + n * (1367 ±0)`
363
		//  Estimated: `32664 + n * (3843 ±0)`
364
		// Minimum execution time: 162_000_000 picoseconds.
365
		Weight::from_parts(163_000_000, 32664)
366
			// Standard Error: 22_761_178
367
			.saturating_add(Weight::from_parts(1_982_250_264, 0).saturating_mul(n.into()))
368
			.saturating_add(RocksDbWeight::get().reads(15_u64))
369
			.saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(n.into())))
370
			.saturating_add(RocksDbWeight::get().writes(4_u64))
371
			.saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(n.into())))
372
			.saturating_add(Weight::from_parts(0, 3843).saturating_mul(n.into()))
373
	}
374
	/// Storage: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (r:1 w:1)
375
	/// Proof: `MoonbeamLazyMigrations::ForeignAssetMigrationStatusValue` (`max_values`: Some(1), `max_size`: Some(25), added: 520, mode: `MaxEncodedLen`)
376
	/// Storage: `Assets::Asset` (r:1 w:1)
377
	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(174), added: 2649, mode: `MaxEncodedLen`)
378
	/// Storage: `Assets::Metadata` (r:1 w:1)
379
	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(152), added: 2627, mode: `MaxEncodedLen`)
380
	/// Storage: `System::Account` (r:1 w:1)
381
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
382
	fn finish_foreign_assets_migration() -> Weight {
383
		// Proof Size summary in bytes:
384
		//  Measured:  `829`
385
		//  Estimated: `3639`
386
		// Minimum execution time: 30_000_000 picoseconds.
387
		Weight::from_parts(31_000_000, 3639)
388
			.saturating_add(RocksDbWeight::get().reads(4_u64))
389
			.saturating_add(RocksDbWeight::get().writes(4_u64))
390
	}
391
}