mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 07:31:02 +00:00
added version guards to RBH<>WBH GRANDPA finality (and complex) relay (#1697)
This commit is contained in:
committed by
Bastian Köcher
parent
9c8f8a90e7
commit
7ab985718a
@@ -17,8 +17,12 @@
|
|||||||
//! Rococo-to-Wococo bridge hubs headers sync entrypoint.
|
//! Rococo-to-Wococo bridge hubs headers sync entrypoint.
|
||||||
|
|
||||||
use crate::cli::bridge::{CliBridgeBase, RelayToRelayHeadersCliBridge};
|
use crate::cli::bridge::{CliBridgeBase, RelayToRelayHeadersCliBridge};
|
||||||
use substrate_relay_helper::finality::{
|
|
||||||
engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalitySyncPipeline,
|
use async_trait::async_trait;
|
||||||
|
use relay_substrate_client::{AccountKeyPairOf, Client};
|
||||||
|
use substrate_relay_helper::{
|
||||||
|
finality::{engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalitySyncPipeline},
|
||||||
|
TransactionParams,
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Description of Rococo -> Wococo finalized headers bridge.
|
/// Description of Rococo -> Wococo finalized headers bridge.
|
||||||
@@ -32,12 +36,27 @@ substrate_relay_helper::generate_mocked_submit_finality_proof_call_builder!(
|
|||||||
relay_bridge_hub_wococo_client::runtime::BridgeGrandpaRococoCall::submit_finality_proof
|
relay_bridge_hub_wococo_client::runtime::BridgeGrandpaRococoCall::submit_finality_proof
|
||||||
);
|
);
|
||||||
|
|
||||||
|
#[async_trait]
|
||||||
impl SubstrateFinalitySyncPipeline for RococoFinalityToBridgeHubWococo {
|
impl SubstrateFinalitySyncPipeline for RococoFinalityToBridgeHubWococo {
|
||||||
type SourceChain = relay_rococo_client::Rococo;
|
type SourceChain = relay_rococo_client::Rococo;
|
||||||
type TargetChain = relay_bridge_hub_wococo_client::BridgeHubWococo;
|
type TargetChain = relay_bridge_hub_wococo_client::BridgeHubWococo;
|
||||||
|
|
||||||
type FinalityEngine = GrandpaFinalityEngine<Self::SourceChain>;
|
type FinalityEngine = GrandpaFinalityEngine<Self::SourceChain>;
|
||||||
type SubmitFinalityProofCallBuilder = RococoFinalityToBridgeHubWococoCallBuilder;
|
type SubmitFinalityProofCallBuilder = RococoFinalityToBridgeHubWococoCallBuilder;
|
||||||
|
|
||||||
|
async fn start_relay_guards(
|
||||||
|
target_client: &Client<Self::TargetChain>,
|
||||||
|
_transaction_params: &TransactionParams<AccountKeyPairOf<Self::TargetChain>>,
|
||||||
|
enable_version_guard: bool,
|
||||||
|
) -> relay_substrate_client::Result<()> {
|
||||||
|
if enable_version_guard {
|
||||||
|
relay_substrate_client::guard::abort_on_spec_version_change(
|
||||||
|
target_client.clone(),
|
||||||
|
target_client.simple_runtime_version().await?.0,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// `Rococo` to BridgeHub `Wococo` bridge definition.
|
/// `Rococo` to BridgeHub `Wococo` bridge definition.
|
||||||
|
|||||||
@@ -17,8 +17,12 @@
|
|||||||
//! Wococo-to-Rococo bridge hubs headers sync entrypoint.
|
//! Wococo-to-Rococo bridge hubs headers sync entrypoint.
|
||||||
|
|
||||||
use crate::cli::bridge::{CliBridgeBase, RelayToRelayHeadersCliBridge};
|
use crate::cli::bridge::{CliBridgeBase, RelayToRelayHeadersCliBridge};
|
||||||
use substrate_relay_helper::finality::{
|
|
||||||
engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalitySyncPipeline,
|
use async_trait::async_trait;
|
||||||
|
use relay_substrate_client::{AccountKeyPairOf, Client};
|
||||||
|
use substrate_relay_helper::{
|
||||||
|
finality::{engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalitySyncPipeline},
|
||||||
|
TransactionParams,
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Description of Wococo -> Rococo finalized headers bridge.
|
/// Description of Wococo -> Rococo finalized headers bridge.
|
||||||
@@ -32,12 +36,27 @@ substrate_relay_helper::generate_mocked_submit_finality_proof_call_builder!(
|
|||||||
relay_bridge_hub_rococo_client::runtime::BridgeWococoGrandpaCall::submit_finality_proof
|
relay_bridge_hub_rococo_client::runtime::BridgeWococoGrandpaCall::submit_finality_proof
|
||||||
);
|
);
|
||||||
|
|
||||||
|
#[async_trait]
|
||||||
impl SubstrateFinalitySyncPipeline for WococoFinalityToBridgeHubRococo {
|
impl SubstrateFinalitySyncPipeline for WococoFinalityToBridgeHubRococo {
|
||||||
type SourceChain = relay_wococo_client::Wococo;
|
type SourceChain = relay_wococo_client::Wococo;
|
||||||
type TargetChain = relay_bridge_hub_rococo_client::BridgeHubRococo;
|
type TargetChain = relay_bridge_hub_rococo_client::BridgeHubRococo;
|
||||||
|
|
||||||
type FinalityEngine = GrandpaFinalityEngine<Self::SourceChain>;
|
type FinalityEngine = GrandpaFinalityEngine<Self::SourceChain>;
|
||||||
type SubmitFinalityProofCallBuilder = WococoFinalityToBridgeHubRococoCallBuilder;
|
type SubmitFinalityProofCallBuilder = WococoFinalityToBridgeHubRococoCallBuilder;
|
||||||
|
|
||||||
|
async fn start_relay_guards(
|
||||||
|
target_client: &Client<Self::TargetChain>,
|
||||||
|
_transaction_params: &TransactionParams<AccountKeyPairOf<Self::TargetChain>>,
|
||||||
|
enable_version_guard: bool,
|
||||||
|
) -> relay_substrate_client::Result<()> {
|
||||||
|
if enable_version_guard {
|
||||||
|
relay_substrate_client::guard::abort_on_spec_version_change(
|
||||||
|
target_client.clone(),
|
||||||
|
target_client.simple_runtime_version().await?.0,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// `Wococo` to BridgeHub `Rococo` bridge definition.
|
/// `Wococo` to BridgeHub `Rococo` bridge definition.
|
||||||
|
|||||||
Reference in New Issue
Block a user