mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 19:09:54 +00:00
chore: remove write_trie_updates from StorageWriter (#9947)
This commit is contained in:
@ -7,8 +7,8 @@ use reth_db_api::{
|
|||||||
};
|
};
|
||||||
use reth_primitives::{BlockNumber, GotExpected, SealedHeader, B256};
|
use reth_primitives::{BlockNumber, GotExpected, SealedHeader, B256};
|
||||||
use reth_provider::{
|
use reth_provider::{
|
||||||
writer::StorageWriter, DatabaseProviderRW, HeaderProvider, ProviderError,
|
DatabaseProviderRW, HeaderProvider, ProviderError, StageCheckpointReader,
|
||||||
StageCheckpointReader, StageCheckpointWriter, StatsReader,
|
StageCheckpointWriter, StatsReader, TrieWriter,
|
||||||
};
|
};
|
||||||
use reth_stages_api::{
|
use reth_stages_api::{
|
||||||
BlockErrorKind, EntitiesCheckpoint, ExecInput, ExecOutput, MerkleCheckpoint, Stage,
|
BlockErrorKind, EntitiesCheckpoint, ExecInput, ExecOutput, MerkleCheckpoint, Stage,
|
||||||
@ -218,8 +218,7 @@ impl<DB: Database> Stage<DB> for MerkleStage {
|
|||||||
})?;
|
})?;
|
||||||
match progress {
|
match progress {
|
||||||
StateRootProgress::Progress(state, hashed_entries_walked, updates) => {
|
StateRootProgress::Progress(state, hashed_entries_walked, updates) => {
|
||||||
let writer = StorageWriter::new(Some(provider), None);
|
provider.write_trie_updates(&updates)?;
|
||||||
writer.write_trie_updates(&updates)?;
|
|
||||||
|
|
||||||
let checkpoint = MerkleCheckpoint::new(
|
let checkpoint = MerkleCheckpoint::new(
|
||||||
to_block,
|
to_block,
|
||||||
@ -239,8 +238,7 @@ impl<DB: Database> Stage<DB> for MerkleStage {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
StateRootProgress::Complete(root, hashed_entries_walked, updates) => {
|
StateRootProgress::Complete(root, hashed_entries_walked, updates) => {
|
||||||
let writer = StorageWriter::new(Some(provider), None);
|
provider.write_trie_updates(&updates)?;
|
||||||
writer.write_trie_updates(&updates)?;
|
|
||||||
|
|
||||||
entities_checkpoint.processed += hashed_entries_walked as u64;
|
entities_checkpoint.processed += hashed_entries_walked as u64;
|
||||||
|
|
||||||
@ -255,8 +253,8 @@ impl<DB: Database> Stage<DB> for MerkleStage {
|
|||||||
error!(target: "sync::stages::merkle", %e, ?current_block_number, ?to_block, "Incremental state root failed! {INVALID_STATE_ROOT_ERROR_MESSAGE}");
|
error!(target: "sync::stages::merkle", %e, ?current_block_number, ?to_block, "Incremental state root failed! {INVALID_STATE_ROOT_ERROR_MESSAGE}");
|
||||||
StageError::Fatal(Box::new(e))
|
StageError::Fatal(Box::new(e))
|
||||||
})?;
|
})?;
|
||||||
let writer = StorageWriter::new(Some(provider), None);
|
|
||||||
writer.write_trie_updates(&updates)?;
|
provider.write_trie_updates(&updates)?;
|
||||||
|
|
||||||
let total_hashed_entries = (provider.count_entries::<tables::HashedAccounts>()? +
|
let total_hashed_entries = (provider.count_entries::<tables::HashedAccounts>()? +
|
||||||
provider.count_entries::<tables::HashedStorages>()?)
|
provider.count_entries::<tables::HashedStorages>()?)
|
||||||
@ -329,8 +327,7 @@ impl<DB: Database> Stage<DB> for MerkleStage {
|
|||||||
validate_state_root(block_root, target.seal_slow(), input.unwind_to)?;
|
validate_state_root(block_root, target.seal_slow(), input.unwind_to)?;
|
||||||
|
|
||||||
// Validation passed, apply unwind changes to the database.
|
// Validation passed, apply unwind changes to the database.
|
||||||
let writer = StorageWriter::new(Some(provider), None);
|
provider.write_trie_updates(&updates)?;
|
||||||
writer.write_trie_updates(&updates)?;
|
|
||||||
|
|
||||||
// TODO(alexey): update entities checkpoint
|
// TODO(alexey): update entities checkpoint
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
providers::StaticFileProviderRWRefMut, DatabaseProvider, DatabaseProviderRO,
|
providers::StaticFileProviderRWRefMut, DatabaseProvider, DatabaseProviderRO,
|
||||||
DatabaseProviderRW, StateChangeWriter, StateWriter, TrieWriter,
|
DatabaseProviderRW, StateChangeWriter, StateWriter,
|
||||||
};
|
};
|
||||||
use reth_db::{
|
use reth_db::{
|
||||||
cursor::DbCursorRO,
|
cursor::DbCursorRO,
|
||||||
@ -15,7 +15,6 @@ use reth_primitives::{
|
|||||||
};
|
};
|
||||||
use reth_storage_api::{HeaderProvider, ReceiptWriter};
|
use reth_storage_api::{HeaderProvider, ReceiptWriter};
|
||||||
use reth_storage_errors::writer::StorageWriterError;
|
use reth_storage_errors::writer::StorageWriterError;
|
||||||
use reth_trie::updates::TrieUpdates;
|
|
||||||
use revm::db::OriginalValuesKnown;
|
use revm::db::OriginalValuesKnown;
|
||||||
use static_file::StaticFileWriter;
|
use static_file::StaticFileWriter;
|
||||||
use std::borrow::Borrow;
|
use std::borrow::Borrow;
|
||||||
@ -289,12 +288,6 @@ where
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Writes trie updates. Returns the number of entries modified.
|
|
||||||
pub fn write_trie_updates(&self, trie_updates: &TrieUpdates) -> ProviderResult<usize> {
|
|
||||||
self.ensure_database_writer()?;
|
|
||||||
self.database_writer().write_trie_updates(trie_updates)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, 'b, TX> StateWriter for StorageWriter<'a, 'b, TX>
|
impl<'a, 'b, TX> StateWriter for StorageWriter<'a, 'b, TX>
|
||||||
|
|||||||
Reference in New Issue
Block a user