Define HeaderIdProvider trait

Define HeaderIdProvider trait

Signed-off-by: Serban Iorga <serban@parity.io>
This commit is contained in:
Serban Iorga
2022-07-14 17:49:18 +03:00
committed by Bastian Köcher
parent 2b03f4e9e9
commit dc38e3d079
7 changed files with 47 additions and 26 deletions
@@ -34,7 +34,7 @@ use bp_messages::{
InboundMessageDetails, LaneId, MessageData, MessageNonce, MessagesOperatingMode,
OutboundLaneData, OutboundMessageDetails, UnrewardedRelayersState,
};
use bp_runtime::{messages::DispatchFeePayment, BasicOperatingMode};
use bp_runtime::{messages::DispatchFeePayment, BasicOperatingMode, HeaderIdProvider};
use bridge_runtime_common::messages::{
source::FromBridgedChainMessagesDeliveryProof, target::FromBridgedChainMessagesProof,
};
@@ -510,13 +510,12 @@ where
let self_best_finalized_header_hash = self_client.best_finalized_header_hash().await?;
let self_best_finalized_header =
self_client.header_by_hash(self_best_finalized_header_hash).await?;
let self_best_finalized_id =
HeaderId(*self_best_finalized_header.number(), self_best_finalized_header_hash);
let self_best_finalized_id = self_best_finalized_header.id();
// now let's read our best header on **this** chain
let self_best_header = self_client.best_header().await?;
let self_best_hash = self_best_header.hash();
let self_best_id = HeaderId(*self_best_header.number(), self_best_hash);
let self_best_id = self_best_header.id();
// now let's read id of best finalized peer header at our best finalized block
let peer_on_self_best_finalized_id =
@@ -532,7 +531,7 @@ where
Some(peer_client) => {
let actual_peer_on_self_best_finalized =
peer_client.header_by_number(peer_on_self_best_finalized_id.0).await?;
HeaderId(peer_on_self_best_finalized_id.0, actual_peer_on_self_best_finalized.hash())
actual_peer_on_self_best_finalized.id()
},
None => peer_on_self_best_finalized_id,
};
@@ -32,6 +32,7 @@ use async_std::{
};
use async_trait::async_trait;
use bp_polkadot_core::parachains::ParaHash;
use bp_runtime::HeaderIdProvider;
use futures::{select, FutureExt};
use num_traits::Zero;
use pallet_bridge_parachains::{RelayBlockHash, RelayBlockHasher, RelayBlockNumber};
@@ -43,7 +44,6 @@ use relay_substrate_client::{
use relay_utils::{
metrics::MetricsParams, relay_loop::Client as RelayClient, FailedClient, HeaderId,
};
use sp_runtime::traits::Header as HeaderT;
use std::fmt::Debug;
/// On-demand Substrate <-> Substrate parachain finality relay.
@@ -387,8 +387,7 @@ where
let best_finalized_relay_header =
source.client().best_finalized_header().await.map_err(map_source_err)?;
let best_finalized_relay_block_id =
HeaderId(*best_finalized_relay_header.number(), best_finalized_relay_header.hash());
let best_finalized_relay_block_id = best_finalized_relay_header.id();
let para_header_at_source = source
.on_chain_parachain_header(
best_finalized_relay_block_id,
@@ -396,7 +395,7 @@ where
)
.await
.map_err(map_source_err)?
.map(|h| HeaderId(*h.number(), h.hash()));
.map(|h| h.id());
let relay_header_at_source = best_finalized_relay_block_id.0;
let relay_header_at_target =
@@ -412,7 +411,7 @@ where
.on_chain_parachain_header(relay_header_at_target, P::SOURCE_PARACHAIN_PARA_ID.into())
.await
.map_err(map_source_err)?
.map(|h| HeaderId(*h.number(), h.hash()));
.map(|h| h.id());
Ok(RelayData {
required_para_header: required_header_number,
@@ -29,6 +29,7 @@ use bp_parachains::{
BestParaHeadHash,
};
use bp_polkadot_core::parachains::{ParaHash, ParaHead, ParaHeadsProof, ParaId};
use bp_runtime::HeaderIdProvider;
use codec::{Decode, Encode};
use parachains_relay::{
parachains_loop::TargetClient, parachains_loop_metrics::ParachainsLoopMetrics,
@@ -90,8 +91,7 @@ where
{
async fn best_block(&self) -> Result<HeaderIdOf<P::TargetChain>, Self::Error> {
let best_header = self.client.best_header().await?;
let best_hash = best_header.hash();
let best_id = HeaderId(*best_header.number(), best_hash);
let best_id = best_header.id();
Ok(best_id)
}