From 14a66290e140d23807d06c2bc0063aac175e678e Mon Sep 17 00:00:00 2001 From: Svyatoslav Nikolsky Date: Tue, 7 Feb 2023 12:38:25 +0300 Subject: [PATCH] Message delivery transaction is not free!!! (#1859) * message delivery transaction is not free!!! * test pays_fee --- bridges/modules/messages/src/lib.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/bridges/modules/messages/src/lib.rs b/bridges/modules/messages/src/lib.rs index ec895955076c0..21e5a6a9a8548 100644 --- a/bridges/modules/messages/src/lib.rs +++ b/bridges/modules/messages/src/lib.rs @@ -398,7 +398,7 @@ pub mod pallet { Self::deposit_event(Event::MessagesReceived(messages_received_status)); - Ok(PostDispatchInfo { actual_weight: Some(actual_weight), pays_fee: Pays::No }) + Ok(PostDispatchInfo { actual_weight: Some(actual_weight), pays_fee: Pays::Yes }) } /// Receive messages delivery proof from bridged chain. @@ -899,6 +899,7 @@ mod tests { use bp_test_utils::generate_owned_bridge_module_tests; use frame_support::{ assert_noop, assert_ok, + dispatch::Pays, storage::generator::{StorageMap, StorageValue}, traits::Hooks, weights::Weight, @@ -1543,16 +1544,19 @@ mod tests { messages_count, REGULAR_PAYLOAD.declared_weight, ); - let post_dispatch_weight = Pallet::::receive_messages_proof( + let result = Pallet::::receive_messages_proof( RuntimeOrigin::signed(1), TEST_RELAYER_A, proof, messages_count, REGULAR_PAYLOAD.declared_weight, ) - .expect("delivery has failed") - .actual_weight - .expect("receive_messages_proof always returns Some"); + .expect("delivery has failed"); + let post_dispatch_weight = + result.actual_weight.expect("receive_messages_proof always returns Some"); + + // message delivery transactions are never free + assert_eq!(result.pays_fee, Pays::Yes); (pre_dispatch_weight, post_dispatch_weight) }