diff --git a/crates/storage/db-common/src/init.rs b/crates/storage/db-common/src/init.rs index 63a1760ea5..79dd4f40a7 100644 --- a/crates/storage/db-common/src/init.rs +++ b/crates/storage/db-common/src/init.rs @@ -124,6 +124,13 @@ pub fn init_genesis(factory: ProviderFactory) -> Result()?; - let mut first_td = if initial_block_number == 0 { - U256::ZERO - } else { - td_cursor - .seek_exact(initial_block_number - 1)? - .map(|(_, td)| td.0) - .ok_or_else(|| ProviderError::TotalDifficultyNotFound(initial_block_number))? - }; + let mut td = self + .database_writer() + .header_td_by_number(initial_block_number)? + .ok_or(ProviderError::TotalDifficultyNotFound(initial_block_number))?; for pair in headers { let (header, hash) = pair.borrow(); let header = header.borrow(); - first_td += header.difficulty; - self.static_file_writer().append_header(header, first_td, hash)?; + td += header.difficulty; + self.static_file_writer().append_header(header, td, hash)?; } - Ok(first_td) + Ok(td) } /// Appends transactions to static files, using the