westend_runtime/weights/pallet_xcm.rs
1// Copyright (C) Parity Technologies (UK) Ltd.
2// This file is part of Polkadot.
3
4// Polkadot 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// Polkadot 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 Polkadot. If not, see <http://www.gnu.org/licenses/>.
16
17//! Autogenerated weights for `pallet_xcm`
18//!
19//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
20//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
21//! WORST CASE MAP SIZE: `1000000`
22//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
23//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
24
25// Executed Command:
26// frame-omni-bencher
27// v1
28// benchmark
29// pallet
30// --extrinsic=*
31// --runtime=target/production/wbuild/westend-runtime/westend_runtime.wasm
32// --pallet=pallet_xcm
33// --header=/__w/polkadot-sdk/polkadot-sdk/polkadot/file_header.txt
34// --output=./polkadot/runtime/westend/src/weights
35// --wasm-execution=compiled
36// --steps=50
37// --repeat=20
38// --heap-pages=4096
39// --no-storage-info
40// --no-min-squares
41// --no-median-slopes
42
43#![cfg_attr(rustfmt, rustfmt_skip)]
44#![allow(unused_parens)]
45#![allow(unused_imports)]
46#![allow(missing_docs)]
47
48use frame_support::{traits::Get, weights::Weight};
49use core::marker::PhantomData;
50
51/// Weight functions for `pallet_xcm`.
52pub struct WeightInfo<T>(PhantomData<T>);
53impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
54 /// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
55 /// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
56 /// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
57 /// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
58 /// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
59 /// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
60 /// Storage: `Paras::Heads` (r:1 w:0)
61 /// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
62 /// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
63 /// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
64 fn send() -> Weight {
65 // Proof Size summary in bytes:
66 // Measured: `212`
67 // Estimated: `3677`
68 // Minimum execution time: 41_335_000 picoseconds.
69 Weight::from_parts(42_659_000, 0)
70 .saturating_add(Weight::from_parts(0, 3677))
71 .saturating_add(T::DbWeight::get().reads(5))
72 .saturating_add(T::DbWeight::get().writes(2))
73 }
74 /// Storage: `System::Account` (r:2 w:2)
75 /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
76 /// Storage: `XcmPallet::ShouldRecordXcm` (r:1 w:0)
77 /// Proof: `XcmPallet::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
78 /// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
79 /// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
80 /// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
81 /// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
82 /// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
83 /// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
84 /// Storage: `Paras::Heads` (r:1 w:0)
85 /// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
86 /// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
87 /// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
88 fn teleport_assets() -> Weight {
89 // Proof Size summary in bytes:
90 // Measured: `315`
91 // Estimated: `6196`
92 // Minimum execution time: 146_685_000 picoseconds.
93 Weight::from_parts(152_738_000, 0)
94 .saturating_add(Weight::from_parts(0, 6196))
95 .saturating_add(T::DbWeight::get().reads(8))
96 .saturating_add(T::DbWeight::get().writes(4))
97 }
98 /// Storage: `Benchmark::Override` (r:0 w:0)
99 /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
100 fn reserve_transfer_assets() -> Weight {
101 // Proof Size summary in bytes:
102 // Measured: `0`
103 // Estimated: `0`
104 // Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
105 Weight::from_parts(18_446_744_073_709_551_000, 0)
106 .saturating_add(Weight::from_parts(0, 0))
107 }
108 /// Storage: `System::Account` (r:2 w:2)
109 /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
110 /// Storage: `XcmPallet::ShouldRecordXcm` (r:1 w:0)
111 /// Proof: `XcmPallet::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
112 /// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
113 /// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
114 /// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
115 /// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
116 /// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
117 /// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
118 /// Storage: `Paras::Heads` (r:1 w:0)
119 /// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
120 /// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
121 /// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
122 fn transfer_assets() -> Weight {
123 // Proof Size summary in bytes:
124 // Measured: `315`
125 // Estimated: `6196`
126 // Minimum execution time: 148_866_000 picoseconds.
127 Weight::from_parts(152_293_000, 0)
128 .saturating_add(Weight::from_parts(0, 6196))
129 .saturating_add(T::DbWeight::get().reads(8))
130 .saturating_add(T::DbWeight::get().writes(4))
131 }
132 /// Storage: `XcmPallet::ShouldRecordXcm` (r:1 w:0)
133 /// Proof: `XcmPallet::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
134 fn execute() -> Weight {
135 // Proof Size summary in bytes:
136 // Measured: `0`
137 // Estimated: `1485`
138 // Minimum execution time: 9_855_000 picoseconds.
139 Weight::from_parts(10_341_000, 0)
140 .saturating_add(Weight::from_parts(0, 1485))
141 .saturating_add(T::DbWeight::get().reads(1))
142 }
143 /// Storage: `XcmPallet::SupportedVersion` (r:0 w:1)
144 /// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
145 fn force_xcm_version() -> Weight {
146 // Proof Size summary in bytes:
147 // Measured: `0`
148 // Estimated: `0`
149 // Minimum execution time: 8_483_000 picoseconds.
150 Weight::from_parts(8_898_000, 0)
151 .saturating_add(Weight::from_parts(0, 0))
152 .saturating_add(T::DbWeight::get().writes(1))
153 }
154 fn force_default_xcm_version() -> Weight {
155 // Proof Size summary in bytes:
156 // Measured: `0`
157 // Estimated: `0`
158 // Minimum execution time: 2_570_000 picoseconds.
159 Weight::from_parts(2_709_000, 0)
160 .saturating_add(Weight::from_parts(0, 0))
161 }
162 /// Storage: `XcmPallet::VersionNotifiers` (r:1 w:1)
163 /// Proof: `XcmPallet::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
164 /// Storage: `XcmPallet::QueryCounter` (r:1 w:1)
165 /// Proof: `XcmPallet::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
166 /// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
167 /// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
168 /// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
169 /// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
170 /// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
171 /// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
172 /// Storage: `Paras::Heads` (r:1 w:0)
173 /// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
174 /// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
175 /// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
176 /// Storage: `XcmPallet::Queries` (r:0 w:1)
177 /// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
178 fn force_subscribe_version_notify() -> Weight {
179 // Proof Size summary in bytes:
180 // Measured: `212`
181 // Estimated: `3677`
182 // Minimum execution time: 48_311_000 picoseconds.
183 Weight::from_parts(49_878_000, 0)
184 .saturating_add(Weight::from_parts(0, 3677))
185 .saturating_add(T::DbWeight::get().reads(7))
186 .saturating_add(T::DbWeight::get().writes(5))
187 }
188 /// Storage: `XcmPallet::VersionNotifiers` (r:1 w:1)
189 /// Proof: `XcmPallet::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
190 /// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
191 /// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
192 /// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
193 /// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
194 /// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
195 /// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
196 /// Storage: `Paras::Heads` (r:1 w:0)
197 /// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
198 /// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
199 /// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
200 /// Storage: `XcmPallet::Queries` (r:0 w:1)
201 /// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
202 fn force_unsubscribe_version_notify() -> Weight {
203 // Proof Size summary in bytes:
204 // Measured: `392`
205 // Estimated: `3857`
206 // Minimum execution time: 53_270_000 picoseconds.
207 Weight::from_parts(55_216_000, 0)
208 .saturating_add(Weight::from_parts(0, 3857))
209 .saturating_add(T::DbWeight::get().reads(6))
210 .saturating_add(T::DbWeight::get().writes(4))
211 }
212 /// Storage: `XcmPallet::XcmExecutionSuspended` (r:0 w:1)
213 /// Proof: `XcmPallet::XcmExecutionSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
214 fn force_suspension() -> Weight {
215 // Proof Size summary in bytes:
216 // Measured: `0`
217 // Estimated: `0`
218 // Minimum execution time: 2_538_000 picoseconds.
219 Weight::from_parts(2_717_000, 0)
220 .saturating_add(Weight::from_parts(0, 0))
221 .saturating_add(T::DbWeight::get().writes(1))
222 }
223 /// Storage: `XcmPallet::SupportedVersion` (r:6 w:2)
224 /// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
225 fn migrate_supported_version() -> Weight {
226 // Proof Size summary in bytes:
227 // Measured: `22`
228 // Estimated: `15862`
229 // Minimum execution time: 22_579_000 picoseconds.
230 Weight::from_parts(22_973_000, 0)
231 .saturating_add(Weight::from_parts(0, 15862))
232 .saturating_add(T::DbWeight::get().reads(6))
233 .saturating_add(T::DbWeight::get().writes(2))
234 }
235 /// Storage: `XcmPallet::VersionNotifiers` (r:6 w:2)
236 /// Proof: `XcmPallet::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
237 fn migrate_version_notifiers() -> Weight {
238 // Proof Size summary in bytes:
239 // Measured: `26`
240 // Estimated: `15866`
241 // Minimum execution time: 22_803_000 picoseconds.
242 Weight::from_parts(23_241_000, 0)
243 .saturating_add(Weight::from_parts(0, 15866))
244 .saturating_add(T::DbWeight::get().reads(6))
245 .saturating_add(T::DbWeight::get().writes(2))
246 }
247 /// Storage: `XcmPallet::VersionNotifyTargets` (r:7 w:0)
248 /// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
249 fn already_notified_target() -> Weight {
250 // Proof Size summary in bytes:
251 // Measured: `40`
252 // Estimated: `18355`
253 // Minimum execution time: 25_760_000 picoseconds.
254 Weight::from_parts(26_511_000, 0)
255 .saturating_add(Weight::from_parts(0, 18355))
256 .saturating_add(T::DbWeight::get().reads(7))
257 }
258 /// Storage: `XcmPallet::VersionNotifyTargets` (r:2 w:1)
259 /// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
260 /// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
261 /// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
262 /// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
263 /// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
264 /// Storage: `Dmp::DownwardMessageQueues` (r:1 w:0)
265 /// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
266 /// Storage: `Paras::Heads` (r:1 w:0)
267 /// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
268 fn notify_current_targets() -> Weight {
269 // Proof Size summary in bytes:
270 // Measured: `211`
271 // Estimated: `6151`
272 // Minimum execution time: 36_850_000 picoseconds.
273 Weight::from_parts(38_086_000, 0)
274 .saturating_add(Weight::from_parts(0, 6151))
275 .saturating_add(T::DbWeight::get().reads(6))
276 .saturating_add(T::DbWeight::get().writes(1))
277 }
278 /// Storage: `XcmPallet::VersionNotifyTargets` (r:5 w:0)
279 /// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
280 fn notify_target_migration_fail() -> Weight {
281 // Proof Size summary in bytes:
282 // Measured: `40`
283 // Estimated: `13405`
284 // Minimum execution time: 17_893_000 picoseconds.
285 Weight::from_parts(18_327_000, 0)
286 .saturating_add(Weight::from_parts(0, 13405))
287 .saturating_add(T::DbWeight::get().reads(5))
288 }
289 /// Storage: `XcmPallet::VersionNotifyTargets` (r:6 w:2)
290 /// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
291 fn migrate_version_notify_targets() -> Weight {
292 // Proof Size summary in bytes:
293 // Measured: `33`
294 // Estimated: `15873`
295 // Minimum execution time: 22_807_000 picoseconds.
296 Weight::from_parts(23_148_000, 0)
297 .saturating_add(Weight::from_parts(0, 15873))
298 .saturating_add(T::DbWeight::get().reads(6))
299 .saturating_add(T::DbWeight::get().writes(2))
300 }
301 /// Storage: `XcmPallet::VersionNotifyTargets` (r:6 w:1)
302 /// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
303 /// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
304 /// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
305 /// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
306 /// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
307 /// Storage: `Dmp::DownwardMessageQueues` (r:1 w:0)
308 /// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
309 /// Storage: `Paras::Heads` (r:1 w:0)
310 /// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
311 fn migrate_and_notify_old_targets() -> Weight {
312 // Proof Size summary in bytes:
313 // Measured: `211`
314 // Estimated: `16051`
315 // Minimum execution time: 48_558_000 picoseconds.
316 Weight::from_parts(50_046_000, 0)
317 .saturating_add(Weight::from_parts(0, 16051))
318 .saturating_add(T::DbWeight::get().reads(10))
319 .saturating_add(T::DbWeight::get().writes(1))
320 }
321 /// Storage: `XcmPallet::QueryCounter` (r:1 w:1)
322 /// Proof: `XcmPallet::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
323 /// Storage: `XcmPallet::Queries` (r:0 w:1)
324 /// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
325 fn new_query() -> Weight {
326 // Proof Size summary in bytes:
327 // Measured: `0`
328 // Estimated: `1485`
329 // Minimum execution time: 2_757_000 picoseconds.
330 Weight::from_parts(2_981_000, 0)
331 .saturating_add(Weight::from_parts(0, 1485))
332 .saturating_add(T::DbWeight::get().reads(1))
333 .saturating_add(T::DbWeight::get().writes(2))
334 }
335 /// Storage: `XcmPallet::Queries` (r:1 w:1)
336 /// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
337 fn take_response() -> Weight {
338 // Proof Size summary in bytes:
339 // Measured: `7576`
340 // Estimated: `11041`
341 // Minimum execution time: 27_384_000 picoseconds.
342 Weight::from_parts(27_705_000, 0)
343 .saturating_add(Weight::from_parts(0, 11041))
344 .saturating_add(T::DbWeight::get().reads(1))
345 .saturating_add(T::DbWeight::get().writes(1))
346 }
347 /// Storage: `XcmPallet::ShouldRecordXcm` (r:1 w:0)
348 /// Proof: `XcmPallet::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
349 /// Storage: `XcmPallet::AssetTraps` (r:1 w:1)
350 /// Proof: `XcmPallet::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`)
351 fn claim_assets() -> Weight {
352 // Proof Size summary in bytes:
353 // Measured: `23`
354 // Estimated: `3488`
355 // Minimum execution time: 40_784_000 picoseconds.
356 Weight::from_parts(42_298_000, 0)
357 .saturating_add(Weight::from_parts(0, 3488))
358 .saturating_add(T::DbWeight::get().reads(2))
359 .saturating_add(T::DbWeight::get().writes(1))
360 }
361 /// Storage: `XcmPallet::AuthorizedAliases` (r:1 w:1)
362 /// Proof: `XcmPallet::AuthorizedAliases` (`max_values`: None, `max_size`: None, mode: `Measured`)
363 fn add_authorized_alias() -> Weight {
364 // Proof Size summary in bytes:
365 // Measured: `361`
366 // Estimated: `3826`
367 // Minimum execution time: 15_975_000 picoseconds.
368 Weight::from_parts(16_398_000, 3826)
369 .saturating_add(T::DbWeight::get().reads(1))
370 .saturating_add(T::DbWeight::get().writes(1))
371 }
372 /// Storage: `XcmPallet::AuthorizedAliases` (r:1 w:1)
373 /// Proof: `XcmPallet::AuthorizedAliases` (`max_values`: None, `max_size`: None, mode: `Measured`)
374 fn remove_authorized_alias() -> Weight {
375 // Proof Size summary in bytes:
376 // Measured: `400`
377 // Estimated: `3865`
378 // Minimum execution time: 17_326_000 picoseconds.
379 Weight::from_parts(17_622_000, 3865)
380 .saturating_add(T::DbWeight::get().reads(1))
381 .saturating_add(T::DbWeight::get().writes(1))
382 }
383
384 fn weigh_message() -> Weight {
385 // Proof Size summary in bytes:
386 // Measured: `0`
387 // Estimated: `0`
388 // Minimum execution time: 7_785_000 picoseconds.
389 Weight::from_parts(8_077_000, 0)
390 .saturating_add(Weight::from_parts(0, 0))
391 }
392}