StarkGenericConfig

Trait StarkGenericConfig 

Source
pub trait StarkGenericConfig {
    type Pcs: Pcs<Self::Challenge, Self::Challenger>;
    type Challenge: ExtensionField<Val<Self>>;
    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 initialise_challenger(&self) -> Self::Challenger;

    // Provided method
    fn is_zk(&self) -> usize { ... }
}

Required Associated Types§

Source

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

The PCS used to commit to trace polynomials.

Source

type Challenge: ExtensionField<Val<Self>>

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

Get a reference to the PCS used by this proof configuration.

Source

fn initialise_challenger(&self) -> Self::Challenger

Get an initialisation of the challenger used by this proof configuration.

Provided Methods§

Source

fn is_zk(&self) -> usize

Returns 1 if the PCS is zero-knowledge, 0 otherwise.

Implementors§

Source§

impl<Pcs, Challenge, Challenger> StarkGenericConfig for StarkConfig<Pcs, Challenge, Challenger>
where Challenge: ExtensionField<<Pcs::Domain as PolynomialSpace>::Val>, Pcs: Pcs<Challenge, Challenger>, Challenger: FieldChallenger<<Pcs::Domain as PolynomialSpace>::Val> + CanObserve<Pcs::Commitment> + CanSample<Challenge> + Clone,

Source§

type Pcs = Pcs

Source§

type Challenge = Challenge

Source§

type Challenger = Challenger