StarkFriEngine

Trait StarkFriEngine 

Source
pub trait StarkFriEngine: StarkEngine + Sized {
    // Required methods
    fn new(fri_params: FriParameters) -> Self;
    fn fri_params(&self) -> FriParameters;

    // Provided methods
    fn run_test(
        &self,
        airs: Vec<AirRef<Self::SC>>,
        ctx: Vec<AirProvingContext<Self::PB>>,
    ) -> Result<VerificationDataWithFriParams<Self::SC>, VerificationError> { ... }
    fn run_test_fast(
        airs: Vec<AirRef<Self::SC>>,
        ctx: Vec<AirProvingContext<Self::PB>>,
    ) -> Result<VerificationDataWithFriParams<Self::SC>, VerificationError> { ... }
    fn run_simple_test_impl(
        &self,
        chips: Vec<AirRef<Self::SC>>,
        traces: Vec<RowMajorMatrix<Val<Self::SC>>>,
        public_values: Vec<Vec<Val<Self::SC>>>,
    ) -> Result<VerificationDataWithFriParams<Self::SC>, VerificationError> { ... }
    fn run_simple_test_fast(
        airs: Vec<AirRef<Self::SC>>,
        traces: Vec<RowMajorMatrix<Val<Self::SC>>>,
        public_values: Vec<Vec<Val<Self::SC>>>,
    ) -> Result<VerificationDataWithFriParams<Self::SC>, VerificationError> { ... }
    fn run_simple_test_no_pis_fast(
        airs: Vec<AirRef<Self::SC>>,
        traces: Vec<RowMajorMatrix<Val<Self::SC>>>,
    ) -> Result<VerificationDataWithFriParams<Self::SC>, VerificationError> { ... }
}
Expand description

Stark engine using Fri.

Required Methods§

Source

fn new(fri_params: FriParameters) -> Self

Source

fn fri_params(&self) -> FriParameters

Provided Methods§

Source

fn run_test( &self, airs: Vec<AirRef<Self::SC>>, ctx: Vec<AirProvingContext<Self::PB>>, ) -> Result<VerificationDataWithFriParams<Self::SC>, VerificationError>

Source

fn run_test_fast( airs: Vec<AirRef<Self::SC>>, ctx: Vec<AirProvingContext<Self::PB>>, ) -> Result<VerificationDataWithFriParams<Self::SC>, VerificationError>

Source

fn run_simple_test_impl( &self, chips: Vec<AirRef<Self::SC>>, traces: Vec<RowMajorMatrix<Val<Self::SC>>>, public_values: Vec<Vec<Val<Self::SC>>>, ) -> Result<VerificationDataWithFriParams<Self::SC>, VerificationError>

Runs a single end-to-end test for a given set of AIRs and traces. This includes proving/verifying key generation, creating a proof, and verifying the proof. This function should only be used on AIRs where the main trace is not partitioned.

Source

fn run_simple_test_fast( airs: Vec<AirRef<Self::SC>>, traces: Vec<RowMajorMatrix<Val<Self::SC>>>, public_values: Vec<Vec<Val<Self::SC>>>, ) -> Result<VerificationDataWithFriParams<Self::SC>, VerificationError>

Source

fn run_simple_test_no_pis_fast( airs: Vec<AirRef<Self::SC>>, traces: Vec<RowMajorMatrix<Val<Self::SC>>>, ) -> Result<VerificationDataWithFriParams<Self::SC>, VerificationError>

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§