feat: send CanonStateNotifications from execution stage (#7578)

This commit is contained in:
Oliver Nordbjerg
2024-04-19 16:39:52 +02:00
committed by GitHub
parent 6646a329ad
commit 49c02c3b8e
21 changed files with 246 additions and 194 deletions

View File

@@ -27,7 +27,7 @@ use reth_db::{
test_utils::{create_test_rw_db, TempDatabase},
DatabaseEnv,
};
use reth_exex::{ExExContext, ExExHandle, ExExManager};
use reth_exex::{ExExContext, ExExHandle, ExExManager, ExExManagerHandle};
use reth_interfaces::p2p::either::EitherDownloader;
use reth_network::{NetworkBuilder, NetworkConfig, NetworkEvents, NetworkHandle};
use reth_node_api::{
@@ -711,6 +711,8 @@ where
}
// Configure the pipeline
let pipeline_exex_handle =
exex_manager_handle.clone().unwrap_or_else(ExExManagerHandle::empty);
let (mut pipeline, client) = if config.dev.dev {
info!(target: "reth::cli", "Starting Reth in dev mode");
@@ -743,6 +745,7 @@ where
max_block,
static_file_producer,
evm_config,
pipeline_exex_handle,
)
.await?;
@@ -765,6 +768,7 @@ where
max_block,
static_file_producer,
evm_config,
pipeline_exex_handle,
)
.await?;

View File

@@ -7,6 +7,7 @@ use reth_downloaders::{
bodies::bodies::BodiesDownloaderBuilder,
headers::reverse_headers::ReverseHeadersDownloaderBuilder,
};
use reth_exex::ExExManagerHandle;
use reth_interfaces::{
consensus::Consensus,
p2p::{
@@ -49,6 +50,7 @@ pub async fn build_networked_pipeline<DB, Client, EvmConfig>(
max_block: Option<BlockNumber>,
static_file_producer: StaticFileProducer<DB>,
evm_config: EvmConfig,
exex_manager_handle: ExExManagerHandle,
) -> eyre::Result<Pipeline<DB>>
where
DB: Database + Unpin + Clone + 'static,
@@ -76,6 +78,7 @@ where
prune_config,
static_file_producer,
evm_config,
exex_manager_handle,
)
.await?;
@@ -96,6 +99,7 @@ pub async fn build_pipeline<DB, H, B, EvmConfig>(
prune_config: Option<PruneConfig>,
static_file_producer: StaticFileProducer<DB>,
evm_config: EvmConfig,
exex_manager_handle: ExExManagerHandle,
) -> eyre::Result<Pipeline<DB>>
where
DB: Database + Clone + 'static,
@@ -166,6 +170,7 @@ where
.max(stage_config.account_hashing.clean_threshold)
.max(stage_config.storage_hashing.clean_threshold),
prune_modes.clone(),
exex_manager_handle,
)
.with_metrics_tx(metrics_tx),
)