pub struct ProofGenerator { /* private fields */ }Expand description
Proof generator for creating zk-SNARKs
Implementations§
Source§impl ProofGenerator
impl ProofGenerator
Sourcepub fn generate_proving_key(
&self,
circuit: &ArithmeticCircuit,
) -> Result<ProvingKey, ZkError>
pub fn generate_proving_key( &self, circuit: &ArithmeticCircuit, ) -> Result<ProvingKey, ZkError>
Generate proving key
Uses a deterministic hash-based scheme (SHA3-512 + HKDF-style expansion).
Bytes [0..8] are set to the discriminant b"QUALAPK\x01" so proving and
verifying keys are unambiguously distinguishable.
Sourcepub fn store_proving_key(&mut self, circuit_id: String, proving_key: ProvingKey)
pub fn store_proving_key(&mut self, circuit_id: String, proving_key: ProvingKey)
Store proving key
Sourcepub fn get_proving_key(&self, circuit_id: &str) -> Result<&ProvingKey, ZkError>
pub fn get_proving_key(&self, circuit_id: &str) -> Result<&ProvingKey, ZkError>
Get proving key
Auto Trait Implementations§
impl Freeze for ProofGenerator
impl RefUnwindSafe for ProofGenerator
impl Send for ProofGenerator
impl Sync for ProofGenerator
impl Unpin for ProofGenerator
impl UnsafeUnpin for ProofGenerator
impl UnwindSafe for ProofGenerator
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more