proof_of_sql/proof_primitive/hyperkzg/
mod.rs

1//! Implementation of `HyperKZG` PCS for usage with proof-of-sql.
2//!
3//! The prover side of this implementation simply wraps around nova's hyper-kzg implementation.
4//!
5//! While the `Commitment` for this commitment scheme is always available, the corresponding
6//! `CommitmentEvaluationProof` is gated behind the `hyperkzg_proof` feature flag.
7//! This is done to preserve `no_std` compatibility for `no_std` commitment generation apps.
8
9mod scalar;
10pub use scalar::BNScalar;
11
12mod public_setup;
13#[cfg(feature = "std")]
14pub use public_setup::deserialize_flat_compressed_hyperkzg_public_setup_from_reader;
15pub use public_setup::{
16    deserialize_flat_compressed_hyperkzg_public_setup_from_slice, HyperKZGPublicSetup,
17    HyperKZGPublicSetupOwned,
18};
19
20mod commitment;
21pub use commitment::HyperKZGCommitment;
22
23#[cfg(feature = "hyperkzg_proof")]
24mod nova_commitment;
25
26#[cfg(feature = "hyperkzg_proof")]
27mod nova_engine;
28#[cfg(feature = "hyperkzg_proof")]
29pub use nova_engine::{nova_commitment_key_to_hyperkzg_public_setup, HyperKZGEngine};
30
31#[cfg(feature = "hyperkzg_proof")]
32mod commitment_evaluation_proof;
33#[cfg(feature = "hyperkzg_proof")]
34pub use commitment_evaluation_proof::HyperKZGCommitmentEvaluationProof;