pub trait TestFixture<SC: StarkProtocolConfig> {
// Required methods
fn airs(&self) -> Vec<AirRef<SC>> ⓘ;
fn generate_proving_ctx(&self) -> ProvingContext<CpuColMajorBackend<SC>>;
// Provided methods
fn keygen<E: StarkEngine<SC = SC>>(
&self,
engine: &E,
) -> (MultiStarkProvingKey<SC>, MultiStarkVerifyingKey<SC>) { ... }
fn prove<E: StarkEngine<SC = SC>>(
&self,
engine: &E,
pk: &MultiStarkProvingKey<SC>,
) -> Proof<SC> { ... }
fn prove_from_transcript<E: StarkEngine<SC = SC>>(
&self,
engine: &E,
pk: &MultiStarkProvingKey<SC>,
transcript: &mut E::TS,
) -> Proof<SC> { ... }
fn keygen_and_prove<E: StarkEngine<SC = SC>>(
&self,
engine: &E,
) -> (MultiStarkVerifyingKey<SC>, Proof<SC>) { ... }
}Expand description
Trait for object responsible for generating the collection of AIRs and trace matrices for a single test case.
Required Methods§
fn airs(&self) -> Vec<AirRef<SC>> ⓘ
fn generate_proving_ctx(&self) -> ProvingContext<CpuColMajorBackend<SC>>
Provided Methods§
fn keygen<E: StarkEngine<SC = SC>>( &self, engine: &E, ) -> (MultiStarkProvingKey<SC>, MultiStarkVerifyingKey<SC>)
fn prove<E: StarkEngine<SC = SC>>( &self, engine: &E, pk: &MultiStarkProvingKey<SC>, ) -> Proof<SC>
Sourcefn prove_from_transcript<E: StarkEngine<SC = SC>>(
&self,
engine: &E,
pk: &MultiStarkProvingKey<SC>,
transcript: &mut E::TS,
) -> Proof<SC>
fn prove_from_transcript<E: StarkEngine<SC = SC>>( &self, engine: &E, pk: &MultiStarkProvingKey<SC>, transcript: &mut E::TS, ) -> Proof<SC>
Prove using CPU tracegen and transport to device.
fn keygen_and_prove<E: StarkEngine<SC = SC>>( &self, engine: &E, ) -> (MultiStarkVerifyingKey<SC>, Proof<SC>)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".