referrerpolicy=no-referrer-when-downgrade

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}