INNER CODE UNIT · Rust
to_sponge_bytes
arkworks-rs/groth16 · src/constraints.rs:85
fn to_sponge_bytes(&self) -> Result<Vec<UInt8<<E as Pairing>::BaseField>>, SynthesisError> {
let mut bytes = self.alpha_g1.to_sponge_bytes()?;
bytes.extend(self.beta_g2.to_sponge_bytes()?);
bytes.extend(self.gamma_g2.to_sponge_bytes()?);
bytes.extend(self.delta_g2.to_sponge_bytes()?);
self.gamma_abc_g1.iter().try_for_each(|g| {
bytes.extend(g.to_sponge_bytes()?);
Ok(())
})?;
Ok(bytes)
}
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()?);