ethereumjs-monorepo
ethereumjs-monorepo copied to clipboard
EVM: fix EOF failures found by fuzzer
This PR fixes the EOF container validation divergences found by the fuzzer, see https://github.com/ipsilon/eof/issues/146
WIP
Can this be closed?
No, actually I should import the changes in this branch for fixes for the EOF test fixtures (or use this PR for it).
Codecov Report
Attention: Patch coverage is 49.49495% with 50 lines in your changes missing coverage. Please review.
Project coverage is 75.63%. Comparing base (
100d77d) to head (5852681). Report is 1 commits behind head on master.
Additional details and impacted files
| Flag | Coverage Δ | |
|---|---|---|
| block | 73.74% <ø> (ø) |
|
| blockchain | 83.23% <ø> (ø) |
|
| client | 73.64% <ø> (ø) |
|
| common | 89.93% <100.00%> (+0.04%) |
:arrow_up: |
| devp2p | 71.95% <ø> (ø) |
|
| evm | 64.72% <45.05%> (-0.22%) |
:arrow_down: |
| genesis | 100.00% <ø> (ø) |
|
| mpt | 52.09% <ø> (-0.22%) |
:arrow_down: |
| rlp | 95.11% <ø> (ø) |
|
| statemanager | 67.81% <ø> (ø) |
|
| tx | 76.56% <ø> (ø) |
|
| util | 72.81% <ø> (ø) |
|
| vm | 57.30% <ø> (ø) |
|
| wallet | 79.67% <ø> (ø) |
Flags with carried forward coverage won't be shown. Click here to find out more.
This currently passes the blockchain/state tests, what is left to do is to verify the container validator tests also.
Problem with tests related to Prague, not Osaka: EXTCODEHASH on an empty account (with 7702 activated), test:
npm run test:blockchain -- --fork=Osaka --dir=../fixtures/fixtures/blockchain_tests/osaka/eofwrap/stBadOpcode --test=invalidAddr_d31g0v0_Cancun
Fix:
https://github.com/ethereumjs/ethereumjs-monorepo/pull/3568/commits/2e0f9c5a52f56a0a3e2078e1f0c76279c820af80
Passes https://github.com/ethereum/execution-spec-tests/releases/tag/eip7692%40v2.1.0, ready for merge :)