Context
PR #20533 added a test suite validating debug_executionWitness against 93 EIP-8025 fixtures from ethereum/execution-spec-tests zkevm@v0.3.3. All 93 fixtures run but are marked as expected failures due to mismatches between Erigon's witness output and the reference.
Root causes to fix
- State node ordering (52% of tests) — Erigon emits MPT state nodes in a different order than the spec expects
- Extra state nodes (48% of tests) — Erigon includes nodes beyond what the spec requires (superset)
- Codes ordering (99% of tests) — Erigon sorts bytecodes by keccak256 hash; spec expects access-order
- Missing parent block headers (99% of tests) — Erigon does not include parent headers in the witness
Location
All fixes are in rpc/jsonrpc/debug_execution_witness.go and surrounding witness generation code.
Done when
- All 93 fixtures pass without
bt.Fails(".") annotation
bt.Fails line removed from execution/tests/eest_zkevm_witness/witness_test.go
Related
Context
PR #20533 added a test suite validating
debug_executionWitnessagainst 93 EIP-8025 fixtures from ethereum/execution-spec-tests zkevm@v0.3.3. All 93 fixtures run but are marked as expected failures due to mismatches between Erigon's witness output and the reference.Root causes to fix
Location
All fixes are in
rpc/jsonrpc/debug_execution_witness.goand surrounding witness generation code.Done when
bt.Fails(".")annotationbt.Failsline removed fromexecution/tests/eest_zkevm_witness/witness_test.goRelated
go test -v -run TestExecutionSpecWitness -count=1 ./execution/tests/eest_zkevm_witness/...