feat(cli): add hashing stages to drop-stage (#2051)

This commit is contained in:
Roman Krasiuk
2023-03-31 20:14:37 +03:00
committed by GitHub
parent f633a5d761
commit e72b2864b2
2 changed files with 17 additions and 1 deletions

View File

@ -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::<tables::HashedAccount>()?;
tx.put::<tables::SyncStageProgress>(ACCOUNT_HASHING.0.into(), Vec::new())?;
tx.put::<tables::SyncStage>(ACCOUNT_HASHING.0.to_string(), 0)?;
// Clear hashed storages
tx.clear::<tables::HashedStorage>()?;
tx.put::<tables::SyncStageProgress>(STORAGE_HASHING.0.into(), Vec::new())?;
tx.put::<tables::SyncStage>(STORAGE_HASHING.0.to_string(), 0)?;
Ok::<_, eyre::Error>(())
})??;
}
StageEnum::Merkle => {
tool.db.update(|tx| {
tx.clear::<tables::AccountsTrie>()?;

View File

@ -29,5 +29,6 @@ enum StageEnum {
Bodies,
Senders,
Execution,
Hashing,
Merkle,
}