Skip to main content

RecursiveMultilinearPcsVerifier

Trait RecursiveMultilinearPcsVerifier 

Source
pub trait RecursiveMultilinearPcsVerifier: Sized {
    type Commitment;
    type Proof;
    type Circuit: CircuitConfig<Bit = Self::Bit>;
    type Bit;
    type Challenger: FieldChallengerVariable<Self::Circuit, Self::Bit>;

    // Required method
    fn verify_trusted_evaluations(
        &self,
        builder: &mut Builder<Self::Circuit>,
        commitments: &[Self::Commitment],
        point: Point<Ext<SP1Field, SP1ExtensionField>>,
        evaluation_claims: &[MleEval<Ext<SP1Field, SP1ExtensionField>>],
        proof: &Self::Proof,
        challenger: &mut Self::Challenger,
    );

    // Provided method
    fn verify_untrusted_evaluations(
        &self,
        builder: &mut Builder<Self::Circuit>,
        commitments: &[Self::Commitment],
        point: Point<Ext<SP1Field, SP1ExtensionField>>,
        evaluation_claims: &[MleEval<Ext<SP1Field, SP1ExtensionField>>],
        proof: &Self::Proof,
        challenger: &mut Self::Challenger,
    ) { ... }
}

Required Associated Types§

Required Methods§

Source

fn verify_trusted_evaluations( &self, builder: &mut Builder<Self::Circuit>, commitments: &[Self::Commitment], point: Point<Ext<SP1Field, SP1ExtensionField>>, evaluation_claims: &[MleEval<Ext<SP1Field, SP1ExtensionField>>], proof: &Self::Proof, challenger: &mut Self::Challenger, )

Provided Methods§

Source

fn verify_untrusted_evaluations( &self, builder: &mut Builder<Self::Circuit>, commitments: &[Self::Commitment], point: Point<Ext<SP1Field, SP1ExtensionField>>, evaluation_claims: &[MleEval<Ext<SP1Field, SP1ExtensionField>>], proof: &Self::Proof, challenger: &mut Self::Challenger, )

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§