chore(deps): bump gravity-reth to 1aec7b75 (audit-715 wipe+recreate state root)#754
Merged
Merged
Conversation
…tate root) Bumps `greth` from `408ef602` to `1aec7b75` (Galxe/gravity-reth#356), which fixes a CRITICAL nested-trie bug: when an account is selfdestructed and recreated in the same block (revm emits `DestroyedChanged` with `HashedStorage { wiped: true, storage: { new slots } }`), the prior `wiped` branch returned `EMPTY_ROOT_HASH` and `continue`d without applying the recreated slots — silently dropping the new storage from both the computed state root and the persisted `StoragesTrieV2` table. A homogeneous gravity cluster would have agreed on the wrong root and forked from geth / upstream reth. The fix builds a fresh storage trie from an empty base, inserts the recreated non-zero slots, and only emits `EMPTY_ROOT_HASH` when the post-wipe storage map is genuinely empty. Closes Galxe/gravity-audit#715.
AshinGau
approved these changes
Jun 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
grethfrom408ef602to1aec7b75(fix(state_root): nested-trie wipe+recreate drops recreated storage gravity-reth#356), which fixes a CRITICAL nested-trie bug surfaced by the internal audit (Galxe/gravity-audit#715): when an account is selfdestructed and recreated in the same block (revm emitsDestroyedChangedwithHashedStorage { wiped: true, storage: { new slots } }), the priorwipedbranch incrates/trie/db/src/nested_hash.rsreturnedEMPTY_ROOT_HASHandcontinued without ever applying the recreated slots. The new slots were silently dropped from both the computed state root and the persistedStoragesTrieV2table.wipedis true, build a fresh storage trie from an empty base, insert the recreated non-zero slots, take the real storage root, and only emitEMPTY_ROOT_HASHwhen the post-wipe storage map is genuinely empty. Old on-disk nodes are still delete-marked.Test plan
RUSTFLAGS="--cfg tokio_unstable" cargo update -p greth— Cargo.lock regenerated cleanlyRUSTFLAGS="--cfg tokio_unstable" cargo check -p gravity_node— passeswipe_recreate_e2e.rs+mainnet_replay.rs+ arepro_nested_hash_wiped_recreate_storage_rootdifferential test in fix(state_root): nested-trie wipe+recreate drops recreated storage gravity-reth#356; no SDK-side wiring needed here.