1
// Copyright (C) Moondance Labs Ltd.
2
// This file is part of Tanssi.
3

            
4
// Tanssi 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
// Tanssi 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 Tanssi.  If not, see <http://www.gnu.org/licenses/>
16

            
17

            
18
//! Autogenerated weights for pallet_xcm
19
//!
20
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 49.1.0
21
//! DATE: 2025-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
22
//! WORST CASE MAP SIZE: `1000000`
23
//! HOSTNAME: `benchmark-1`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz`
24
//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("dancelight-dev"), DB CACHE: 1024
25

            
26
// Executed Command:
27
// target/release/tanssi-relay
28
// benchmark
29
// pallet
30
// --wasm-execution=compiled
31
// --pallet
32
// pallet_xcm
33
// --extrinsic
34
// *
35
// --chain=dancelight-dev
36
// --steps
37
// 50
38
// --repeat
39
// 20
40
// --template=benchmarking/frame-weight-runtime-template.hbs
41
// --json-file
42
// raw.json
43
// --output
44
// tmp/dancelight_weights/pallet_xcm.rs
45

            
46
#![cfg_attr(rustfmt, rustfmt_skip)]
47
#![allow(unused_parens)]
48
#![allow(unused_imports)]
49

            
50
use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
51
use core::marker::PhantomData;
52

            
53
/// Weights for pallet_xcm using the Substrate node and recommended hardware.
54
pub struct SubstrateWeight<T>(PhantomData<T>);
55
impl<T: frame_system::Config> pallet_xcm::WeightInfo for SubstrateWeight<T> {
56
	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
57
	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
58
	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
59
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
60
	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
61
	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
62
	/// Storage: `Paras::Heads` (r:1 w:0)
63
	/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
64
	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
65
	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
66
	fn send() -> Weight {
67
		// Proof Size summary in bytes:
68
		//  Measured:  `141`
69
		//  Estimated: `3606`
70
		// Minimum execution time: 51_114_000 picoseconds.
71
		Weight::from_parts(53_131_000, 3606)
72
			.saturating_add(T::DbWeight::get().reads(5_u64))
73
			.saturating_add(T::DbWeight::get().writes(2_u64))
74
	}
75
	/// Storage: `Benchmark::Override` (r:0 w:0)
76
	/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
77
	fn teleport_assets() -> Weight {
78
		// Proof Size summary in bytes:
79
		//  Measured:  `0`
80
		//  Estimated: `0`
81
		// Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
82
		Weight::from_parts(18_446_744_073_709_551_000, 0)
83
	}
84
	/// Storage: `System::Account` (r:1 w:1)
85
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
86
	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
87
	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
88
	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
89
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
90
	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
91
	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
92
	/// Storage: `Paras::Heads` (r:1 w:0)
93
	/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
94
	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
95
	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
96
	fn reserve_transfer_assets() -> Weight {
97
		// Proof Size summary in bytes:
98
		//  Measured:  `193`
99
		//  Estimated: `3658`
100
		// Minimum execution time: 178_061_000 picoseconds.
101
		Weight::from_parts(181_481_000, 3658)
102
			.saturating_add(T::DbWeight::get().reads(6_u64))
103
			.saturating_add(T::DbWeight::get().writes(3_u64))
104
	}
105
	/// Storage: `System::Account` (r:1 w:1)
106
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
107
	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
108
	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
109
	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
110
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
111
	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
112
	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
113
	/// Storage: `Paras::Heads` (r:1 w:0)
114
	/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
115
	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
116
	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
117
	fn transfer_assets() -> Weight {
118
		// Proof Size summary in bytes:
119
		//  Measured:  `141`
120
		//  Estimated: `3606`
121
		// Minimum execution time: 175_455_000 picoseconds.
122
		Weight::from_parts(178_758_000, 3606)
123
			.saturating_add(T::DbWeight::get().reads(6_u64))
124
			.saturating_add(T::DbWeight::get().writes(3_u64))
125
	}
126
1
	fn execute() -> Weight {
127
		// Proof Size summary in bytes:
128
		//  Measured:  `0`
129
		//  Estimated: `0`
130
		// Minimum execution time: 12_911_000 picoseconds.
131
1
		Weight::from_parts(13_138_000, 0)
132
1
	}
133
	/// Storage: `XcmPallet::SupportedVersion` (r:0 w:1)
134
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
135
	fn force_xcm_version() -> Weight {
136
		// Proof Size summary in bytes:
137
		//  Measured:  `0`
138
		//  Estimated: `0`
139
		// Minimum execution time: 11_522_000 picoseconds.
140
		Weight::from_parts(11_896_000, 0)
141
			.saturating_add(T::DbWeight::get().writes(1_u64))
142
	}
143
	fn force_default_xcm_version() -> Weight {
144
		// Proof Size summary in bytes:
145
		//  Measured:  `0`
146
		//  Estimated: `0`
147
		// Minimum execution time: 3_790_000 picoseconds.
148
		Weight::from_parts(3_937_000, 0)
149
	}
150
	/// Storage: `XcmPallet::VersionNotifiers` (r:1 w:1)
151
	/// Proof: `XcmPallet::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
152
	/// Storage: `XcmPallet::QueryCounter` (r:1 w:1)
153
	/// Proof: `XcmPallet::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
154
	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
155
	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
156
	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
157
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
158
	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
159
	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
160
	/// Storage: `Paras::Heads` (r:1 w:0)
161
	/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
162
	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
163
	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
164
	/// Storage: `XcmPallet::Queries` (r:0 w:1)
165
	/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
166
	fn force_subscribe_version_notify() -> Weight {
167
		// Proof Size summary in bytes:
168
		//  Measured:  `141`
169
		//  Estimated: `3606`
170
		// Minimum execution time: 58_594_000 picoseconds.
171
		Weight::from_parts(61_111_000, 3606)
172
			.saturating_add(T::DbWeight::get().reads(7_u64))
173
			.saturating_add(T::DbWeight::get().writes(5_u64))
174
	}
175
	/// Storage: `XcmPallet::VersionNotifiers` (r:1 w:1)
176
	/// Proof: `XcmPallet::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
177
	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
178
	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
179
	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
180
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
181
	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
182
	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
183
	/// Storage: `Paras::Heads` (r:1 w:0)
184
	/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
185
	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
186
	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
187
	/// Storage: `XcmPallet::Queries` (r:0 w:1)
188
	/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
189
	fn force_unsubscribe_version_notify() -> Weight {
190
		// Proof Size summary in bytes:
191
		//  Measured:  `321`
192
		//  Estimated: `3786`
193
		// Minimum execution time: 63_045_000 picoseconds.
194
		Weight::from_parts(65_516_000, 3786)
195
			.saturating_add(T::DbWeight::get().reads(6_u64))
196
			.saturating_add(T::DbWeight::get().writes(4_u64))
197
	}
198
	/// Storage: `XcmPallet::XcmExecutionSuspended` (r:0 w:1)
199
	/// Proof: `XcmPallet::XcmExecutionSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
200
	fn force_suspension() -> Weight {
201
		// Proof Size summary in bytes:
202
		//  Measured:  `0`
203
		//  Estimated: `0`
204
		// Minimum execution time: 3_837_000 picoseconds.
205
		Weight::from_parts(3_988_000, 0)
206
			.saturating_add(T::DbWeight::get().writes(1_u64))
207
	}
208
	/// Storage: `XcmPallet::SupportedVersion` (r:6 w:2)
209
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
210
	fn migrate_supported_version() -> Weight {
211
		// Proof Size summary in bytes:
212
		//  Measured:  `22`
213
		//  Estimated: `15862`
214
		// Minimum execution time: 27_738_000 picoseconds.
215
		Weight::from_parts(28_249_000, 15862)
216
			.saturating_add(T::DbWeight::get().reads(6_u64))
217
			.saturating_add(T::DbWeight::get().writes(2_u64))
218
	}
219
	/// Storage: `XcmPallet::VersionNotifiers` (r:6 w:2)
220
	/// Proof: `XcmPallet::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
221
	fn migrate_version_notifiers() -> Weight {
222
		// Proof Size summary in bytes:
223
		//  Measured:  `26`
224
		//  Estimated: `15866`
225
		// Minimum execution time: 27_830_000 picoseconds.
226
		Weight::from_parts(28_404_000, 15866)
227
			.saturating_add(T::DbWeight::get().reads(6_u64))
228
			.saturating_add(T::DbWeight::get().writes(2_u64))
229
	}
230
	/// Storage: `XcmPallet::VersionNotifyTargets` (r:7 w:0)
231
	/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
232
	fn already_notified_target() -> Weight {
233
		// Proof Size summary in bytes:
234
		//  Measured:  `78`
235
		//  Estimated: `18393`
236
		// Minimum execution time: 35_474_000 picoseconds.
237
		Weight::from_parts(36_076_000, 18393)
238
			.saturating_add(T::DbWeight::get().reads(7_u64))
239
	}
240
	/// Storage: `XcmPallet::VersionNotifyTargets` (r:2 w:1)
241
	/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
242
	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
243
	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
244
	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
245
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
246
	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:0)
247
	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
248
	/// Storage: `Paras::Heads` (r:1 w:0)
249
	/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
250
	fn notify_current_targets() -> Weight {
251
		// Proof Size summary in bytes:
252
		//  Measured:  `140`
253
		//  Estimated: `6080`
254
		// Minimum execution time: 43_461_000 picoseconds.
255
		Weight::from_parts(44_250_000, 6080)
256
			.saturating_add(T::DbWeight::get().reads(6_u64))
257
			.saturating_add(T::DbWeight::get().writes(1_u64))
258
	}
259
	/// Storage: `XcmPallet::VersionNotifyTargets` (r:5 w:0)
260
	/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
261
	fn notify_target_migration_fail() -> Weight {
262
		// Proof Size summary in bytes:
263
		//  Measured:  `78`
264
		//  Estimated: `13443`
265
		// Minimum execution time: 25_196_000 picoseconds.
266
		Weight::from_parts(25_707_000, 13443)
267
			.saturating_add(T::DbWeight::get().reads(5_u64))
268
	}
269
	/// Storage: `XcmPallet::VersionNotifyTargets` (r:6 w:2)
270
	/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
271
	fn migrate_version_notify_targets() -> Weight {
272
		// Proof Size summary in bytes:
273
		//  Measured:  `33`
274
		//  Estimated: `15873`
275
		// Minimum execution time: 28_447_000 picoseconds.
276
		Weight::from_parts(28_769_000, 15873)
277
			.saturating_add(T::DbWeight::get().reads(6_u64))
278
			.saturating_add(T::DbWeight::get().writes(2_u64))
279
	}
280
	/// Storage: `XcmPallet::VersionNotifyTargets` (r:6 w:1)
281
	/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
282
	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
283
	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
284
	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
285
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
286
	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:0)
287
	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
288
	/// Storage: `Paras::Heads` (r:1 w:0)
289
	/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
290
	fn migrate_and_notify_old_targets() -> Weight {
291
		// Proof Size summary in bytes:
292
		//  Measured:  `140`
293
		//  Estimated: `15980`
294
		// Minimum execution time: 57_121_000 picoseconds.
295
		Weight::from_parts(58_025_000, 15980)
296
			.saturating_add(T::DbWeight::get().reads(10_u64))
297
			.saturating_add(T::DbWeight::get().writes(1_u64))
298
	}
299
	/// Storage: `XcmPallet::QueryCounter` (r:1 w:1)
300
	/// Proof: `XcmPallet::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
301
	/// Storage: `XcmPallet::Queries` (r:0 w:1)
302
	/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
303
	fn new_query() -> Weight {
304
		// Proof Size summary in bytes:
305
		//  Measured:  `0`
306
		//  Estimated: `1485`
307
		// Minimum execution time: 3_816_000 picoseconds.
308
		Weight::from_parts(4_057_000, 1485)
309
			.saturating_add(T::DbWeight::get().reads(1_u64))
310
			.saturating_add(T::DbWeight::get().writes(2_u64))
311
	}
312
	/// Storage: `XcmPallet::Queries` (r:1 w:1)
313
	/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
314
	fn take_response() -> Weight {
315
		// Proof Size summary in bytes:
316
		//  Measured:  `7576`
317
		//  Estimated: `11041`
318
		// Minimum execution time: 36_206_000 picoseconds.
319
		Weight::from_parts(36_516_000, 11041)
320
			.saturating_add(T::DbWeight::get().reads(1_u64))
321
			.saturating_add(T::DbWeight::get().writes(1_u64))
322
	}
323
	/// Storage: `XcmPallet::AssetTraps` (r:1 w:1)
324
	/// Proof: `XcmPallet::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`)
325
	fn claim_assets() -> Weight {
326
		// Proof Size summary in bytes:
327
		//  Measured:  `23`
328
		//  Estimated: `3488`
329
		// Minimum execution time: 52_840_000 picoseconds.
330
		Weight::from_parts(54_447_000, 3488)
331
			.saturating_add(T::DbWeight::get().reads(1_u64))
332
			.saturating_add(T::DbWeight::get().writes(1_u64))
333
	}
334
	/// Storage: `Benchmark::Override` (r:0 w:0)
335
	/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
336
	fn add_authorized_alias() -> Weight {
337
		// Proof Size summary in bytes:
338
		//  Measured:  `0`
339
		//  Estimated: `0`
340
		// Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
341
		Weight::from_parts(18_446_744_073_709_551_000, 0)
342
	}
343
	/// Storage: `Benchmark::Override` (r:0 w:0)
344
	/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
345
	fn remove_authorized_alias() -> Weight {
346
		// Proof Size summary in bytes:
347
		//  Measured:  `0`
348
		//  Estimated: `0`
349
		// Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
350
		Weight::from_parts(18_446_744_073_709_551_000, 0)
351
	}
352
}