Signed extension for rejecting obsolete messages pallet transactions (#1446)

* BridgeRejectObsoleteMessages

* add obsolete confirmations verification to the BridgeRejectObsoleteMessages

* move tests where they belong
This commit is contained in:
Svyatoslav Nikolsky
2022-06-09 14:37:36 +03:00
committed by Bastian Köcher
parent ee5b692f72
commit 19c73ce0b7
13 changed files with 345 additions and 10 deletions
@@ -474,6 +474,7 @@ fn prepare_dummy_messages_delivery_proof<SC: Chain, TC: Chain>(
unrewarded_relayer_entries: 1,
messages_in_oldest_entry: 1,
total_messages: 1,
last_delivered_nonce: 1,
},
FromBridgedChainMessagesDeliveryProof {
bridged_header_hash: Default::default(),
@@ -191,11 +191,10 @@ where
id: TargetHeaderIdOf<MessageLaneAdapter<P>>,
) -> Result<(TargetHeaderIdOf<MessageLaneAdapter<P>>, UnrewardedRelayersState), SubstrateError>
{
let relayers = self
.inbound_lane_data(id)
.await?
.map(|data| data.relayers)
.unwrap_or_else(VecDeque::new);
let inbound_lane_data = self.inbound_lane_data(id).await?;
let last_delivered_nonce =
inbound_lane_data.as_ref().map(|data| data.last_delivered_nonce()).unwrap_or(0);
let relayers = inbound_lane_data.map(|data| data.relayers).unwrap_or_else(VecDeque::new);
let unrewarded_relayers_state = bp_messages::UnrewardedRelayersState {
unrewarded_relayer_entries: relayers.len() as _,
messages_in_oldest_entry: relayers
@@ -203,6 +202,7 @@ where
.map(|entry| 1 + entry.messages.end - entry.messages.begin)
.unwrap_or(0),
total_messages: total_unrewarded_messages(&relayers).unwrap_or(MessageNonce::MAX),
last_delivered_nonce,
};
Ok((id, unrewarded_relayers_state))
}