Skip to content
Prev Previous commit
Next Next commit
OnMessagesDelivered -> OnDeliveryConfirmed
  • Loading branch information
svyatonik committed Jun 21, 2021
commit 15b3acf52b8c8c70156e4316bd8b3b8c0ef97f8e
2 changes: 1 addition & 1 deletion bin/millau/runtime/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@ impl pallet_bridge_messages::Config<WithRialtoMessagesInstance> for Runtime {
GetDeliveryConfirmationTransactionFee,
RootAccountForPayments,
>;
type OnMessagesDelivered = ();
type OnDeliveryConfirmed = ();

type SourceHeaderChain = crate::rialto_messages::Rialto;
type MessageDispatch = crate::rialto_messages::FromRialtoMessageDispatch;
Expand Down
2 changes: 1 addition & 1 deletion bin/rialto/runtime/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -491,7 +491,7 @@ impl pallet_bridge_messages::Config<WithMillauMessagesInstance> for Runtime {
GetDeliveryConfirmationTransactionFee,
RootAccountForPayments,
>;
type OnMessagesDelivered = ();
type OnDeliveryConfirmed = ();

type SourceHeaderChain = crate::millau_messages::Millau;
type MessageDispatch = crate::millau_messages::FromMillauMessageDispatch;
Expand Down
16 changes: 8 additions & 8 deletions modules/messages/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ use crate::weights::WeightInfo;

use bp_messages::{
source_chain::{
LaneMessageVerifier, MessageDeliveryAndDispatchPayment, OnMessagesDelivered, RelayersRewards, TargetHeaderChain,
LaneMessageVerifier, MessageDeliveryAndDispatchPayment, OnDeliveryConfirmed, RelayersRewards, TargetHeaderChain,
},
target_chain::{DispatchMessage, MessageDispatch, ProvedLaneMessages, ProvedMessages, SourceHeaderChain},
total_unrewarded_messages, DeliveredMessages, InboundLaneData, LaneId, MessageData, MessageKey, MessageNonce,
Expand Down Expand Up @@ -149,7 +149,7 @@ pub trait Config<I = DefaultInstance>: frame_system::Config {
/// Message delivery payment.
type MessageDeliveryAndDispatchPayment: MessageDeliveryAndDispatchPayment<Self::AccountId, Self::OutboundMessageFee>;
/// Handler for delivered messages.
type OnMessagesDelivered: OnMessagesDelivered;
type OnDeliveryConfirmed: OnDeliveryConfirmed;

// Types that are used by inbound_lane (on target chain).

Expand Down Expand Up @@ -640,8 +640,8 @@ decl_module! {
},
};
if let Some(confirmed_messages) = confirmed_messages {
// handle messages delivery
T::OnMessagesDelivered::on_messages_delivered(&lane_id, &confirmed_messages);
// handle messages delivery confirmation
T::OnDeliveryConfirmed::on_messages_delivered(&lane_id, &confirmed_messages);

// emit 'delivered' event
let received_range = confirmed_messages.begin..=confirmed_messages.end;
Expand Down Expand Up @@ -1909,10 +1909,10 @@ mod tests {
));

// ensure that both callbacks have been called twice: for 1+2, then for 3
crate::mock::TestOnMessagesDelivered1::ensure_called(&TEST_LANE_ID, &delivered_messages_1_and_2);
crate::mock::TestOnMessagesDelivered1::ensure_called(&TEST_LANE_ID, &delivered_message_3);
crate::mock::TestOnMessagesDelivered2::ensure_called(&TEST_LANE_ID, &delivered_messages_1_and_2);
crate::mock::TestOnMessagesDelivered2::ensure_called(&TEST_LANE_ID, &delivered_message_3);
crate::mock::TestOnDeliveryConfirmed1::ensure_called(&TEST_LANE_ID, &delivered_messages_1_and_2);
crate::mock::TestOnDeliveryConfirmed1::ensure_called(&TEST_LANE_ID, &delivered_message_3);
crate::mock::TestOnDeliveryConfirmed2::ensure_called(&TEST_LANE_ID, &delivered_messages_1_and_2);
crate::mock::TestOnDeliveryConfirmed2::ensure_called(&TEST_LANE_ID, &delivered_message_3);
});
}
}
24 changes: 12 additions & 12 deletions modules/messages/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ use crate::Config;
use bitvec::prelude::*;
use bp_messages::{
source_chain::{
LaneMessageVerifier, MessageDeliveryAndDispatchPayment, OnMessagesDelivered, RelayersRewards, Sender,
LaneMessageVerifier, MessageDeliveryAndDispatchPayment, OnDeliveryConfirmed, RelayersRewards, Sender,
TargetHeaderChain,
},
target_chain::{DispatchMessage, MessageDispatch, ProvedLaneMessages, ProvedMessages, SourceHeaderChain},
Expand Down Expand Up @@ -171,7 +171,7 @@ impl Config for TestRuntime {
type TargetHeaderChain = TestTargetHeaderChain;
type LaneMessageVerifier = TestLaneMessageVerifier;
type MessageDeliveryAndDispatchPayment = TestMessageDeliveryAndDispatchPayment;
type OnMessagesDelivered = (TestOnMessagesDelivered1, TestOnMessagesDelivered2);
type OnDeliveryConfirmed = (TestOnDeliveryConfirmed1, TestOnDeliveryConfirmed2);

type SourceHeaderChain = TestSourceHeaderChain;
type MessageDispatch = TestMessageDispatch;
Expand Down Expand Up @@ -350,38 +350,38 @@ impl MessageDeliveryAndDispatchPayment<AccountId, TestMessageFee> for TestMessag

/// First on-messages-delivered callback.
#[derive(Debug)]
pub struct TestOnMessagesDelivered1;
pub struct TestOnDeliveryConfirmed1;

impl TestOnMessagesDelivered1 {
impl TestOnDeliveryConfirmed1 {
/// Verify that the callback has been called with given delivered messages.
pub fn ensure_called(lane: &LaneId, messages: &DeliveredMessages) {
let key = (b"TestOnMessagesDelivered1", lane, messages).encode();
let key = (b"TestOnDeliveryConfirmed1", lane, messages).encode();
assert_eq!(frame_support::storage::unhashed::get(&key), Some(true));
}
}

impl OnMessagesDelivered for TestOnMessagesDelivered1 {
impl OnDeliveryConfirmed for TestOnDeliveryConfirmed1 {
fn on_messages_delivered(lane: &LaneId, messages: &DeliveredMessages) {
let key = (b"TestOnMessagesDelivered1", lane, messages).encode();
let key = (b"TestOnDeliveryConfirmed1", lane, messages).encode();
frame_support::storage::unhashed::put(&key, &true);
}
}

/// Seconde on-messages-delivered callback.
#[derive(Debug)]
pub struct TestOnMessagesDelivered2;
pub struct TestOnDeliveryConfirmed2;

impl TestOnMessagesDelivered2 {
impl TestOnDeliveryConfirmed2 {
/// Verify that the callback has been called with given delivered messages.
pub fn ensure_called(lane: &LaneId, messages: &DeliveredMessages) {
let key = (b"TestOnMessagesDelivered2", lane, messages).encode();
let key = (b"TestOnDeliveryConfirmed2", lane, messages).encode();
assert_eq!(frame_support::storage::unhashed::get(&key), Some(true));
}
}

impl OnMessagesDelivered for TestOnMessagesDelivered2 {
impl OnDeliveryConfirmed for TestOnDeliveryConfirmed2 {
fn on_messages_delivered(lane: &LaneId, messages: &DeliveredMessages) {
let key = (b"TestOnMessagesDelivered2", lane, messages).encode();
let key = (b"TestOnDeliveryConfirmed2", lane, messages).encode();
frame_support::storage::unhashed::put(&key, &true);
}
}
Expand Down
4 changes: 2 additions & 2 deletions primitives/messages/src/source_chain.rs
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,9 @@ pub trait MessageDeliveryAndDispatchPayment<AccountId, Balance> {
}
}

/// Handler for delivered messages.
/// Handler for messages delivery confirmation.
#[impl_trait_for_tuples::impl_for_tuples(30)]
pub trait OnMessagesDelivered {
pub trait OnDeliveryConfirmed {
/// Called when we receive confirmation that our messages have been delivered to the
/// target chain. The confirmation aso has single bit dispatch result for every
/// confirmed message (see `DeliveredMessages` for details).
Expand Down