Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### [kimchi](./kimchi)

#### Changed
- (No changes in current release)
- Update `KimchiCurve` trait to be generic over `const FULL_ROUNDS: usize`.
- Update `verify_poseidon`, `generate_witness` and other sponge-dependent functions to be generic over the number of full rounds.
([#3386](https://github.com/o1-labs/proof-systems/pull/3386))

### [kimchi-msm](./msm)

Expand Down Expand Up @@ -58,7 +60,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### [mina-poseidon](./poseidon)

#### Changed
- (No changes in current release)
- Update `ArithmeticSpongeParams` to be generic over `const FULL_ROUNDS: usize`, replacing `Vec` fields with fixed-size arrays.
- Update `Sponge` trait and `ArithmeticSponge` struct to be generic over the number of full rounds.
([#3386](https://github.com/o1-labs/proof-systems/pull/3386))

### [mina-signer](./signer)

Expand Down
12 changes: 8 additions & 4 deletions arrabbiata/src/curve.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,13 @@ use ark_ff::PrimeField;
use kimchi::curve::{pallas_endos, vesta_endos};
use mina_curves::pasta::curves::{pallas::PallasParameters, vesta::VestaParameters};
use mina_poseidon::{
constants::SpongeConstants, poseidon::ArithmeticSpongeParams, sponge::DefaultFqSponge, FqSponge,
constants::SpongeConstants, poseidon::ArithmeticSpongeParams as SpongeParams, sponge, FqSponge,
};
use poly_commitment::commitment::{CommitmentCurve, EndoCurve};
use poly_commitment::commitment::EndoCurve;

const SPONGE_PARAM_FULL_ROUNDS: usize = 60;
type ArithmeticSpongeParams<F> = SpongeParams<F, 60>;
type DefaultFqSponge<P, SC> = sponge::DefaultFqSponge<P, SC, SPONGE_PARAM_FULL_ROUNDS>;

#[derive(Clone)]
pub struct PlonkSpongeConstants {}
Expand All @@ -32,9 +36,9 @@ impl SpongeConstants for PlonkSpongeConstants {
/// Represents additional information that a curve needs in order to be used
/// with Arrabbiata.
///
/// The trait [CommitmentCurve] enforces the curve to be given in short
/// The trait [CommitmentCurve](poly_commitment::commitment::CommitmentCurve) enforces the curve to be given in short
/// Weierstrass form.
pub trait ArrabbiataCurve: CommitmentCurve + EndoCurve
pub trait ArrabbiataCurve: EndoCurve
where
Self::BaseField: PrimeField,
{
Expand Down
Loading
Loading