Trait Hintable

Source
pub trait Hintable<C: Config> {
    type HintVariable: Variable<C>;

    // Required methods
    fn read(builder: &mut Builder<C>) -> Self::HintVariable;
    fn write(&self) -> Vec<Vec<Block<C::F>>>;

    // Provided method
    fn witness(variable: &Self::HintVariable, builder: &mut Builder<C>) { ... }
}

Required Associated Types§

Required Methods§

Source

fn read(builder: &mut Builder<C>) -> Self::HintVariable

Source

fn write(&self) -> Vec<Vec<Block<C::F>>>

Provided Methods§

Source

fn witness(variable: &Self::HintVariable, builder: &mut Builder<C>)

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.

Implementations on Foreign Types§

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for usize

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for Vec<usize>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for Vec<Vec<InnerBatchOpening>>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for Vec<Vec<InnerChallenge>>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for Vec<ChipOpenedValues<InnerChallenge>>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for Vec<InnerBatchOpening>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for Vec<InnerChallenge>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for Vec<InnerCommitPhaseStep>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for Vec<InnerDigest>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for Vec<InnerQueryProof>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for Vec<InnerVal>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for DuplexChallenger<InnerVal, InnerPerm, 16, 8>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for TwoAdicMultiplicativeCoset<InnerVal>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for AirOpenedValues<InnerChallenge>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for ChipOpenedValues<InnerChallenge>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for ShardCommitment<InnerDigestHash>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for ShardOpenedValues<InnerChallenge>

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for InnerBatchOpening

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for InnerChallenge

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for InnerCommitPhaseStep

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for InnerDigest

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for InnerFriProof

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for InnerPcsProof

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for InnerQueryProof

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for InnerVal

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for [Word<BabyBear>; 8]

Source§

impl<H: Hintable<InnerConfig>> Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for &H

Source§

impl<I: VecAutoHintable<InnerConfig>> Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for Vec<I>

Implementors§

Source§

impl Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for QuotientDataValues

Source§

impl<'a, A: MachineAir<BabyBear>> Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for SP1CompressMemoryLayout<'a, BabyBearPoseidon2, A>

Source§

impl<'a, A: MachineAir<BabyBear>> Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for SP1DeferredMemoryLayout<'a, BabyBearPoseidon2, A>

Source§

impl<'a, A: MachineAir<BabyBear>> Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for SP1RecursionMemoryLayout<'a, BabyBearPoseidon2, A>

Source§

impl<'a, A: MachineAir<BabyBear>> Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for SP1RootMemoryLayout<'a, BabyBearPoseidon2, A>

Source§

impl<'a, SC: StarkGenericConfig<Pcs = <BabyBearPoseidon2 as StarkGenericConfig>::Pcs, Challenge = <BabyBearPoseidon2 as StarkGenericConfig>::Challenge, Challenger = <BabyBearPoseidon2 as StarkGenericConfig>::Challenger>, A: MachineAir<SC::Val>> Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for ShardProofHint<'a, SC, A>

Source§

impl<'a, SC: StarkGenericConfig<Pcs = <BabyBearPoseidon2 as StarkGenericConfig>::Pcs, Challenge = <BabyBearPoseidon2 as StarkGenericConfig>::Challenge, Challenger = <BabyBearPoseidon2 as StarkGenericConfig>::Challenger>, A: MachineAir<SC::Val>> Hintable<AsmConfig<BabyBear, BinomialExtensionField<BabyBear, 4>>> for VerifyingKeyHint<'a, SC, A>