1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//! Types associated with the pickles recursive proof system used by the Mina protocol.
//!
//! For more detail on these types and the implementation of these functions, refer to existing
//! documentation and specification for the Mina protocol.

/// Verification keys for proofs in the pickles recursive proof system.
///
/// These verification keys are generated determinstically from a circuit definition.
#[derive(Clone)]
pub struct VerificationKey {/* Implementation elided */}

/// Zero-knowledge proofs in the pickles recursive proof system.
#[derive(Clone)]
pub struct Proof {/* Implementation elided */}

impl Proof {
    /// Verify that a pickles proof is valid according to the given verification key.
    ///
    /// Must return `true` if and only if the proof has valid form and passes all checks defined in
    /// the specification of the pickles recursive proof system.
    #[allow(unused)]
    pub fn verify(proof: Proof, verification_key: VerificationKey) -> bool {
        panic!("Implementation elided")
    }
}