mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 09:51:02 +00:00
Remove SOURCE_PARACHAIN_PARA_ID (#1716)
* Remove SOURCE_PARACHAIN_PARA_ID Remove SubstrateParachainsPipeline::SOURCE_PARACHAIN_PARA_ID * Avoid duplicate ChainBase and ParachainBase implementations * Replace ChainShadow with UnderlyingChainProvider
This commit is contained in:
committed by
Bastian Köcher
parent
7d55a0ffe2
commit
bde1629f86
@@ -39,6 +39,7 @@ use pallet_bridge_parachains::{RelayBlockHash, RelayBlockHasher, RelayBlockNumbe
|
||||
use parachains_relay::parachains_loop::{AvailableHeader, ParachainSyncParams, TargetClient};
|
||||
use relay_substrate_client::{
|
||||
AccountIdOf, AccountKeyPairOf, BlockNumberOf, Chain, Client, Error as SubstrateError, HashOf,
|
||||
ParachainBase,
|
||||
};
|
||||
use relay_utils::{
|
||||
metrics::MetricsParams, relay_loop::Client as RelayClient, FailedClient, HeaderId,
|
||||
@@ -278,7 +279,7 @@ async fn background_task<P: SubstrateParachainsPipeline>(
|
||||
parachains_source.clone(),
|
||||
parachains_target.clone(),
|
||||
ParachainSyncParams {
|
||||
parachains: vec![P::SOURCE_PARACHAIN_PARA_ID.into()],
|
||||
parachains: vec![P::SourceParachain::PARACHAIN_ID.into()],
|
||||
stall_timeout: std::time::Duration::from_secs(60),
|
||||
strategy: parachains_relay::parachains_loop::ParachainSyncStrategy::Any,
|
||||
},
|
||||
@@ -386,7 +387,10 @@ where
|
||||
source.client().best_finalized_header().await.map_err(map_source_err)?;
|
||||
let best_finalized_relay_block_id = best_finalized_relay_header.id();
|
||||
let para_header_at_source = source
|
||||
.on_chain_para_head_id(best_finalized_relay_block_id, P::SOURCE_PARACHAIN_PARA_ID.into())
|
||||
.on_chain_para_head_id(
|
||||
best_finalized_relay_block_id,
|
||||
P::SourceParachain::PARACHAIN_ID.into(),
|
||||
)
|
||||
.await
|
||||
.map_err(map_source_err)?;
|
||||
|
||||
@@ -401,7 +405,7 @@ where
|
||||
.map_err(map_target_err)?;
|
||||
|
||||
let para_header_at_relay_header_at_target = source
|
||||
.on_chain_para_head_id(relay_header_at_target, P::SOURCE_PARACHAIN_PARA_ID.into())
|
||||
.on_chain_para_head_id(relay_header_at_target, P::SourceParachain::PARACHAIN_ID.into())
|
||||
.await
|
||||
.map_err(map_source_err)?;
|
||||
|
||||
|
||||
@@ -24,7 +24,9 @@ use pallet_bridge_parachains::{
|
||||
RelayBlockHasher, RelayBlockNumber,
|
||||
};
|
||||
use parachains_relay::ParachainsPipeline;
|
||||
use relay_substrate_client::{CallOf, Chain, ChainWithTransactions, HeaderIdOf, RelayChain};
|
||||
use relay_substrate_client::{
|
||||
CallOf, Chain, ChainWithTransactions, HeaderIdOf, Parachain, RelayChain,
|
||||
};
|
||||
use std::{fmt::Debug, marker::PhantomData};
|
||||
|
||||
pub mod source;
|
||||
@@ -37,7 +39,7 @@ pub mod target;
|
||||
#[async_trait]
|
||||
pub trait SubstrateParachainsPipeline: 'static + Clone + Debug + Send + Sync {
|
||||
/// Headers of this parachain are submitted to the `Self::TargetChain`.
|
||||
type SourceParachain: Chain;
|
||||
type SourceParachain: Parachain;
|
||||
/// Relay chain that is storing headers of `Self::SourceParachain`.
|
||||
type SourceRelayChain: RelayChain;
|
||||
/// Target chain where `Self::SourceParachain` headers are submitted.
|
||||
@@ -45,9 +47,6 @@ pub trait SubstrateParachainsPipeline: 'static + Clone + Debug + Send + Sync {
|
||||
|
||||
/// How submit parachains heads call is built?
|
||||
type SubmitParachainHeadsCallBuilder: SubmitParachainHeadsCallBuilder<Self>;
|
||||
|
||||
/// Id of the `Self::SourceParachain`, used for registration in `Self::SourceRelayChain`.
|
||||
const SOURCE_PARACHAIN_PARA_ID: u32;
|
||||
}
|
||||
|
||||
/// Adapter that allows all `SubstrateParachainsPipeline` to act as `ParachainsPipeline`.
|
||||
|
||||
@@ -29,7 +29,7 @@ use parachains_relay::{
|
||||
parachains_loop_metrics::ParachainsLoopMetrics,
|
||||
};
|
||||
use relay_substrate_client::{
|
||||
Chain, Client, Error as SubstrateError, HeaderIdOf, HeaderOf, RelayChain,
|
||||
Chain, Client, Error as SubstrateError, HeaderIdOf, HeaderOf, ParachainBase, RelayChain,
|
||||
};
|
||||
use relay_utils::relay_loop::Client as RelayClient;
|
||||
|
||||
@@ -107,11 +107,11 @@ where
|
||||
para_id: ParaId,
|
||||
) -> Result<AvailableHeader<ParaHash>, Self::Error> {
|
||||
// we don't need to support many parachains now
|
||||
if para_id.0 != P::SOURCE_PARACHAIN_PARA_ID {
|
||||
if para_id.0 != P::SourceParachain::PARACHAIN_ID {
|
||||
return Err(SubstrateError::Custom(format!(
|
||||
"Parachain id {} is not matching expected {}",
|
||||
para_id.0,
|
||||
P::SOURCE_PARACHAIN_PARA_ID,
|
||||
P::SourceParachain::PARACHAIN_ID,
|
||||
)))
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ where
|
||||
at_block: HeaderIdOf<P::SourceRelayChain>,
|
||||
parachains: &[ParaId],
|
||||
) -> Result<(ParaHeadsProof, Vec<ParaHash>), Self::Error> {
|
||||
let parachain = ParaId(P::SOURCE_PARACHAIN_PARA_ID);
|
||||
let parachain = ParaId(P::SourceParachain::PARACHAIN_ID);
|
||||
if parachains != [parachain] {
|
||||
return Err(SubstrateError::Custom(format!(
|
||||
"Trying to prove unexpected parachains {parachains:?}. Expected {parachain:?}",
|
||||
|
||||
Reference in New Issue
Block a user