From a9a10157c298c58364c1fee959e18d8fe70457d9 Mon Sep 17 00:00:00 2001 From: hanabi1224 Date: Mon, 1 Jun 2026 18:04:30 +0800 Subject: [PATCH] fix: save snapshot on mismatch in `forest-dev state compute` --- src/dev/subcommands/state_cmd.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/dev/subcommands/state_cmd.rs b/src/dev/subcommands/state_cmd.rs index ac965e4a0d3b..932f1d5a7dd6 100644 --- a/src/dev/subcommands/state_cmd.rs +++ b/src/dev/subcommands/state_cmd.rs @@ -119,6 +119,9 @@ impl ComputeCommand { "epoch: {epoch}, state_root: {state_root}, receipt_root: {receipt_root}, db_snapshot_size: {}", db_snapshot.len().human_count_bytes() ); + if let Some(export_db_to) = export_db_to { + std::fs::write(export_db_to, db_snapshot)?; + } let expected_state_root = *ts_next.parent_state(); let expected_receipt_root = *ts_next.parent_message_receipts(); anyhow::ensure!( @@ -129,9 +132,6 @@ impl ComputeCommand { receipt_root == expected_receipt_root, "receipt root mismatch, receipt_root: {receipt_root}, expected_receipt_root: {expected_receipt_root}" ); - if let Some(export_db_to) = export_db_to { - std::fs::write(export_db_to, db_snapshot)?; - } Ok(()) } }