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

Unifying type 2 and type 1. #768

Draft
wants to merge 81 commits into
base: develop
Choose a base branch
from
Draft

Unifying type 2 and type 1. #768

wants to merge 81 commits into from

Conversation

LindaGuiga
Copy link
Contributor

@LindaGuiga LindaGuiga commented Nov 4, 2024

I am opening this draft PR so that everyone can look at the current state of the unification of type 1 and type 2 looks like. This way, we can spot mistakes/improvements "earlier" on and make the necessary changes quickly! (Note that some tests are still failing in the current state, and some parts could surely be simplified / cleaned up.)

In this PR, the Kernel has been adapted to support both type 1 and type 2, and the World trait has been moved to evm_arithmetization. Some other structures -- such as EitherRlp (for either MptAccountRlp or SmtAccountRlp -- have also been introduce to reduce the usage of feature gating.

  • Fix tests (unit tests, integration tests, evm tests)
  • Adapt trace_decoder to type 2 (Keccak -> Poseidon and other changes if needed)
  • Simplify the structs and traits
  • Unify testing_utils between SMT / MPT
  • Split mixed code into distinct modules

@Nashtare Nashtare mentioned this pull request Nov 5, 2024
@Nashtare
Copy link
Collaborator

Nashtare commented Nov 6, 2024

Related ticket: #781

@github-actions github-actions bot added the crate: mpt_trie Anything related to the mpt_trie crate. label Nov 7, 2024
@Nashtare Nashtare added this to the Type 2 - CDK Erigon (Q4 2024) milestone Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crate: evm_arithmetization Anything related to the evm_arithmetization crate. crate: mpt_trie Anything related to the mpt_trie crate. crate: trace_decoder Anything related to the trace_decoder crate. crate: zero_bin Anything related to the zero-bin subcrates.
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

4 participants