3540 | 3670 | 4200 | 4750 | 5450 | 6206 | 7480 | 7069 | 7620 | 7698 | 663 | |
---|---|---|---|---|---|---|---|---|---|---|---|
Megaspec | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 |
EIP | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 |
testing | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 🚧 | 🚧 | 🚧 | 👍 | |
besu | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 |
erigon | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | |||
ethereumjs | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
evmone | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 |
geth | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | |
nethermind | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 |
revm | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 |
solidity POC | 👍 | N/A | 👍 | 👍 | N/A | 👍 | 👍 | 👍 | 👍 | 👍 | |
vyper | 🚧 | N/A | 🚧 | 🚧 | N/A | ||||||
EELS | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 | 👍 |
besu | erigon | ethereumjs | evmone | geth | nethermind | revm | EELS | |
---|---|---|---|---|---|---|---|---|
[*] EEST [email protected] - state_tests |
✅ | ✅ | ✅ | ✅ | ✅ | |||
[*] EEST [email protected] - eof_tests |
✅ | ✅ | ✅ | ✅ | ✅ | |||
EEST [email protected] - state_tests |
✅ | |||||||
EEST [email protected] - blockchain_tests |
✅ | |||||||
EEST [email protected] - eof_tests |
✅ | |||||||
[*] tests v14.1 - EIPTests/StateTests/stEOF |
✅ | ✅ | ✅ | ✅ | ||||
tests v14.1 - EOFTests |
✅ | ✅ | ✅ | ✅ | ||||
evmone exported v0.13.0 - state_tests |
❓ | ✅ | ✅ | ✅ | ||||
evmone exported v0.13.0 - eof_tests |
❓ | ✅ | ✅ | ✅ |
[*] NOTE: old version, will be dropped once clients report back with recent version passing.
Megaspec is ready and main source of truth.
Are aligned with the Megaspec, Meta EOF EIP at https://eips.ethereum.org/EIPS/eip-7692.
Erigon++ is a version of Erigon using Silkworm as the execution engine. Since Silkworm uses evmone, it receives the feature from upstream.
Current work-in-progress implementation resides in a fork at: https://github.com/shemnon/go-ethereum/tree/osaka-mega-eof
Nethermind currently has EOF support in the branch feature/evm/eof (PR#6896).
Current work-in-progress implementation split into PRs at: https://github.com/ethereum/solidity/pulls?q=is%3Aopen+is%3Apr+label%3AEOF
There is a contributor submitted PR from mid 2023 implementing some of EOF: vyperlang/vyper#3457
There is a draft PR with the EIPs implemented: ethereum/execution-specs#972
-
EIP-3540 - EOF Container
-
EIP-3670 - Code Validation
- Validation - https://github.com/ethereum/tests/tree/develop/EOFTests/EIP3670
- Validation tests generated from evmone unit tests - https://github.com/ethereum/tests/tree/develop/EOFTests/efValidation
- these cover validation rules from all EIPs
-
EIP-4200 - Static Relative Jumps
-
EIP-4750 - Functions
-
EIP-5450 - Stack Validation
- Validation - https://github.com/ethereum/tests/tree/develop/EOFTests/EIP5450
- Validation tests generated from evmone unit tests - https://github.com/ethereum/tests/tree/develop/EOFTests/efStack
- https://github.com/ethereum/execution-spec-tests/tree/main/tests/osaka/eip7692_eof_v1/eip5450_stack
-
EIP-6206 - JUMPF and non-returning functions
-
EIP-7480 - Data section access
-
EIP-7069 - Revamped CALL instructions
-
EIP-7620 - EOF Create Instructions
-
EIP-7698 - EOF - Creation transaction
-
EIP-663 - SWAPN/DUPN/EXCHANGE