TODO masterlist v1
Opened this issue · 1 comments
leonardoalt commented
Syscalls
Everything specific to Ethereum, up to running basic usual contracts.
- Clean up the syscalls ids, use EVM opcode values for clarity and guidelines
- msg.*
- tx.*
- block.*
- call
- staticcall
- I guess no complicated calls for now (delegatecall, create, create2)
- tload/tstore
- keccak (important for Mapping lib)
- logs
- ???
Library
Types and convenience functions.
- Mapping (should use the keccak syscall instead of TinyKeccak)
- Log helpers
- Maybe some traits to define how to encode/decode types into/from Memory/Storage?
- ???
VM
- Base VM seems fine for now
ELF
- Contract size can get large quite quickly. Find ways to compress/optimize it.
- Maybe integrate with EOF?
Reth/Odyssey
- Basic integration: ithacaxyz/odyssey#81
Testing
- Set up CI
- Write more tests, for everything
zerosnacks commented
- Gas metering / pricing
- Sandboxing
- Document / specify RISC-V extensions in use
- Support for compressed instructions
- Identify and handle instructions that may cause issues (
EBREAK
) - Non-interpreted mode