What's Changed
- Fixed the trie node iterator skipping newly inserted hashed entries that sort before a deeper stored branch node. Skipping the hashed seek in that case could omit newly inserted leaves and produce an incorrect incremental state root.
Details
- The trie walker previously skipped the hashed seek whenever the walker key was below the seek prefix. A walker key below the seek prefix does not guarantee that intervening hashed entries have been visited, so newly inserted leaves could be missed by the incremental root computation.
- The hashed seek is now skipped only when the walker key equals the seek prefix, so hashed entries between the walker position and a deeper stored branch are always included.
- This is a backport of the iterator boundary fix from paradigmxyz/reth PR #28264.
Operator notes
- Affects scenarios where a new storage leaf is inserted at a key that sorts before an existing deeper stored branch node (e.g. inserting slot
0x1000when branch0x10a0..is stored). Previously the incremental state root could be computed incorrectly; it is now correct. - No configuration is required. A regression test comparing incremental and rebuilt state roots covers the fix.