1
// Copyright 2024 Moonbeam foundation
2
// This file is part of Moonbeam.
3

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

            
17
//! Autogenerated weights for `pallet_xcm_transactor`
18
//!
19
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
20
//! DATE: 2024-11-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
21
//! WORST CASE MAP SIZE: `1000000`
22
//! HOSTNAME: `ip-10-0-0-176`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz`
23
//! WASM-EXECUTION: Compiled, CHAIN: Some("moonbeam-dev"), DB CACHE: 1024
24

            
25
// Executed Command:
26
// ./target/production/moonbeam
27
// benchmark
28
// pallet
29
// --chain=moonbeam-dev
30
// --steps=50
31
// --repeat=20
32
// --pallet=pallet_xcm_transactor
33
// --extrinsic=*
34
// --wasm-execution=compiled
35
// --header=./file_header.txt
36
// --template=./benchmarking/frame-weight-template.hbs
37
// --output=./runtime/moonbeam/src/weights/
38

            
39
#![cfg_attr(rustfmt, rustfmt_skip)]
40
#![allow(unused_parens)]
41
#![allow(unused_imports)]
42

            
43
use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
44
use sp_std::marker::PhantomData;
45

            
46
/// Weights for `pallet_xcm_transactor`.
47
pub struct WeightInfo<T>(PhantomData<T>);
48
impl<T: frame_system::Config> pallet_xcm_transactor::WeightInfo for WeightInfo<T> {
49
	/// Storage: `XcmTransactor::IndexToAccount` (r:1 w:1)
50
	/// Proof: `XcmTransactor::IndexToAccount` (`max_values`: None, `max_size`: None, mode: `Measured`)
51
	fn register() -> Weight {
52
		// Proof Size summary in bytes:
53
		//  Measured:  `76`
54
		//  Estimated: `3541`
55
		// Minimum execution time: 8_463_000 picoseconds.
56
		Weight::from_parts(8_960_000, 3541)
57
			.saturating_add(T::DbWeight::get().reads(1_u64))
58
			.saturating_add(T::DbWeight::get().writes(1_u64))
59
	}
60
	/// Storage: `XcmTransactor::IndexToAccount` (r:0 w:1)
61
	/// Proof: `XcmTransactor::IndexToAccount` (`max_values`: None, `max_size`: None, mode: `Measured`)
62
	fn deregister() -> Weight {
63
		// Proof Size summary in bytes:
64
		//  Measured:  `0`
65
		//  Estimated: `0`
66
		// Minimum execution time: 5_620_000 picoseconds.
67
		Weight::from_parts(5_823_000, 0)
68
			.saturating_add(T::DbWeight::get().writes(1_u64))
69
	}
70
	/// Storage: `XcmTransactor::TransactInfoWithWeightLimit` (r:0 w:1)
71
	/// Proof: `XcmTransactor::TransactInfoWithWeightLimit` (`max_values`: None, `max_size`: None, mode: `Measured`)
72
	fn set_transact_info() -> Weight {
73
		// Proof Size summary in bytes:
74
		//  Measured:  `0`
75
		//  Estimated: `0`
76
		// Minimum execution time: 6_810_000 picoseconds.
77
		Weight::from_parts(7_095_000, 0)
78
			.saturating_add(T::DbWeight::get().writes(1_u64))
79
	}
80
	/// Storage: `XcmTransactor::TransactInfoWithWeightLimit` (r:0 w:1)
81
	/// Proof: `XcmTransactor::TransactInfoWithWeightLimit` (`max_values`: None, `max_size`: None, mode: `Measured`)
82
	fn remove_transact_info() -> Weight {
83
		// Proof Size summary in bytes:
84
		//  Measured:  `0`
85
		//  Estimated: `0`
86
		// Minimum execution time: 6_297_000 picoseconds.
87
		Weight::from_parts(6_487_000, 0)
88
			.saturating_add(T::DbWeight::get().writes(1_u64))
89
	}
90
	/// Storage: `XcmTransactor::DestinationAssetFeePerSecond` (r:0 w:1)
91
	/// Proof: `XcmTransactor::DestinationAssetFeePerSecond` (`max_values`: None, `max_size`: None, mode: `Measured`)
92
	fn set_fee_per_second() -> Weight {
93
		// Proof Size summary in bytes:
94
		//  Measured:  `0`
95
		//  Estimated: `0`
96
		// Minimum execution time: 6_051_000 picoseconds.
97
		Weight::from_parts(6_476_000, 0)
98
			.saturating_add(T::DbWeight::get().writes(1_u64))
99
	}
100
	/// Storage: `AssetManager::AssetIdType` (r:1 w:0)
101
	/// Proof: `AssetManager::AssetIdType` (`max_values`: None, `max_size`: None, mode: `Measured`)
102
	/// Storage: `XcmTransactor::IndexToAccount` (r:1 w:0)
103
	/// Proof: `XcmTransactor::IndexToAccount` (`max_values`: None, `max_size`: None, mode: `Measured`)
104
	/// Storage: `XcmTransactor::RelayIndices` (r:1 w:0)
105
	/// Proof: `XcmTransactor::RelayIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
106
	/// Storage: `XcmTransactor::TransactInfoWithWeightLimit` (r:1 w:0)
107
	/// Proof: `XcmTransactor::TransactInfoWithWeightLimit` (`max_values`: None, `max_size`: None, mode: `Measured`)
108
	/// Storage: `XcmTransactor::DestinationAssetFeePerSecond` (r:1 w:0)
109
	/// Proof: `XcmTransactor::DestinationAssetFeePerSecond` (`max_values`: None, `max_size`: None, mode: `Measured`)
110
	/// Storage: `AssetManager::AssetTypeId` (r:1 w:0)
111
	/// Proof: `AssetManager::AssetTypeId` (`max_values`: None, `max_size`: None, mode: `Measured`)
112
	/// Storage: `Assets::Asset` (r:1 w:0)
113
	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(174), added: 2649, mode: `MaxEncodedLen`)
114
	fn transact_through_derivative() -> Weight {
115
		// Proof Size summary in bytes:
116
		//  Measured:  `451`
117
		//  Estimated: `3916`
118
		// Minimum execution time: 28_726_000 picoseconds.
119
		Weight::from_parts(29_404_000, 3916)
120
			.saturating_add(T::DbWeight::get().reads(7_u64))
121
	}
122
	/// Storage: `AssetManager::AssetIdType` (r:1 w:0)
123
	/// Proof: `AssetManager::AssetIdType` (`max_values`: None, `max_size`: None, mode: `Measured`)
124
	/// Storage: `XcmTransactor::TransactInfoWithWeightLimit` (r:1 w:0)
125
	/// Proof: `XcmTransactor::TransactInfoWithWeightLimit` (`max_values`: None, `max_size`: None, mode: `Measured`)
126
	/// Storage: `XcmTransactor::DestinationAssetFeePerSecond` (r:1 w:0)
127
	/// Proof: `XcmTransactor::DestinationAssetFeePerSecond` (`max_values`: None, `max_size`: None, mode: `Measured`)
128
	/// Storage: `AssetManager::AssetTypeId` (r:1 w:0)
129
	/// Proof: `AssetManager::AssetTypeId` (`max_values`: None, `max_size`: None, mode: `Measured`)
130
	/// Storage: `Assets::Asset` (r:1 w:0)
131
	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(174), added: 2649, mode: `MaxEncodedLen`)
132
	fn transact_through_sovereign() -> Weight {
133
		// Proof Size summary in bytes:
134
		//  Measured:  `389`
135
		//  Estimated: `3854`
136
		// Minimum execution time: 24_552_000 picoseconds.
137
		Weight::from_parts(25_317_000, 3854)
138
			.saturating_add(T::DbWeight::get().reads(5_u64))
139
	}
140
	/// Storage: `AssetManager::AssetIdType` (r:1 w:0)
141
	/// Proof: `AssetManager::AssetIdType` (`max_values`: None, `max_size`: None, mode: `Measured`)
142
	/// Storage: `XcmTransactor::TransactInfoWithWeightLimit` (r:1 w:0)
143
	/// Proof: `XcmTransactor::TransactInfoWithWeightLimit` (`max_values`: None, `max_size`: None, mode: `Measured`)
144
	/// Storage: `XcmTransactor::DestinationAssetFeePerSecond` (r:1 w:0)
145
	/// Proof: `XcmTransactor::DestinationAssetFeePerSecond` (`max_values`: None, `max_size`: None, mode: `Measured`)
146
	/// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
147
	/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
148
	/// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
149
	/// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
150
	/// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
151
	/// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
152
	/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
153
	/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
154
	/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
155
	/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
156
12
	fn transact_through_signed() -> Weight {
157
12
		// Proof Size summary in bytes:
158
12
		//  Measured:  `433`
159
12
		//  Estimated: `3898`
160
12
		// Minimum execution time: 39_048_000 picoseconds.
161
12
		Weight::from_parts(39_900_000, 3898)
162
12
			.saturating_add(T::DbWeight::get().reads(8_u64))
163
12
			.saturating_add(T::DbWeight::get().writes(2_u64))
164
12
	}
165
	/// Storage: `XcmTransactor::RelayIndices` (r:1 w:0)
166
	/// Proof: `XcmTransactor::RelayIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
167
	/// Storage: `AssetManager::AssetIdType` (r:1 w:0)
168
	/// Proof: `AssetManager::AssetIdType` (`max_values`: None, `max_size`: None, mode: `Measured`)
169
	/// Storage: `XcmTransactor::TransactInfoWithWeightLimit` (r:1 w:0)
170
	/// Proof: `XcmTransactor::TransactInfoWithWeightLimit` (`max_values`: None, `max_size`: None, mode: `Measured`)
171
	/// Storage: `XcmTransactor::DestinationAssetFeePerSecond` (r:1 w:0)
172
	/// Proof: `XcmTransactor::DestinationAssetFeePerSecond` (`max_values`: None, `max_size`: None, mode: `Measured`)
173
	/// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
174
	/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
175
	/// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
176
	/// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
177
	/// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
178
	/// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
179
	/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
180
	/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
181
	/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
182
	/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
183
	fn hrmp_manage() -> Weight {
184
		// Proof Size summary in bytes:
185
		//  Measured:  `433`
186
		//  Estimated: `3898`
187
		// Minimum execution time: 41_572_000 picoseconds.
188
		Weight::from_parts(42_748_000, 3898)
189
			.saturating_add(T::DbWeight::get().reads(9_u64))
190
			.saturating_add(T::DbWeight::get().writes(2_u64))
191
	}
192
}