From 7140bc29ff13890f3da35d3301d2979ce1c33e04 Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Mon, 30 Oct 2023 14:38:24 +0100 Subject: [PATCH] fix: filter out empty storage entries in state diff (#5230) --- crates/revm/revm-inspectors/src/tracing/builder/parity.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/revm/revm-inspectors/src/tracing/builder/parity.rs b/crates/revm/revm-inspectors/src/tracing/builder/parity.rs index 0e86f3644..d17ecc531 100644 --- a/crates/revm/revm-inspectors/src/tracing/builder/parity.rs +++ b/crates/revm/revm-inspectors/src/tracing/builder/parity.rs @@ -589,8 +589,9 @@ where let account_code = load_account_code(&db, &changed_acc.info).unwrap_or_default(); entry.code = Delta::Added(account_code); - // new storage values - for (key, slot) in changed_acc.storage.iter() { + // new storage values are marked as added, + // however we're filtering changed here to avoid adding entries for the zero value + for (key, slot) in changed_acc.storage.iter().filter(|(_, slot)| slot.is_changed()) { entry.storage.insert((*key).into(), Delta::Added(slot.present_value.into())); } } else {