Skip to main content

AbsorbableVar

Trait AbsorbableVar 

Source
pub trait AbsorbableVar<F: PrimeField> {
    // Required method
    fn absorb_into(
        &self,
        dest: &mut Vec<FpVar<F>>,
    ) -> Result<(), SynthesisError>;
}
Expand description

AbsorbableVar is a trait for in-circuit variables that can be absorbed into a sponge or transcript defined over constraint field F.

Matches Absorbable.

Required Methods§

Source

fn absorb_into(&self, dest: &mut Vec<FpVar<F>>) -> Result<(), SynthesisError>

AbsorbableVar::absorb_into absorbs self into the given destination vector of field element variables.

The implementation should append the field element variables representing self to dest.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<F: PrimeField, T: AbsorbableVar<F>, const N: usize> AbsorbableVar<F> for [T; N]

Source§

fn absorb_into(&self, dest: &mut Vec<FpVar<F>>) -> Result<(), SynthesisError>

Source§

impl<F: PrimeField, T: AbsorbableVar<F>> AbsorbableVar<F> for &T

Source§

fn absorb_into(&self, dest: &mut Vec<FpVar<F>>) -> Result<(), SynthesisError>

Source§

impl<F: PrimeField, T: AbsorbableVar<F>> AbsorbableVar<F> for (T, T)

Source§

fn absorb_into(&self, dest: &mut Vec<FpVar<F>>) -> Result<(), SynthesisError>

Source§

impl<F: PrimeField, T: AbsorbableVar<F>> AbsorbableVar<F> for Vec<T>

Source§

fn absorb_into(&self, dest: &mut Vec<FpVar<F>>) -> Result<(), SynthesisError>

Source§

impl<F: PrimeField, T: AbsorbableVar<F>> AbsorbableVar<F> for [T]

Source§

fn absorb_into(&self, dest: &mut Vec<FpVar<F>>) -> Result<(), SynthesisError>

Source§

impl<F: PrimeField> AbsorbableVar<F> for FpVar<F>

Source§

fn absorb_into(&self, dest: &mut Vec<FpVar<F>>) -> Result<(), SynthesisError>

Source§

impl<P: SWCurveConfig<BaseField: PrimeField>> AbsorbableVar<<P as CurveConfig>::BaseField> for ProjectiveVar<P, FpVar<P::BaseField>>

Source§

fn absorb_into( &self, dest: &mut Vec<FpVar<P::BaseField>>, ) -> Result<(), SynthesisError>

Implementors§

Source§

impl<Base: SonobeField, Target: SonobeCurve> AbsorbableVar<Base> for EmulatedAffineVar<Base, Target>

Source§

impl<F: PrimeField, Cfg> AbsorbableVar<F> for LimbedVar<F, Cfg, true>