fix - state persistence for post execution #39
Merged
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.
Using an
evm
constructed inside post execution ingnosis.rs
was not persisting the changes (for example even when new accounts were forcefully being created). This resulted in mismatched state roots (because the rewards contract call changes the storage roots). Now we are passing theevm
mutably from post_execution function instead of constructing inside.Some traits have been changed, so the evm passed inside post_execution no longer has
increment_balances
inevm.context.evm.db
. Therefore, refactored to bring thebalance_increments
outside in post_execution function to match with paradigmxyz/reth.Final Result
✅ Can sync mainnet blocks post-merge. Currently syncing Merge fork (1000 blocks applied). Not reached Shanghai.