zksync-era icon indicating copy to clipboard operation
zksync-era copied to clipboard

Evm equivalence (updated with latest changes from `main`)

Open jrchatruc opened this issue 6 months ago • 0 comments

What ❔

This PR includes only the necessary changes from #1612 for EVM equivalance, starting from the current main branch.

Currently the PR adds the evm_simulator as a new BaseSystemContract along with the necessary sql migrations and dal changes that add the evm_simulator_code_hash column to the protocol_versions, l1_batches, and miniblocks tables.

Things left to port from the original PR:

  • Vm changes that implement the evm interpreter logic.
  • Changes to the operator and rpc endpoints making the to field of transactions an Option<Address>, which turns None values into evm contract execution.
  • Typescript script that publishes the evm interpreter's bytecode in the same way as the defaultaa/bootloader

Why ❔

Checklist

  • [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs).
  • [ ] Tests for the changes have been added / updated.
  • [ ] Documentation comments have been added / updated.
  • [ ] Code has been formatted via zk fmt and zk lint.

jrchatruc avatar Aug 09 '24 22:08 jrchatruc