diff --git a/bin/reth/src/drop_stage.rs b/bin/reth/src/drop_stage.rs index 4564fea15a..80ec68110b 100644 --- a/bin/reth/src/drop_stage.rs +++ b/bin/reth/src/drop_stage.rs @@ -13,7 +13,7 @@ use reth_db::{ }; use reth_primitives::ChainSpec; use reth_staged_sync::utils::{chainspec::genesis_value_parser, init::insert_genesis_state}; -use reth_stages::stages::{EXECUTION, MERKLE_EXECUTION}; +use reth_stages::stages::{ACCOUNT_HASHING, EXECUTION, MERKLE_EXECUTION, STORAGE_HASHING}; use std::sync::Arc; use tracing::info; @@ -72,6 +72,21 @@ impl Command { Ok::<_, eyre::Error>(()) })??; } + StageEnum::Hashing => { + tool.db.update(|tx| { + // Clear hashed accounts + tx.clear::()?; + tx.put::(ACCOUNT_HASHING.0.into(), Vec::new())?; + tx.put::(ACCOUNT_HASHING.0.to_string(), 0)?; + + // Clear hashed storages + tx.clear::()?; + tx.put::(STORAGE_HASHING.0.into(), Vec::new())?; + tx.put::(STORAGE_HASHING.0.to_string(), 0)?; + + Ok::<_, eyre::Error>(()) + })??; + } StageEnum::Merkle => { tool.db.update(|tx| { tx.clear::()?; diff --git a/bin/reth/src/lib.rs b/bin/reth/src/lib.rs index 02c81d29c1..708a50c54b 100644 --- a/bin/reth/src/lib.rs +++ b/bin/reth/src/lib.rs @@ -29,5 +29,6 @@ enum StageEnum { Bodies, Senders, Execution, + Hashing, Merkle, }