era-compiler-solidity
era-compiler-solidity copied to clipboard
The ZKsync compiler for Solidity.
# What ❔ Support the `EXTCODECOPY` EVM instruction. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for...
This is an ongoing work in progress/prototype. # What ❔ Implement a transpiler from YUL to EasyCrypt in a separate binary. EasyCrypt spec: https://cs-people.bu.edu/gaboardi/teaching/22-chalmers-course/easycrypt-refman.pdf ## Why ❔ A part of...
# What ❔ Switches to the default codegen with the ZKsync fork of `solc`. ## Why ❔ 1. Users always expect it do be so because it is so for...
# What ❔ * [x] Moved `src/tests` to `tests` folder for more canonical tests organization accordingly to [the Rustbook](https://doc.rust-lang.org/book/ch11-03-test-organization.html#integration-tests) * [x] Add `Downloader` module in tests that downloads all required...
# What ❔ Parameterize parser with previously LLVM-specific details (i.e. function attributes). ## Why ❔ LLVM-specific logic has to be decoupled from the parser so that parser can be decoupled...
# What ❔ Finish the parser extraction and introduce dependency from [yul-syntax-tools](https://github.com/matter-labs/yul-syntax-tools) crate. ## Why ❔ The parser is then reused for other tools such as yul->easycrypt transpiler. The code...
# What ❔ Adds the support for IPFS hash. ## Why ❔ Requested by a partner: https://github.com/zkSync-Community-Hub/zksync-developers/discussions/194 ## Checklist - [x] PR title corresponds to the body of PR. -...
### 🌟 Feature Request #### 📝 Description This features request is to port the existing `solc` support for deploy-time linking into `zksolc`. `solc` achieves this by leaving placeholders in the...
### 🌟 Feature Request #### 📝 Description Beside the mapping given for the `ast`, solc provides [bytecode source maps](https://docs.soliditylang.org/en/latest/internals/source_mappings.html), that can be output by specifying the `evm.bytecode.sourceMap`/`evm.deployedBytecode.sourceMap` output selection options....