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§
type Commitment
type Proof
type Circuit: CircuitConfig<Bit = Self::Bit>
type Bit
type Challenger: FieldChallengerVariable<Self::Circuit, Self::Bit>
Required Methods§
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§
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.