Verifier

Struct Verifier 

Source
pub struct Verifier {
    pub verifier_key: Option<VerifierKey>,
    pub preprocessed_transcript: Transcript,
    /* private fields */
}
Expand description

Abstraction structure designed verify Proofs.

Fields§

§verifier_key: Option<VerifierKey>

VerificationKey which is used to verify a specific PLONK circuit

§preprocessed_transcript: Transcript

Store the messages exchanged during the preprocessing stage This is copied each time, we make a proof, so that we can use the same verifier to Verify multiple proofs from the same circuit. If this is not copied, then the verification procedure will modify the transcript, making it unusable for future proofs.

Implementations§

Source§

impl Verifier

Source

pub fn new(label: &'static [u8]) -> Verifier

Creates a new Verifier instance.

Source

pub fn with_size(label: &'static [u8], size: usize) -> Verifier

Creates a new Verifier instance with some expected size.

Source

pub const fn gates(&self) -> u32

Returns the number of gates in the circuit.

Source

pub fn composer_mut(&mut self) -> &mut TurboComposer

Mutable borrow of the TurboComposer.

Source

pub fn preprocess(&mut self, commit_key: &CommitKey) -> Result<(), Error>

Preprocess a circuit to obtain a VerifierKey and a circuit descriptor so that the Verifier instance can verify Proofs for this circuit descriptor instance.

Source

pub fn key_transcript(&mut self, label: &'static [u8], message: &[u8])

Keys the Transcript with additional seed information Wrapper around Transcript::append_message.

Source

pub fn verify( &self, proof: &Proof, opening_key: &OpeningKey, public_inputs: &[BlsScalar], ) -> Result<(), Error>

Verifies a Proof.

Trait Implementations§

Source§

impl Default for Verifier

Source§

fn default() -> Verifier

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.