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_moonbeam_orbiters`
18
//!
19
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
20
//! DATE: 2024-10-10, 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("moonbase-dev"), DB CACHE: 1024
24

            
25
// Executed Command:
26
// ./target/production/moonbeam
27
// benchmark
28
// pallet
29
// --chain=moonbase-dev
30
// --steps=50
31
// --repeat=20
32
// --pallet=pallet_moonbeam_orbiters
33
// --extrinsic=*
34
// --wasm-execution=compiled
35
// --header=./file_header.txt
36
// --template=./benchmarking/frame-weight-template.hbs
37
// --output=./runtime/common/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_moonbeam_orbiters`.
47
pub struct WeightInfo<T>(PhantomData<T>);
48
impl<T: frame_system::Config> pallet_moonbeam_orbiters::WeightInfo for WeightInfo<T> {
49
	/// Storage: `MoonbeamOrbiters::CollatorsPool` (r:1 w:1)
50
	/// Proof: `MoonbeamOrbiters::CollatorsPool` (`max_values`: None, `max_size`: None, mode: `Measured`)
51
	/// Storage: `Balances::Reserves` (r:1 w:0)
52
	/// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1037), added: 3512, mode: `MaxEncodedLen`)
53
	fn collator_add_orbiter() -> Weight {
54
		// Proof Size summary in bytes:
55
		//  Measured:  `562`
56
		//  Estimated: `4502`
57
		// Minimum execution time: 19_313_000 picoseconds.
58
		Weight::from_parts(19_979_000, 4502)
59
			.saturating_add(T::DbWeight::get().reads(2_u64))
60
			.saturating_add(T::DbWeight::get().writes(1_u64))
61
	}
62
	/// Storage: `MoonbeamOrbiters::CollatorsPool` (r:1 w:1)
63
	/// Proof: `MoonbeamOrbiters::CollatorsPool` (`max_values`: None, `max_size`: None, mode: `Measured`)
64
	fn collator_remove_orbiter() -> Weight {
65
		// Proof Size summary in bytes:
66
		//  Measured:  `366`
67
		//  Estimated: `3831`
68
		// Minimum execution time: 15_324_000 picoseconds.
69
		Weight::from_parts(15_825_000, 3831)
70
			.saturating_add(T::DbWeight::get().reads(1_u64))
71
			.saturating_add(T::DbWeight::get().writes(1_u64))
72
	}
73
	/// Storage: `MoonbeamOrbiters::CollatorsPool` (r:1 w:1)
74
	/// Proof: `MoonbeamOrbiters::CollatorsPool` (`max_values`: None, `max_size`: None, mode: `Measured`)
75
	fn orbiter_leave_collator_pool() -> Weight {
76
		// Proof Size summary in bytes:
77
		//  Measured:  `366`
78
		//  Estimated: `3831`
79
		// Minimum execution time: 15_264_000 picoseconds.
80
		Weight::from_parts(15_756_000, 3831)
81
			.saturating_add(T::DbWeight::get().reads(1_u64))
82
			.saturating_add(T::DbWeight::get().writes(1_u64))
83
	}
84
	/// Storage: `MoonbeamOrbiters::MinOrbiterDeposit` (r:1 w:0)
85
	/// Proof: `MoonbeamOrbiters::MinOrbiterDeposit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
86
	/// Storage: `Balances::Reserves` (r:1 w:1)
87
	/// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1037), added: 3512, mode: `MaxEncodedLen`)
88
	/// Storage: `System::Account` (r:1 w:1)
89
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
90
	/// Storage: `MoonbeamOrbiters::RegisteredOrbiter` (r:0 w:1)
91
	/// Proof: `MoonbeamOrbiters::RegisteredOrbiter` (`max_values`: None, `max_size`: None, mode: `Measured`)
92
	fn orbiter_register() -> Weight {
93
		// Proof Size summary in bytes:
94
		//  Measured:  `282`
95
		//  Estimated: `4502`
96
		// Minimum execution time: 29_591_000 picoseconds.
97
		Weight::from_parts(30_764_000, 4502)
98
			.saturating_add(T::DbWeight::get().reads(3_u64))
99
			.saturating_add(T::DbWeight::get().writes(3_u64))
100
	}
101
	/// Storage: `MoonbeamOrbiters::CounterForCollatorsPool` (r:1 w:0)
102
	/// Proof: `MoonbeamOrbiters::CounterForCollatorsPool` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
103
	/// Storage: `MoonbeamOrbiters::CollatorsPool` (r:101 w:0)
104
	/// Proof: `MoonbeamOrbiters::CollatorsPool` (`max_values`: None, `max_size`: None, mode: `Measured`)
105
	/// Storage: `Balances::Reserves` (r:1 w:1)
106
	/// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1037), added: 3512, mode: `MaxEncodedLen`)
107
	/// Storage: `System::Account` (r:1 w:1)
108
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
109
	/// Storage: `MoonbeamOrbiters::RegisteredOrbiter` (r:0 w:1)
110
	/// Proof: `MoonbeamOrbiters::RegisteredOrbiter` (`max_values`: None, `max_size`: None, mode: `Measured`)
111
	/// The range of component `n` is `[0, 100]`.
112
	fn orbiter_unregister(n: u32, ) -> Weight {
113
		// Proof Size summary in bytes:
114
		//  Measured:  `391 + n * (48 ±0)`
115
		//  Estimated: `4502 + n * (2524 ±0)`
116
		// Minimum execution time: 35_972_000 picoseconds.
117
		Weight::from_parts(36_889_467, 4502)
118
			// Standard Error: 8_350
119
			.saturating_add(Weight::from_parts(7_212_657, 0).saturating_mul(n.into()))
120
			.saturating_add(T::DbWeight::get().reads(4_u64))
121
			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
122
			.saturating_add(T::DbWeight::get().writes(3_u64))
123
			.saturating_add(Weight::from_parts(0, 2524).saturating_mul(n.into()))
124
	}
125
	/// Storage: `MoonbeamOrbiters::CollatorsPool` (r:1 w:1)
126
	/// Proof: `MoonbeamOrbiters::CollatorsPool` (`max_values`: None, `max_size`: None, mode: `Measured`)
127
	/// Storage: `MoonbeamOrbiters::CounterForCollatorsPool` (r:1 w:1)
128
	/// Proof: `MoonbeamOrbiters::CounterForCollatorsPool` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
129
	fn add_collator() -> Weight {
130
		// Proof Size summary in bytes:
131
		//  Measured:  `82`
132
		//  Estimated: `3547`
133
		// Minimum execution time: 10_253_000 picoseconds.
134
		Weight::from_parts(10_492_000, 3547)
135
			.saturating_add(T::DbWeight::get().reads(2_u64))
136
			.saturating_add(T::DbWeight::get().writes(2_u64))
137
	}
138
	/// Storage: `MoonbeamOrbiters::CollatorsPool` (r:1 w:1)
139
	/// Proof: `MoonbeamOrbiters::CollatorsPool` (`max_values`: None, `max_size`: None, mode: `Measured`)
140
	/// Storage: `MoonbeamOrbiters::CounterForCollatorsPool` (r:1 w:1)
141
	/// Proof: `MoonbeamOrbiters::CounterForCollatorsPool` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
142
	/// Storage: `MoonbeamOrbiters::AccountLookupOverride` (r:0 w:9)
143
	/// Proof: `MoonbeamOrbiters::AccountLookupOverride` (`max_values`: None, `max_size`: None, mode: `Measured`)
144
	fn remove_collator() -> Weight {
145
		// Proof Size summary in bytes:
146
		//  Measured:  `366`
147
		//  Estimated: `3831`
148
		// Minimum execution time: 22_624_000 picoseconds.
149
		Weight::from_parts(23_733_000, 3831)
150
			.saturating_add(T::DbWeight::get().reads(2_u64))
151
			.saturating_add(T::DbWeight::get().writes(11_u64))
152
	}
153
	/// Storage: `MoonbeamOrbiters::CurrentRound` (r:1 w:0)
154
	/// Proof: `MoonbeamOrbiters::CurrentRound` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
155
	/// Storage: `MoonbeamOrbiters::OrbiterPerRound` (r:100 w:100)
156
	/// Proof: `MoonbeamOrbiters::OrbiterPerRound` (`max_values`: None, `max_size`: None, mode: `Measured`)
157
	/// The range of component `x` is `[0, 100]`.
158
	fn on_initialize(x: u32, ) -> Weight {
159
		// Proof Size summary in bytes:
160
		//  Measured:  `140 + x * (61 ±0)`
161
		//  Estimated: `1624 + x * (2537 ±0)`
162
		// Minimum execution time: 6_214_000 picoseconds.
163
		Weight::from_parts(6_366_604, 1624)
164
			// Standard Error: 1_230
165
			.saturating_add(Weight::from_parts(872_056, 0).saturating_mul(x.into()))
166
			.saturating_add(T::DbWeight::get().reads(1_u64))
167
			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into())))
168
			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(x.into())))
169
			.saturating_add(Weight::from_parts(0, 2537).saturating_mul(x.into()))
170
	}
171
	/// Storage: `MoonbeamOrbiters::OrbiterPerRound` (r:1 w:1)
172
	/// Proof: `MoonbeamOrbiters::OrbiterPerRound` (`max_values`: None, `max_size`: None, mode: `Measured`)
173
	/// Storage: `System::Account` (r:1 w:1)
174
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
175
	fn distribute_rewards() -> Weight {
176
		// Proof Size summary in bytes:
177
		//  Measured:  `298`
178
		//  Estimated: `3763`
179
		// Minimum execution time: 20_021_000 picoseconds.
180
		Weight::from_parts(20_830_000, 3763)
181
			.saturating_add(T::DbWeight::get().reads(2_u64))
182
			.saturating_add(T::DbWeight::get().writes(2_u64))
183
	}
184
	/// Storage: `MoonbeamOrbiters::ForceRotation` (r:1 w:1)
185
	/// Proof: `MoonbeamOrbiters::ForceRotation` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
186
	/// Storage: `MoonbeamOrbiters::CollatorsPool` (r:2 w:1)
187
	/// Proof: `MoonbeamOrbiters::CollatorsPool` (`max_values`: None, `max_size`: None, mode: `Measured`)
188
	/// Storage: `MoonbeamOrbiters::OrbiterPerRound` (r:0 w:3)
189
	/// Proof: `MoonbeamOrbiters::OrbiterPerRound` (`max_values`: None, `max_size`: None, mode: `Measured`)
190
	/// Storage: `MoonbeamOrbiters::AccountLookupOverride` (r:0 w:3)
191
	/// Proof: `MoonbeamOrbiters::AccountLookupOverride` (`max_values`: None, `max_size`: None, mode: `Measured`)
192
	/// Storage: `MoonbeamOrbiters::CurrentRound` (r:0 w:1)
193
	/// Proof: `MoonbeamOrbiters::CurrentRound` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
194
56
	fn on_new_round() -> Weight {
195
56
		// Proof Size summary in bytes:
196
56
		//  Measured:  `256`
197
56
		//  Estimated: `6196`
198
56
		// Minimum execution time: 28_981_000 picoseconds.
199
56
		Weight::from_parts(29_874_000, 6196)
200
56
			.saturating_add(T::DbWeight::get().reads(3_u64))
201
56
			.saturating_add(T::DbWeight::get().writes(9_u64))
202
56
	}
203
}