openvm_stark_backend::config

Trait StarkGenericConfig

Source
pub trait StarkGenericConfig
where Domain<Self>: Send + Sync, Com<Self>: Send + Sync, PcsProof<Self>: Send + Sync, PcsProverData<Self>: Send + Sync,
{ type Pcs: Pcs<Self::Challenge, Self::Challenger>; type RapPhaseSeq: RapPhaseSeq<Val<Self>, Self::Challenge, Self::Challenger>; type Challenge: ExtensionField<Val<Self>> + Send + Sync; type Challenger: FieldChallenger<Val<Self>> + CanObserve<<Self::Pcs as Pcs<Self::Challenge, Self::Challenger>>::Commitment> + CanSample<Self::Challenge>; // Required methods fn pcs(&self) -> &Self::Pcs; fn rap_phase_seq(&self) -> &Self::RapPhaseSeq; }
Expand description

Required Associated Types§

Source

type Pcs: Pcs<Self::Challenge, Self::Challenger>

The PCS used to commit to trace polynomials.

Source

type RapPhaseSeq: RapPhaseSeq<Val<Self>, Self::Challenge, Self::Challenger>

The RAP challenge phases used to establish, e.g., that interactions are balanced.

Source

type Challenge: ExtensionField<Val<Self>> + Send + Sync

The field from which most random challenges are drawn.

Source

type Challenger: FieldChallenger<Val<Self>> + CanObserve<<Self::Pcs as Pcs<Self::Challenge, Self::Challenger>>::Commitment> + CanSample<Self::Challenge>

The challenger (Fiat-Shamir) implementation used.

Required Methods§

Source

fn pcs(&self) -> &Self::Pcs

Source

fn rap_phase_seq(&self) -> &Self::RapPhaseSeq

Implementors§

Source§

impl<Pcs, Rps, Challenge, Challenger> StarkGenericConfig for StarkConfig<Pcs, Rps, Challenge, Challenger>
where Challenge: ExtensionField<<Pcs::Domain as PolynomialSpace>::Val>, Pcs: Pcs<Challenge, Challenger>, Pcs::Domain: Send + Sync, Pcs::Commitment: Send + Sync, Pcs::ProverData: Send + Sync, Pcs::Proof: Send + Sync, Rps: RapPhaseSeq<<Pcs::Domain as PolynomialSpace>::Val, Challenge, Challenger>, Challenger: FieldChallenger<<Pcs::Domain as PolynomialSpace>::Val> + CanObserve<<Pcs as Pcs<Challenge, Challenger>>::Commitment> + CanSample<Challenge>,

Source§

type Pcs = Pcs

Source§

type RapPhaseSeq = Rps

Source§

type Challenge = Challenge

Source§

type Challenger = Challenger