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 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.