pub trait FrSponge<Fr: Field> {
// Required methods
fn new(p: &'static ArithmeticSpongeParams<Fr>) -> Self;
fn absorb(&mut self, x: &Fr);
fn absorb_multiple(&mut self, x: &[Fr]);
fn challenge(&mut self) -> ScalarChallenge<Fr>;
fn digest(self) -> Fr;
fn absorb_evaluations(
&mut self,
e: &ProofEvaluations<PointEvaluations<Vec<Fr>>>,
);
}
Expand description
Required Methods§
Sourcefn new(p: &'static ArithmeticSpongeParams<Fr>) -> Self
fn new(p: &'static ArithmeticSpongeParams<Fr>) -> Self
Creates a new Fr-Sponge.
Sourcefn absorb_multiple(&mut self, x: &[Fr])
fn absorb_multiple(&mut self, x: &[Fr])
Absorbs a slice of field elements into the sponge.
Sourcefn challenge(&mut self) -> ScalarChallenge<Fr>
fn challenge(&mut self) -> ScalarChallenge<Fr>
Creates a ScalarChallenge
by squeezing the sponge.
Sourcefn absorb_evaluations(
&mut self,
e: &ProofEvaluations<PointEvaluations<Vec<Fr>>>,
)
fn absorb_evaluations( &mut self, e: &ProofEvaluations<PointEvaluations<Vec<Fr>>>, )
Absorbs the given evaluations into the sponge.
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.