pub trait StarkFriEngine<SC: StarkGenericConfig>: StarkEngine<SC> + Sized {
// Required methods
fn new(fri_params: FriParameters) -> Self;
fn fri_params(&self) -> FriParameters;
// Provided methods
fn run_test(
&self,
airs: Vec<AirRef<SC>>,
air_proof_inputs: Vec<AirProofInput<SC>>,
) -> Result<VerificationDataWithFriParams<SC>, VerificationError>
where AirProofInput<SC>: Send + Sync { ... }
fn run_test_fast(
airs: Vec<AirRef<SC>>,
air_proof_inputs: Vec<AirProofInput<SC>>,
) -> Result<VerificationDataWithFriParams<SC>, VerificationError>
where AirProofInput<SC>: Send + Sync { ... }
fn run_simple_test_impl(
&self,
chips: Vec<AirRef<SC>>,
traces: Vec<RowMajorMatrix<Val<SC>>>,
public_values: Vec<Vec<Val<SC>>>,
) -> Result<VerificationDataWithFriParams<SC>, VerificationError>
where AirProofInput<SC>: Send + Sync { ... }
fn run_simple_test_fast(
airs: Vec<AirRef<SC>>,
traces: Vec<RowMajorMatrix<Val<SC>>>,
public_values: Vec<Vec<Val<SC>>>,
) -> Result<VerificationDataWithFriParams<SC>, VerificationError> { ... }
fn run_simple_test_no_pis_fast(
airs: Vec<AirRef<SC>>,
traces: Vec<RowMajorMatrix<Val<SC>>>,
) -> Result<VerificationDataWithFriParams<SC>, VerificationError> { ... }
}
Expand description
Stark engine using Fri.
Required Methods§
fn new(fri_params: FriParameters) -> Self
fn fri_params(&self) -> FriParameters
Provided Methods§
fn run_test( &self, airs: Vec<AirRef<SC>>, air_proof_inputs: Vec<AirProofInput<SC>>, ) -> Result<VerificationDataWithFriParams<SC>, VerificationError>
fn run_test_fast( airs: Vec<AirRef<SC>>, air_proof_inputs: Vec<AirProofInput<SC>>, ) -> Result<VerificationDataWithFriParams<SC>, VerificationError>
Sourcefn run_simple_test_impl(
&self,
chips: Vec<AirRef<SC>>,
traces: Vec<RowMajorMatrix<Val<SC>>>,
public_values: Vec<Vec<Val<SC>>>,
) -> Result<VerificationDataWithFriParams<SC>, VerificationError>
fn run_simple_test_impl( &self, chips: Vec<AirRef<SC>>, traces: Vec<RowMajorMatrix<Val<SC>>>, public_values: Vec<Vec<Val<SC>>>, ) -> Result<VerificationDataWithFriParams<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.
fn run_simple_test_fast( airs: Vec<AirRef<SC>>, traces: Vec<RowMajorMatrix<Val<SC>>>, public_values: Vec<Vec<Val<SC>>>, ) -> Result<VerificationDataWithFriParams<SC>, VerificationError>
fn run_simple_test_no_pis_fast( airs: Vec<AirRef<SC>>, traces: Vec<RowMajorMatrix<Val<SC>>>, ) -> Result<VerificationDataWithFriParams<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.