Crate openvm_static_verifier

Crate openvm_static_verifier 

Source
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
StaticVerifierCircuit
Parameters fixed host-side for the static verifier (child VK, trace heights, AIR permutation).

Enums§

StaticCircuitParamsError
Error building StaticVerifierCircuit from fixed per-AIR log heights.

Functions§

compute_dag_onion_commit

Type Aliases§

RootEF
RootF