Expand description
Static verifier circuit for OpenVM root STARK proof.
The verifier circuit is implemented using Halo2 via the halo2-base eDSL.
Static means that the circuit hard codes the following and does not allow them to vary as part of the input:
- The child verifying key, including all system parameters
- The trace heights of the root proof (the static verifier circuit’s input) are fixed. The heights of each AIR are fixed. Consequently the permutation order of AIRs sorted by height is fixed.
- The trace heights of the root proof are all nonzero. In other words no AIR in the child verifying key is optional.
End-to-end Halo2 tests that use full StaticVerifierCircuit::populate (continuations public
values + symbolic DAG cached-commit pin) belong in openvm-sdk integration tests; this crate
keeps a lighter FibFixture + KZG roundtrip via
StaticVerifierCircuit::populate_verify_stark_constraints.
Re-exports§
pub use config::StaticVerifierShape;pub use config::STATIC_VERIFIER_LOOKUP_ADVICE_COLS;pub use config::STATIC_VERIFIER_NUM_ADVICE_COLS;pub use keygen::StaticVerifierProvingKey;pub use prover::Halo2Params;pub use prover::Halo2ProvingMetadata;pub use prover::Halo2ProvingPinning;pub use prover::StaticVerifierProof;pub use stages::proof_shape::log_heights_per_air_from_proof;pub use wrapper::EvmVerifierByteCode;pub use wrapper::FallbackEvmVerifier;pub use wrapper::Halo2ParamsReader;pub use wrapper::Halo2WrapperProvingKey;
Modules§
- codec
- config
- field
- hash
- keygen
- profiling
- Cell-count profiling for the static verifier circuit.
- prover
- stages
- transcript
- wrapper
Structs§
- Fr
- This represents an element of $\mathbb{F}_r$ where
- Static
Verifier Circuit - Parameters fixed host-side for the static verifier (child VK, trace heights, AIR permutation).
Enums§
- Static
Circuit Params Error - Error building
StaticVerifierCircuitfrom fixed per-AIR log heights.