Skip to content

Commit 70caa5a

Browse files
author
tmel
committed
finish it
Signed-off-by: tmel <[email protected]>
1 parent d7d8c27 commit 70caa5a

File tree

1 file changed

+10
-18
lines changed

1 file changed

+10
-18
lines changed

crates/cli/commands/src/import_core.rs

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,6 @@ pub struct ImportConfig {
4040
/// Result of an import operation.
4141
#[derive(Debug)]
4242
pub struct ImportResult {
43-
/// Total number of blocks present in the database before the import started.
44-
pub starting_imported_blocks: usize,
45-
/// Total number of transactions present in the database before the import started.
46-
pub starting_imported_txns: usize,
4743
/// Total number of blocks decoded from the file.
4844
pub total_decoded_blocks: usize,
4945
/// Total number of transactions decoded from the file.
@@ -57,13 +53,8 @@ pub struct ImportResult {
5753
impl ImportResult {
5854
/// Returns true if all blocks and transactions were imported successfully.
5955
pub fn is_complete(&self) -> bool {
60-
// Compare deltas so this works for fresh DBs (genesis present) and non-empty DBs alike.
61-
self.total_imported_blocks
62-
.saturating_sub(self.starting_imported_blocks)
63-
.saturating_eq(self.total_decoded_blocks) &&
64-
self.total_imported_txns
65-
.saturating_sub(self.starting_imported_txns)
66-
.saturating_eq(self.total_decoded_txns)
56+
self.total_decoded_blocks == self.total_imported_blocks &&
57+
self.total_decoded_txns == self.total_imported_txns
6758
}
6859
}
6960

@@ -100,8 +91,9 @@ where
10091
let mut reader = ChunkedFileReader::new(path, import_config.chunk_len).await?;
10192

10293
let provider = provider_factory.provider()?;
103-
let starting_imported_blocks = provider.tx_ref().entries::<tables::HeaderNumbers>()?;
104-
let starting_imported_txns = provider.tx_ref().entries::<tables::TransactionHashNumbers>()?;
94+
let init_blocks = provider.tx_ref().entries::<tables::HeaderNumbers>()?;
95+
let init_txns = provider.tx_ref().entries::<tables::TransactionHashNumbers>()?;
96+
drop(provider);
10597

10698
let mut total_decoded_blocks = 0;
10799
let mut total_decoded_txns = 0;
@@ -139,7 +131,7 @@ where
139131
debug!(target: "reth::import", ?tip, "Tip manually set");
140132

141133
let latest_block_number =
142-
provider.get_stage_checkpoint(StageId::Finish)?.map(|ch| ch.block_number);
134+
provider_factory.get_stage_checkpoint(StageId::Finish)?.map(|ch| ch.block_number);
143135
tokio::spawn(reth_node_events::node::handle_events(None, latest_block_number, events));
144136

145137
// Run pipeline
@@ -157,12 +149,12 @@ where
157149
.expect("should have genesis");
158150
}
159151

160-
let total_imported_blocks = provider.tx_ref().entries::<tables::HeaderNumbers>()?;
161-
let total_imported_txns = provider.tx_ref().entries::<tables::TransactionHashNumbers>()?;
152+
let provider = provider_factory.provider()?;
153+
let total_imported_blocks = provider.tx_ref().entries::<tables::HeaderNumbers>()? - init_blocks;
154+
let total_imported_txns =
155+
provider.tx_ref().entries::<tables::TransactionHashNumbers>()? - init_txns;
162156

163157
let result = ImportResult {
164-
starting_imported_blocks,
165-
starting_imported_txns,
166158
total_decoded_blocks,
167159
total_decoded_txns,
168160
total_imported_blocks,

0 commit comments

Comments
 (0)