Skip to content

Commit 15cfb1a

Browse files
authored
chore: completely remove the EVM target (#326)
1 parent ce4c720 commit 15cfb1a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+868
-6302
lines changed

Cargo.lock

Lines changed: 133 additions & 125 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/src/02-command-line-interface.md

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -119,12 +119,10 @@ Visit [the *solc* documentation](https://docs.soliditylang.org/en/latest/path-re
119119

120120
### `--asm`
121121

122-
Enables the output of contract assembly. The assembly format depends on the [*--target*](#--target) architecture the contract is compiled for.
122+
Enables the output of contract assembly.
123123

124124
For the EraVM assembly specification, visit the [EraVM documentation](https://docs.zksync.io/zk-stack/components/compiler/specification/binary-layout).
125125

126-
EVM assembly is not supported yet.
127-
128126
Usage:
129127

130128
```bash
@@ -302,7 +300,7 @@ Sets the optimization level of the LLVM optimizer. Available values are:
302300

303301
For most cases, it is fine to use the default value of `3`. You should only use the level `z` if you are ready to deliberately sacrifice performance and optimize for size.
304302

305-
> Large contracts may hit the EraVM or EVM bytecode size limit. In this case, it is recommended to use the [`--fallback-Oz`](#--fallback-oz) option rather than set the `z` level.
303+
> Large contracts may hit the EraVM bytecode size limit. In this case, it is recommended to use the [`--fallback-Oz`](#--fallback-oz) option rather than set the `z` level.
306304
307305

308306

@@ -613,37 +611,6 @@ Binary:
613611

614612

615613

616-
## Multi-Target Support
617-
618-
*zksolc* is an LLVM-based compiler toolchain, so it is easily extensible to support multiple target architectures. The following targets are supported:
619-
620-
- `eravm`[EraVM](https://docs.zksync.io/zk-stack/components/zksync-evm) (default).
621-
- `evm`[EVM](https://ethereum.org/en/developers/docs/evm/) (under development and only available for testing).
622-
623-
### `--target`
624-
625-
Specifies the target architecture for the compiled contract.
626-
627-
<div class="warning">
628-
The <code>--target</code> option is experimental and must be passed as a CLI argument in all modes including combined JSON and standard JSON.
629-
</div>
630-
631-
Usage:
632-
633-
```bash
634-
zksolc Simple.sol --bin --target evm
635-
```
636-
637-
Output:
638-
639-
```text
640-
======= Simple.sol:Simple =======
641-
Binary:
642-
0000008003000039000000400030043f0000000100200190000000130000c13d...
643-
```
644-
645-
646-
647614
## Integrated Tooling
648615

649616
*zksolc* includes several tools provided by the LLVM framework out of the box, such as disassembler and linker. The following sections describe the usage of these tools.

era-compiler-solidity/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,4 @@ era-compiler-downloader = { git = "https://github.com/matter-labs/era-compiler-c
5050
git = "https://github.com/matter-labs-forks/inkwell"
5151
branch = "llvm-19"
5252
default-features = false
53-
features = ["llvm19-1", "serde", "no-libffi-linking", "target-eravm", "target-evm"]
53+
features = ["llvm19-1", "serde", "no-libffi-linking", "target-eravm"]

era-compiler-solidity/src/build_evm/contract/mod.rs

Lines changed: 0 additions & 185 deletions
This file was deleted.

0 commit comments

Comments
 (0)