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