pub trait StarkGenericConfigwhere
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
Based on [p3_uni_stark::StarkGenericConfig].
Required Associated Types§
Sourcetype Pcs: Pcs<Self::Challenge, Self::Challenger>
type Pcs: Pcs<Self::Challenge, Self::Challenger>
The PCS used to commit to trace polynomials.
Sourcetype RapPhaseSeq: RapPhaseSeq<Val<Self>, Self::Challenge, Self::Challenger>
type RapPhaseSeq: RapPhaseSeq<Val<Self>, Self::Challenge, Self::Challenger>
The RAP challenge phases used to establish, e.g., that interactions are balanced.
Sourcetype Challenge: ExtensionField<Val<Self>> + Send + Sync
type Challenge: ExtensionField<Val<Self>> + Send + Sync
The field from which most random challenges are drawn.
Sourcetype Challenger: FieldChallenger<Val<Self>> + CanObserve<<Self::Pcs as Pcs<Self::Challenge, Self::Challenger>>::Commitment> + CanSample<Self::Challenge>
type Challenger: FieldChallenger<Val<Self>> + CanObserve<<Self::Pcs as Pcs<Self::Challenge, Self::Challenger>>::Commitment> + CanSample<Self::Challenge>
The challenger (Fiat-Shamir) implementation used.