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 32.0.0
21
//! DATE: 2025-05-02, 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
// --execution=wasm
31
// --wasm-execution=compiled
32
// --pallet
33
// pallet_xcm
34
// --extrinsic
35
// *
36
// --chain=dancelight-dev
37
// --steps
38
// 50
39
// --repeat
40
// 20
41
// --template=benchmarking/frame-weight-runtime-template.hbs
42
// --json-file
43
// raw.json
44
// --output
45
// tmp/dancelight_weights/pallet_xcm.rs
46

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

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

            
54
/// Weights for pallet_xcm using the Substrate node and recommended hardware.
55
pub struct SubstrateWeight<T>(PhantomData<T>);
56
impl<T: frame_system::Config> pallet_xcm::WeightInfo for SubstrateWeight<T> {
57
	fn add_authorized_alias() -> sp_runtime::Weight {
58
		Default::default()
59
	}
60
	fn remove_authorized_alias() -> sp_runtime::Weight {
61
		Default::default()
62
	}
63
	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
64
	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
65
	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
66
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
67
	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
68
	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
69
	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
70
	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
71
	fn send() -> Weight {
72
		// Proof Size summary in bytes:
73
		//  Measured:  `76`
74
		//  Estimated: `3541`
75
		// Minimum execution time: 44_136_000 picoseconds.
76
		Weight::from_parts(44_762_000, 3541)
77
			.saturating_add(T::DbWeight::get().reads(4_u64))
78
			.saturating_add(T::DbWeight::get().writes(2_u64))
79
	}
80
	/// Storage: `Benchmark::Override` (r:0 w:0)
81
	/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
82
	fn teleport_assets() -> Weight {
83
		// Proof Size summary in bytes:
84
		//  Measured:  `0`
85
		//  Estimated: `0`
86
		// Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
87
		Weight::from_parts(18_446_744_073_709_551_000, 0)
88
	}
89
	/// Storage: `System::Account` (r:1 w:1)
90
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
91
	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
92
	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
93
	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
94
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
95
	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
96
	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
97
	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
98
	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
99
	fn reserve_transfer_assets() -> Weight {
100
		// Proof Size summary in bytes:
101
		//  Measured:  `128`
102
		//  Estimated: `3593`
103
		// Minimum execution time: 160_063_000 picoseconds.
104
		Weight::from_parts(163_546_000, 3593)
105
			.saturating_add(T::DbWeight::get().reads(5_u64))
106
			.saturating_add(T::DbWeight::get().writes(3_u64))
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: `Dmp::DeliveryFeeFactor` (r:1 w:0)
111
	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
112
	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
113
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
114
	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
115
	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
116
	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
117
	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
118
	fn transfer_assets() -> Weight {
119
		// Proof Size summary in bytes:
120
		//  Measured:  `76`
121
		//  Estimated: `3593`
122
		// Minimum execution time: 159_007_000 picoseconds.
123
		Weight::from_parts(162_084_000, 3593)
124
			.saturating_add(T::DbWeight::get().reads(5_u64))
125
			.saturating_add(T::DbWeight::get().writes(3_u64))
126
	}
127
1
	fn execute() -> Weight {
128
1
		// Proof Size summary in bytes:
129
1
		//  Measured:  `0`
130
1
		//  Estimated: `0`
131
1
		// Minimum execution time: 12_477_000 picoseconds.
132
1
		Weight::from_parts(13_045_000, 0)
133
1
	}
134
	/// Storage: `XcmPallet::SupportedVersion` (r:0 w:1)
135
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
136
	fn force_xcm_version() -> Weight {
137
		// Proof Size summary in bytes:
138
		//  Measured:  `0`
139
		//  Estimated: `0`
140
		// Minimum execution time: 11_322_000 picoseconds.
141
		Weight::from_parts(11_778_000, 0)
142
			.saturating_add(T::DbWeight::get().writes(1_u64))
143
	}
144
	fn force_default_xcm_version() -> Weight {
145
		// Proof Size summary in bytes:
146
		//  Measured:  `0`
147
		//  Estimated: `0`
148
		// Minimum execution time: 3_635_000 picoseconds.
149
		Weight::from_parts(3_778_000, 0)
150
	}
151
	/// Storage: `XcmPallet::VersionNotifiers` (r:1 w:1)
152
	/// Proof: `XcmPallet::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
153
	/// Storage: `XcmPallet::QueryCounter` (r:1 w:1)
154
	/// Proof: `XcmPallet::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
155
	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
156
	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
157
	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
158
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
159
	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
160
	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
161
	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
162
	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
163
	/// Storage: `XcmPallet::Queries` (r:0 w:1)
164
	/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
165
	fn force_subscribe_version_notify() -> Weight {
166
		// Proof Size summary in bytes:
167
		//  Measured:  `76`
168
		//  Estimated: `3541`
169
		// Minimum execution time: 52_430_000 picoseconds.
170
		Weight::from_parts(54_094_000, 3541)
171
			.saturating_add(T::DbWeight::get().reads(6_u64))
172
			.saturating_add(T::DbWeight::get().writes(5_u64))
173
	}
174
	/// Storage: `XcmPallet::VersionNotifiers` (r:1 w:1)
175
	/// Proof: `XcmPallet::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
176
	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
177
	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
178
	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
179
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
180
	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
181
	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
182
	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
183
	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
184
	/// Storage: `XcmPallet::Queries` (r:0 w:1)
185
	/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
186
	fn force_unsubscribe_version_notify() -> Weight {
187
		// Proof Size summary in bytes:
188
		//  Measured:  `256`
189
		//  Estimated: `3721`
190
		// Minimum execution time: 54_971_000 picoseconds.
191
		Weight::from_parts(56_279_000, 3721)
192
			.saturating_add(T::DbWeight::get().reads(5_u64))
193
			.saturating_add(T::DbWeight::get().writes(4_u64))
194
	}
195
	/// Storage: `XcmPallet::XcmExecutionSuspended` (r:0 w:1)
196
	/// Proof: `XcmPallet::XcmExecutionSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
197
	fn force_suspension() -> Weight {
198
		// Proof Size summary in bytes:
199
		//  Measured:  `0`
200
		//  Estimated: `0`
201
		// Minimum execution time: 3_780_000 picoseconds.
202
		Weight::from_parts(3_989_000, 0)
203
			.saturating_add(T::DbWeight::get().writes(1_u64))
204
	}
205
	/// Storage: `XcmPallet::SupportedVersion` (r:6 w:2)
206
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
207
	fn migrate_supported_version() -> Weight {
208
		// Proof Size summary in bytes:
209
		//  Measured:  `22`
210
		//  Estimated: `15862`
211
		// Minimum execution time: 28_448_000 picoseconds.
212
		Weight::from_parts(28_756_000, 15862)
213
			.saturating_add(T::DbWeight::get().reads(6_u64))
214
			.saturating_add(T::DbWeight::get().writes(2_u64))
215
	}
216
	/// Storage: `XcmPallet::VersionNotifiers` (r:6 w:2)
217
	/// Proof: `XcmPallet::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
218
	fn migrate_version_notifiers() -> Weight {
219
		// Proof Size summary in bytes:
220
		//  Measured:  `26`
221
		//  Estimated: `15866`
222
		// Minimum execution time: 28_612_000 picoseconds.
223
		Weight::from_parts(28_975_000, 15866)
224
			.saturating_add(T::DbWeight::get().reads(6_u64))
225
			.saturating_add(T::DbWeight::get().writes(2_u64))
226
	}
227
	/// Storage: `XcmPallet::VersionNotifyTargets` (r:7 w:0)
228
	/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
229
	fn already_notified_target() -> Weight {
230
		// Proof Size summary in bytes:
231
		//  Measured:  `78`
232
		//  Estimated: `18393`
233
		// Minimum execution time: 34_195_000 picoseconds.
234
		Weight::from_parts(35_000_000, 18393)
235
			.saturating_add(T::DbWeight::get().reads(7_u64))
236
	}
237
	/// Storage: `XcmPallet::VersionNotifyTargets` (r:2 w:1)
238
	/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
239
	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
240
	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
241
	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
242
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
243
	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
244
	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
245
	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
246
	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
247
	fn notify_current_targets() -> Weight {
248
		// Proof Size summary in bytes:
249
		//  Measured:  `112`
250
		//  Estimated: `6052`
251
		// Minimum execution time: 50_656_000 picoseconds.
252
		Weight::from_parts(52_587_000, 6052)
253
			.saturating_add(T::DbWeight::get().reads(6_u64))
254
			.saturating_add(T::DbWeight::get().writes(3_u64))
255
	}
256
	/// Storage: `XcmPallet::VersionNotifyTargets` (r:5 w:0)
257
	/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
258
	fn notify_target_migration_fail() -> Weight {
259
		// Proof Size summary in bytes:
260
		//  Measured:  `78`
261
		//  Estimated: `13443`
262
		// Minimum execution time: 25_149_000 picoseconds.
263
		Weight::from_parts(25_467_000, 13443)
264
			.saturating_add(T::DbWeight::get().reads(5_u64))
265
	}
266
	/// Storage: `XcmPallet::VersionNotifyTargets` (r:6 w:2)
267
	/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
268
	fn migrate_version_notify_targets() -> Weight {
269
		// Proof Size summary in bytes:
270
		//  Measured:  `33`
271
		//  Estimated: `15873`
272
		// Minimum execution time: 28_430_000 picoseconds.
273
		Weight::from_parts(29_150_000, 15873)
274
			.saturating_add(T::DbWeight::get().reads(6_u64))
275
			.saturating_add(T::DbWeight::get().writes(2_u64))
276
	}
277
	/// Storage: `XcmPallet::VersionNotifyTargets` (r:6 w:2)
278
	/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
279
	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
280
	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
281
	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
282
	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
283
	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
284
	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
285
	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
286
	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
287
	fn migrate_and_notify_old_targets() -> Weight {
288
		// Proof Size summary in bytes:
289
		//  Measured:  `112`
290
		//  Estimated: `15952`
291
		// Minimum execution time: 68_477_000 picoseconds.
292
		Weight::from_parts(69_956_000, 15952)
293
			.saturating_add(T::DbWeight::get().reads(10_u64))
294
			.saturating_add(T::DbWeight::get().writes(4_u64))
295
	}
296
	/// Storage: `XcmPallet::QueryCounter` (r:1 w:1)
297
	/// Proof: `XcmPallet::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
298
	/// Storage: `XcmPallet::Queries` (r:0 w:1)
299
	/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
300
	fn new_query() -> Weight {
301
		// Proof Size summary in bytes:
302
		//  Measured:  `0`
303
		//  Estimated: `1485`
304
		// Minimum execution time: 3_981_000 picoseconds.
305
		Weight::from_parts(4_090_000, 1485)
306
			.saturating_add(T::DbWeight::get().reads(1_u64))
307
			.saturating_add(T::DbWeight::get().writes(2_u64))
308
	}
309
	/// Storage: `XcmPallet::Queries` (r:1 w:1)
310
	/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
311
	fn take_response() -> Weight {
312
		// Proof Size summary in bytes:
313
		//  Measured:  `7576`
314
		//  Estimated: `11041`
315
		// Minimum execution time: 35_084_000 picoseconds.
316
		Weight::from_parts(35_828_000, 11041)
317
			.saturating_add(T::DbWeight::get().reads(1_u64))
318
			.saturating_add(T::DbWeight::get().writes(1_u64))
319
	}
320
	/// Storage: `XcmPallet::AssetTraps` (r:1 w:1)
321
	/// Proof: `XcmPallet::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`)
322
	fn claim_assets() -> Weight {
323
		// Proof Size summary in bytes:
324
		//  Measured:  `23`
325
		//  Estimated: `3488`
326
		// Minimum execution time: 51_734_000 picoseconds.
327
		Weight::from_parts(52_855_000, 3488)
328
			.saturating_add(T::DbWeight::get().reads(1_u64))
329
			.saturating_add(T::DbWeight::get().writes(1_u64))
330
	}
331
}