feat: make more block types generic (#12812)

This commit is contained in:
Arsenii Kulikov
2024-11-25 14:50:10 +04:00
committed by GitHub
parent 02824da4fc
commit dcaa06a01a
62 changed files with 534 additions and 333 deletions

View File

@ -98,6 +98,7 @@ where
fn process_block(&mut self, block: &SealedBlockWithSenders) {
let txs: Vec<_> = block
.transactions()
.iter()
.filter(|tx| tx.is_eip4844())
.map(|tx| (tx.clone(), tx.blob_versioned_hashes().unwrap().len()))
.collect();
@ -191,6 +192,7 @@ where
for (_, block) in old.blocks().iter() {
let txs: Vec<BlobTransactionEvent> = block
.transactions()
.iter()
.filter(|tx: &&reth::primitives::TransactionSigned| {
tx.is_eip4844()
})

View File

@ -50,7 +50,7 @@ async fn main() -> eyre::Result<()> {
let head = notifications.next().await.unwrap();
let tx = head.tip().transactions().next().unwrap();
let tx = &head.tip().transactions()[0];
assert_eq!(tx.hash(), hash);
println!("mined transaction: {hash}");
Ok(())

View File

@ -9,7 +9,7 @@ use reth::{
use reth_basic_payload_builder::{BasicPayloadJobGeneratorConfig, PayloadBuilder, PayloadConfig};
use reth_node_api::PayloadBuilderAttributes;
use reth_payload_builder::{PayloadBuilderError, PayloadJobGenerator};
use reth_primitives::SealedHeader;
use reth_primitives::{BlockExt, SealedHeader};
use std::sync::Arc;
/// The generator type that creates new jobs that builds empty blocks.

View File

@ -4,7 +4,7 @@ use reth_chainspec::ChainSpecBuilder;
use reth_db::{open_db_read_only, DatabaseEnv};
use reth_node_ethereum::EthereumNode;
use reth_node_types::NodeTypesWithDBAdapter;
use reth_primitives::{SealedHeader, TransactionSigned};
use reth_primitives::{BlockExt, SealedHeader, TransactionSigned};
use reth_provider::{
providers::StaticFileProvider, AccountReader, BlockReader, BlockSource, HeaderProvider,
ProviderFactory, ReceiptProvider, StateProvider, TransactionsProvider,