[Enhancement][Tracking] EVM EOF Bytecode
- Dominant language
- WebAssembly
- Stars
- 25
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
# Problem
Newly added 19 EVM EOF opcodes currently missing their functionalities in code.
## Added opcodes list
The opcode list
+ [x] DATALOAD
+ [x] DATALOADN
+ [x] DATASIZE
+ [x] DATACOPY
+ [ ] RJUMP
+ [ ] RJUMPI
+ [ ] RJUMPV
+ [ ] CALLF
+ [ ] RETF
+ [ ] JUMPF
+ [x] DUPN
+ [x] SWAPN
+ [x] EXCHANGE
+ [ ] EOFCREATE
+ [ ] RETURNCONTRACT
+ [x] RETURNDATALOAD
+ [ ] EXTCALL
+ [ ] EXTDELEGATECALL
+ [ ] EXTSTATICCALL
# Solution
Implement EOF opcodes support from the byte level and complete implementation in compiler and runtime level.
_Referenced in https://github.com/dp-labs/dora/issues/77#issuecomment-2527063031 by @timi-y_
Disable dynamic jump analysis for eof, but instead requires static jump analysis.
## Tasks
- [x] #202
- [x] #203
- [x] #215
- [x] #242
- [x] #284 by @timi-y
- [x] #285
- [ ] #408 Add eof static jump opcodes part II
- [ ] #211 Add EOF Bytecode validation
- [ ] #82 Add missing eof contract creations and call unit tests, and sample EOF bytecode running test under `evm` to make sure it's reading EOF bytecode correctly.
## Thing to be aware:
- ✅ Re #135 when writing new EOF low-level codes. ✅ - _**Resolved**_
- ‼️ Search EIP contents again to see whether there are EOF related things [here](https://www.evm.codes/?fork=EOF).‼️
- ✅ Should make negative testing for `Program` default constructing, shouldn't we? ✅ - _**Resolved** in #284 and #285_
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.