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_external_validators
19
//!
20
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
21
//! DATE: 2024-10-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
22
//! WORST CASE MAP SIZE: `1000000`
23
//! HOSTNAME: `tomasz-XPS-15-9520`, CPU: `12th Gen Intel(R) Core(TM) i7-12700H`
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_external_validators
34
// --extrinsic
35
// *
36
// --chain=dancelight-dev
37
// --steps
38
// 50
39
// --repeat
40
// 20
41
// --template=benchmarking/frame-weight-pallet-template.hbs
42
// --json-file
43
// raw.json
44
// --output
45
// tmp/dancelight_weights/pallet_external_validators.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
/// Weight functions needed for pallet_external_validators.
55
pub trait WeightInfo {
56
	fn skip_external_validators() -> Weight;
57
	fn add_whitelisted(b: u32, ) -> Weight;
58
	fn remove_whitelisted(b: u32, ) -> Weight;
59
	fn force_era() -> Weight;
60
	fn new_session(r: u32, ) -> Weight;
61
}
62

            
63
/// Weights for pallet_external_validators using the Substrate node and recommended hardware.
64
pub struct SubstrateWeight<T>(PhantomData<T>);
65
impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
66
	/// Storage: `ExternalValidators::SkipExternalValidators` (r:0 w:1)
67
	/// Proof: `ExternalValidators::SkipExternalValidators` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
68
	fn skip_external_validators() -> Weight {
69
		// Proof Size summary in bytes:
70
		//  Measured:  `0`
71
		//  Estimated: `0`
72
		// Minimum execution time: 1_391_000 picoseconds.
73
		Weight::from_parts(1_484_000, 0)
74
			.saturating_add(T::DbWeight::get().writes(1_u64))
75
	}
76
	/// Storage: `Session::NextKeys` (r:1 w:0)
77
	/// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
78
	/// Storage: `ExternalValidators::WhitelistedValidators` (r:1 w:1)
79
	/// Proof: `ExternalValidators::WhitelistedValidators` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
80
	/// The range of component `b` is `[1, 99]`.
81
	fn add_whitelisted(b: u32, ) -> Weight {
82
		// Proof Size summary in bytes:
83
		//  Measured:  `845 + b * (36 ±0)`
84
		//  Estimated: `4687 + b * (37 ±0)`
85
		// Minimum execution time: 12_829_000 picoseconds.
86
		Weight::from_parts(17_541_907, 4687)
87
			// Standard Error: 1_560
88
			.saturating_add(Weight::from_parts(62_143, 0).saturating_mul(b.into()))
89
			.saturating_add(T::DbWeight::get().reads(2_u64))
90
			.saturating_add(T::DbWeight::get().writes(1_u64))
91
			.saturating_add(Weight::from_parts(0, 37).saturating_mul(b.into()))
92
	}
93
	/// Storage: `ExternalValidators::WhitelistedValidators` (r:1 w:1)
94
	/// Proof: `ExternalValidators::WhitelistedValidators` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
95
	/// The range of component `b` is `[1, 100]`.
96
	fn remove_whitelisted(b: u32, ) -> Weight {
97
		// Proof Size summary in bytes:
98
		//  Measured:  `137 + b * (32 ±0)`
99
		//  Estimated: `4687`
100
		// Minimum execution time: 7_269_000 picoseconds.
101
		Weight::from_parts(9_100_286, 4687)
102
			// Standard Error: 626
103
			.saturating_add(Weight::from_parts(35_303, 0).saturating_mul(b.into()))
104
			.saturating_add(T::DbWeight::get().reads(1_u64))
105
			.saturating_add(T::DbWeight::get().writes(1_u64))
106
	}
107
	/// Storage: `ExternalValidators::ForceEra` (r:0 w:1)
108
	/// Proof: `ExternalValidators::ForceEra` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
109
	fn force_era() -> Weight {
110
		// Proof Size summary in bytes:
111
		//  Measured:  `0`
112
		//  Estimated: `0`
113
		// Minimum execution time: 4_578_000 picoseconds.
114
		Weight::from_parts(4_924_000, 0)
115
			.saturating_add(T::DbWeight::get().writes(1_u64))
116
	}
117
	/// Storage: `ExternalValidators::ForceEra` (r:1 w:0)
118
	/// Proof: `ExternalValidators::ForceEra` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
119
	/// Storage: `ExternalValidators::EraSessionStart` (r:1 w:1)
120
	/// Proof: `ExternalValidators::EraSessionStart` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
121
	/// Storage: `ExternalValidators::ActiveEra` (r:1 w:1)
122
	/// Proof: `ExternalValidators::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`)
123
	/// Storage: `ExternalValidators::WhitelistedValidators` (r:1 w:0)
124
	/// Proof: `ExternalValidators::WhitelistedValidators` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
125
	/// Storage: `ExternalValidators::SkipExternalValidators` (r:1 w:0)
126
	/// Proof: `ExternalValidators::SkipExternalValidators` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
127
	/// Storage: `ExternalValidators::ExternalValidators` (r:1 w:0)
128
	/// Proof: `ExternalValidators::ExternalValidators` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
129
	/// The range of component `r` is `[1, 100]`.
130
	fn new_session(r: u32, ) -> Weight {
131
		// Proof Size summary in bytes:
132
		//  Measured:  `137 + r * (32 ±0)`
133
		//  Estimated: `4687`
134
		// Minimum execution time: 8_587_000 picoseconds.
135
		Weight::from_parts(10_453_582, 4687)
136
			// Standard Error: 555
137
			.saturating_add(Weight::from_parts(27_159, 0).saturating_mul(r.into()))
138
			.saturating_add(T::DbWeight::get().reads(6_u64))
139
			.saturating_add(T::DbWeight::get().writes(2_u64))
140
	}
141
}
142

            
143
// For backwards compatibility and tests
144
impl WeightInfo for () {
145
	/// Storage: `ExternalValidators::SkipExternalValidators` (r:0 w:1)
146
	/// Proof: `ExternalValidators::SkipExternalValidators` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
147
	fn skip_external_validators() -> Weight {
148
		// Proof Size summary in bytes:
149
		//  Measured:  `0`
150
		//  Estimated: `0`
151
		// Minimum execution time: 1_391_000 picoseconds.
152
		Weight::from_parts(1_484_000, 0)
153
			.saturating_add(RocksDbWeight::get().writes(1_u64))
154
	}
155
	/// Storage: `Session::NextKeys` (r:1 w:0)
156
	/// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
157
	/// Storage: `ExternalValidators::WhitelistedValidators` (r:1 w:1)
158
	/// Proof: `ExternalValidators::WhitelistedValidators` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
159
	/// The range of component `b` is `[1, 99]`.
160
24
	fn add_whitelisted(b: u32, ) -> Weight {
161
24
		// Proof Size summary in bytes:
162
24
		//  Measured:  `845 + b * (36 ±0)`
163
24
		//  Estimated: `4687 + b * (37 ±0)`
164
24
		// Minimum execution time: 12_829_000 picoseconds.
165
24
		Weight::from_parts(17_541_907, 4687)
166
24
			// Standard Error: 1_560
167
24
			.saturating_add(Weight::from_parts(62_143, 0).saturating_mul(b.into()))
168
24
			.saturating_add(RocksDbWeight::get().reads(2_u64))
169
24
			.saturating_add(RocksDbWeight::get().writes(1_u64))
170
24
			.saturating_add(Weight::from_parts(0, 37).saturating_mul(b.into()))
171
24
	}
172
	/// Storage: `ExternalValidators::WhitelistedValidators` (r:1 w:1)
173
	/// Proof: `ExternalValidators::WhitelistedValidators` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
174
	/// The range of component `b` is `[1, 100]`.
175
	fn remove_whitelisted(b: u32, ) -> Weight {
176
		// Proof Size summary in bytes:
177
		//  Measured:  `137 + b * (32 ±0)`
178
		//  Estimated: `4687`
179
		// Minimum execution time: 7_269_000 picoseconds.
180
		Weight::from_parts(9_100_286, 4687)
181
			// Standard Error: 626
182
			.saturating_add(Weight::from_parts(35_303, 0).saturating_mul(b.into()))
183
			.saturating_add(RocksDbWeight::get().reads(1_u64))
184
			.saturating_add(RocksDbWeight::get().writes(1_u64))
185
	}
186
	/// Storage: `ExternalValidators::ForceEra` (r:0 w:1)
187
	/// Proof: `ExternalValidators::ForceEra` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
188
	fn force_era() -> Weight {
189
		// Proof Size summary in bytes:
190
		//  Measured:  `0`
191
		//  Estimated: `0`
192
		// Minimum execution time: 4_578_000 picoseconds.
193
		Weight::from_parts(4_924_000, 0)
194
			.saturating_add(RocksDbWeight::get().writes(1_u64))
195
	}
196
	/// Storage: `ExternalValidators::ForceEra` (r:1 w:0)
197
	/// Proof: `ExternalValidators::ForceEra` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
198
	/// Storage: `ExternalValidators::EraSessionStart` (r:1 w:1)
199
	/// Proof: `ExternalValidators::EraSessionStart` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
200
	/// Storage: `ExternalValidators::ActiveEra` (r:1 w:1)
201
	/// Proof: `ExternalValidators::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`)
202
	/// Storage: `ExternalValidators::WhitelistedValidators` (r:1 w:0)
203
	/// Proof: `ExternalValidators::WhitelistedValidators` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
204
	/// Storage: `ExternalValidators::SkipExternalValidators` (r:1 w:0)
205
	/// Proof: `ExternalValidators::SkipExternalValidators` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
206
	/// Storage: `ExternalValidators::ExternalValidators` (r:1 w:0)
207
	/// Proof: `ExternalValidators::ExternalValidators` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
208
	/// The range of component `r` is `[1, 100]`.
209
	fn new_session(r: u32, ) -> Weight {
210
		// Proof Size summary in bytes:
211
		//  Measured:  `137 + r * (32 ±0)`
212
		//  Estimated: `4687`
213
		// Minimum execution time: 8_587_000 picoseconds.
214
		Weight::from_parts(10_453_582, 4687)
215
			// Standard Error: 555
216
			.saturating_add(Weight::from_parts(27_159, 0).saturating_mul(r.into()))
217
			.saturating_add(RocksDbWeight::get().reads(6_u64))
218
			.saturating_add(RocksDbWeight::get().writes(2_u64))
219
	}
220
}