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_bridge_messages`
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/moonbeam-runtime/moonbeam_runtime.wasm
32
// --genesis-builder=runtime
33
// --genesis-builder-preset=development
34
// --steps=50
35
// --repeat=20
36
// --pallet=pallet_bridge_messages
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/moonbeam/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_bridge_messages`.
52
pub struct WeightInfo<T>(PhantomData<T>);
53
impl<T: frame_system::Config> pallet_bridge_messages::WeightInfo for WeightInfo<T> {
54
	/// Storage: `BridgeKusamaMessages::PalletOperatingMode` (r:1 w:0)
55
	/// Proof: `BridgeKusamaMessages::PalletOperatingMode` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`)
56
	/// Storage: `BridgeKusamaParachains::ImportedParaHeads` (r:1 w:0)
57
	/// Proof: `BridgeKusamaParachains::ImportedParaHeads` (`max_values`: Some(64), `max_size`: Some(196), added: 1186, mode: `MaxEncodedLen`)
58
	/// Storage: `BridgeKusamaMessages::InboundLanes` (r:1 w:1)
59
	/// Proof: `BridgeKusamaMessages::InboundLanes` (`max_values`: None, `max_size`: Some(36920), added: 39395, mode: `MaxEncodedLen`)
60
	/// Storage: `BridgeXcmOverMoonriver::LaneToBridge` (r:1 w:0)
61
	/// Proof: `BridgeXcmOverMoonriver::LaneToBridge` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
62
	/// Storage: `BridgeXcmOverMoonriver::Bridges` (r:1 w:0)
63
	/// Proof: `BridgeXcmOverMoonriver::Bridges` (`max_values`: None, `max_size`: Some(1905), added: 4380, mode: `MaxEncodedLen`)
64
	/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
65
	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
66
	fn receive_single_message_proof() -> Weight {
67
		// Proof Size summary in bytes:
68
		//  Measured:  `967`
69
		//  Estimated: `40385`
70
		// Minimum execution time: 54_846_000 picoseconds.
71
		Weight::from_parts(56_433_000, 40385)
72
			.saturating_add(T::DbWeight::get().reads(6_u64))
73
			.saturating_add(T::DbWeight::get().writes(1_u64))
74
	}
75
	/// Storage: `BridgeKusamaMessages::PalletOperatingMode` (r:1 w:0)
76
	/// Proof: `BridgeKusamaMessages::PalletOperatingMode` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`)
77
	/// Storage: `BridgeKusamaParachains::ImportedParaHeads` (r:1 w:0)
78
	/// Proof: `BridgeKusamaParachains::ImportedParaHeads` (`max_values`: Some(64), `max_size`: Some(196), added: 1186, mode: `MaxEncodedLen`)
79
	/// Storage: `BridgeKusamaMessages::InboundLanes` (r:1 w:1)
80
	/// Proof: `BridgeKusamaMessages::InboundLanes` (`max_values`: None, `max_size`: Some(36920), added: 39395, mode: `MaxEncodedLen`)
81
	/// Storage: `BridgeXcmOverMoonriver::LaneToBridge` (r:1 w:0)
82
	/// Proof: `BridgeXcmOverMoonriver::LaneToBridge` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
83
	/// Storage: `BridgeXcmOverMoonriver::Bridges` (r:1 w:0)
84
	/// Proof: `BridgeXcmOverMoonriver::Bridges` (`max_values`: None, `max_size`: Some(1905), added: 4380, mode: `MaxEncodedLen`)
85
	/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
86
	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
87
	/// The range of component `n` is `[1, 4076]`.
88
	fn receive_n_messages_proof(n: u32, ) -> Weight {
89
		// Proof Size summary in bytes:
90
		//  Measured:  `967`
91
		//  Estimated: `40385`
92
		// Minimum execution time: 54_463_000 picoseconds.
93
		Weight::from_parts(55_920_000, 40385)
94
			// Standard Error: 8_430
95
			.saturating_add(Weight::from_parts(9_527_495, 0).saturating_mul(n.into()))
96
			.saturating_add(T::DbWeight::get().reads(6_u64))
97
			.saturating_add(T::DbWeight::get().writes(1_u64))
98
	}
99
	/// Storage: `BridgeKusamaMessages::PalletOperatingMode` (r:1 w:0)
100
	/// Proof: `BridgeKusamaMessages::PalletOperatingMode` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`)
101
	/// Storage: `BridgeKusamaParachains::ImportedParaHeads` (r:1 w:0)
102
	/// Proof: `BridgeKusamaParachains::ImportedParaHeads` (`max_values`: Some(64), `max_size`: Some(196), added: 1186, mode: `MaxEncodedLen`)
103
	/// Storage: `BridgeKusamaMessages::InboundLanes` (r:1 w:1)
104
	/// Proof: `BridgeKusamaMessages::InboundLanes` (`max_values`: None, `max_size`: Some(36920), added: 39395, mode: `MaxEncodedLen`)
105
	/// Storage: `BridgeXcmOverMoonriver::LaneToBridge` (r:1 w:0)
106
	/// Proof: `BridgeXcmOverMoonriver::LaneToBridge` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
107
	/// Storage: `BridgeXcmOverMoonriver::Bridges` (r:1 w:0)
108
	/// Proof: `BridgeXcmOverMoonriver::Bridges` (`max_values`: None, `max_size`: Some(1905), added: 4380, mode: `MaxEncodedLen`)
109
	/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
110
	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
111
	fn receive_single_message_proof_with_outbound_lane_state() -> Weight {
112
		// Proof Size summary in bytes:
113
		//  Measured:  `967`
114
		//  Estimated: `40385`
115
		// Minimum execution time: 60_557_000 picoseconds.
116
		Weight::from_parts(63_009_000, 40385)
117
			.saturating_add(T::DbWeight::get().reads(6_u64))
118
			.saturating_add(T::DbWeight::get().writes(1_u64))
119
	}
120
	/// Storage: `BridgeKusamaMessages::PalletOperatingMode` (r:1 w:0)
121
	/// Proof: `BridgeKusamaMessages::PalletOperatingMode` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`)
122
	/// Storage: `BridgeKusamaParachains::ImportedParaHeads` (r:1 w:0)
123
	/// Proof: `BridgeKusamaParachains::ImportedParaHeads` (`max_values`: Some(64), `max_size`: Some(196), added: 1186, mode: `MaxEncodedLen`)
124
	/// Storage: `BridgeKusamaMessages::InboundLanes` (r:1 w:1)
125
	/// Proof: `BridgeKusamaMessages::InboundLanes` (`max_values`: None, `max_size`: Some(36920), added: 39395, mode: `MaxEncodedLen`)
126
	/// Storage: `BridgeXcmOverMoonriver::LaneToBridge` (r:1 w:0)
127
	/// Proof: `BridgeXcmOverMoonriver::LaneToBridge` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
128
	/// Storage: `BridgeXcmOverMoonriver::Bridges` (r:1 w:0)
129
	/// Proof: `BridgeXcmOverMoonriver::Bridges` (`max_values`: None, `max_size`: Some(1905), added: 4380, mode: `MaxEncodedLen`)
130
	/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
131
	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
132
	/// The range of component `n` is `[1, 16384]`.
133
	fn receive_single_n_bytes_message_proof(n: u32, ) -> Weight {
134
		// Proof Size summary in bytes:
135
		//  Measured:  `967`
136
		//  Estimated: `40385`
137
		// Minimum execution time: 53_416_000 picoseconds.
138
		Weight::from_parts(55_971_365, 40385)
139
			// Standard Error: 12
140
			.saturating_add(Weight::from_parts(2_009, 0).saturating_mul(n.into()))
141
			.saturating_add(T::DbWeight::get().reads(6_u64))
142
			.saturating_add(T::DbWeight::get().writes(1_u64))
143
	}
144
	/// Storage: `BridgeKusamaMessages::PalletOperatingMode` (r:1 w:0)
145
	/// Proof: `BridgeKusamaMessages::PalletOperatingMode` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`)
146
	/// Storage: `BridgeKusamaParachains::ImportedParaHeads` (r:1 w:0)
147
	/// Proof: `BridgeKusamaParachains::ImportedParaHeads` (`max_values`: Some(64), `max_size`: Some(196), added: 1186, mode: `MaxEncodedLen`)
148
	/// Storage: `BridgeKusamaMessages::OutboundLanes` (r:1 w:1)
149
	/// Proof: `BridgeKusamaMessages::OutboundLanes` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
150
	/// Storage: `BridgeXcmOverMoonriver::LaneToBridge` (r:1 w:0)
151
	/// Proof: `BridgeXcmOverMoonriver::LaneToBridge` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
152
	/// Storage: `BridgeXcmOverMoonriver::Bridges` (r:1 w:0)
153
	/// Proof: `BridgeXcmOverMoonriver::Bridges` (`max_values`: None, `max_size`: Some(1905), added: 4380, mode: `MaxEncodedLen`)
154
	/// Storage: `BridgeKusamaMessages::OutboundMessages` (r:0 w:1)
155
	/// Proof: `BridgeKusamaMessages::OutboundMessages` (`max_values`: None, `max_size`: Some(65596), added: 68071, mode: `MaxEncodedLen`)
156
	fn receive_delivery_proof_for_single_message() -> Weight {
157
		// Proof Size summary in bytes:
158
		//  Measured:  `971`
159
		//  Estimated: `5370`
160
		// Minimum execution time: 47_447_000 picoseconds.
161
		Weight::from_parts(49_853_000, 5370)
162
			.saturating_add(T::DbWeight::get().reads(5_u64))
163
			.saturating_add(T::DbWeight::get().writes(2_u64))
164
	}
165
	/// Storage: `BridgeKusamaMessages::PalletOperatingMode` (r:1 w:0)
166
	/// Proof: `BridgeKusamaMessages::PalletOperatingMode` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`)
167
	/// Storage: `BridgeKusamaParachains::ImportedParaHeads` (r:1 w:0)
168
	/// Proof: `BridgeKusamaParachains::ImportedParaHeads` (`max_values`: Some(64), `max_size`: Some(196), added: 1186, mode: `MaxEncodedLen`)
169
	/// Storage: `BridgeKusamaMessages::OutboundLanes` (r:1 w:1)
170
	/// Proof: `BridgeKusamaMessages::OutboundLanes` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
171
	/// Storage: `BridgeXcmOverMoonriver::LaneToBridge` (r:1 w:0)
172
	/// Proof: `BridgeXcmOverMoonriver::LaneToBridge` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
173
	/// Storage: `BridgeXcmOverMoonriver::Bridges` (r:1 w:0)
174
	/// Proof: `BridgeXcmOverMoonriver::Bridges` (`max_values`: None, `max_size`: Some(1905), added: 4380, mode: `MaxEncodedLen`)
175
	/// Storage: `BridgeKusamaMessages::OutboundMessages` (r:0 w:2)
176
	/// Proof: `BridgeKusamaMessages::OutboundMessages` (`max_values`: None, `max_size`: Some(65596), added: 68071, mode: `MaxEncodedLen`)
177
	fn receive_delivery_proof_for_two_messages_by_single_relayer() -> Weight {
178
		// Proof Size summary in bytes:
179
		//  Measured:  `971`
180
		//  Estimated: `5370`
181
		// Minimum execution time: 49_646_000 picoseconds.
182
		Weight::from_parts(51_602_000, 5370)
183
			.saturating_add(T::DbWeight::get().reads(5_u64))
184
			.saturating_add(T::DbWeight::get().writes(3_u64))
185
	}
186
	/// Storage: `BridgeKusamaMessages::PalletOperatingMode` (r:1 w:0)
187
	/// Proof: `BridgeKusamaMessages::PalletOperatingMode` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`)
188
	/// Storage: `BridgeKusamaParachains::ImportedParaHeads` (r:1 w:0)
189
	/// Proof: `BridgeKusamaParachains::ImportedParaHeads` (`max_values`: Some(64), `max_size`: Some(196), added: 1186, mode: `MaxEncodedLen`)
190
	/// Storage: `BridgeKusamaMessages::OutboundLanes` (r:1 w:1)
191
	/// Proof: `BridgeKusamaMessages::OutboundLanes` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
192
	/// Storage: `BridgeXcmOverMoonriver::LaneToBridge` (r:1 w:0)
193
	/// Proof: `BridgeXcmOverMoonriver::LaneToBridge` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
194
	/// Storage: `BridgeXcmOverMoonriver::Bridges` (r:1 w:0)
195
	/// Proof: `BridgeXcmOverMoonriver::Bridges` (`max_values`: None, `max_size`: Some(1905), added: 4380, mode: `MaxEncodedLen`)
196
	/// Storage: `BridgeKusamaMessages::OutboundMessages` (r:0 w:2)
197
	/// Proof: `BridgeKusamaMessages::OutboundMessages` (`max_values`: None, `max_size`: Some(65596), added: 68071, mode: `MaxEncodedLen`)
198
	fn receive_delivery_proof_for_two_messages_by_two_relayers() -> Weight {
199
		// Proof Size summary in bytes:
200
		//  Measured:  `971`
201
		//  Estimated: `5370`
202
		// Minimum execution time: 49_728_000 picoseconds.
203
		Weight::from_parts(52_066_000, 5370)
204
			.saturating_add(T::DbWeight::get().reads(5_u64))
205
			.saturating_add(T::DbWeight::get().writes(3_u64))
206
	}
207
	/// Storage: `BridgeKusamaMessages::PalletOperatingMode` (r:1 w:0)
208
	/// Proof: `BridgeKusamaMessages::PalletOperatingMode` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`)
209
	/// Storage: `BridgeKusamaParachains::ImportedParaHeads` (r:1 w:0)
210
	/// Proof: `BridgeKusamaParachains::ImportedParaHeads` (`max_values`: Some(64), `max_size`: Some(196), added: 1186, mode: `MaxEncodedLen`)
211
	/// Storage: `BridgeKusamaMessages::InboundLanes` (r:1 w:1)
212
	/// Proof: `BridgeKusamaMessages::InboundLanes` (`max_values`: None, `max_size`: Some(36920), added: 39395, mode: `MaxEncodedLen`)
213
	/// Storage: `BridgeXcmOverMoonriver::LaneToBridge` (r:1 w:0)
214
	/// Proof: `BridgeXcmOverMoonriver::LaneToBridge` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
215
	/// Storage: `BridgeXcmOverMoonriver::Bridges` (r:1 w:0)
216
	/// Proof: `BridgeXcmOverMoonriver::Bridges` (`max_values`: None, `max_size`: Some(1905), added: 4380, mode: `MaxEncodedLen`)
217
	/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
218
	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
219
	/// The range of component `n` is `[1, 16384]`.
220
	fn receive_single_n_bytes_message_proof_with_dispatch(n: u32, ) -> Weight {
221
		// Proof Size summary in bytes:
222
		//  Measured:  `967`
223
		//  Estimated: `40385`
224
		// Minimum execution time: 54_657_000 picoseconds.
225
		Weight::from_parts(57_755_149, 40385)
226
			// Standard Error: 10
227
			.saturating_add(Weight::from_parts(2_431, 0).saturating_mul(n.into()))
228
			.saturating_add(T::DbWeight::get().reads(6_u64))
229
			.saturating_add(T::DbWeight::get().writes(1_u64))
230
	}
231
}