openvm_native_recursion::hints

Trait Hintable

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

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

    // 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<C::N>>

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<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for TraceWidth

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for AdjacentOpenedValues<InnerChallenge>

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for OpenedValues<InnerChallenge>

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for OpeningProof<BabyBearPoseidon2Config>

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for AirProofData<BabyBearPoseidon2Config>

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for Commitments<BabyBearPoseidon2Config>

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for Proof<BabyBearPoseidon2Config>

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for Vec<usize>

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for Vec<Vec<InnerChallenge>>

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for Vec<InnerChallenge>

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for Vec<InnerVal>

Source§

impl<C: Config> Hintable<C> for usize

Source§

type HintVariable = Var<<C as Config>::N>

Source§

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

Source§

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

Source§

impl<C: Config> Hintable<C> for Vec<u8>

Source§

type HintVariable = Array<C, Var<<C as Config>::N>>

Source§

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

Source§

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

Source§

impl<C: Config, I: VecAutoHintable + Hintable<C>> Hintable<C> for Vec<I>

Source§

type HintVariable = Array<C, <I as Hintable<C>>::HintVariable>

Source§

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

Source§

fn write(&self) -> Vec<Vec<<C as Config>::N>>

Implementors§

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for VerifierInput<BabyBearPoseidon2Config>

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for InnerBatchOpening

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for InnerChallenge

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for InnerCommitPhaseStep

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for InnerDigest

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for InnerFriProof

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for InnerQueryProof

Source§

impl Hintable<AsmConfig<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>>> for InnerVal