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
@@ -40,8 +40,6 @@ impl SubstrateParachainsPipeline for RialtoParachainsToMillau {
|
||||
type TargetChain = Millau;
|
||||
|
||||
type SubmitParachainHeadsCallBuilder = RialtoParachainsToMillauSubmitParachainHeadsCallBuilder;
|
||||
|
||||
const SOURCE_PARACHAIN_PARA_ID: u32 = bp_rialto_parachain::RIALTO_PARACHAIN_ID;
|
||||
}
|
||||
|
||||
/// `submit_parachain_heads` call builder for Rialto-to-Millau parachains sync pipeline.
|
||||
|
||||
@@ -39,8 +39,6 @@ impl SubstrateParachainsPipeline for BridgeHubRococoToBridgeHubWococo {
|
||||
type TargetChain = relay_bridge_hub_wococo_client::BridgeHubWococo;
|
||||
|
||||
type SubmitParachainHeadsCallBuilder = BridgeHubRococoToBridgeHubWococoCallBuilder;
|
||||
|
||||
const SOURCE_PARACHAIN_PARA_ID: u32 = bp_bridge_hub_rococo::BRIDGE_HUB_ROCOCO_PARACHAIN_ID;
|
||||
}
|
||||
|
||||
pub struct BridgeHubRococoToBridgeHubWococoCallBuilder;
|
||||
|
||||
@@ -39,8 +39,6 @@ impl SubstrateParachainsPipeline for WestendParachainsToMillau {
|
||||
type TargetChain = Millau;
|
||||
|
||||
type SubmitParachainHeadsCallBuilder = WestendParachainsToMillauSubmitParachainHeadsCallBuilder;
|
||||
|
||||
const SOURCE_PARACHAIN_PARA_ID: u32 = bp_westend::WESTMINT_PARACHAIN_ID;
|
||||
}
|
||||
|
||||
/// `submit_parachain_heads` call builder for Rialto-to-Millau parachains sync pipeline.
|
||||
|
||||
@@ -39,8 +39,6 @@ impl SubstrateParachainsPipeline for BridgeHubWococoToBridgeHubRococo {
|
||||
type TargetChain = relay_bridge_hub_rococo_client::BridgeHubRococo;
|
||||
|
||||
type SubmitParachainHeadsCallBuilder = BridgeHubWococoToBridgeHubRococoCallBuilder;
|
||||
|
||||
const SOURCE_PARACHAIN_PARA_ID: u32 = bp_bridge_hub_wococo::BRIDGE_HUB_WOCOCO_PARACHAIN_ID;
|
||||
}
|
||||
|
||||
pub struct BridgeHubWococoToBridgeHubRococoCallBuilder;
|
||||
|
||||
@@ -17,7 +17,9 @@
|
||||
use crate::cli::CliChain;
|
||||
use pallet_bridge_parachains::{RelayBlockHash, RelayBlockHasher, RelayBlockNumber};
|
||||
use parachains_relay::ParachainsPipeline;
|
||||
use relay_substrate_client::{AccountKeyPairOf, Chain, ChainWithTransactions, RelayChain};
|
||||
use relay_substrate_client::{
|
||||
AccountKeyPairOf, Chain, ChainWithTransactions, Parachain, RelayChain,
|
||||
};
|
||||
use strum::{EnumString, EnumVariantNames};
|
||||
use substrate_relay_helper::{
|
||||
finality::SubstrateFinalitySyncPipeline, messages_lane::SubstrateMessageLane,
|
||||
@@ -76,7 +78,10 @@ pub trait RelayToRelayHeadersCliBridge: CliBridgeBase {
|
||||
|
||||
/// Bridge representation that can be used from the CLI for relaying headers
|
||||
/// from a parachain to a relay chain.
|
||||
pub trait ParachainToRelayHeadersCliBridge: CliBridgeBase {
|
||||
pub trait ParachainToRelayHeadersCliBridge: CliBridgeBase
|
||||
where
|
||||
Self::Source: Parachain,
|
||||
{
|
||||
// The `CliBridgeBase` type represents the parachain in this situation.
|
||||
// We need to add an extra type for the relay chain.
|
||||
type SourceRelay: Chain<BlockNumber = RelayBlockNumber, Hash = RelayBlockHash, Hasher = RelayBlockHasher>
|
||||
|
||||
@@ -62,6 +62,7 @@ use bp_messages::LaneId;
|
||||
use bp_runtime::{BalanceOf, BlockNumberOf};
|
||||
use relay_substrate_client::{
|
||||
AccountIdOf, AccountKeyPairOf, Chain, ChainWithBalances, ChainWithTransactions, Client,
|
||||
Parachain,
|
||||
};
|
||||
use relay_utils::metrics::MetricsParams;
|
||||
use sp_core::Pair;
|
||||
|
||||
+15
-6
@@ -25,7 +25,9 @@ use crate::cli::{
|
||||
use bp_polkadot_core::parachains::ParaHash;
|
||||
use bp_runtime::BlockNumberOf;
|
||||
use pallet_bridge_parachains::{RelayBlockHash, RelayBlockHasher, RelayBlockNumber};
|
||||
use relay_substrate_client::{AccountIdOf, AccountKeyPairOf, Chain, ChainWithTransactions, Client};
|
||||
use relay_substrate_client::{
|
||||
AccountIdOf, AccountKeyPairOf, Chain, ChainWithTransactions, Client, Parachain,
|
||||
};
|
||||
use sp_core::Pair;
|
||||
use substrate_relay_helper::{
|
||||
finality::SubstrateFinalitySyncPipeline,
|
||||
@@ -42,7 +44,10 @@ use substrate_relay_helper::{
|
||||
pub struct ParachainToParachainBridge<
|
||||
L2R: MessagesCliBridge + ParachainToRelayHeadersCliBridge,
|
||||
R2L: MessagesCliBridge + ParachainToRelayHeadersCliBridge,
|
||||
> {
|
||||
> where
|
||||
<L2R as CliBridgeBase>::Source: Parachain,
|
||||
<R2L as CliBridgeBase>::Source: Parachain,
|
||||
{
|
||||
/// Parameters that are shared by all bridge types.
|
||||
pub common:
|
||||
Full2WayBridgeCommonParams<<R2L as CliBridgeBase>::Target, <L2R as CliBridgeBase>::Target>,
|
||||
@@ -118,9 +123,9 @@ macro_rules! declare_parachain_to_parachain_bridge_schema {
|
||||
|
||||
impl [<$left_parachain $right_parachain HeadersAndMessages>] {
|
||||
async fn into_bridge<
|
||||
Left: ChainWithTransactions + CliChain<KeyPair = AccountKeyPairOf<Left>>,
|
||||
Left: ChainWithTransactions + CliChain<KeyPair = AccountKeyPairOf<Left>> + Parachain,
|
||||
LeftRelay: CliChain,
|
||||
Right: ChainWithTransactions + CliChain<KeyPair = AccountKeyPairOf<Right>>,
|
||||
Right: ChainWithTransactions + CliChain<KeyPair = AccountKeyPairOf<Right>> + Parachain,
|
||||
RightRelay: CliChain,
|
||||
L2R: CliBridgeBase<Source = Left, Target = Right>
|
||||
+ MessagesCliBridge
|
||||
@@ -172,10 +177,14 @@ macro_rules! declare_parachain_to_parachain_bridge_schema {
|
||||
|
||||
#[async_trait]
|
||||
impl<
|
||||
Left: Chain<Hash = ParaHash> + ChainWithTransactions + CliChain<KeyPair = AccountKeyPairOf<Left>>,
|
||||
Left: Chain<Hash = ParaHash>
|
||||
+ ChainWithTransactions
|
||||
+ CliChain<KeyPair = AccountKeyPairOf<Left>>
|
||||
+ Parachain,
|
||||
Right: Chain<Hash = ParaHash>
|
||||
+ ChainWithTransactions
|
||||
+ CliChain<KeyPair = AccountKeyPairOf<Right>>,
|
||||
+ CliChain<KeyPair = AccountKeyPairOf<Right>>
|
||||
+ Parachain,
|
||||
LeftRelay: Chain<BlockNumber = RelayBlockNumber, Hash = RelayBlockHash, Hasher = RelayBlockHasher>
|
||||
+ CliChain,
|
||||
RightRelay: Chain<BlockNumber = RelayBlockNumber, Hash = RelayBlockHash, Hasher = RelayBlockHasher>
|
||||
|
||||
+9
-4
@@ -28,7 +28,9 @@ use crate::cli::{
|
||||
use bp_polkadot_core::parachains::ParaHash;
|
||||
use bp_runtime::BlockNumberOf;
|
||||
use pallet_bridge_parachains::{RelayBlockHash, RelayBlockHasher, RelayBlockNumber};
|
||||
use relay_substrate_client::{AccountIdOf, AccountKeyPairOf, Chain, ChainWithTransactions, Client};
|
||||
use relay_substrate_client::{
|
||||
AccountIdOf, AccountKeyPairOf, Chain, ChainWithTransactions, Client, Parachain,
|
||||
};
|
||||
use sp_core::Pair;
|
||||
use substrate_relay_helper::{
|
||||
finality::SubstrateFinalitySyncPipeline,
|
||||
@@ -45,7 +47,9 @@ use substrate_relay_helper::{
|
||||
pub struct RelayToParachainBridge<
|
||||
L2R: MessagesCliBridge + RelayToRelayHeadersCliBridge,
|
||||
R2L: MessagesCliBridge + ParachainToRelayHeadersCliBridge,
|
||||
> {
|
||||
> where
|
||||
<R2L as CliBridgeBase>::Source: Parachain,
|
||||
{
|
||||
/// Parameters that are shared by all bridge types.
|
||||
pub common:
|
||||
Full2WayBridgeCommonParams<<R2L as CliBridgeBase>::Target, <L2R as CliBridgeBase>::Target>,
|
||||
@@ -112,7 +116,7 @@ macro_rules! declare_relay_to_parachain_bridge_schema {
|
||||
impl [<$left_chain $right_parachain HeadersAndMessages>] {
|
||||
async fn into_bridge<
|
||||
Left: ChainWithTransactions + CliChain<KeyPair = AccountKeyPairOf<Left>>,
|
||||
Right: ChainWithTransactions + CliChain<KeyPair = AccountKeyPairOf<Right>>,
|
||||
Right: ChainWithTransactions + CliChain<KeyPair = AccountKeyPairOf<Right>> + Parachain,
|
||||
RightRelay: CliChain,
|
||||
L2R: CliBridgeBase<Source = Left, Target = Right> + MessagesCliBridge + RelayToRelayHeadersCliBridge,
|
||||
R2L: CliBridgeBase<Source = Right, Target = Left>
|
||||
@@ -165,7 +169,8 @@ impl<
|
||||
Left: ChainWithTransactions + CliChain<KeyPair = AccountKeyPairOf<Left>>,
|
||||
Right: Chain<Hash = ParaHash>
|
||||
+ ChainWithTransactions
|
||||
+ CliChain<KeyPair = AccountKeyPairOf<Right>>,
|
||||
+ CliChain<KeyPair = AccountKeyPairOf<Right>>
|
||||
+ Parachain,
|
||||
RightRelay: Chain<BlockNumber = RelayBlockNumber, Hash = RelayBlockHash, Hasher = RelayBlockHasher>
|
||||
+ CliChain,
|
||||
L2R: CliBridgeBase<Source = Left, Target = Right>
|
||||
|
||||
@@ -26,6 +26,7 @@ use bp_polkadot_core::parachains::ParaId;
|
||||
use parachains_relay::parachains_loop::{
|
||||
AvailableHeader, ParachainSyncParams, SourceClient, TargetClient,
|
||||
};
|
||||
use relay_substrate_client::{Parachain, ParachainBase};
|
||||
use relay_utils::metrics::{GlobalMetrics, StandaloneMetric};
|
||||
use std::sync::Arc;
|
||||
use structopt::StructOpt;
|
||||
@@ -38,7 +39,11 @@ use substrate_relay_helper::{
|
||||
TransactionParams,
|
||||
};
|
||||
|
||||
use crate::cli::{bridge::ParachainToRelayHeadersCliBridge, chain_schema::*, PrometheusParams};
|
||||
use crate::cli::{
|
||||
bridge::{CliBridgeBase, ParachainToRelayHeadersCliBridge},
|
||||
chain_schema::*,
|
||||
PrometheusParams,
|
||||
};
|
||||
|
||||
/// Start parachain heads relayer process.
|
||||
#[derive(StructOpt)]
|
||||
@@ -74,6 +79,7 @@ where
|
||||
SourceClient<ParachainsPipelineAdapter<Self::ParachainFinality>>,
|
||||
ParachainsTarget<Self::ParachainFinality>:
|
||||
TargetClient<ParachainsPipelineAdapter<Self::ParachainFinality>>,
|
||||
<Self as CliBridgeBase>::Source: Parachain,
|
||||
{
|
||||
async fn relay_headers(data: RelayParachains) -> anyhow::Result<()> {
|
||||
let source_client = data.source.into_client::<Self::SourceRelay>().await?;
|
||||
@@ -100,7 +106,7 @@ where
|
||||
target_client,
|
||||
ParachainSyncParams {
|
||||
parachains: vec![
|
||||
ParaId(<Self::ParachainFinality as SubstrateParachainsPipeline>::SOURCE_PARACHAIN_PARA_ID)
|
||||
ParaId(<Self::ParachainFinality as SubstrateParachainsPipeline>::SourceParachain::PARACHAIN_ID)
|
||||
],
|
||||
stall_timeout: std::time::Duration::from_secs(60),
|
||||
strategy: parachains_relay::parachains_loop::ParachainSyncStrategy::Any,
|
||||
|
||||
Reference in New Issue
Block a user