referrerpolicy=no-referrer-when-downgrade

asset_hub_westend_runtime/weights/xcm/
pallet_xcm_benchmarks_generic.rs

1// Copyright (C) Parity Technologies (UK) Ltd.
2// SPDX-License-Identifier: Apache-2.0
3
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// 	http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
16//! Autogenerated weights for `pallet_xcm_benchmarks::generic`
17//!
18//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
19//! DATE: 2025-07-30, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
20//! WORST CASE MAP SIZE: `1000000`
21//! HOSTNAME: `601cc0634d73`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
22//! WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
23
24// Executed Command:
25// frame-omni-bencher
26// v1
27// benchmark
28// pallet
29// --extrinsic=*
30// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm
31// --pallet=pallet_xcm_benchmarks::generic
32// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt
33// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm
34// --wasm-execution=compiled
35// --steps=50
36// --repeat=20
37// --heap-pages=4096
38// --template=cumulus/templates/xcm-bench-template.hbs
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
47use frame_support::{traits::Get, weights::Weight};
48use core::marker::PhantomData;
49
50/// Weights for `pallet_xcm_benchmarks::generic`.
51pub struct WeightInfo<T>(PhantomData<T>);
52impl<T: frame_system::Config> WeightInfo<T> {
53	// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
54	// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
55	// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
56	// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
57	// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
58	// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
59	// Storage: `System::Account` (r:2 w:2)
60	// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
61	// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
62	// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
63	// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
64	// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
65	// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
66	// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`)
67	pub fn report_holding() -> Weight {
68		// Proof Size summary in bytes:
69		//  Measured:  `2632`
70		//  Estimated: `6196`
71		// Minimum execution time: 128_179_000 picoseconds.
72		Weight::from_parts(132_827_000, 6196)
73			.saturating_add(T::DbWeight::get().reads(7))
74			.saturating_add(T::DbWeight::get().writes(4))
75	}
76	// Storage: `System::Account` (r:1 w:1)
77	// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
78	pub fn buy_execution() -> Weight {
79		// Proof Size summary in bytes:
80		//  Measured:  `0`
81		//  Estimated: `3593`
82		// Minimum execution time: 6_735_000 picoseconds.
83		Weight::from_parts(7_064_000, 3593)
84			.saturating_add(T::DbWeight::get().reads(1))
85			.saturating_add(T::DbWeight::get().writes(1))
86	}
87	// Storage: `System::Account` (r:1 w:1)
88	// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
89	pub fn pay_fees() -> Weight {
90		// Proof Size summary in bytes:
91		//  Measured:  `0`
92		//  Estimated: `3593`
93		// Minimum execution time: 6_580_000 picoseconds.
94		Weight::from_parts(7_050_000, 3593)
95			.saturating_add(T::DbWeight::get().reads(1))
96			.saturating_add(T::DbWeight::get().writes(1))
97	}
98	pub fn asset_claimer() -> Weight {
99		// Proof Size summary in bytes:
100		//  Measured:  `0`
101		//  Estimated: `0`
102		// Minimum execution time: 773_000 picoseconds.
103		Weight::from_parts(829_000, 0)
104	}
105	// Storage: `PolkadotXcm::Queries` (r:1 w:0)
106	// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
107	pub fn query_response() -> Weight {
108		// Proof Size summary in bytes:
109		//  Measured:  `0`
110		//  Estimated: `3465`
111		// Minimum execution time: 6_112_000 picoseconds.
112		Weight::from_parts(6_358_000, 3465)
113			.saturating_add(T::DbWeight::get().reads(1))
114	}
115	pub fn transact() -> Weight {
116		// Proof Size summary in bytes:
117		//  Measured:  `0`
118		//  Estimated: `0`
119		// Minimum execution time: 8_002_000 picoseconds.
120		Weight::from_parts(8_377_000, 0)
121	}
122	pub fn refund_surplus() -> Weight {
123		// Proof Size summary in bytes:
124		//  Measured:  `0`
125		//  Estimated: `0`
126		// Minimum execution time: 1_344_000 picoseconds.
127		Weight::from_parts(1_497_000, 0)
128	}
129	pub fn set_error_handler() -> Weight {
130		// Proof Size summary in bytes:
131		//  Measured:  `0`
132		//  Estimated: `0`
133		// Minimum execution time: 786_000 picoseconds.
134		Weight::from_parts(840_000, 0)
135	}
136	pub fn set_appendix() -> Weight {
137		// Proof Size summary in bytes:
138		//  Measured:  `0`
139		//  Estimated: `0`
140		// Minimum execution time: 737_000 picoseconds.
141		Weight::from_parts(805_000, 0)
142	}
143	pub fn clear_error() -> Weight {
144		// Proof Size summary in bytes:
145		//  Measured:  `0`
146		//  Estimated: `0`
147		// Minimum execution time: 745_000 picoseconds.
148		Weight::from_parts(810_000, 0)
149	}
150	pub fn descend_origin() -> Weight {
151		// Proof Size summary in bytes:
152		//  Measured:  `0`
153		//  Estimated: `0`
154		// Minimum execution time: 774_000 picoseconds.
155		Weight::from_parts(828_000, 0)
156	}
157	// Storage: `Benchmark::Override` (r:0 w:0)
158	// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
159	pub fn execute_with_origin() -> Weight {
160		// Proof Size summary in bytes:
161		//  Measured:  `0`
162		//  Estimated: `0`
163		// Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
164		Weight::from_parts(18_446_744_073_709_551_000, 0)
165	}
166	pub fn clear_origin() -> Weight {
167		// Proof Size summary in bytes:
168		//  Measured:  `0`
169		//  Estimated: `0`
170		// Minimum execution time: 739_000 picoseconds.
171		Weight::from_parts(822_000, 0)
172	}
173	// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
174	// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
175	// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
176	// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
177	// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
178	// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
179	// Storage: `System::Account` (r:2 w:2)
180	// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
181	// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
182	// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
183	// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
184	// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
185	// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
186	// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`)
187	pub fn report_error() -> Weight {
188		// Proof Size summary in bytes:
189		//  Measured:  `2632`
190		//  Estimated: `6196`
191		// Minimum execution time: 91_221_000 picoseconds.
192		Weight::from_parts(93_944_000, 6196)
193			.saturating_add(T::DbWeight::get().reads(7))
194			.saturating_add(T::DbWeight::get().writes(4))
195	}
196	// Storage: `PolkadotXcm::AssetTraps` (r:1 w:1)
197	// Proof: `PolkadotXcm::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`)
198	pub fn claim_asset() -> Weight {
199		// Proof Size summary in bytes:
200		//  Measured:  `23`
201		//  Estimated: `3488`
202		// Minimum execution time: 9_795_000 picoseconds.
203		Weight::from_parts(10_091_000, 3488)
204			.saturating_add(T::DbWeight::get().reads(1))
205			.saturating_add(T::DbWeight::get().writes(1))
206	}
207	pub fn trap() -> Weight {
208		// Proof Size summary in bytes:
209		//  Measured:  `0`
210		//  Estimated: `0`
211		// Minimum execution time: 3_599_000 picoseconds.
212		Weight::from_parts(3_920_000, 0)
213	}
214	// Storage: `PolkadotXcm::VersionNotifyTargets` (r:1 w:1)
215	// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
216	// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
217	// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
218	// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
219	// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
220	// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
221	// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
222	// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
223	// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
224	// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
225	// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`)
226	pub fn subscribe_version() -> Weight {
227		// Proof Size summary in bytes:
228		//  Measured:  `378`
229		//  Estimated: `3843`
230		// Minimum execution time: 36_969_000 picoseconds.
231		Weight::from_parts(37_920_000, 3843)
232			.saturating_add(T::DbWeight::get().reads(5))
233			.saturating_add(T::DbWeight::get().writes(3))
234	}
235	// Storage: `PolkadotXcm::VersionNotifyTargets` (r:0 w:1)
236	// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
237	pub fn unsubscribe_version() -> Weight {
238		// Proof Size summary in bytes:
239		//  Measured:  `0`
240		//  Estimated: `0`
241		// Minimum execution time: 3_401_000 picoseconds.
242		Weight::from_parts(3_642_000, 0)
243			.saturating_add(T::DbWeight::get().writes(1))
244	}
245	pub fn burn_asset() -> Weight {
246		// Proof Size summary in bytes:
247		//  Measured:  `0`
248		//  Estimated: `0`
249		// Minimum execution time: 23_275_000 picoseconds.
250		Weight::from_parts(23_612_000, 0)
251	}
252	pub fn expect_asset() -> Weight {
253		// Proof Size summary in bytes:
254		//  Measured:  `0`
255		//  Estimated: `0`
256		// Minimum execution time: 5_950_000 picoseconds.
257		Weight::from_parts(6_129_000, 0)
258	}
259	pub fn expect_origin() -> Weight {
260		// Proof Size summary in bytes:
261		//  Measured:  `0`
262		//  Estimated: `0`
263		// Minimum execution time: 3_589_000 picoseconds.
264		Weight::from_parts(3_806_000, 0)
265	}
266	pub fn expect_error() -> Weight {
267		// Proof Size summary in bytes:
268		//  Measured:  `0`
269		//  Estimated: `0`
270		// Minimum execution time: 3_648_000 picoseconds.
271		Weight::from_parts(3_844_000, 0)
272	}
273	pub fn expect_transact_status() -> Weight {
274		// Proof Size summary in bytes:
275		//  Measured:  `0`
276		//  Estimated: `0`
277		// Minimum execution time: 917_000 picoseconds.
278		Weight::from_parts(975_000, 0)
279	}
280	// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
281	// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
282	// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
283	// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
284	// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
285	// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
286	// Storage: `System::Account` (r:2 w:2)
287	// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
288	// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
289	// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
290	// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
291	// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
292	// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
293	// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`)
294	pub fn query_pallet() -> Weight {
295		// Proof Size summary in bytes:
296		//  Measured:  `2632`
297		//  Estimated: `6196`
298		// Minimum execution time: 100_417_000 picoseconds.
299		Weight::from_parts(102_884_000, 6196)
300			.saturating_add(T::DbWeight::get().reads(7))
301			.saturating_add(T::DbWeight::get().writes(4))
302	}
303	pub fn expect_pallet() -> Weight {
304		// Proof Size summary in bytes:
305		//  Measured:  `0`
306		//  Estimated: `0`
307		// Minimum execution time: 8_030_000 picoseconds.
308		Weight::from_parts(8_265_000, 0)
309	}
310	// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
311	// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
312	// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
313	// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
314	// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
315	// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
316	// Storage: `System::Account` (r:2 w:2)
317	// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
318	// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
319	// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
320	// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
321	// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
322	// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
323	// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`)
324	pub fn report_transact_status() -> Weight {
325		// Proof Size summary in bytes:
326		//  Measured:  `2632`
327		//  Estimated: `6196`
328		// Minimum execution time: 91_164_000 picoseconds.
329		Weight::from_parts(93_992_000, 6196)
330			.saturating_add(T::DbWeight::get().reads(7))
331			.saturating_add(T::DbWeight::get().writes(4))
332	}
333	pub fn clear_transact_status() -> Weight {
334		// Proof Size summary in bytes:
335		//  Measured:  `0`
336		//  Estimated: `0`
337		// Minimum execution time: 780_000 picoseconds.
338		Weight::from_parts(842_000, 0)
339	}
340	pub fn set_topic() -> Weight {
341		// Proof Size summary in bytes:
342		//  Measured:  `0`
343		//  Estimated: `0`
344		// Minimum execution time: 707_000 picoseconds.
345		Weight::from_parts(768_000, 0)
346	}
347	pub fn clear_topic() -> Weight {
348		// Proof Size summary in bytes:
349		//  Measured:  `0`
350		//  Estimated: `0`
351		// Minimum execution time: 711_000 picoseconds.
352		Weight::from_parts(775_000, 0)
353	}
354	// Storage: `System::Account` (r:1 w:1)
355	// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
356	// Storage: `ForeignAssets::Asset` (r:1 w:1)
357	// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
358	// Storage: `ForeignAssets::Account` (r:1 w:1)
359	// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
360	// Storage: `ForeignAssetsFreezer::FrozenBalances` (r:1 w:0)
361	// Proof: `ForeignAssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(682), added: 3157, mode: `MaxEncodedLen`)
362	pub fn exchange_asset() -> Weight {
363		// Proof Size summary in bytes:
364		//  Measured:  `1244`
365		//  Estimated: `4273`
366		// Minimum execution time: 93_724_000 picoseconds.
367		Weight::from_parts(96_332_000, 4273)
368			.saturating_add(T::DbWeight::get().reads(4))
369			.saturating_add(T::DbWeight::get().writes(3))
370	}
371	// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
372	// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
373	pub fn universal_origin() -> Weight {
374		// Proof Size summary in bytes:
375		//  Measured:  `136`
376		//  Estimated: `1489`
377		// Minimum execution time: 5_567_000 picoseconds.
378		Weight::from_parts(5_841_000, 1489)
379			.saturating_add(T::DbWeight::get().reads(1))
380	}
381	pub fn set_fees_mode() -> Weight {
382		// Proof Size summary in bytes:
383		//  Measured:  `0`
384		//  Estimated: `0`
385		// Minimum execution time: 713_000 picoseconds.
386		Weight::from_parts(779_000, 0)
387	}
388	pub fn unpaid_execution() -> Weight {
389		// Proof Size summary in bytes:
390		//  Measured:  `0`
391		//  Estimated: `0`
392		// Minimum execution time: 728_000 picoseconds.
393		Weight::from_parts(783_000, 0)
394	}
395	pub fn alias_origin() -> Weight {
396		// Proof Size summary in bytes:
397		//  Measured:  `0`
398		//  Estimated: `0`
399		// Minimum execution time: 777_000 picoseconds.
400		Weight::from_parts(859_000, 0)
401	}
402}