From 3d2dd5c421ceb6ab8d7e2091c9e72e195c98b1fd Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 7 Oct 2024 11:47:51 +0200 Subject: [PATCH 1/5] Add start log to relay_parachains --- .../relays/lib-substrate-relay/src/cli/relay_headers.rs | 1 + bridges/relays/parachains/src/parachains_loop.rs | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/bridges/relays/lib-substrate-relay/src/cli/relay_headers.rs b/bridges/relays/lib-substrate-relay/src/cli/relay_headers.rs index ea92a0c9acce..308b041c46f7 100644 --- a/bridges/relays/lib-substrate-relay/src/cli/relay_headers.rs +++ b/bridges/relays/lib-substrate-relay/src/cli/relay_headers.rs @@ -96,6 +96,7 @@ pub trait HeadersRelayer: RelayToRelayHeadersCliBridge { signer: target_sign, mortality: target_transactions_mortality, }; + Self::Finality::start_relay_guards(&target_client, target_client.can_start_version_guard()) .await?; diff --git a/bridges/relays/parachains/src/parachains_loop.rs b/bridges/relays/parachains/src/parachains_loop.rs index 59ca458e6667..dfe6b230ceda 100644 --- a/bridges/relays/parachains/src/parachains_loop.rs +++ b/bridges/relays/parachains/src/parachains_loop.rs @@ -177,6 +177,14 @@ pub async fn run( where P::SourceRelayChain: Chain, { + log::info!( + target: "bridge", + "Starting {} -> {} finality proof relay: relaying (only_free_headers: {:?}) headers", + P::SourceParachain::NAME, + P::TargetChain::NAME, + only_free_headers, + ); + let exit_signal = exit_signal.shared(); relay_utils::relay_loop(source_client, target_client) .with_metrics(metrics_params) From 07861416e0e794f704064f5ca602e58a2d013d1d Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 7 Oct 2024 12:26:38 +0200 Subject: [PATCH 2/5] Add possibility to start relay guard for `relay_parachains` cmd --- .../relays/lib-substrate-relay/src/cli/relay_parachains.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bridges/relays/lib-substrate-relay/src/cli/relay_parachains.rs b/bridges/relays/lib-substrate-relay/src/cli/relay_parachains.rs index 77cd395ff722..d7e2f5a22bc4 100644 --- a/bridges/relays/lib-substrate-relay/src/cli/relay_parachains.rs +++ b/bridges/relays/lib-substrate-relay/src/cli/relay_parachains.rs @@ -32,6 +32,7 @@ use crate::{ chain_schema::*, DefaultClient, PrometheusParams, }, + finality::SubstrateFinalitySyncPipeline, parachains::{source::ParachainsSource, target::ParachainsTarget, ParachainsPipelineAdapter}, TransactionParams, }; @@ -104,6 +105,9 @@ where data.prometheus_params.into_metrics_params()?; GlobalMetrics::new()?.register_and_spawn(&metrics_params.registry)?; + Self::RelayFinality::start_relay_guards(target_client.target_client(), target_client.target_client().can_start_version_guard()) + .await?; + parachains_relay::parachains_loop::run( source_client, target_client, From c9bae385a72a7a0944f523bf5657acd91d255d50 Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 7 Oct 2024 14:56:57 +0200 Subject: [PATCH 3/5] Add version guard for relay_messages --- .../src/cli/relay_messages.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bridges/relays/lib-substrate-relay/src/cli/relay_messages.rs b/bridges/relays/lib-substrate-relay/src/cli/relay_messages.rs index 3878b081d6c3..71d3adc078e2 100644 --- a/bridges/relays/lib-substrate-relay/src/cli/relay_messages.rs +++ b/bridges/relays/lib-substrate-relay/src/cli/relay_messages.rs @@ -121,6 +121,8 @@ where anyhow::format_err!("Invalid laneId: {:?}!", invalid_lane_id) })?; + Self::start_relay_guards(&target_client, target_client.can_start_version_guard()).await?; + crate::messages::run::(MessagesRelayParams { source_client, source_transaction_params: TransactionParams { @@ -216,4 +218,18 @@ where ) .await } + + /// Add relay guards if required. + async fn start_relay_guards( + target_client: &impl Client, + 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?.spec_version, + ); + } + Ok(()) + } } From 27fabdf4591eaffbaaad7ea706b5a9d45640eeba Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 7 Oct 2024 15:01:06 +0200 Subject: [PATCH 4/5] Remove duplicit enum --- bridges/relays/lib-substrate-relay/src/cli/mod.rs | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/bridges/relays/lib-substrate-relay/src/cli/mod.rs b/bridges/relays/lib-substrate-relay/src/cli/mod.rs index be64866fc14b..d7aa38f1f2ba 100644 --- a/bridges/relays/lib-substrate-relay/src/cli/mod.rs +++ b/bridges/relays/lib-substrate-relay/src/cli/mod.rs @@ -20,7 +20,6 @@ use rbtag::BuildInfo; use sp_runtime::traits::TryConvert; use std::str::FromStr; use structopt::StructOpt; -use strum::{EnumString, VariantNames}; pub mod bridge; pub mod chain_schema; @@ -139,17 +138,6 @@ where } } -#[doc = "Runtime version params."] -#[derive(StructOpt, Debug, PartialEq, Eq, Clone, Copy, EnumString, VariantNames)] -pub enum RuntimeVersionType { - /// Auto query version from chain - Auto, - /// Custom `spec_version` and `transaction_version` - Custom, - /// Read version from bundle dependencies directly. - Bundle, -} - #[cfg(test)] mod tests { use super::*; From 5dd9e27b480ae6af0af6e650034d95dba747f23c Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Mon, 7 Oct 2024 13:09:10 +0000 Subject: [PATCH 5/5] ".git/.scripts/commands/fmt/fmt.sh" --- .../relays/lib-substrate-relay/src/cli/relay_parachains.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bridges/relays/lib-substrate-relay/src/cli/relay_parachains.rs b/bridges/relays/lib-substrate-relay/src/cli/relay_parachains.rs index d7e2f5a22bc4..83285b69f701 100644 --- a/bridges/relays/lib-substrate-relay/src/cli/relay_parachains.rs +++ b/bridges/relays/lib-substrate-relay/src/cli/relay_parachains.rs @@ -105,8 +105,11 @@ where data.prometheus_params.into_metrics_params()?; GlobalMetrics::new()?.register_and_spawn(&metrics_params.registry)?; - Self::RelayFinality::start_relay_guards(target_client.target_client(), target_client.target_client().can_start_version_guard()) - .await?; + Self::RelayFinality::start_relay_guards( + target_client.target_client(), + target_client.target_client().can_start_version_guard(), + ) + .await?; parachains_relay::parachains_loop::run( source_client,