1
// Copyright 2025 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

            
18
//! Autogenerated weights for `pallet_moonbeam_orbiters`
19
//!
20
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 51.0.0
21
//! DATE: 2026-02-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
22
//! WORST CASE MAP SIZE: `1000000`
23
//! HOSTNAME: `ip-10-0-0-176`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz`
24
//! WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
25

            
26
// Executed Command:
27
// ./frame-omni-bencher
28
// v1
29
// benchmark
30
// pallet
31
// --runtime=./target/production/wbuild/moonbase-runtime/moonbase_runtime.wasm
32
// --genesis-builder=runtime
33
// --genesis-builder-preset=development
34
// --steps=50
35
// --repeat=20
36
// --pallet=pallet_moonbeam_orbiters
37
// --extrinsic=*
38
// --wasm-execution=compiled
39
// --header=./file_header.txt
40
// --template=./benchmarking/frame-weight-template.hbs
41
// --disable-log-color
42
// --output=./runtime/moonbase/src/weights
43

            
44
#![cfg_attr(rustfmt, rustfmt_skip)]
45
#![allow(unused_parens)]
46
#![allow(unused_imports)]
47

            
48
use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
49
use sp_std::marker::PhantomData;
50

            
51
/// Weights for `pallet_moonbeam_orbiters`.
52
pub struct WeightInfo<T>(PhantomData<T>);
53
impl<T: frame_system::Config> pallet_moonbeam_orbiters::WeightInfo for WeightInfo<T> {
54
	/// Storage: `MoonbeamOrbiters::CollatorsPool` (r:1 w:1)
55
	/// Proof: `MoonbeamOrbiters::CollatorsPool` (`max_values`: None, `max_size`: None, mode: `Measured`)
56
	/// Storage: `Balances::Reserves` (r:1 w:0)
57
	/// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1037), added: 3512, mode: `MaxEncodedLen`)
58
	fn collator_add_orbiter() -> Weight {
59
		// Proof Size summary in bytes:
60
		//  Measured:  `562`
61
		//  Estimated: `4502`
62
		// Minimum execution time: 24_177_000 picoseconds.
63
		Weight::from_parts(25_021_000, 4502)
64
			.saturating_add(T::DbWeight::get().reads(2_u64))
65
			.saturating_add(T::DbWeight::get().writes(1_u64))
66
	}
67
	/// Storage: `MoonbeamOrbiters::CollatorsPool` (r:1 w:1)
68
	/// Proof: `MoonbeamOrbiters::CollatorsPool` (`max_values`: None, `max_size`: None, mode: `Measured`)
69
	fn collator_remove_orbiter() -> Weight {
70
		// Proof Size summary in bytes:
71
		//  Measured:  `366`
72
		//  Estimated: `3831`
73
		// Minimum execution time: 18_445_000 picoseconds.
74
		Weight::from_parts(19_147_000, 3831)
75
			.saturating_add(T::DbWeight::get().reads(1_u64))
76
			.saturating_add(T::DbWeight::get().writes(1_u64))
77
	}
78
	/// Storage: `MoonbeamOrbiters::CollatorsPool` (r:1 w:1)
79
	/// Proof: `MoonbeamOrbiters::CollatorsPool` (`max_values`: None, `max_size`: None, mode: `Measured`)
80
	fn orbiter_leave_collator_pool() -> Weight {
81
		// Proof Size summary in bytes:
82
		//  Measured:  `366`
83
		//  Estimated: `3831`
84
		// Minimum execution time: 18_587_000 picoseconds.
85
		Weight::from_parts(19_105_000, 3831)
86
			.saturating_add(T::DbWeight::get().reads(1_u64))
87
			.saturating_add(T::DbWeight::get().writes(1_u64))
88
	}
89
	/// Storage: `MoonbeamOrbiters::MinOrbiterDeposit` (r:1 w:0)
90
	/// Proof: `MoonbeamOrbiters::MinOrbiterDeposit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
91
	/// Storage: `Balances::Reserves` (r:1 w:1)
92
	/// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1037), added: 3512, mode: `MaxEncodedLen`)
93
	/// Storage: `System::Account` (r:1 w:1)
94
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
95
	/// Storage: `MoonbeamOrbiters::RegisteredOrbiter` (r:0 w:1)
96
	/// Proof: `MoonbeamOrbiters::RegisteredOrbiter` (`max_values`: None, `max_size`: None, mode: `Measured`)
97
	fn orbiter_register() -> Weight {
98
		// Proof Size summary in bytes:
99
		//  Measured:  `248`
100
		//  Estimated: `4502`
101
		// Minimum execution time: 35_095_000 picoseconds.
102
		Weight::from_parts(36_078_000, 4502)
103
			.saturating_add(T::DbWeight::get().reads(3_u64))
104
			.saturating_add(T::DbWeight::get().writes(3_u64))
105
	}
106
	/// Storage: `MoonbeamOrbiters::CounterForCollatorsPool` (r:1 w:0)
107
	/// Proof: `MoonbeamOrbiters::CounterForCollatorsPool` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
108
	/// Storage: `MoonbeamOrbiters::CollatorsPool` (r:101 w:0)
109
	/// Proof: `MoonbeamOrbiters::CollatorsPool` (`max_values`: None, `max_size`: None, mode: `Measured`)
110
	/// Storage: `Balances::Reserves` (r:1 w:1)
111
	/// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1037), added: 3512, mode: `MaxEncodedLen`)
112
	/// Storage: `System::Account` (r:1 w:1)
113
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
114
	/// Storage: `MoonbeamOrbiters::RegisteredOrbiter` (r:0 w:1)
115
	/// Proof: `MoonbeamOrbiters::RegisteredOrbiter` (`max_values`: None, `max_size`: None, mode: `Measured`)
116
	/// The range of component `n` is `[0, 100]`.
117
	fn orbiter_unregister(n: u32, ) -> Weight {
118
		// Proof Size summary in bytes:
119
		//  Measured:  `357 + n * (48 ±0)`
120
		//  Estimated: `4502 + n * (2524 ±0)`
121
		// Minimum execution time: 40_460_000 picoseconds.
122
		Weight::from_parts(43_470_940, 4502)
123
			// Standard Error: 8_772
124
			.saturating_add(Weight::from_parts(4_204_814, 0).saturating_mul(n.into()))
125
			.saturating_add(T::DbWeight::get().reads(4_u64))
126
			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
127
			.saturating_add(T::DbWeight::get().writes(3_u64))
128
			.saturating_add(Weight::from_parts(0, 2524).saturating_mul(n.into()))
129
	}
130
	/// Storage: `MoonbeamOrbiters::CollatorsPool` (r:1 w:1)
131
	/// Proof: `MoonbeamOrbiters::CollatorsPool` (`max_values`: None, `max_size`: None, mode: `Measured`)
132
	/// Storage: `MoonbeamOrbiters::CounterForCollatorsPool` (r:1 w:1)
133
	/// Proof: `MoonbeamOrbiters::CounterForCollatorsPool` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
134
	fn add_collator() -> Weight {
135
		// Proof Size summary in bytes:
136
		//  Measured:  `82`
137
		//  Estimated: `3547`
138
		// Minimum execution time: 12_174_000 picoseconds.
139
		Weight::from_parts(12_785_000, 3547)
140
			.saturating_add(T::DbWeight::get().reads(2_u64))
141
			.saturating_add(T::DbWeight::get().writes(2_u64))
142
	}
143
	/// Storage: `MoonbeamOrbiters::CollatorsPool` (r:1 w:1)
144
	/// Proof: `MoonbeamOrbiters::CollatorsPool` (`max_values`: None, `max_size`: None, mode: `Measured`)
145
	/// Storage: `MoonbeamOrbiters::CounterForCollatorsPool` (r:1 w:1)
146
	/// Proof: `MoonbeamOrbiters::CounterForCollatorsPool` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
147
	/// Storage: `MoonbeamOrbiters::AccountLookupOverride` (r:0 w:9)
148
	/// Proof: `MoonbeamOrbiters::AccountLookupOverride` (`max_values`: None, `max_size`: None, mode: `Measured`)
149
	fn remove_collator() -> Weight {
150
		// Proof Size summary in bytes:
151
		//  Measured:  `366`
152
		//  Estimated: `3831`
153
		// Minimum execution time: 25_913_000 picoseconds.
154
		Weight::from_parts(26_544_000, 3831)
155
			.saturating_add(T::DbWeight::get().reads(2_u64))
156
			.saturating_add(T::DbWeight::get().writes(11_u64))
157
	}
158
	/// Storage: `MoonbeamOrbiters::CurrentRound` (r:1 w:0)
159
	/// Proof: `MoonbeamOrbiters::CurrentRound` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
160
	/// Storage: `MoonbeamOrbiters::OrbiterPerRound` (r:100 w:100)
161
	/// Proof: `MoonbeamOrbiters::OrbiterPerRound` (`max_values`: None, `max_size`: None, mode: `Measured`)
162
	/// The range of component `x` is `[0, 100]`.
163
	fn on_initialize(x: u32, ) -> Weight {
164
		// Proof Size summary in bytes:
165
		//  Measured:  `140 + x * (61 ±0)`
166
		//  Estimated: `1624 + x * (2537 ±0)`
167
		// Minimum execution time: 7_706_000 picoseconds.
168
		Weight::from_parts(8_390_079, 1624)
169
			// Standard Error: 2_170
170
			.saturating_add(Weight::from_parts(1_033_262, 0).saturating_mul(x.into()))
171
			.saturating_add(T::DbWeight::get().reads(1_u64))
172
			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into())))
173
			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(x.into())))
174
			.saturating_add(Weight::from_parts(0, 2537).saturating_mul(x.into()))
175
	}
176
	/// Storage: `MoonbeamOrbiters::OrbiterPerRound` (r:1 w:1)
177
	/// Proof: `MoonbeamOrbiters::OrbiterPerRound` (`max_values`: None, `max_size`: None, mode: `Measured`)
178
	/// Storage: `System::Account` (r:1 w:1)
179
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
180
	fn distribute_rewards() -> Weight {
181
		// Proof Size summary in bytes:
182
		//  Measured:  `298`
183
		//  Estimated: `3763`
184
		// Minimum execution time: 26_668_000 picoseconds.
185
		Weight::from_parts(27_413_000, 3763)
186
			.saturating_add(T::DbWeight::get().reads(2_u64))
187
			.saturating_add(T::DbWeight::get().writes(2_u64))
188
	}
189
	/// Storage: `MoonbeamOrbiters::ForceRotation` (r:1 w:1)
190
	/// Proof: `MoonbeamOrbiters::ForceRotation` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
191
	/// Storage: `MoonbeamOrbiters::CollatorsPool` (r:2 w:1)
192
	/// Proof: `MoonbeamOrbiters::CollatorsPool` (`max_values`: None, `max_size`: None, mode: `Measured`)
193
	/// Storage: `MoonbeamOrbiters::OrbiterPerRound` (r:0 w:3)
194
	/// Proof: `MoonbeamOrbiters::OrbiterPerRound` (`max_values`: None, `max_size`: None, mode: `Measured`)
195
	/// Storage: `MoonbeamOrbiters::AccountLookupOverride` (r:0 w:3)
196
	/// Proof: `MoonbeamOrbiters::AccountLookupOverride` (`max_values`: None, `max_size`: None, mode: `Measured`)
197
	/// Storage: `MoonbeamOrbiters::CurrentRound` (r:0 w:1)
198
	/// Proof: `MoonbeamOrbiters::CurrentRound` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
199
14
	fn on_new_round() -> Weight {
200
		// Proof Size summary in bytes:
201
		//  Measured:  `256`
202
		//  Estimated: `6196`
203
		// Minimum execution time: 27_915_000 picoseconds.
204
14
		Weight::from_parts(29_287_000, 6196)
205
14
			.saturating_add(T::DbWeight::get().reads(3_u64))
206
14
			.saturating_add(T::DbWeight::get().writes(9_u64))
207
14
	}
208
}