INNER CODE UNIT · Rust

to_sponge_field_elements

arkworks-rs/groth16 · src/constraints.rs:97

    fn to_sponge_field_elements(
        &self,
    ) -> Result<Vec<FpVar<<E as Pairing>::BaseField>>, SynthesisError> {
        let mut field_elements = self.alpha_g1.to_sponge_field_elements()?;
        field_elements.extend(self.beta_g2.to_sponge_field_elements()?);
        field_elements.extend(self.gamma_g2.to_sponge_field_elements()?);
        field_elements.extend(self.delta_g2.to_sponge_field_elements()?);
        self.gamma_abc_g1.iter().try_for_each(|g| {
            field_elements.extend(g.to_sponge_field_elements()?);
            Ok(())
        })?;
        Ok(field_elements)
    }
}

/// Preprocessed verification key parameters variable for the Groth16
/// construction
#[derive(educe::Educe)]

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…