Small simplifications (#2050)

This commit is contained in:
Serban Iorga
2023-04-17 15:09:31 +03:00
committed by Bastian Köcher
parent 512d43fabe
commit 13ecaf1eca
2 changed files with 12 additions and 16 deletions
+7 -9
View File
@@ -198,19 +198,17 @@ impl<S: InboundLaneStorage> InboundLane<S> {
); );
// now let's update inbound lane storage // now let's update inbound lane storage
let push_new = match data.relayers.back_mut() { match data.relayers.back_mut() {
Some(entry) if entry.relayer == *relayer_at_bridged_chain => { Some(entry) if entry.relayer == *relayer_at_bridged_chain => {
entry.messages.note_dispatched_message(); entry.messages.note_dispatched_message();
false
}, },
_ => true, _ => {
data.relayers.push_back(UnrewardedRelayer {
relayer: relayer_at_bridged_chain.clone(),
messages: DeliveredMessages::new(nonce),
});
},
}; };
if push_new {
data.relayers.push_back(UnrewardedRelayer {
relayer: (*relayer_at_bridged_chain).clone(),
messages: DeliveredMessages::new(nonce),
});
}
self.storage.set_data(data); self.storage.set_data(data);
ReceivalResult::Dispatched(dispatch_result) ReceivalResult::Dispatched(dispatch_result)
+5 -7
View File
@@ -164,11 +164,9 @@ impl<RelayerId> InboundLaneData<RelayerId> {
where where
RelayerId: MaxEncodedLen, RelayerId: MaxEncodedLen,
{ {
let message_nonce_size = MessageNonce::max_encoded_len(); relayers_entries
let relayer_id_encoded_size = RelayerId::max_encoded_len(); .checked_mul(UnrewardedRelayer::<RelayerId>::max_encoded_len())?
let relayers_entry_size = relayer_id_encoded_size.checked_add(2 * message_nonce_size)?; .checked_add(MessageNonce::max_encoded_len())
let relayers_size = relayers_entries.checked_mul(relayers_entry_size)?;
relayers_size.checked_add(message_nonce_size)
} }
/// Returns the approximate size of the struct as u32, given a number of entries in the /// Returns the approximate size of the struct as u32, given a number of entries in the
@@ -223,7 +221,7 @@ pub struct InboundMessageDetails {
/// ///
/// This struct represents a continuous range of messages that have been delivered by the same /// This struct represents a continuous range of messages that have been delivered by the same
/// relayer and whose confirmations are still pending. /// relayer and whose confirmations are still pending.
#[derive(Encode, Decode, Clone, RuntimeDebug, PartialEq, Eq, TypeInfo)] #[derive(Encode, Decode, Clone, RuntimeDebug, PartialEq, Eq, TypeInfo, MaxEncodedLen)]
pub struct UnrewardedRelayer<RelayerId> { pub struct UnrewardedRelayer<RelayerId> {
/// Identifier of the relayer. /// Identifier of the relayer.
pub relayer: RelayerId, pub relayer: RelayerId,
@@ -270,7 +268,7 @@ pub enum ReceivalResult<DispatchLevelResult> {
} }
/// Delivered messages with their dispatch result. /// Delivered messages with their dispatch result.
#[derive(Clone, Default, Encode, Decode, RuntimeDebug, PartialEq, Eq, TypeInfo)] #[derive(Clone, Default, Encode, Decode, RuntimeDebug, PartialEq, Eq, TypeInfo, MaxEncodedLen)]
pub struct DeliveredMessages { pub struct DeliveredMessages {
/// Nonce of the first message that has been delivered (inclusive). /// Nonce of the first message that has been delivered (inclusive).
pub begin: MessageNonce, pub begin: MessageNonce,