fix(stages): reset Merkle checkpoint (#2877)

This commit is contained in:
Alexey Shekhirin
2023-05-29 15:42:16 +04:00
committed by GitHub
parent 3b37e83070
commit e703973dc6

View File

@ -161,7 +161,7 @@ impl<DB: Database> Stage<DB> for MerkleStage {
let block_root = tx.get_header(current_block)?.state_root; let block_root = tx.get_header(current_block)?.state_root;
let checkpoint = self.get_execution_checkpoint(tx)?; let mut checkpoint = self.get_execution_checkpoint(tx)?;
let trie_root = if range.is_empty() { let trie_root = if range.is_empty() {
block_root block_root
@ -185,6 +185,7 @@ impl<DB: Database> Stage<DB> for MerkleStage {
"Rebuilding trie" "Rebuilding trie"
); );
// Reset the checkpoint and clear trie tables // Reset the checkpoint and clear trie tables
checkpoint = None;
self.save_execution_checkpoint(tx, None)?; self.save_execution_checkpoint(tx, None)?;
tx.clear::<tables::AccountsTrie>()?; tx.clear::<tables::AccountsTrie>()?;
tx.clear::<tables::StoragesTrie>()?; tx.clear::<tables::StoragesTrie>()?;