Skip to content

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

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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions