mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
feat: make more block types generic (#12812)
This commit is contained in:
@ -18,7 +18,7 @@ use clap::Parser;
|
||||
use csv::Writer;
|
||||
use reth_cli_runner::CliContext;
|
||||
use reth_node_core::args::BenchmarkArgs;
|
||||
use reth_primitives::Block;
|
||||
use reth_primitives::{Block, BlockExt};
|
||||
use reth_rpc_types_compat::engine::payload::block_to_payload;
|
||||
use std::time::Instant;
|
||||
use tracing::{debug, info};
|
||||
@ -75,11 +75,11 @@ impl Command {
|
||||
|
||||
while let Some((block, head, safe, finalized)) = receiver.recv().await {
|
||||
// just put gas used here
|
||||
let gas_used = block.header.gas_used;
|
||||
let gas_used = block.gas_used;
|
||||
let block_number = block.header.number;
|
||||
|
||||
let versioned_hashes: Vec<B256> =
|
||||
block.blob_versioned_hashes().into_iter().copied().collect();
|
||||
block.body.blob_versioned_hashes().into_iter().copied().collect();
|
||||
let parent_beacon_block_root = block.parent_beacon_block_root;
|
||||
let payload = block_to_payload(block);
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ use clap::Parser;
|
||||
use csv::Writer;
|
||||
use reth_cli_runner::CliContext;
|
||||
use reth_node_core::args::BenchmarkArgs;
|
||||
use reth_primitives::Block;
|
||||
use reth_primitives::{Block, BlockExt};
|
||||
use reth_rpc_types_compat::engine::payload::block_to_payload;
|
||||
use std::time::Instant;
|
||||
use tracing::{debug, info};
|
||||
@ -60,10 +60,10 @@ impl Command {
|
||||
|
||||
while let Some(block) = receiver.recv().await {
|
||||
// just put gas used here
|
||||
let gas_used = block.header.gas_used;
|
||||
let gas_used = block.gas_used;
|
||||
|
||||
let versioned_hashes: Vec<B256> =
|
||||
block.blob_versioned_hashes().into_iter().copied().collect();
|
||||
block.body.blob_versioned_hashes().into_iter().copied().collect();
|
||||
let parent_beacon_block_root = block.parent_beacon_block_root;
|
||||
let payload = block_to_payload(block);
|
||||
|
||||
|
||||
@ -22,11 +22,11 @@ use reth_errors::RethResult;
|
||||
use reth_evm::execute::{BlockExecutorProvider, Executor};
|
||||
use reth_execution_types::ExecutionOutcome;
|
||||
use reth_fs_util as fs;
|
||||
use reth_node_api::{EngineApiMessageVersion, PayloadBuilderAttributes};
|
||||
use reth_node_api::{BlockTy, EngineApiMessageVersion, PayloadBuilderAttributes};
|
||||
use reth_node_ethereum::{EthEvmConfig, EthExecutorProvider};
|
||||
use reth_primitives::{
|
||||
BlobTransaction, PooledTransactionsElement, SealedBlock, SealedBlockWithSenders, SealedHeader,
|
||||
Transaction, TransactionSigned,
|
||||
BlobTransaction, BlockExt, PooledTransactionsElement, SealedBlock, SealedBlockWithSenders,
|
||||
SealedHeader, Transaction, TransactionSigned,
|
||||
};
|
||||
use reth_provider::{
|
||||
providers::{BlockchainProvider, ProviderNodeTypes},
|
||||
@ -259,7 +259,7 @@ impl<C: ChainSpecParser<ChainSpec = ChainSpec>> Command<C> {
|
||||
|
||||
let senders = block.senders().expect("sender recovery failed");
|
||||
let block_with_senders =
|
||||
SealedBlockWithSenders::new(block.clone(), senders).unwrap();
|
||||
SealedBlockWithSenders::<BlockTy<N>>::new(block.clone(), senders).unwrap();
|
||||
|
||||
let db = StateProviderDatabase::new(blockchain_db.latest()?);
|
||||
let executor =
|
||||
|
||||
@ -20,6 +20,7 @@ use reth_execution_types::ExecutionOutcome;
|
||||
use reth_network::{BlockDownloaderProvider, NetworkHandle};
|
||||
use reth_network_api::NetworkInfo;
|
||||
use reth_node_ethereum::EthExecutorProvider;
|
||||
use reth_primitives::BlockExt;
|
||||
use reth_provider::{
|
||||
providers::ProviderNodeTypes, writer::UnifiedStorageWriter, AccountExtReader,
|
||||
ChainSpecProvider, HashingWriter, HeaderProvider, LatestStateProviderRef, OriginalValuesKnown,
|
||||
|
||||
@ -17,6 +17,7 @@ use reth_evm::execute::{BatchExecutor, BlockExecutorProvider};
|
||||
use reth_network::{BlockDownloaderProvider, NetworkHandle};
|
||||
use reth_network_api::NetworkInfo;
|
||||
use reth_network_p2p::full_block::FullBlockClient;
|
||||
use reth_node_api::BlockTy;
|
||||
use reth_node_ethereum::EthExecutorProvider;
|
||||
use reth_provider::{
|
||||
providers::ProviderNodeTypes, writer::UnifiedStorageWriter, BlockNumReader, BlockWriter,
|
||||
@ -144,7 +145,7 @@ impl<C: ChainSpecParser<ChainSpec = ChainSpec>> Command<C> {
|
||||
for block in blocks.into_iter().rev() {
|
||||
let block_number = block.number;
|
||||
let sealed_block = block
|
||||
.try_seal_with_senders()
|
||||
.try_seal_with_senders::<BlockTy<N>>()
|
||||
.map_err(|block| eyre::eyre!("Error sealing block with senders: {block:?}"))?;
|
||||
trace!(target: "reth::cli", block_number, "Executing block");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user