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 48.0.0
21
//! DATE: 2025-09-02, 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
// --output=./runtime/moonbeam/src/weights
42

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

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

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