diff --git a/bridges/bin/millau/runtime/src/lib.rs b/bridges/bin/millau/runtime/src/lib.rs index 4513e50121bcd..7914ac41b5334 100644 --- a/bridges/bin/millau/runtime/src/lib.rs +++ b/bridges/bin/millau/runtime/src/lib.rs @@ -478,7 +478,7 @@ impl pallet_bridge_messages::Config for Runtime { type DeliveryConfirmationPayments = pallet_bridge_relayers::DeliveryConfirmationPaymentsAdapter< Runtime, frame_support::traits::ConstU64<100_000>, - frame_support::traits::ConstU64<100_000>, + frame_support::traits::ConstU64<10_000>, >; type SourceHeaderChain = crate::rialto_messages::Rialto; @@ -509,7 +509,7 @@ impl pallet_bridge_messages::Config for Run type DeliveryConfirmationPayments = pallet_bridge_relayers::DeliveryConfirmationPaymentsAdapter< Runtime, frame_support::traits::ConstU64<100_000>, - frame_support::traits::ConstU64<100_000>, + frame_support::traits::ConstU64<10_000>, >; type SourceHeaderChain = crate::rialto_parachain_messages::RialtoParachain; @@ -1037,6 +1037,10 @@ impl_runtime_apis! { [0u8; 32].into() } + fn is_relayer_rewarded(relayer: &Self::AccountId) -> bool { + pallet_bridge_relayers::Pallet::::relayer_reward(relayer, &Self::bench_lane_id()).is_some() + } + fn endow_account(account: &Self::AccountId) { pallet_balances::Pallet::::make_free_balance_be( account, diff --git a/bridges/modules/messages/src/benchmarking.rs b/bridges/modules/messages/src/benchmarking.rs index 36018474a8f8f..62dd1d60caf66 100644 --- a/bridges/modules/messages/src/benchmarking.rs +++ b/bridges/modules/messages/src/benchmarking.rs @@ -69,6 +69,8 @@ pub trait Config: crate::Config { } /// Return id of relayer account at the bridged chain. fn bridged_relayer_id() -> Self::InboundRelayer; + /// Returns true if given relayer has been rewarded for some of its actions. + fn is_relayer_rewarded(relayer: &Self::AccountId) -> bool; /// Create given account and give it enough balance for test purposes. fn endow_account(account: &Self::AccountId); /// Prepare messages proof to receive by the module. @@ -287,6 +289,7 @@ benchmarks_instance_pallet! { }: receive_messages_delivery_proof(RawOrigin::Signed(relayer_id.clone()), proof, relayers_state) verify { assert_eq!(OutboundLanes::::get(T::bench_lane_id()).latest_received_nonce, 1); + assert!(T::is_relayer_rewarded(&relayer_id)); } // Benchmark `receive_messages_delivery_proof` extrinsic with following conditions: @@ -325,6 +328,7 @@ benchmarks_instance_pallet! { }: receive_messages_delivery_proof(RawOrigin::Signed(relayer_id.clone()), proof, relayers_state) verify { assert_eq!(OutboundLanes::::get(T::bench_lane_id()).latest_received_nonce, 2); + assert!(T::is_relayer_rewarded(&relayer_id)); } // Benchmark `receive_messages_delivery_proof` extrinsic with following conditions: @@ -368,6 +372,8 @@ benchmarks_instance_pallet! { }: receive_messages_delivery_proof(RawOrigin::Signed(relayer1_id.clone()), proof, relayers_state) verify { assert_eq!(OutboundLanes::::get(T::bench_lane_id()).latest_received_nonce, 2); + assert!(T::is_relayer_rewarded(&relayer1_id)); + assert!(T::is_relayer_rewarded(&relayer2_id)); } } diff --git a/bridges/modules/messages/src/weights.rs b/bridges/modules/messages/src/weights.rs index 69fad6051d5d4..344b9587d6887 100644 --- a/bridges/modules/messages/src/weights.rs +++ b/bridges/modules/messages/src/weights.rs @@ -17,7 +17,7 @@ //! Autogenerated weights for `pallet_bridge_messages` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-12-21, STEPS: 50, REPEAT: 20 +//! DATE: 2023-01-12, STEPS: 50, REPEAT: 20 //! LOW RANGE: [], HIGH RANGE: [] //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled //! CHAIN: Some("dev"), DB CACHE: 1024 @@ -66,87 +66,87 @@ pub trait WeightInfo { pub struct BridgeWeight(PhantomData); impl WeightInfo for BridgeWeight { fn receive_single_message_proof() -> Weight { - Weight::from_ref_time(60_148_000 as u64) + Weight::from_ref_time(95_401_000 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } fn receive_two_messages_proof() -> Weight { - Weight::from_ref_time(71_836_000 as u64) + Weight::from_ref_time(127_794_000 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } fn receive_single_message_proof_with_outbound_lane_state() -> Weight { - Weight::from_ref_time(66_845_000 as u64) + Weight::from_ref_time(105_698_000 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } fn receive_single_message_proof_1_kb() -> Weight { - Weight::from_ref_time(69_696_000 as u64) + Weight::from_ref_time(92_963_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn receive_single_message_proof_16_kb() -> Weight { - Weight::from_ref_time(123_646_000 as u64) + Weight::from_ref_time(158_449_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn receive_delivery_proof_for_single_message() -> Weight { - Weight::from_ref_time(53_723_000 as u64) + Weight::from_ref_time(72_085_000 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } fn receive_delivery_proof_for_two_messages_by_single_relayer() -> Weight { - Weight::from_ref_time(54_617_000 as u64) + Weight::from_ref_time(70_889_000 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } fn receive_delivery_proof_for_two_messages_by_two_relayers() -> Weight { - Weight::from_ref_time(53_582_000 as u64) - .saturating_add(T::DbWeight::get().reads(4 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) + Weight::from_ref_time(78_211_000 as u64) + .saturating_add(T::DbWeight::get().reads(5 as u64)) + .saturating_add(T::DbWeight::get().writes(3 as u64)) } } // For backwards compatibility and tests impl WeightInfo for () { fn receive_single_message_proof() -> Weight { - Weight::from_ref_time(60_148_000 as u64) + Weight::from_ref_time(95_401_000 as u64) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } fn receive_two_messages_proof() -> Weight { - Weight::from_ref_time(71_836_000 as u64) + Weight::from_ref_time(127_794_000 as u64) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } fn receive_single_message_proof_with_outbound_lane_state() -> Weight { - Weight::from_ref_time(66_845_000 as u64) + Weight::from_ref_time(105_698_000 as u64) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } fn receive_single_message_proof_1_kb() -> Weight { - Weight::from_ref_time(69_696_000 as u64) + Weight::from_ref_time(92_963_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } fn receive_single_message_proof_16_kb() -> Weight { - Weight::from_ref_time(123_646_000 as u64) + Weight::from_ref_time(158_449_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } fn receive_delivery_proof_for_single_message() -> Weight { - Weight::from_ref_time(53_723_000 as u64) + Weight::from_ref_time(72_085_000 as u64) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } fn receive_delivery_proof_for_two_messages_by_single_relayer() -> Weight { - Weight::from_ref_time(54_617_000 as u64) + Weight::from_ref_time(70_889_000 as u64) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } fn receive_delivery_proof_for_two_messages_by_two_relayers() -> Weight { - Weight::from_ref_time(53_582_000 as u64) - .saturating_add(RocksDbWeight::get().reads(4 as u64)) - .saturating_add(RocksDbWeight::get().writes(2 as u64)) + Weight::from_ref_time(78_211_000 as u64) + .saturating_add(RocksDbWeight::get().reads(5 as u64)) + .saturating_add(RocksDbWeight::get().writes(3 as u64)) } }