referrerpolicy=no-referrer-when-downgrade

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}