Skip to content

Commit

Permalink
use VestaFqSponge type alias everywhere
Browse files Browse the repository at this point in the history
  • Loading branch information
martyall committed Feb 7, 2025
1 parent 5b99888 commit 0ab9cc0
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 15 deletions.
6 changes: 4 additions & 2 deletions saffron/src/blob.rs
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,8 @@ mod tests {
use once_cell::sync::Lazy;
use proptest::prelude::*;

type VestaFqSponge = DefaultFqSponge<VestaParameters, PlonkSpongeConstantsKimchi>;

static SRS: Lazy<SRS<Vesta>> = Lazy::new(|| {
if let Ok(srs) = std::env::var("SRS_FILEPATH") {
env::get_srs_from_cache(srs)
Expand All @@ -140,7 +142,7 @@ mod tests {
#![proptest_config(ProptestConfig::with_cases(20))]
#[test]
fn test_round_trip_blob_encoding(UserData(xs) in UserData::arbitrary())
{ let blob = FieldBlob::<Vesta>::encode::<_, DefaultFqSponge<VestaParameters, PlonkSpongeConstantsKimchi>>(&*SRS, *DOMAIN, &xs);
{ let blob = FieldBlob::<Vesta>::encode::<_, VestaFqSponge>(&*SRS, *DOMAIN, &xs);
let bytes = rmp_serde::to_vec(&blob).unwrap();
let a = rmp_serde::from_slice(&bytes).unwrap();
// check that ark-serialize is behaving as expected
Expand All @@ -157,7 +159,7 @@ mod tests {
fn test_user_and_storage_provider_commitments_equal(UserData(xs) in UserData::arbitrary())
{ let elems = encode_for_domain(&*DOMAIN, &xs);
let user_commitments = commit_to_field_elems(&*SRS, *DOMAIN, elems);
let blob = FieldBlob::<Vesta>::encode::<_, DefaultFqSponge<VestaParameters, PlonkSpongeConstantsKimchi>>(&*SRS, *DOMAIN, &xs);
let blob = FieldBlob::<Vesta>::encode::<_, VestaFqSponge>(&*SRS, *DOMAIN, &xs);
prop_assert_eq!(user_commitments, blob.commitments);
}
}
Expand Down
5 changes: 1 addition & 4 deletions saffron/src/commitment.rs
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,7 @@ pub fn fold_commitments<G: AffineRepr, EFqSponge: FqSponge<G::BaseField, G, G::S
)
}

pub fn user_commitment<
G: KimchiCurve,
EFqSponge: FqSponge<G::BaseField, G, G::ScalarField>,
>(
pub fn user_commitment<G: KimchiCurve, EFqSponge: FqSponge<G::BaseField, G, G::ScalarField>>(
srs: &SRS<G>,
domain: D<G::ScalarField>,
field_elems: Vec<Vec<G::ScalarField>>,
Expand Down
16 changes: 11 additions & 5 deletions saffron/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ use tracing::{debug, debug_span};

pub const DEFAULT_SRS_SIZE: usize = 1 << 16;

type FqSponge = DefaultFqSponge<VestaParameters, PlonkSpongeConstantsKimchi>;
type VestaFqSponge = DefaultFqSponge<VestaParameters, PlonkSpongeConstantsKimchi>;

fn get_srs(cache: Option<String>) -> (SRS<Vesta>, Radix2EvaluationDomain<Fp>) {
let res = match cache {
Expand Down Expand Up @@ -77,7 +77,7 @@ fn encode_file(args: cli::EncodeFileArgs) -> Result<()> {
let mut file = File::open(args.input)?;
let mut buf = Vec::new();
file.read_to_end(&mut buf)?;
let blob = FieldBlob::<Vesta>::encode::<_, FqSponge>(&srs, domain, &buf);
let blob = FieldBlob::<Vesta>::encode::<_, VestaFqSponge>(&srs, domain, &buf);
args.assert_commitment
.into_iter()
.for_each(|asserted_commitment| {
Expand All @@ -102,7 +102,7 @@ pub fn compute_commitment(args: cli::ComputeCommitmentArgs) -> Result<HexString>
let mut buf = Vec::new();
file.read_to_end(&mut buf)?;
let field_elems = utils::encode_for_domain(&domain_fp, &buf);
let commitment = user_commitment::<_, FqSponge>(&srs, domain_fp, field_elems);
let commitment = user_commitment::<_, VestaFqSponge>(&srs, domain_fp, field_elems);
let res = rmp_serde::to_vec(&commitment)?;
Ok(HexString(res))
}
Expand All @@ -115,7 +115,13 @@ pub fn storage_proof(args: cli::StorageProofArgs) -> Result<HexString> {
let group_map = <Vesta as CommitmentCurve>::Map::setup();
let mut rng = OsRng;
let evaluation_point = utils::encode(&args.challenge.0);
proof::storage_proof::<Vesta, FqSponge>(&srs, &group_map, blob, evaluation_point, &mut rng)
proof::storage_proof::<Vesta, VestaFqSponge>(
&srs,
&group_map,
blob,
evaluation_point,
&mut rng,
)
};
let res = rmp_serde::to_vec(&proof)?;
Ok(HexString(res))
Expand All @@ -128,7 +134,7 @@ pub fn verify_storage_proof(args: cli::VerifyStorageProofArgs) -> Result<()> {
let evaluation_point = utils::encode(&args.challenge.0);
let proof: StorageProof<Vesta> = rmp_serde::from_slice(&args.proof.0)?;
let mut rng = OsRng;
let res = proof::verify_storage_proof::<Vesta, FqSponge>(
let res = proof::verify_storage_proof::<Vesta, VestaFqSponge>(
&srs,
&group_map,
commitment,
Expand Down
10 changes: 6 additions & 4 deletions saffron/src/proof.rs
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ mod tests {
use poly_commitment::{commitment::CommitmentCurve, ipa::SRS, SRS as _};
use proptest::prelude::*;

type VestaFqSponge = DefaultFqSponge<VestaParameters, PlonkSpongeConstantsKimchi>;

static SRS: Lazy<SRS<Vesta>> = Lazy::new(|| {
if let Ok(srs) = std::env::var("SRS_FILEPATH") {
env::get_srs_from_cache(srs)
Expand All @@ -154,18 +156,18 @@ mod tests {
let (commitment,_) = {
let field_elems = encode_for_domain(&*DOMAIN, &data);
let user_commitments = commit_to_field_elems(&*SRS, *DOMAIN, field_elems);
let mut fq_sponge = DefaultFqSponge::<VestaParameters, PlonkSpongeConstantsKimchi>::new(
let mut fq_sponge = VestaFqSponge::new(
mina_poseidon::pasta::fq_kimchi::static_params(),
);
fold_commitments(&mut fq_sponge, &user_commitments)
};
let blob = FieldBlob::<Vesta>::encode::<_, DefaultFqSponge<VestaParameters, PlonkSpongeConstantsKimchi>>(&*SRS, *DOMAIN, &data);
let blob = FieldBlob::<Vesta>::encode::<_, VestaFqSponge>(&*SRS, *DOMAIN, &data);
let evaluation_point = Fp::rand(&mut rng);
let proof = storage_proof::<
Vesta, DefaultFqSponge<VestaParameters, PlonkSpongeConstantsKimchi>
Vesta, VestaFqSponge

>(&*SRS, &*GROUP_MAP, blob, evaluation_point, &mut rng);
let res = verify_storage_proof::<Vesta, DefaultFqSponge<VestaParameters, PlonkSpongeConstantsKimchi>>(
let res = verify_storage_proof::<Vesta, VestaFqSponge>(
&*SRS,
&*GROUP_MAP,
commitment,
Expand Down

0 comments on commit 0ab9cc0

Please sign in to comment.