rococo_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: `d3a9aad6f7a3`, 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/rococo-runtime/rococo_runtime.wasm
32// --pallet=pallet_xcm
33// --header=/__w/polkadot-sdk/polkadot-sdk/polkadot/file_header.txt
34// --output=./polkadot/runtime/rococo/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: `245`
67 // Estimated: `3710`
68 // Minimum execution time: 38_240_000 picoseconds.
69 Weight::from_parts(39_348_000, 0)
70 .saturating_add(Weight::from_parts(0, 3710))
71 .saturating_add(T::DbWeight::get().reads(5))
72 .saturating_add(T::DbWeight::get().writes(2))
73 }
74 /// Storage: `System::Account` (r:1 w:1)
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: `245`
91 // Estimated: `3710`
92 // Minimum execution time: 139_859_000 picoseconds.
93 Weight::from_parts(143_227_000, 0)
94 .saturating_add(Weight::from_parts(0, 3710))
95 .saturating_add(T::DbWeight::get().reads(7))
96 .saturating_add(T::DbWeight::get().writes(3))
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:1 w:1)
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: `245`
125 // Estimated: `3710`
126 // Minimum execution time: 139_455_000 picoseconds.
127 Weight::from_parts(141_408_000, 0)
128 .saturating_add(Weight::from_parts(0, 3710))
129 .saturating_add(T::DbWeight::get().reads(7))
130 .saturating_add(T::DbWeight::get().writes(3))
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_783_000 picoseconds.
139 Weight::from_parts(10_335_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_365_000 picoseconds.
150 Weight::from_parts(8_800_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_374_000 picoseconds.
159 Weight::from_parts(2_628_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: `245`
181 // Estimated: `3710`
182 // Minimum execution time: 46_371_000 picoseconds.
183 Weight::from_parts(47_805_000, 0)
184 .saturating_add(Weight::from_parts(0, 3710))
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: `425`
205 // Estimated: `3890`
206 // Minimum execution time: 50_324_000 picoseconds.
207 Weight::from_parts(52_149_000, 0)
208 .saturating_add(Weight::from_parts(0, 3890))
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_436_000 picoseconds.
219 Weight::from_parts(2_677_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_292_000 picoseconds.
230 Weight::from_parts(23_053_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_559_000 picoseconds.
242 Weight::from_parts(23_110_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: 26_171_000 picoseconds.
254 Weight::from_parts(26_599_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: `244`
271 // Estimated: `6184`
272 // Minimum execution time: 33_588_000 picoseconds.
273 Weight::from_parts(35_745_000, 0)
274 .saturating_add(Weight::from_parts(0, 6184))
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_845_000 picoseconds.
285 Weight::from_parts(18_283_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_364_000 picoseconds.
296 Weight::from_parts(23_010_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: `244`
314 // Estimated: `16084`
315 // Minimum execution time: 44_278_000 picoseconds.
316 Weight::from_parts(45_260_000, 0)
317 .saturating_add(Weight::from_parts(0, 16084))
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_998_000 picoseconds.
330 Weight::from_parts(3_160_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_607_000 picoseconds.
342 Weight::from_parts(28_140_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_344_000 picoseconds.
356 Weight::from_parts(41_498_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}