Skip to content

Commit ae44c6b

Browse files
authored
Add millau specific messages weights (#2097)
* refactor weights a bit * post cherry-pick fixes * do not run spellcheck on new weight files * fix
1 parent 6ad0bd1 commit ae44c6b

14 files changed

+461
-46
lines changed

.gitlab-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ spellcheck:
115115
<<: *docker-env
116116
<<: *test-refs
117117
script:
118-
- cargo spellcheck check --cfg=.config/spellcheck.toml --checkers hunspell -m 1 $(find . -type f -name '*.rs' ! -path "./target/*" ! -name 'codegen_runtime.rs' ! -name 'weights.rs')
118+
- cargo spellcheck check --cfg=.config/spellcheck.toml --checkers hunspell -m 1 $(find . -type f -name '*.rs' ! -path "./target/*" ! -path "./bin/millau/runtime/src/weights/*" ! -name 'codegen_runtime.rs' ! -name 'weights.rs')
119119

120120
check:
121121
stage: test

bin/millau/runtime/src/lib.rs

Lines changed: 22 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
3030

3131
pub mod rialto_messages;
3232
pub mod rialto_parachain_messages;
33+
pub mod weights;
3334
pub mod xcm_config;
3435

3536
use bp_parachains::SingleParaStoredHeaderDataBuilder;
@@ -442,7 +443,7 @@ pub type WithRialtoMessagesInstance = ();
442443

443444
impl pallet_bridge_messages::Config<WithRialtoMessagesInstance> for Runtime {
444445
type RuntimeEvent = RuntimeEvent;
445-
type WeightInfo = pallet_bridge_messages::weights::BridgeWeight<Runtime>;
446+
type WeightInfo = weights::RialtoMessagesWeightInfo<Runtime>;
446447
type ActiveOutboundLanes = RialtoActiveOutboundLanes;
447448
type MaxUnrewardedRelayerEntriesAtInboundLane = MaxUnrewardedRelayerEntriesAtInboundLane;
448449
type MaxUnconfirmedMessagesAtInboundLane = MaxUnconfirmedMessagesAtInboundLane;
@@ -472,7 +473,7 @@ pub type WithRialtoParachainMessagesInstance = pallet_bridge_messages::Instance1
472473

473474
impl pallet_bridge_messages::Config<WithRialtoParachainMessagesInstance> for Runtime {
474475
type RuntimeEvent = RuntimeEvent;
475-
type WeightInfo = pallet_bridge_messages::weights::BridgeWeight<Runtime>;
476+
type WeightInfo = weights::RialtoParachainMessagesWeightInfo<Runtime>;
476477
type ActiveOutboundLanes = RialtoParachainActiveOutboundLanes;
477478
type MaxUnrewardedRelayerEntriesAtInboundLane = MaxUnrewardedRelayerEntriesAtInboundLane;
478479
type MaxUnconfirmedMessagesAtInboundLane = MaxUnconfirmedMessagesAtInboundLane;
@@ -598,7 +599,7 @@ generate_bridge_reject_obsolete_headers_and_messages! {
598599

599600
bp_runtime::generate_static_str_provider!(BridgeRefundRialtoPara2000Lane0Msgs);
600601
/// Signed extension that refunds relayers that are delivering messages from the Rialto parachain.
601-
pub type PriorityBoostPerMessage = ConstU64<921_900_294>;
602+
pub type PriorityBoostPerMessage = ConstU64<699_683_285>;
602603
pub type BridgeRefundRialtoParachainMessages = RefundBridgedParachainMessages<
603604
Runtime,
604605
RefundableParachain<WithRialtoParachainsInstance, RialtoParachainId>,
@@ -647,6 +648,17 @@ pub type Executive = frame_executive::Executive<
647648
AllPalletsWithSystem,
648649
>;
649650

651+
#[cfg(feature = "runtime-benchmarks")]
652+
mod benches {
653+
frame_benchmarking::define_benchmarks!(
654+
[pallet_bridge_messages, MessagesBench::<Runtime, WithRialtoMessagesInstance>]
655+
[pallet_bridge_messages, MessagesBench::<Runtime, WithRialtoParachainMessagesInstance>]
656+
[pallet_bridge_grandpa, BridgeRialtoGrandpa]
657+
[pallet_bridge_parachains, ParachainsBench::<Runtime, WithRialtoParachainsInstance>]
658+
[pallet_bridge_relayers, RelayersBench::<Runtime>]
659+
);
660+
}
661+
650662
impl_runtime_apis! {
651663
impl sp_api::Core<Block> for Runtime {
652664
fn version() -> RuntimeVersion {
@@ -954,30 +966,24 @@ impl_runtime_apis! {
954966
Vec<frame_benchmarking::BenchmarkList>,
955967
Vec<frame_support::traits::StorageInfo>,
956968
) {
957-
use frame_benchmarking::{list_benchmark, Benchmarking, BenchmarkList};
969+
use frame_benchmarking::{Benchmarking, BenchmarkList};
958970
use frame_support::traits::StorageInfoTrait;
959971

960972
use pallet_bridge_messages::benchmarking::Pallet as MessagesBench;
961973
use pallet_bridge_parachains::benchmarking::Pallet as ParachainsBench;
962974
use pallet_bridge_relayers::benchmarking::Pallet as RelayersBench;
963975

964976
let mut list = Vec::<BenchmarkList>::new();
965-
966-
list_benchmark!(list, extra, RialtoParachainMessages, MessagesBench::<Runtime, WithRialtoParachainMessagesInstance>);
967-
list_benchmark!(list, extra, RialtoMessages, MessagesBench::<Runtime, WithRialtoMessagesInstance>);
968-
list_benchmark!(list, extra, pallet_bridge_grandpa, BridgeRialtoGrandpa);
969-
list_benchmark!(list, extra, pallet_bridge_parachains, ParachainsBench::<Runtime, WithRialtoParachainsInstance>);
970-
list_benchmark!(list, extra, pallet_bridge_relayers, RelayersBench::<Runtime>);
977+
list_benchmarks!(list, extra);
971978

972979
let storage_info = AllPalletsWithSystem::storage_info();
973-
974980
return (list, storage_info)
975981
}
976982

977983
fn dispatch_benchmark(
978984
config: frame_benchmarking::BenchmarkConfig,
979985
) -> Result<Vec<frame_benchmarking::BenchmarkBatch>, sp_runtime::RuntimeString> {
980-
use frame_benchmarking::{Benchmarking, BenchmarkBatch, TrackedStorageKey, add_benchmark};
986+
use frame_benchmarking::{Benchmarking, BenchmarkBatch, TrackedStorageKey};
981987

982988
let whitelist: Vec<TrackedStorageKey> = vec![
983989
// Block Number
@@ -992,9 +998,6 @@ impl_runtime_apis! {
992998
hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da946c154ffd9992e395af90b5b13cc6f295c77033fce8a9045824a6690bbf99c6db269502f0a8d1d2a008542d5690a0749").to_vec().into(),
993999
];
9941000

995-
let mut batches = Vec::<BenchmarkBatch>::new();
996-
let params = (&config, &whitelist);
997-
9981001
use bridge_runtime_common::messages_benchmarking::{
9991002
prepare_message_delivery_proof_from_grandpa_chain,
10001003
prepare_message_delivery_proof_from_parachain,
@@ -1125,26 +1128,10 @@ impl_runtime_apis! {
11251128
}
11261129
}
11271130

1128-
add_benchmark!(
1129-
params,
1130-
batches,
1131-
RialtoParachainMessages,
1132-
MessagesBench::<Runtime, WithRialtoParachainMessagesInstance>
1133-
);
1134-
add_benchmark!(
1135-
params,
1136-
batches,
1137-
RialtoMessages,
1138-
MessagesBench::<Runtime, WithRialtoMessagesInstance>
1139-
);
1140-
add_benchmark!(params, batches, pallet_bridge_grandpa, BridgeRialtoGrandpa);
1141-
add_benchmark!(
1142-
params,
1143-
batches,
1144-
pallet_bridge_parachains,
1145-
ParachainsBench::<Runtime, WithRialtoParachainsInstance>
1146-
);
1147-
add_benchmark!(params, batches, pallet_bridge_relayers, RelayersBench::<Runtime>);
1131+
let mut batches = Vec::<BenchmarkBatch>::new();
1132+
let params = (&config, &whitelist);
1133+
1134+
add_benchmarks!(params, batches);
11481135

11491136
Ok(batches)
11501137
}

bin/millau/runtime/src/rialto_messages.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,12 @@ impl XcmBlobHauler for ToRialtoXcmBlobHauler {
135135
}
136136
}
137137

138+
impl pallet_bridge_messages::WeightInfoExt for crate::weights::RialtoMessagesWeightInfo<Runtime> {
139+
fn expected_extra_storage_proof_size() -> u32 {
140+
bp_rialto::EXTRA_STORAGE_PROOF_SIZE
141+
}
142+
}
143+
138144
#[cfg(test)]
139145
mod tests {
140146
use super::*;

bin/millau/runtime/src/rialto_parachain_messages.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,14 @@ impl XcmBlobHauler for ToRialtoParachainXcmBlobHauler {
136136
}
137137
}
138138

139+
impl pallet_bridge_messages::WeightInfoExt
140+
for crate::weights::RialtoParachainMessagesWeightInfo<Runtime>
141+
{
142+
fn expected_extra_storage_proof_size() -> u32 {
143+
bp_rialto_parachain::EXTRA_STORAGE_PROOF_SIZE
144+
}
145+
}
146+
139147
#[cfg(test)]
140148
mod tests {
141149
use super::*;

bin/millau/runtime/src/weights/mod.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Copyright 2019-2021 Parity Technologies (UK) Ltd.
2+
// This file is part of Parity Bridges Common.
3+
4+
// Parity Bridges Common 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+
// Parity Bridges Common 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 Parity Bridges Common. If not, see <http://www.gnu.org/licenses/>.
16+
17+
mod pallet_bridge_messages_messages_bench_runtime_with_rialto_messages_instance;
18+
mod pallet_bridge_messages_messages_bench_runtime_with_rialto_parachain_messages_instance;
19+
20+
pub use pallet_bridge_messages_messages_bench_runtime_with_rialto_messages_instance::WeightInfo as RialtoMessagesWeightInfo;
21+
pub use pallet_bridge_messages_messages_bench_runtime_with_rialto_parachain_messages_instance::WeightInfo as RialtoParachainMessagesWeightInfo;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
2+
//! Autogenerated weights for `pallet_bridge_messages`
3+
//!
4+
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
5+
//! DATE: 2023-05-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
6+
//! WORST CASE MAP SIZE: `1000000`
7+
//! HOSTNAME: `covid`, CPU: `11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz`
8+
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
9+
10+
// Executed Command:
11+
// target/release/millau-bridge-node
12+
// benchmark
13+
// pallet
14+
// --chain=dev
15+
// --steps=50
16+
// --repeat=20
17+
// --pallet=pallet_bridge_messages
18+
// --extrinsic=*
19+
// --execution=wasm
20+
// --wasm-execution=Compiled
21+
// --heap-pages=4096
22+
// --output=./bin/millau/runtime/src/weights/
23+
24+
#![cfg_attr(rustfmt, rustfmt_skip)]
25+
#![allow(unused_parens)]
26+
#![allow(unused_imports)]
27+
28+
use frame_support::{traits::Get, weights::Weight};
29+
use core::marker::PhantomData;
30+
31+
/// Weight functions for `pallet_bridge_messages`.
32+
pub struct WeightInfo<T>(PhantomData<T>);
33+
impl<T: frame_system::Config> pallet_bridge_messages::WeightInfo for WeightInfo<T> {
34+
/// Storage: BridgeRialtoMessages PalletOperatingMode (r:1 w:0)
35+
/// Proof: BridgeRialtoMessages PalletOperatingMode (max_values: Some(1), max_size: Some(2), added: 497, mode: MaxEncodedLen)
36+
/// Storage: BridgeRialtoGrandpa ImportedHeaders (r:1 w:0)
37+
/// Proof: BridgeRialtoGrandpa ImportedHeaders (max_values: Some(14400), max_size: Some(68), added: 2048, mode: MaxEncodedLen)
38+
/// Storage: BridgeRialtoMessages InboundLanes (r:1 w:1)
39+
/// Proof: BridgeRialtoMessages InboundLanes (max_values: None, max_size: Some(49180), added: 51655, mode: MaxEncodedLen)
40+
fn receive_single_message_proof() -> Weight {
41+
// Proof Size summary in bytes:
42+
// Measured: `490`
43+
// Estimated: `57170`
44+
// Minimum execution time: 51_189_000 picoseconds.
45+
Weight::from_parts(52_881_000, 0)
46+
.saturating_add(Weight::from_parts(0, 57170))
47+
.saturating_add(T::DbWeight::get().reads(3))
48+
.saturating_add(T::DbWeight::get().writes(1))
49+
}
50+
/// Storage: BridgeRialtoMessages PalletOperatingMode (r:1 w:0)
51+
/// Proof: BridgeRialtoMessages PalletOperatingMode (max_values: Some(1), max_size: Some(2), added: 497, mode: MaxEncodedLen)
52+
/// Storage: BridgeRialtoGrandpa ImportedHeaders (r:1 w:0)
53+
/// Proof: BridgeRialtoGrandpa ImportedHeaders (max_values: Some(14400), max_size: Some(68), added: 2048, mode: MaxEncodedLen)
54+
/// Storage: BridgeRialtoMessages InboundLanes (r:1 w:1)
55+
/// Proof: BridgeRialtoMessages InboundLanes (max_values: None, max_size: Some(49180), added: 51655, mode: MaxEncodedLen)
56+
fn receive_two_messages_proof() -> Weight {
57+
// Proof Size summary in bytes:
58+
// Measured: `490`
59+
// Estimated: `57170`
60+
// Minimum execution time: 65_083_000 picoseconds.
61+
Weight::from_parts(66_878_000, 0)
62+
.saturating_add(Weight::from_parts(0, 57170))
63+
.saturating_add(T::DbWeight::get().reads(3))
64+
.saturating_add(T::DbWeight::get().writes(1))
65+
}
66+
/// Storage: BridgeRialtoMessages PalletOperatingMode (r:1 w:0)
67+
/// Proof: BridgeRialtoMessages PalletOperatingMode (max_values: Some(1), max_size: Some(2), added: 497, mode: MaxEncodedLen)
68+
/// Storage: BridgeRialtoGrandpa ImportedHeaders (r:1 w:0)
69+
/// Proof: BridgeRialtoGrandpa ImportedHeaders (max_values: Some(14400), max_size: Some(68), added: 2048, mode: MaxEncodedLen)
70+
/// Storage: BridgeRialtoMessages InboundLanes (r:1 w:1)
71+
/// Proof: BridgeRialtoMessages InboundLanes (max_values: None, max_size: Some(49180), added: 51655, mode: MaxEncodedLen)
72+
fn receive_single_message_proof_with_outbound_lane_state() -> Weight {
73+
// Proof Size summary in bytes:
74+
// Measured: `490`
75+
// Estimated: `57170`
76+
// Minimum execution time: 57_919_000 picoseconds.
77+
Weight::from_parts(58_927_000, 0)
78+
.saturating_add(Weight::from_parts(0, 57170))
79+
.saturating_add(T::DbWeight::get().reads(3))
80+
.saturating_add(T::DbWeight::get().writes(1))
81+
}
82+
/// Storage: BridgeRialtoMessages PalletOperatingMode (r:1 w:0)
83+
/// Proof: BridgeRialtoMessages PalletOperatingMode (max_values: Some(1), max_size: Some(2), added: 497, mode: MaxEncodedLen)
84+
/// Storage: BridgeRialtoGrandpa ImportedHeaders (r:1 w:0)
85+
/// Proof: BridgeRialtoGrandpa ImportedHeaders (max_values: Some(14400), max_size: Some(68), added: 2048, mode: MaxEncodedLen)
86+
/// Storage: BridgeRialtoMessages InboundLanes (r:1 w:1)
87+
/// Proof: BridgeRialtoMessages InboundLanes (max_values: None, max_size: Some(49180), added: 51655, mode: MaxEncodedLen)
88+
fn receive_single_message_proof_1_kb() -> Weight {
89+
// Proof Size summary in bytes:
90+
// Measured: `490`
91+
// Estimated: `57170`
92+
// Minimum execution time: 52_202_000 picoseconds.
93+
Weight::from_parts(53_617_000, 0)
94+
.saturating_add(Weight::from_parts(0, 57170))
95+
.saturating_add(T::DbWeight::get().reads(3))
96+
.saturating_add(T::DbWeight::get().writes(1))
97+
}
98+
/// Storage: BridgeRialtoMessages PalletOperatingMode (r:1 w:0)
99+
/// Proof: BridgeRialtoMessages PalletOperatingMode (max_values: Some(1), max_size: Some(2), added: 497, mode: MaxEncodedLen)
100+
/// Storage: BridgeRialtoGrandpa ImportedHeaders (r:1 w:0)
101+
/// Proof: BridgeRialtoGrandpa ImportedHeaders (max_values: Some(14400), max_size: Some(68), added: 2048, mode: MaxEncodedLen)
102+
/// Storage: BridgeRialtoMessages InboundLanes (r:1 w:1)
103+
/// Proof: BridgeRialtoMessages InboundLanes (max_values: None, max_size: Some(49180), added: 51655, mode: MaxEncodedLen)
104+
fn receive_single_message_proof_16_kb() -> Weight {
105+
// Proof Size summary in bytes:
106+
// Measured: `490`
107+
// Estimated: `57170`
108+
// Minimum execution time: 74_726_000 picoseconds.
109+
Weight::from_parts(76_379_000, 0)
110+
.saturating_add(Weight::from_parts(0, 57170))
111+
.saturating_add(T::DbWeight::get().reads(3))
112+
.saturating_add(T::DbWeight::get().writes(1))
113+
}
114+
/// Storage: BridgeRialtoMessages PalletOperatingMode (r:1 w:0)
115+
/// Proof: BridgeRialtoMessages PalletOperatingMode (max_values: Some(1), max_size: Some(2), added: 497, mode: MaxEncodedLen)
116+
/// Storage: BridgeRialtoGrandpa ImportedHeaders (r:1 w:0)
117+
/// Proof: BridgeRialtoGrandpa ImportedHeaders (max_values: Some(14400), max_size: Some(68), added: 2048, mode: MaxEncodedLen)
118+
/// Storage: BridgeRialtoMessages OutboundLanes (r:1 w:1)
119+
/// Proof: BridgeRialtoMessages OutboundLanes (max_values: Some(1), max_size: Some(44), added: 539, mode: MaxEncodedLen)
120+
/// Storage: BridgeRelayers RelayerRewards (r:1 w:1)
121+
/// Proof: BridgeRelayers RelayerRewards (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
122+
fn receive_delivery_proof_for_single_message() -> Weight {
123+
// Proof Size summary in bytes:
124+
// Measured: `515`
125+
// Estimated: `9584`
126+
// Minimum execution time: 45_156_000 picoseconds.
127+
Weight::from_parts(46_535_000, 0)
128+
.saturating_add(Weight::from_parts(0, 9584))
129+
.saturating_add(T::DbWeight::get().reads(4))
130+
.saturating_add(T::DbWeight::get().writes(2))
131+
}
132+
/// Storage: BridgeRialtoMessages PalletOperatingMode (r:1 w:0)
133+
/// Proof: BridgeRialtoMessages PalletOperatingMode (max_values: Some(1), max_size: Some(2), added: 497, mode: MaxEncodedLen)
134+
/// Storage: BridgeRialtoGrandpa ImportedHeaders (r:1 w:0)
135+
/// Proof: BridgeRialtoGrandpa ImportedHeaders (max_values: Some(14400), max_size: Some(68), added: 2048, mode: MaxEncodedLen)
136+
/// Storage: BridgeRialtoMessages OutboundLanes (r:1 w:1)
137+
/// Proof: BridgeRialtoMessages OutboundLanes (max_values: Some(1), max_size: Some(44), added: 539, mode: MaxEncodedLen)
138+
/// Storage: BridgeRelayers RelayerRewards (r:1 w:1)
139+
/// Proof: BridgeRelayers RelayerRewards (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
140+
fn receive_delivery_proof_for_two_messages_by_single_relayer() -> Weight {
141+
// Proof Size summary in bytes:
142+
// Measured: `532`
143+
// Estimated: `9584`
144+
// Minimum execution time: 44_104_000 picoseconds.
145+
Weight::from_parts(45_602_000, 0)
146+
.saturating_add(Weight::from_parts(0, 9584))
147+
.saturating_add(T::DbWeight::get().reads(4))
148+
.saturating_add(T::DbWeight::get().writes(2))
149+
}
150+
/// Storage: BridgeRialtoMessages PalletOperatingMode (r:1 w:0)
151+
/// Proof: BridgeRialtoMessages PalletOperatingMode (max_values: Some(1), max_size: Some(2), added: 497, mode: MaxEncodedLen)
152+
/// Storage: BridgeRialtoGrandpa ImportedHeaders (r:1 w:0)
153+
/// Proof: BridgeRialtoGrandpa ImportedHeaders (max_values: Some(14400), max_size: Some(68), added: 2048, mode: MaxEncodedLen)
154+
/// Storage: BridgeRialtoMessages OutboundLanes (r:1 w:1)
155+
/// Proof: BridgeRialtoMessages OutboundLanes (max_values: Some(1), max_size: Some(44), added: 539, mode: MaxEncodedLen)
156+
/// Storage: BridgeRelayers RelayerRewards (r:2 w:2)
157+
/// Proof: BridgeRelayers RelayerRewards (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
158+
fn receive_delivery_proof_for_two_messages_by_two_relayers() -> Weight {
159+
// Proof Size summary in bytes:
160+
// Measured: `532`
161+
// Estimated: `12124`
162+
// Minimum execution time: 46_880_000 picoseconds.
163+
Weight::from_parts(48_472_000, 0)
164+
.saturating_add(Weight::from_parts(0, 12124))
165+
.saturating_add(T::DbWeight::get().reads(5))
166+
.saturating_add(T::DbWeight::get().writes(3))
167+
}
168+
/// Storage: BridgeRialtoMessages PalletOperatingMode (r:1 w:0)
169+
/// Proof: BridgeRialtoMessages PalletOperatingMode (max_values: Some(1), max_size: Some(2), added: 497, mode: MaxEncodedLen)
170+
/// Storage: BridgeRialtoGrandpa ImportedHeaders (r:1 w:0)
171+
/// Proof: BridgeRialtoGrandpa ImportedHeaders (max_values: Some(14400), max_size: Some(68), added: 2048, mode: MaxEncodedLen)
172+
/// Storage: BridgeRialtoMessages InboundLanes (r:1 w:1)
173+
/// Proof: BridgeRialtoMessages InboundLanes (max_values: None, max_size: Some(49180), added: 51655, mode: MaxEncodedLen)
174+
/// The range of component `i` is `[128, 2048]`.
175+
/// The range of component `i` is `[128, 2048]`.
176+
fn receive_single_message_proof_with_dispatch(i: u32, ) -> Weight {
177+
// Proof Size summary in bytes:
178+
// Measured: `490`
179+
// Estimated: `57170`
180+
// Minimum execution time: 107_297_000 picoseconds.
181+
Weight::from_parts(98_819_194, 0)
182+
.saturating_add(Weight::from_parts(0, 57170))
183+
// Standard Error: 2_195
184+
.saturating_add(Weight::from_parts(448_268, 0).saturating_mul(i.into()))
185+
.saturating_add(T::DbWeight::get().reads(3))
186+
.saturating_add(T::DbWeight::get().writes(1))
187+
}
188+
}

0 commit comments

Comments
 (0)