Skip to content

Commit 97c237e

Browse files
authored
fixed receive_delivery_proof_for_two_messages_by_two_relayers (paritytech#1764)
1 parent a031613 commit 97c237e

File tree

3 files changed

+33
-23
lines changed

3 files changed

+33
-23
lines changed

bridges/bin/millau/runtime/src/lib.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -478,7 +478,7 @@ impl pallet_bridge_messages::Config<WithRialtoMessagesInstance> for Runtime {
478478
type DeliveryConfirmationPayments = pallet_bridge_relayers::DeliveryConfirmationPaymentsAdapter<
479479
Runtime,
480480
frame_support::traits::ConstU64<100_000>,
481-
frame_support::traits::ConstU64<100_000>,
481+
frame_support::traits::ConstU64<10_000>,
482482
>;
483483

484484
type SourceHeaderChain = crate::rialto_messages::Rialto;
@@ -509,7 +509,7 @@ impl pallet_bridge_messages::Config<WithRialtoParachainMessagesInstance> for Run
509509
type DeliveryConfirmationPayments = pallet_bridge_relayers::DeliveryConfirmationPaymentsAdapter<
510510
Runtime,
511511
frame_support::traits::ConstU64<100_000>,
512-
frame_support::traits::ConstU64<100_000>,
512+
frame_support::traits::ConstU64<10_000>,
513513
>;
514514

515515
type SourceHeaderChain = crate::rialto_parachain_messages::RialtoParachain;
@@ -1037,6 +1037,10 @@ impl_runtime_apis! {
10371037
[0u8; 32].into()
10381038
}
10391039

1040+
fn is_relayer_rewarded(relayer: &Self::AccountId) -> bool {
1041+
pallet_bridge_relayers::Pallet::<Runtime>::relayer_reward(relayer, &Self::bench_lane_id()).is_some()
1042+
}
1043+
10401044
fn endow_account(account: &Self::AccountId) {
10411045
pallet_balances::Pallet::<Runtime>::make_free_balance_be(
10421046
account,

bridges/modules/messages/src/benchmarking.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ pub trait Config<I: 'static>: crate::Config<I> {
6969
}
7070
/// Return id of relayer account at the bridged chain.
7171
fn bridged_relayer_id() -> Self::InboundRelayer;
72+
/// Returns true if given relayer has been rewarded for some of its actions.
73+
fn is_relayer_rewarded(relayer: &Self::AccountId) -> bool;
7274
/// Create given account and give it enough balance for test purposes.
7375
fn endow_account(account: &Self::AccountId);
7476
/// Prepare messages proof to receive by the module.
@@ -287,6 +289,7 @@ benchmarks_instance_pallet! {
287289
}: receive_messages_delivery_proof(RawOrigin::Signed(relayer_id.clone()), proof, relayers_state)
288290
verify {
289291
assert_eq!(OutboundLanes::<T, I>::get(T::bench_lane_id()).latest_received_nonce, 1);
292+
assert!(T::is_relayer_rewarded(&relayer_id));
290293
}
291294

292295
// Benchmark `receive_messages_delivery_proof` extrinsic with following conditions:
@@ -325,6 +328,7 @@ benchmarks_instance_pallet! {
325328
}: receive_messages_delivery_proof(RawOrigin::Signed(relayer_id.clone()), proof, relayers_state)
326329
verify {
327330
assert_eq!(OutboundLanes::<T, I>::get(T::bench_lane_id()).latest_received_nonce, 2);
331+
assert!(T::is_relayer_rewarded(&relayer_id));
328332
}
329333

330334
// Benchmark `receive_messages_delivery_proof` extrinsic with following conditions:
@@ -368,6 +372,8 @@ benchmarks_instance_pallet! {
368372
}: receive_messages_delivery_proof(RawOrigin::Signed(relayer1_id.clone()), proof, relayers_state)
369373
verify {
370374
assert_eq!(OutboundLanes::<T, I>::get(T::bench_lane_id()).latest_received_nonce, 2);
375+
assert!(T::is_relayer_rewarded(&relayer1_id));
376+
assert!(T::is_relayer_rewarded(&relayer2_id));
371377
}
372378
}
373379

bridges/modules/messages/src/weights.rs

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
//! Autogenerated weights for `pallet_bridge_messages`
1818
//!
1919
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
20-
//! DATE: 2022-12-21, STEPS: 50, REPEAT: 20
20+
//! DATE: 2023-01-12, STEPS: 50, REPEAT: 20
2121
//! LOW RANGE: [], HIGH RANGE: []
2222
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled
2323
//! CHAIN: Some("dev"), DB CACHE: 1024
@@ -66,87 +66,87 @@ pub trait WeightInfo {
6666
pub struct BridgeWeight<T>(PhantomData<T>);
6767
impl<T: frame_system::Config> WeightInfo for BridgeWeight<T> {
6868
fn receive_single_message_proof() -> Weight {
69-
Weight::from_ref_time(60_148_000 as u64)
69+
Weight::from_ref_time(95_401_000 as u64)
7070
.saturating_add(T::DbWeight::get().reads(4 as u64))
7171
.saturating_add(T::DbWeight::get().writes(2 as u64))
7272
}
7373
fn receive_two_messages_proof() -> Weight {
74-
Weight::from_ref_time(71_836_000 as u64)
74+
Weight::from_ref_time(127_794_000 as u64)
7575
.saturating_add(T::DbWeight::get().reads(4 as u64))
7676
.saturating_add(T::DbWeight::get().writes(2 as u64))
7777
}
7878
fn receive_single_message_proof_with_outbound_lane_state() -> Weight {
79-
Weight::from_ref_time(66_845_000 as u64)
79+
Weight::from_ref_time(105_698_000 as u64)
8080
.saturating_add(T::DbWeight::get().reads(4 as u64))
8181
.saturating_add(T::DbWeight::get().writes(2 as u64))
8282
}
8383
fn receive_single_message_proof_1_kb() -> Weight {
84-
Weight::from_ref_time(69_696_000 as u64)
84+
Weight::from_ref_time(92_963_000 as u64)
8585
.saturating_add(T::DbWeight::get().reads(3 as u64))
8686
.saturating_add(T::DbWeight::get().writes(1 as u64))
8787
}
8888
fn receive_single_message_proof_16_kb() -> Weight {
89-
Weight::from_ref_time(123_646_000 as u64)
89+
Weight::from_ref_time(158_449_000 as u64)
9090
.saturating_add(T::DbWeight::get().reads(3 as u64))
9191
.saturating_add(T::DbWeight::get().writes(1 as u64))
9292
}
9393
fn receive_delivery_proof_for_single_message() -> Weight {
94-
Weight::from_ref_time(53_723_000 as u64)
94+
Weight::from_ref_time(72_085_000 as u64)
9595
.saturating_add(T::DbWeight::get().reads(4 as u64))
9696
.saturating_add(T::DbWeight::get().writes(2 as u64))
9797
}
9898
fn receive_delivery_proof_for_two_messages_by_single_relayer() -> Weight {
99-
Weight::from_ref_time(54_617_000 as u64)
99+
Weight::from_ref_time(70_889_000 as u64)
100100
.saturating_add(T::DbWeight::get().reads(4 as u64))
101101
.saturating_add(T::DbWeight::get().writes(2 as u64))
102102
}
103103
fn receive_delivery_proof_for_two_messages_by_two_relayers() -> Weight {
104-
Weight::from_ref_time(53_582_000 as u64)
105-
.saturating_add(T::DbWeight::get().reads(4 as u64))
106-
.saturating_add(T::DbWeight::get().writes(2 as u64))
104+
Weight::from_ref_time(78_211_000 as u64)
105+
.saturating_add(T::DbWeight::get().reads(5 as u64))
106+
.saturating_add(T::DbWeight::get().writes(3 as u64))
107107
}
108108
}
109109

110110
// For backwards compatibility and tests
111111
impl WeightInfo for () {
112112
fn receive_single_message_proof() -> Weight {
113-
Weight::from_ref_time(60_148_000 as u64)
113+
Weight::from_ref_time(95_401_000 as u64)
114114
.saturating_add(RocksDbWeight::get().reads(4 as u64))
115115
.saturating_add(RocksDbWeight::get().writes(2 as u64))
116116
}
117117
fn receive_two_messages_proof() -> Weight {
118-
Weight::from_ref_time(71_836_000 as u64)
118+
Weight::from_ref_time(127_794_000 as u64)
119119
.saturating_add(RocksDbWeight::get().reads(4 as u64))
120120
.saturating_add(RocksDbWeight::get().writes(2 as u64))
121121
}
122122
fn receive_single_message_proof_with_outbound_lane_state() -> Weight {
123-
Weight::from_ref_time(66_845_000 as u64)
123+
Weight::from_ref_time(105_698_000 as u64)
124124
.saturating_add(RocksDbWeight::get().reads(4 as u64))
125125
.saturating_add(RocksDbWeight::get().writes(2 as u64))
126126
}
127127
fn receive_single_message_proof_1_kb() -> Weight {
128-
Weight::from_ref_time(69_696_000 as u64)
128+
Weight::from_ref_time(92_963_000 as u64)
129129
.saturating_add(RocksDbWeight::get().reads(3 as u64))
130130
.saturating_add(RocksDbWeight::get().writes(1 as u64))
131131
}
132132
fn receive_single_message_proof_16_kb() -> Weight {
133-
Weight::from_ref_time(123_646_000 as u64)
133+
Weight::from_ref_time(158_449_000 as u64)
134134
.saturating_add(RocksDbWeight::get().reads(3 as u64))
135135
.saturating_add(RocksDbWeight::get().writes(1 as u64))
136136
}
137137
fn receive_delivery_proof_for_single_message() -> Weight {
138-
Weight::from_ref_time(53_723_000 as u64)
138+
Weight::from_ref_time(72_085_000 as u64)
139139
.saturating_add(RocksDbWeight::get().reads(4 as u64))
140140
.saturating_add(RocksDbWeight::get().writes(2 as u64))
141141
}
142142
fn receive_delivery_proof_for_two_messages_by_single_relayer() -> Weight {
143-
Weight::from_ref_time(54_617_000 as u64)
143+
Weight::from_ref_time(70_889_000 as u64)
144144
.saturating_add(RocksDbWeight::get().reads(4 as u64))
145145
.saturating_add(RocksDbWeight::get().writes(2 as u64))
146146
}
147147
fn receive_delivery_proof_for_two_messages_by_two_relayers() -> Weight {
148-
Weight::from_ref_time(53_582_000 as u64)
149-
.saturating_add(RocksDbWeight::get().reads(4 as u64))
150-
.saturating_add(RocksDbWeight::get().writes(2 as u64))
148+
Weight::from_ref_time(78_211_000 as u64)
149+
.saturating_add(RocksDbWeight::get().reads(5 as u64))
150+
.saturating_add(RocksDbWeight::get().writes(3 as u64))
151151
}
152152
}

0 commit comments

Comments
 (0)