Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support cancun fork #397

Merged
merged 15 commits into from
Jul 17, 2024
Merged

feat: support cancun fork #397

merged 15 commits into from
Jul 17, 2024

Conversation

0xalpharush
Copy link
Contributor

@0xalpharush 0xalpharush commented Jul 8, 2024

Closes #386

Upgrades to go-ethereum 1.14.6 to support the Cancun fork, migrates our tracing to the new native tracing, and make our use of the stateDB compatible with the API change. Previously, we were committing the trie for every tx and so we could just restore to that intermediate state and re-execute the tx. Now, the stateDB expects commits to be tied to a block, so I have taken the approach of re-executing the entire tx sequence from the post-deployment state. I believe removing the calls to commit from PendingBlockAddTx brings a modest performance increase

@0xalpharush 0xalpharush changed the title WIP WIP support cancun fork Jul 10, 2024
@0xalpharush 0xalpharush changed the title WIP support cancun fork featL: support cancun fork Jul 10, 2024
@0xalpharush 0xalpharush changed the title featL: support cancun fork feat: support cancun fork Jul 10, 2024
@0xalpharush 0xalpharush marked this pull request as ready for review July 10, 2024 18:29
chain/test_chain.go Outdated Show resolved Hide resolved
chain/test_chain_test.go Outdated Show resolved Hide resolved
fuzzing/fuzzer_hooks.go Outdated Show resolved Hide resolved
anishnaik and others added 2 commits July 16, 2024 14:14
Co-authored-by: alpharush <0xalpharush@protonmail.com>
Co-authored-by: alpharush <0xalpharush@protonmail.com>
chain/test_chain.go Outdated Show resolved Hide resolved
chain/test_chain.go Outdated Show resolved Hide resolved
chain/test_chain_tracer.go Outdated Show resolved Hide resolved
chain/cheat_code_tracer.go Outdated Show resolved Hide resolved
chain/test_chain_tracer.go Show resolved Hide resolved
fuzzing/fuzzer_test.go Show resolved Hide resolved
fuzzing/executiontracer/execution_tracer.go Outdated Show resolved Hide resolved
chain/test_chain_tracer.go Outdated Show resolved Hide resolved
Copy link
Collaborator

@anishnaik anishnaik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

overall, looks great. would recommend taking another pass with the additional changes i made to make sure that original behavior of tracers and chain is preserved

@0xalpharush 0xalpharush merged commit 294906b into master Jul 17, 2024
12 checks passed
@0xalpharush 0xalpharush deleted the upgrade-geth branch July 17, 2024 21:56
@0xalpharush 0xalpharush restored the upgrade-geth branch July 17, 2024 21:57
@anishnaik anishnaik deleted the upgrade-geth branch July 17, 2024 21:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

upgrading to go-ethereum 1.14.5 to support Cancun opcodes etc
2 participants