era-compiler-solidity
era-compiler-solidity copied to clipboard
feat: switch to the default codegen with ZKsync solc
What ❔
Switches to the default codegen with the ZKsync fork of solc
.
Why ❔
- Users always expect it do be so because it is so for solc, and there is no way to lift this expectation.
- Yul codegen is extremely buggy. We've received almost 10 reports about miscompilations or output indeterminism since launch, two of them this weekend:
- https://github.com/zkSync-Community-Hub/zksync-developers/discussions/507 (https://github.com/matter-labs/era-compiler-solidity/issues/75)
- https://github.com/zkSync-Community-Hub/zksync-developers/discussions/513
- The ZKsync solc doesn't have any limitations with the old codegen anymore.
Checklist
- [x] PR title corresponds to the body of PR (we generate changelog entries from PRs).
- [x] Tests for the changes have been added / updated.
- [x] Documentation comments have been added / updated.
- [x] Code has been formatted via
cargo fmt
and checked withcargo clippy
.