mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 09:51:02 +00:00
* Impl SubstrateEquivocationDetectionPipeline for Millau * Impl SubstrateEquivocationDetectionPipeline for Rialto * Make BridgeHubSignedExtension more generic * Define generate_report_equivocation_call_builder!() macro * Impl SubstrateEquivocationDetectionPipeline for Rococo * Impl SubstrateEquivocationDetectionPipeline for Wococo * Impl SubstrateEquivocationDetectionPipeline for Kusama * Impl SubstrateEquivocationDetectionPipeline for Polkadot * Complex relayer simplification - remove `signer` and `transactions_mortality` and add `tx_params` - change the order of some fields * Add equivocation detection CLI traits * Complex relayer: start equivocation detectin loop * Update runtimes regeneration script * Equivocation loop: Fix infinite loop * Revert "Complex relayer: start equivocation detectin loop" This reverts commit b518ef85679d73654f9f0e2add38cd3839552057. * Add subcommand for starting the equivocation detection loop * Fixes * Initialize empty metrics for the equivocations detector loop
This commit is contained in:
committed by
Bastian Köcher
parent
588508acd4
commit
1bbc77fee1
@@ -24,6 +24,7 @@ use finality_relay::{FinalityProofsBuf, FinalityProofsStream};
|
||||
use futures::{select, FutureExt};
|
||||
use num_traits::Saturating;
|
||||
use relay_utils::{
|
||||
metrics::MetricsParams,
|
||||
relay_loop::{reconnect_failed_client, RECONNECT_DELAY},
|
||||
FailedClient, MaybeConnectionError,
|
||||
};
|
||||
@@ -275,7 +276,10 @@ impl<P: EquivocationDetectionPipeline, SC: SourceClient<P>, TC: TargetClient<P>>
|
||||
let mut context =
|
||||
match self.build_equivocation_reporting_context(current_block_number).await {
|
||||
Some(context) => context,
|
||||
None => continue,
|
||||
None => {
|
||||
current_block_number = current_block_number.saturating_add(1.into());
|
||||
continue
|
||||
},
|
||||
};
|
||||
self.check_block(current_block_number, &mut context).await;
|
||||
current_block_number = current_block_number.saturating_add(1.into());
|
||||
@@ -311,16 +315,18 @@ impl<P: EquivocationDetectionPipeline, SC: SourceClient<P>, TC: TargetClient<P>>
|
||||
}
|
||||
|
||||
/// Spawn the equivocations detection loop.
|
||||
/// TODO: remove `#[allow(dead_code)]`
|
||||
#[allow(dead_code)]
|
||||
pub async fn run<P: EquivocationDetectionPipeline>(
|
||||
source_client: impl SourceClient<P>,
|
||||
target_client: impl TargetClient<P>,
|
||||
tick: Duration,
|
||||
metrics_params: MetricsParams,
|
||||
exit_signal: impl Future<Output = ()> + 'static + Send,
|
||||
) -> Result<(), relay_utils::Error> {
|
||||
let exit_signal = exit_signal.shared();
|
||||
relay_utils::relay_loop(source_client, target_client)
|
||||
.with_metrics(metrics_params)
|
||||
.expose()
|
||||
.await?
|
||||
.run(
|
||||
format!("{}_to_{}_EquivocationDetection", P::SOURCE_NAME, P::TARGET_NAME),
|
||||
move |source_client, target_client, _metrics| {
|
||||
|
||||
@@ -23,6 +23,8 @@ use finality_relay::{FinalityPipeline, SourceClientBase};
|
||||
use relay_utils::{relay_loop::Client as RelayClient, TransactionTracker};
|
||||
use std::fmt::Debug;
|
||||
|
||||
pub use equivocation_loop::run;
|
||||
|
||||
pub trait EquivocationDetectionPipeline: FinalityPipeline {
|
||||
/// Block number of the target chain.
|
||||
type TargetNumber: relay_utils::BlockNumberBase;
|
||||
|
||||
Reference in New Issue
Block a user