Skip to content

Commit fefbf95

Browse files
committed
Revert "Reintroduce msg dispatch status reporting (#2027)"
This reverts commit 68ba699.
1 parent fa454c3 commit fefbf95

File tree

16 files changed

+131
-309
lines changed

16 files changed

+131
-309
lines changed

Cargo.lock

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bin/millau/runtime/src/xcm_config.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ mod tests {
242242
target_chain::{DispatchMessage, DispatchMessageData, MessageDispatch},
243243
LaneId, MessageKey,
244244
};
245-
use bridge_runtime_common::messages_xcm_extension::XcmBlobMessageDispatchError;
245+
use bridge_runtime_common::messages_xcm_extension::XcmBlobMessageDispatchResult;
246246
use codec::Encode;
247247
use pallet_bridge_messages::OutboundLanes;
248248
use xcm_executor::XcmExecutor;
@@ -352,8 +352,8 @@ mod tests {
352352
let dispatch_result =
353353
FromRialtoMessageDispatch::dispatch(&AccountId::from([0u8; 32]), incoming_message);
354354
assert!(matches!(
355-
dispatch_result.dispatch_result,
356-
Err(XcmBlobMessageDispatchError::NotDispatched(_)),
355+
dispatch_result.dispatch_level_result,
356+
XcmBlobMessageDispatchResult::NotDispatched(_),
357357
));
358358
}
359359

@@ -366,8 +366,8 @@ mod tests {
366366
let dispatch_result =
367367
FromRialtoMessageDispatch::dispatch(&AccountId::from([0u8; 32]), incoming_message);
368368
assert!(matches!(
369-
dispatch_result.dispatch_result,
370-
Err(XcmBlobMessageDispatchError::NotDispatched(_)),
369+
dispatch_result.dispatch_level_result,
370+
XcmBlobMessageDispatchResult::NotDispatched(_),
371371
));
372372
}
373373
}

bin/rialto-parachain/runtime/src/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -853,7 +853,7 @@ mod tests {
853853
LaneId, MessageKey,
854854
};
855855
use bridge_runtime_common::{
856-
integrity::check_additional_signed, messages_xcm_extension::XcmBlobMessageDispatchError,
856+
integrity::check_additional_signed, messages_xcm_extension::XcmBlobMessageDispatchResult,
857857
};
858858
use codec::Encode;
859859
use pallet_bridge_messages::OutboundLanes;
@@ -928,8 +928,8 @@ mod tests {
928928
let dispatch_result =
929929
FromMillauMessageDispatch::dispatch(&AccountId::from([0u8; 32]), incoming_message);
930930
assert!(matches!(
931-
dispatch_result.dispatch_result,
932-
Err(XcmBlobMessageDispatchError::NotDispatched(_)),
931+
dispatch_result.dispatch_level_result,
932+
XcmBlobMessageDispatchResult::NotDispatched(_),
933933
));
934934
});
935935
}

bin/rialto/runtime/src/xcm_config.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ mod tests {
197197
target_chain::{DispatchMessage, DispatchMessageData, MessageDispatch},
198198
LaneId, MessageKey,
199199
};
200-
use bridge_runtime_common::messages_xcm_extension::XcmBlobMessageDispatchError;
200+
use bridge_runtime_common::messages_xcm_extension::XcmBlobMessageDispatchResult;
201201
use codec::Encode;
202202
use pallet_bridge_messages::OutboundLanes;
203203
use xcm_executor::XcmExecutor;
@@ -269,8 +269,8 @@ mod tests {
269269
let dispatch_result =
270270
FromMillauMessageDispatch::dispatch(&AccountId::from([0u8; 32]), incoming_message);
271271
assert!(matches!(
272-
dispatch_result.dispatch_result,
273-
Err(XcmBlobMessageDispatchError::NotDispatched(_)),
272+
dispatch_result.dispatch_level_result,
273+
XcmBlobMessageDispatchResult::NotDispatched(_),
274274
));
275275
}
276276
}

bin/runtime-common/src/integrity.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -307,10 +307,8 @@ pub fn check_message_lane_weights<C: Chain, T: frame_system::Config>(
307307
messages::target::maximal_incoming_message_dispatch_weight(C::max_extrinsic_weight()),
308308
);
309309

310-
let max_incoming_inbound_lane_data_proof_size = InboundLaneData::<()>::encoded_size_hint_u32(
311-
this_chain_max_unrewarded_relayers as _,
312-
this_chain_max_unconfirmed_messages as _,
313-
);
310+
let max_incoming_inbound_lane_data_proof_size =
311+
InboundLaneData::<()>::encoded_size_hint_u32(this_chain_max_unrewarded_relayers as _);
314312
pallet_bridge_messages::ensure_able_to_receive_confirmation::<Weights<T>>(
315313
C::max_extrinsic_size(),
316314
C::max_extrinsic_weight(),

bin/runtime-common/src/messages_xcm_extension.rs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@ pub type XcmAsPlainPayload = sp_std::prelude::Vec<u8>;
3939

4040
/// Message dispatch result type for single message
4141
#[derive(CloneNoBound, EqNoBound, PartialEqNoBound, Encode, Decode, Debug, TypeInfo)]
42-
pub enum XcmBlobMessageDispatchError {
42+
pub enum XcmBlobMessageDispatchResult {
4343
InvalidPayload,
44+
Dispatched,
4445
NotDispatched(#[codec(skip)] Option<DispatchBlobError>),
4546
}
4647

@@ -64,7 +65,7 @@ impl<
6465
for XcmBlobMessageDispatch<SourceBridgeHubChain, TargetBridgeHubChain, BlobDispatcher, Weights>
6566
{
6667
type DispatchPayload = XcmAsPlainPayload;
67-
type DispatchError = XcmBlobMessageDispatchError;
68+
type DispatchLevelResult = XcmBlobMessageDispatchResult;
6869

6970
fn dispatch_weight(message: &mut DispatchMessage<Self::DispatchPayload>) -> Weight {
7071
match message.data.payload {
@@ -79,7 +80,7 @@ impl<
7980
fn dispatch(
8081
_relayer_account: &AccountIdOf<SourceBridgeHubChain>,
8182
message: DispatchMessage<Self::DispatchPayload>,
82-
) -> MessageDispatchResult<Self::DispatchError> {
83+
) -> MessageDispatchResult<Self::DispatchLevelResult> {
8384
let payload = match message.data.payload {
8485
Ok(payload) => payload,
8586
Err(e) => {
@@ -91,7 +92,7 @@ impl<
9192
);
9293
return MessageDispatchResult {
9394
unspent_weight: Weight::zero(),
94-
dispatch_result: Err(XcmBlobMessageDispatchError::InvalidPayload),
95+
dispatch_level_result: XcmBlobMessageDispatchResult::InvalidPayload,
9596
}
9697
},
9798
};
@@ -102,21 +103,18 @@ impl<
102103
"[XcmBlobMessageDispatch] DispatchBlob::dispatch_blob was ok - message_nonce: {:?}",
103104
message.key.nonce
104105
);
105-
Ok(())
106+
XcmBlobMessageDispatchResult::Dispatched
106107
},
107108
Err(e) => {
108109
log::error!(
109110
target: crate::LOG_TARGET_BRIDGE_DISPATCH,
110111
"[XcmBlobMessageDispatch] DispatchBlob::dispatch_blob failed, error: {:?} - message_nonce: {:?}",
111112
e, message.key.nonce
112113
);
113-
Err(XcmBlobMessageDispatchError::NotDispatched(Some(e)))
114+
XcmBlobMessageDispatchResult::NotDispatched(Some(e))
114115
},
115116
};
116-
MessageDispatchResult {
117-
unspent_weight: Weight::zero(),
118-
dispatch_result: dispatch_level_result,
119-
}
117+
MessageDispatchResult { unspent_weight: Weight::zero(), dispatch_level_result }
120118
}
121119
}
122120

modules/messages/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ edition = "2021"
77
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
88

99
[dependencies]
10-
bitvec = { version = "1", default-features = false, features = ["alloc"] }
1110
codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
1211
log = { version = "0.4.17", default-features = false }
1312
num-traits = { version = "0.2", default-features = false }

modules/messages/src/benchmarking.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ benchmarks_instance_pallet! {
301301
inbound_lane_data: InboundLaneData {
302302
relayers: vec![UnrewardedRelayer {
303303
relayer: relayer_id.clone(),
304-
messages: DeliveredMessages::new(1, true),
304+
messages: DeliveredMessages::new(1),
305305
}].into_iter().collect(),
306306
last_confirmed_nonce: 0,
307307
},
@@ -333,8 +333,8 @@ benchmarks_instance_pallet! {
333333
total_messages: 2,
334334
last_delivered_nonce: 2,
335335
};
336-
let mut delivered_messages = DeliveredMessages::new(1, true);
337-
delivered_messages.note_dispatched_message(true);
336+
let mut delivered_messages = DeliveredMessages::new(1);
337+
delivered_messages.note_dispatched_message();
338338
let proof = T::prepare_message_delivery_proof(MessageDeliveryProofParams {
339339
lane: T::bench_lane_id(),
340340
inbound_lane_data: InboundLaneData {
@@ -379,11 +379,11 @@ benchmarks_instance_pallet! {
379379
relayers: vec![
380380
UnrewardedRelayer {
381381
relayer: relayer1_id.clone(),
382-
messages: DeliveredMessages::new(1, true),
382+
messages: DeliveredMessages::new(1),
383383
},
384384
UnrewardedRelayer {
385385
relayer: relayer2_id.clone(),
386-
messages: DeliveredMessages::new(2, true),
386+
messages: DeliveredMessages::new(2),
387387
},
388388
].into_iter().collect(),
389389
last_confirmed_nonce: 0,
@@ -451,7 +451,7 @@ fn receive_messages<T: Config<I>, I: 'static>(nonce: MessageNonce) {
451451
inbound_lane_storage.set_data(InboundLaneData {
452452
relayers: vec![UnrewardedRelayer {
453453
relayer: T::bridged_relayer_id(),
454-
messages: DeliveredMessages::new(nonce, true),
454+
messages: DeliveredMessages::new(nonce),
455455
}]
456456
.into_iter()
457457
.collect(),

modules/messages/src/inbound_lane.rs

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ impl<T: Config<I>, I: 'static> MaxEncodedLen for StoredInboundLaneData<T, I> {
101101
fn max_encoded_len() -> usize {
102102
InboundLaneData::<T::InboundRelayer>::encoded_size_hint(
103103
T::MaxUnrewardedRelayerEntriesAtInboundLane::get() as usize,
104-
T::MaxUnconfirmedMessagesAtInboundLane::get() as usize,
105104
)
106105
.unwrap_or(usize::MAX)
107106
}
@@ -155,9 +154,6 @@ impl<S: InboundLaneStorage> InboundLane<S> {
155154
// overlap.
156155
match data.relayers.front_mut() {
157156
Some(entry) if entry.messages.begin < new_confirmed_nonce => {
158-
entry.messages.dispatch_results = entry.messages.dispatch_results
159-
[(new_confirmed_nonce + 1 - entry.messages.begin) as usize..]
160-
.to_bitvec();
161157
entry.messages.begin = new_confirmed_nonce + 1;
162158
},
163159
_ => {},
@@ -174,7 +170,7 @@ impl<S: InboundLaneStorage> InboundLane<S> {
174170
relayer_at_this_chain: &AccountId,
175171
nonce: MessageNonce,
176172
message_data: DispatchMessageData<Dispatch::DispatchPayload>,
177-
) -> ReceivalResult<Dispatch::DispatchError> {
173+
) -> ReceivalResult<Dispatch::DispatchLevelResult> {
178174
let mut data = self.storage.data();
179175
let is_correct_message = nonce == data.last_delivered_nonce() + 1;
180176
if !is_correct_message {
@@ -202,20 +198,19 @@ impl<S: InboundLaneStorage> InboundLane<S> {
202198
);
203199

204200
// now let's update inbound lane storage
205-
match data.relayers.back_mut() {
201+
let push_new = match data.relayers.back_mut() {
206202
Some(entry) if entry.relayer == *relayer_at_bridged_chain => {
207-
entry.messages.note_dispatched_message(dispatch_result.dispatch_result.is_ok());
208-
},
209-
_ => {
210-
data.relayers.push_back(UnrewardedRelayer {
211-
relayer: relayer_at_bridged_chain.clone(),
212-
messages: DeliveredMessages::new(
213-
nonce,
214-
dispatch_result.dispatch_result.is_ok(),
215-
),
216-
});
203+
entry.messages.note_dispatched_message();
204+
false
217205
},
206+
_ => true,
218207
};
208+
if push_new {
209+
data.relayers.push_back(UnrewardedRelayer {
210+
relayer: (*relayer_at_bridged_chain).clone(),
211+
messages: DeliveredMessages::new(nonce),
212+
});
213+
}
219214
self.storage.set_data(data);
220215

221216
ReceivalResult::Dispatched(dispatch_result)

0 commit comments

Comments
 (0)