fix: do not create trie account for movePrecompileToAddress-only state overrides#12045
fix: do not create trie account for movePrecompileToAddress-only state overrides#12045DarkLord017 wants to merge 4 commits into
Conversation
|
Claude finished @DarkLord017's task in 2m 1s —— View job PR Review: do not create account when state is empty in overrides
SummaryThe fix is correct and well-scoped. The root cause was that The The regression test in Findings
Low — Low — Missing complementary negative unit test (view →) Both are optional; neither blocks merge. |
|
Claude finished @DarkLord017's task in 2m 33s —— View job PR Review: do not create trie account for movePrecompileToAddress-only state overrides
SummaryThe fix is correct and safe to merge. The root cause was that Correctness verification: All three execution paths are sound:
Edge cases checked:
Performance: Findings
Low — Low — Unit test uses fully-empty override, not a Neither finding blocks merge. |
EVM Opcode Benchmark DiffAggregated runs: base=3, pr=3 No significant regressions or improvements detected. |
Fixes #12044
Changes
AccountOverride: addedHasStateChangespropertyStateOverridesExtensions: skipCreateAccountwhenHasStateChangesis false, preventing empty accounts from being injected into the trie formovePrecompileToAddress-only overridesTypes of changes
Testing
Requires testing
If yes, did you write tests?
Notes on testing
Covers the Hive test case
multicall-move-two-accounts-to-same-38023. The regression test asserts that the simulated block'sstateRootequals the parent's when the only overrides aremovePrecompileToAddress.Documentation
Requires documentation update
Requires explanation in Release Notes