mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 23:21:02 +00:00
Start finality relay spec-version guards for Rococo <> Wococo finality relays (#965)
* start finality relay guards * comment
This commit is contained in:
committed by
Bastian Köcher
parent
ff7f8ad098
commit
bfaa6a4309
@@ -21,7 +21,7 @@ use crate::finality_pipeline::{SubstrateFinalitySyncPipeline, SubstrateFinalityT
|
|||||||
use bp_header_chain::justification::GrandpaJustification;
|
use bp_header_chain::justification::GrandpaJustification;
|
||||||
use codec::Encode;
|
use codec::Encode;
|
||||||
use relay_rococo_client::{Rococo, SyncHeader as RococoSyncHeader};
|
use relay_rococo_client::{Rococo, SyncHeader as RococoSyncHeader};
|
||||||
use relay_substrate_client::{Chain, TransactionSignScheme};
|
use relay_substrate_client::{Chain, Client, TransactionSignScheme};
|
||||||
use relay_utils::metrics::MetricsParams;
|
use relay_utils::metrics::MetricsParams;
|
||||||
use relay_wococo_client::{SigningParams as WococoSigningParams, Wococo};
|
use relay_wococo_client::{SigningParams as WococoSigningParams, Wococo};
|
||||||
use sp_core::{Bytes, Pair};
|
use sp_core::{Bytes, Pair};
|
||||||
@@ -38,6 +38,13 @@ impl SubstrateFinalitySyncPipeline for RococoFinalityToWococo {
|
|||||||
crate::chains::add_polkadot_kusama_price_metrics::<Self>(params)
|
crate::chains::add_polkadot_kusama_price_metrics::<Self>(params)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn start_relay_guards(target_client: &Client<Self::TargetChain>) {
|
||||||
|
relay_substrate_client::guard::abort_on_spec_version_change(
|
||||||
|
target_client.clone(),
|
||||||
|
bp_wococo::VERSION.spec_version,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fn transactions_author(&self) -> bp_wococo::AccountId {
|
fn transactions_author(&self) -> bp_wococo::AccountId {
|
||||||
(*self.target_sign.public().as_array_ref()).into()
|
(*self.target_sign.public().as_array_ref()).into()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ use crate::finality_pipeline::{SubstrateFinalitySyncPipeline, SubstrateFinalityT
|
|||||||
use bp_header_chain::justification::GrandpaJustification;
|
use bp_header_chain::justification::GrandpaJustification;
|
||||||
use codec::Encode;
|
use codec::Encode;
|
||||||
use relay_rococo_client::{Rococo, SigningParams as RococoSigningParams};
|
use relay_rococo_client::{Rococo, SigningParams as RococoSigningParams};
|
||||||
use relay_substrate_client::{Chain, TransactionSignScheme};
|
use relay_substrate_client::{Chain, Client, TransactionSignScheme};
|
||||||
use relay_utils::metrics::MetricsParams;
|
use relay_utils::metrics::MetricsParams;
|
||||||
use relay_wococo_client::{SyncHeader as WococoSyncHeader, Wococo};
|
use relay_wococo_client::{SyncHeader as WococoSyncHeader, Wococo};
|
||||||
use sp_core::{Bytes, Pair};
|
use sp_core::{Bytes, Pair};
|
||||||
@@ -38,6 +38,13 @@ impl SubstrateFinalitySyncPipeline for WococoFinalityToRococo {
|
|||||||
crate::chains::add_polkadot_kusama_price_metrics::<Self>(params)
|
crate::chains::add_polkadot_kusama_price_metrics::<Self>(params)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn start_relay_guards(target_client: &Client<Self::TargetChain>) {
|
||||||
|
relay_substrate_client::guard::abort_on_spec_version_change(
|
||||||
|
target_client.clone(),
|
||||||
|
bp_rococo::VERSION.spec_version,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fn transactions_author(&self) -> bp_rococo::AccountId {
|
fn transactions_author(&self) -> bp_rococo::AccountId {
|
||||||
(*self.target_sign.public().as_array_ref()).into()
|
(*self.target_sign.public().as_array_ref()).into()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,6 +97,7 @@ impl RelayHeaders {
|
|||||||
let target_client = self.target.to_client::<Target>().await?;
|
let target_client = self.target.to_client::<Target>().await?;
|
||||||
let target_sign = self.target_sign.to_keypair::<Target>()?;
|
let target_sign = self.target_sign.to_keypair::<Target>()?;
|
||||||
let metrics_params = Finality::customize_metrics(self.prometheus_params.into())?;
|
let metrics_params = Finality::customize_metrics(self.prometheus_params.into())?;
|
||||||
|
Finality::start_relay_guards(&target_client);
|
||||||
|
|
||||||
crate::finality_pipeline::run(
|
crate::finality_pipeline::run(
|
||||||
Finality::new(target_client.clone(), target_sign),
|
Finality::new(target_client.clone(), target_sign),
|
||||||
|
|||||||
@@ -46,6 +46,13 @@ pub trait SubstrateFinalitySyncPipeline: FinalitySyncPipeline {
|
|||||||
Ok(params)
|
Ok(params)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Start finality relay guards.
|
||||||
|
///
|
||||||
|
/// Different finality bridges may have different set of guards - e.g. on ephemeral chains we
|
||||||
|
/// don't need version guards, on test chains we don't care that much about relayer account
|
||||||
|
/// balance, ... So the implementation is left to the specific bridges.
|
||||||
|
fn start_relay_guards(_target_client: &Client<Self::TargetChain>) {}
|
||||||
|
|
||||||
/// Returns id of account that we're using to sign transactions at target chain.
|
/// Returns id of account that we're using to sign transactions at target chain.
|
||||||
fn transactions_author(&self) -> <Self::TargetChain as Chain>::AccountId;
|
fn transactions_author(&self) -> <Self::TargetChain as Chain>::AccountId;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user