Skip to content

zkevm@v0.4.0 eip8025_optional_proofs witness_validation_* are stateless-verifier negative tests, not producer outputs #21566

@awskii

Description

@awskii

The eip8025_optional_proofs/witness_validation_{codes,state,headers} fixtures (plus witness_headers/witness_headers_extra_unused_older_ancestor) are stateless-verifier tests: each stores a deliberately mutated executionWitness (an item removed → "…should fail", or an extra item added → "…should still validate") and exercises the verifier's accept/reject.

The eest_zkevm_witness suite compares the witness that debug_executionWitness produces against the stored one. For these fixtures that always diverges by exactly the mutated item — erigon's produced witness is the canonical (correct) one, so no producer change can make them pass; greening one reds its twin. Confirmed e.g. validation_codes_extra_unused_bytecode ("Adding an unused bytecode preimage should still validate") stores canonical+1, which a producer never emits.

22 affected files. They need a stateless-verify consumer mode in the suite (feed statelessInputBytes, assert reject/accept against statelessOutputBytes), which does not exist yet. Skipped via SkipLoad in execution/tests/eest_zkevm_witness/witness_test.go; remove the skips once that consumer mode lands.

Related: #21563 (stale-gas skips in the same suite).

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions