snark_verifier/pcs/
kzg.rs
1use crate::util::arithmetic::CurveAffine;
5
6mod accumulation;
7mod accumulator;
8mod decider;
9mod multiopen;
10
11pub use accumulation::{KzgAs, KzgAsProvingKey, KzgAsVerifyingKey};
12pub use accumulator::{KzgAccumulator, LimbsEncoding};
13pub use decider::KzgDecidingKey;
14pub use multiopen::{Bdfg21, Bdfg21Proof, Gwc19, Gwc19Proof};
15
16#[cfg(feature = "loader_halo2")]
17pub use accumulator::LimbsEncodingInstructions;
18use serde::{Deserialize, Serialize};
19
20#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
22pub struct KzgSuccinctVerifyingKey<C: Copy> {
23 pub g: C,
25}
26
27impl<C: CurveAffine> KzgSuccinctVerifyingKey<C> {
28 pub fn new(g: C) -> Self {
30 Self { g }
31 }
32}
33
34impl<C: CurveAffine> From<C> for KzgSuccinctVerifyingKey<C> {
35 fn from(g: C) -> KzgSuccinctVerifyingKey<C> {
36 KzgSuccinctVerifyingKey::new(g)
37 }
38}