diff --git a/crates/stages/stages/src/stages/bodies.rs b/crates/stages/stages/src/stages/bodies.rs index 6d9324715..25db9f5ff 100644 --- a/crates/stages/stages/src/stages/bodies.rs +++ b/crates/stages/stages/src/stages/bodies.rs @@ -181,8 +181,7 @@ impl Stage for BodyStage { // Increment block on static file header. if block_number > 0 { - let appended_block_number = static_file_producer - .increment_block(StaticFileSegment::Transactions, block_number)?; + let appended_block_number = static_file_producer.increment_block(block_number)?; if appended_block_number != block_number { // This scenario indicates a critical error in the logic of adding new diff --git a/crates/stages/stages/src/stages/execution.rs b/crates/stages/stages/src/stages/execution.rs index 72efd992a..e7acbd5af 100644 --- a/crates/stages/stages/src/stages/execution.rs +++ b/crates/stages/stages/src/stages/execution.rs @@ -854,7 +854,7 @@ mod tests { { let mut receipts_writer = provider.static_file_provider().latest_writer(StaticFileSegment::Receipts).unwrap(); - receipts_writer.increment_block(StaticFileSegment::Receipts, 0).unwrap(); + receipts_writer.increment_block(0).unwrap(); receipts_writer.commit().unwrap(); } provider.commit().unwrap(); @@ -1000,7 +1000,7 @@ mod tests { { let mut receipts_writer = provider.static_file_provider().latest_writer(StaticFileSegment::Receipts).unwrap(); - receipts_writer.increment_block(StaticFileSegment::Receipts, 0).unwrap(); + receipts_writer.increment_block(0).unwrap(); receipts_writer.commit().unwrap(); } provider.commit().unwrap(); @@ -1117,7 +1117,7 @@ mod tests { { let mut receipts_writer = provider.static_file_provider().latest_writer(StaticFileSegment::Receipts).unwrap(); - receipts_writer.increment_block(StaticFileSegment::Receipts, 0).unwrap(); + receipts_writer.increment_block(0).unwrap(); receipts_writer.commit().unwrap(); } provider.commit().unwrap(); diff --git a/crates/stages/stages/src/test_utils/test_db.rs b/crates/stages/stages/src/test_utils/test_db.rs index 0ee61355e..43f3f0843 100644 --- a/crates/stages/stages/src/test_utils/test_db.rs +++ b/crates/stages/stages/src/test_utils/test_db.rs @@ -282,10 +282,10 @@ impl TestStageDB { segment_header.expected_block_start() == 0 { for block in 0..block.number { - txs_writer.increment_block(StaticFileSegment::Transactions, block)?; + txs_writer.increment_block(block)?; } } - txs_writer.increment_block(StaticFileSegment::Transactions, block.number)?; + txs_writer.increment_block(block.number)?; } res })?; @@ -349,7 +349,7 @@ impl TestStageDB { let provider = self.factory.static_file_provider(); let mut writer = provider.latest_writer(StaticFileSegment::Receipts)?; let res = receipts.into_iter().try_for_each(|(block_num, receipts)| { - writer.increment_block(StaticFileSegment::Receipts, block_num)?; + writer.increment_block(block_num)?; writer.append_receipts(receipts.into_iter().map(Ok))?; Ok(()) }); diff --git a/crates/static-file/static-file/src/segments/receipts.rs b/crates/static-file/static-file/src/segments/receipts.rs index 5548e9f99..b63d083a0 100644 --- a/crates/static-file/static-file/src/segments/receipts.rs +++ b/crates/static-file/static-file/src/segments/receipts.rs @@ -29,8 +29,7 @@ impl Segment for Receipts { static_file_provider.get_writer(*block_range.start(), StaticFileSegment::Receipts)?; for block in block_range { - let _static_file_block = - static_file_writer.increment_block(StaticFileSegment::Receipts, block)?; + let _static_file_block = static_file_writer.increment_block(block)?; debug_assert_eq!(_static_file_block, block); let block_body_indices = provider diff --git a/crates/static-file/static-file/src/segments/transactions.rs b/crates/static-file/static-file/src/segments/transactions.rs index 19b6aeb57..ac690def4 100644 --- a/crates/static-file/static-file/src/segments/transactions.rs +++ b/crates/static-file/static-file/src/segments/transactions.rs @@ -31,8 +31,7 @@ impl Segment for Transactions { .get_writer(*block_range.start(), StaticFileSegment::Transactions)?; for block in block_range { - let _static_file_block = - static_file_writer.increment_block(StaticFileSegment::Transactions, block)?; + let _static_file_block = static_file_writer.increment_block(block)?; debug_assert_eq!(_static_file_block, block); let block_body_indices = provider diff --git a/crates/storage/db-common/src/init.rs b/crates/storage/db-common/src/init.rs index 79dd4f40a..19c48637e 100644 --- a/crates/storage/db-common/src/init.rs +++ b/crates/storage/db-common/src/init.rs @@ -126,10 +126,10 @@ pub fn init_genesis(factory: ProviderFactory) -> Result ProviderResult { + let segment = self.writer.user_header().segment(); + self.check_next_block_number(expected_block_number, segment)?; let start = Instant::now(); @@ -476,7 +477,7 @@ impl StaticFileProviderRW { debug_assert!(self.writer.user_header().segment() == StaticFileSegment::Headers); - let block_number = self.increment_block(StaticFileSegment::Headers, header.number)?; + let block_number = self.increment_block(header.number)?; self.append_column(header)?; self.append_column(CompactU256::from(total_difficulty))?; diff --git a/crates/storage/provider/src/writer/mod.rs b/crates/storage/provider/src/writer/mod.rs index 90d1e25b8..ee4eca172 100644 --- a/crates/storage/provider/src/writer/mod.rs +++ b/crates/storage/provider/src/writer/mod.rs @@ -10,9 +10,7 @@ use reth_db::{ }; use reth_errors::{ProviderError, ProviderResult}; use reth_execution_types::ExecutionOutcome; -use reth_primitives::{ - BlockNumber, Header, StaticFileSegment, TransactionSignedNoHash, B256, U256, -}; +use reth_primitives::{BlockNumber, Header, TransactionSignedNoHash, B256, U256}; use reth_storage_api::{HeaderProvider, ReceiptWriter}; use reth_storage_errors::writer::StorageWriterError; use revm::db::OriginalValuesKnown; @@ -197,8 +195,7 @@ where tx_index += 1; } - self.static_file_writer() - .increment_block(StaticFileSegment::Transactions, block_number)?; + self.static_file_writer().increment_block(block_number)?; // update index last_tx_idx = Some(tx_index); diff --git a/crates/storage/provider/src/writer/static_file.rs b/crates/storage/provider/src/writer/static_file.rs index 54d9bf5b9..11c46d52e 100644 --- a/crates/storage/provider/src/writer/static_file.rs +++ b/crates/storage/provider/src/writer/static_file.rs @@ -1,6 +1,6 @@ use crate::providers::StaticFileProviderRWRefMut; use reth_errors::ProviderResult; -use reth_primitives::{BlockNumber, Receipt, StaticFileSegment, TxNumber}; +use reth_primitives::{BlockNumber, Receipt, TxNumber}; use reth_storage_api::ReceiptWriter; pub(crate) struct StaticFileWriter<'a, W>(pub(crate) &'a mut W); @@ -13,7 +13,7 @@ impl<'a> ReceiptWriter for StaticFileWriter<'a, StaticFileProviderRWRefMut<'_>> receipts: Vec>, ) -> ProviderResult<()> { // Increment block on static file header. - self.0.increment_block(StaticFileSegment::Receipts, block_number)?; + self.0.increment_block(block_number)?; let receipts = receipts.iter().enumerate().map(|(tx_idx, receipt)| { Ok(( first_tx_index + tx_idx as u64, diff --git a/testing/ef-tests/src/cases/blockchain_test.rs b/testing/ef-tests/src/cases/blockchain_test.rs index 462bc27b7..eb08914cb 100644 --- a/testing/ef-tests/src/cases/blockchain_test.rs +++ b/testing/ef-tests/src/cases/blockchain_test.rs @@ -106,7 +106,7 @@ impl Case for BlockchainTestCase { .static_file_provider() .latest_writer(StaticFileSegment::Receipts) .unwrap(); - receipts_writer.increment_block(StaticFileSegment::Receipts, 0).unwrap(); + receipts_writer.increment_block(0).unwrap(); receipts_writer.commit_without_sync_all().unwrap(); }