pub struct ProofEngine { /* private fields */ }Expand description
Proof engine for zero-knowledge proofs
Implementations§
Source§impl ProofEngine
impl ProofEngine
pub fn new() -> Self
pub fn initialize(&mut self) -> Result<(), CryptographicError>
Sourcepub fn add_proof_system(&mut self, system: ProofSystem)
pub fn add_proof_system(&mut self, system: ProofSystem)
Register a proof system.
Sourcepub fn get_proof_system(&self, system_id: &str) -> Option<&ProofSystem>
pub fn get_proof_system(&self, system_id: &str) -> Option<&ProofSystem>
Look up a proof system by id.
Sourcepub fn list_proof_systems(&self) -> impl Iterator<Item = &ProofSystem>
pub fn list_proof_systems(&self) -> impl Iterator<Item = &ProofSystem>
Iterate over all registered proof systems.
pub fn generate_proof( &mut self, circuit_id: &str, witness: &[Vec<u8>], public_inputs: &[Vec<u8>], ) -> Result<Proof, CryptographicError>
pub fn verify_proof( &mut self, proof: &Proof, public_inputs: &[Vec<u8>], ) -> Result<bool, CryptographicError>
Auto Trait Implementations§
impl Freeze for ProofEngine
impl RefUnwindSafe for ProofEngine
impl Send for ProofEngine
impl Sync for ProofEngine
impl Unpin for ProofEngine
impl UnsafeUnpin for ProofEngine
impl UnwindSafe for ProofEngine
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