From ec7a10b57e3cf97ce6d12414e2f2266338d61351 Mon Sep 17 00:00:00 2001 From: Roman Krasiuk Date: Tue, 2 May 2023 22:26:34 +0300 Subject: [PATCH] fix(cli): compute clean root till done (#2525) --- bin/reth/src/merkle_debug.rs | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/bin/reth/src/merkle_debug.rs b/bin/reth/src/merkle_debug.rs index 6e518f50ff..853921eb27 100644 --- a/bin/reth/src/merkle_debug.rs +++ b/bin/reth/src/merkle_debug.rs @@ -156,16 +156,17 @@ impl Command { .walk_range(..)? .collect::, _>>()?; - let clean_result = merkle_stage - .execute( - &mut tx, - ExecInput { - previous_stage: Some((STORAGE_HASHING, block)), - stage_progress: None, - }, - ) - .await; - assert!(clean_result.is_ok(), "Clean state root calculation failed"); + let clean_input = ExecInput { + previous_stage: Some((STORAGE_HASHING, block)), + stage_progress: None, + }; + loop { + let clean_result = merkle_stage.execute(&mut tx, clean_input).await; + assert!(clean_result.is_ok(), "Clean state root calculation failed"); + if clean_result.unwrap().done { + break + } + } let clean_account_trie = tx .cursor_read::()?