From a59391934b4be834c2c0e40dbb5cd765184e9890 Mon Sep 17 00:00:00 2001 From: Dev Ojha Date: Sat, 13 May 2023 19:26:37 +0200 Subject: [PATCH 1/6] Fix build of LDT repo --- Cargo.toml | 28 +++++++++------------------- src/direct/mod.rs | 1 - src/domain/mod.rs | 6 +++--- src/fri/prover.rs | 2 +- src/fri/verifier.rs | 4 ++-- 5 files changed, 15 insertions(+), 26 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index fefd556..b32bd50 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,26 +7,16 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -ark-ff = { version = "^0.3.0", default-features = false } -ark-std = { version = "^0.3.0", default-features = false } -ark-r1cs-std = { version = "^0.3.0", default-features = false} -ark-sponge = { version = "^0.3.0", default-features = false } -ark-poly = { version = "0.3.0", default-features = false } -ark-relations = { version = "^0.3.0", default-features = false, optional = true} +ark-ff = { version = "^0.4.0", default-features = false } +ark-std = { version = "^0.4.0", default-features = false } +ark-r1cs-std = { version = "^0.4.0", default-features = false} +ark-crypto-primitives = { version = "^0.4.0", features = ["sponge"] } +ark-poly = { version = "^0.4.0", default-features = false } +ark-relations = { version = "^0.4.0", default-features = false, optional = true} tracing = { version = "0.1", default-features = false, features = [ "attributes" ], optional = true} [dev-dependencies] -ark-test-curves = { version = "^0.3.0", default-features = false, features = ["bls12_381_scalar_field", "mnt4_753_scalar_field"] } - -[patch.crates-io] -ark-sponge = {git = "https://github.com/arkworks-rs/sponge"} -ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std" } -ark-ec = { git = "https://github.com/arkworks-rs/algebra" } -ark-ff = { git = "https://github.com/arkworks-rs/algebra" } -ark-poly = { git = "https://github.com/arkworks-rs/algebra" } -ark-serialize = { git = "https://github.com/arkworks-rs/algebra" } -ark-std = { git = "https://github.com/arkworks-rs/std" } -ark-test-curves = { git = "https://github.com/arkworks-rs/algebra" } +ark-test-curves = { version = "^0.4.0", default-features = false, features = ["bls12_381_scalar_field", "mnt4_753_scalar_field"] } [profile.release] opt-level = 3 @@ -55,6 +45,6 @@ debug = true [features] default = ["std"] -std = ["ark-ff/std", "ark-std/std", "ark-relations/std", "ark-r1cs-std/std", "ark-sponge/std", "ark-poly/std"] -r1cs = ["ark-sponge/r1cs", "tracing", "ark-relations"] +std = ["ark-ff/std", "ark-std/std", "ark-relations/std", "ark-r1cs-std/std", "ark-crypto-primitives/std", "ark-poly/std"] +r1cs = ["ark-crypto-primitives/r1cs", "tracing", "ark-relations"] diff --git a/src/direct/mod.rs b/src/direct/mod.rs index c06d701..35ae96e 100644 --- a/src/direct/mod.rs +++ b/src/direct/mod.rs @@ -57,7 +57,6 @@ mod tests { use crate::direct::{DirectLDT, Radix2CosetDomain}; use ark_ff::UniformRand; use ark_poly::univariate::DensePolynomial; - use ark_poly::DenseUVPolynomial; use ark_std::test_rng; use ark_test_curves::bls12_381::Fr; diff --git a/src/domain/mod.rs b/src/domain/mod.rs index f70878e..cef3afb 100644 --- a/src/domain/mod.rs +++ b/src/domain/mod.rs @@ -1,4 +1,4 @@ -use ark_ff::PrimeField; +use ark_ff::fields::PrimeField; use ark_poly::polynomial::univariate::DensePolynomial; use ark_poly::{ DenseUVPolynomial, EvaluationDomain, Evaluations, Polynomial, Radix2EvaluationDomain, @@ -17,7 +17,7 @@ use ark_std::vec::Vec; /// /// Constraint equivalent is in `r1cs_std::poly::domain`. #[derive(Clone, Copy, Eq, PartialEq, Debug)] -pub struct Radix2CosetDomain { +pub struct Radix2CosetDomain { /// A non-coset radix 2 domain: `` pub base_domain: Radix2EvaluationDomain, /// offset `h` @@ -174,7 +174,7 @@ impl Radix2CosetDomain { #[cfg(test)] mod tests { use ark_poly::univariate::DensePolynomial; - use ark_poly::{DenseUVPolynomial, Polynomial}; + use ark_poly::Polynomial; use ark_std::{test_rng, UniformRand}; use ark_test_curves::bls12_381::Fr; diff --git a/src/fri/prover.rs b/src/fri/prover.rs index b7a73bd..e2c2aad 100644 --- a/src/fri/prover.rs +++ b/src/fri/prover.rs @@ -173,7 +173,7 @@ pub mod tests { use crate::domain::Radix2CosetDomain; use crate::fri::prover::FRIProver; use ark_poly::univariate::DensePolynomial; - use ark_poly::DenseUVPolynomial; + use ark_poly::UVPolynomial; use ark_std::{test_rng, UniformRand}; use ark_test_curves::bls12_381::Fr; diff --git a/src/fri/verifier.rs b/src/fri/verifier.rs index f62952b..adec9b0 100644 --- a/src/fri/verifier.rs +++ b/src/fri/verifier.rs @@ -3,10 +3,10 @@ use ark_std::marker::PhantomData; use crate::direct::DirectLDT; use crate::domain::Radix2CosetDomain; use crate::fri::FRIParameters; +use ark_crypto_primitives::sponge::FieldBasedCryptographicSponge; use ark_ff::PrimeField; use ark_poly::polynomial::univariate::DensePolynomial; use ark_poly::Polynomial; -use ark_sponge::FieldBasedCryptographicSponge; use ark_std::vec::Vec; /// Implements FRI verifier. @@ -236,7 +236,7 @@ fn le_bits_array_to_usize(bits: &[bool]) -> usize { mod tests { use ark_ff::UniformRand; use ark_poly::univariate::DensePolynomial; - use ark_poly::{DenseUVPolynomial, Polynomial}; + use ark_poly::{Polynomial, UVPolynomial}; use ark_std::test_rng; use ark_test_curves::bls12_381::Fr; From dd292659d09b4f684f3aa6cb572d5998b6ad56d5 Mon Sep 17 00:00:00 2001 From: Dev Ojha Date: Sat, 13 May 2023 19:51:41 +0200 Subject: [PATCH 2/6] Fix tests build --- src/direct/mod.rs | 1 + src/domain/mod.rs | 1 + src/fri/prover.rs | 2 +- src/fri/verifier.rs | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/direct/mod.rs b/src/direct/mod.rs index 35ae96e..c06d701 100644 --- a/src/direct/mod.rs +++ b/src/direct/mod.rs @@ -57,6 +57,7 @@ mod tests { use crate::direct::{DirectLDT, Radix2CosetDomain}; use ark_ff::UniformRand; use ark_poly::univariate::DensePolynomial; + use ark_poly::DenseUVPolynomial; use ark_std::test_rng; use ark_test_curves::bls12_381::Fr; diff --git a/src/domain/mod.rs b/src/domain/mod.rs index cef3afb..f1ebb3e 100644 --- a/src/domain/mod.rs +++ b/src/domain/mod.rs @@ -174,6 +174,7 @@ impl Radix2CosetDomain { #[cfg(test)] mod tests { use ark_poly::univariate::DensePolynomial; + use ark_poly::DenseUVPolynomial; use ark_poly::Polynomial; use ark_std::{test_rng, UniformRand}; use ark_test_curves::bls12_381::Fr; diff --git a/src/fri/prover.rs b/src/fri/prover.rs index e2c2aad..b7a73bd 100644 --- a/src/fri/prover.rs +++ b/src/fri/prover.rs @@ -173,7 +173,7 @@ pub mod tests { use crate::domain::Radix2CosetDomain; use crate::fri::prover::FRIProver; use ark_poly::univariate::DensePolynomial; - use ark_poly::UVPolynomial; + use ark_poly::DenseUVPolynomial; use ark_std::{test_rng, UniformRand}; use ark_test_curves::bls12_381::Fr; diff --git a/src/fri/verifier.rs b/src/fri/verifier.rs index adec9b0..bcbe8dc 100644 --- a/src/fri/verifier.rs +++ b/src/fri/verifier.rs @@ -236,7 +236,7 @@ fn le_bits_array_to_usize(bits: &[bool]) -> usize { mod tests { use ark_ff::UniformRand; use ark_poly::univariate::DensePolynomial; - use ark_poly::{Polynomial, UVPolynomial}; + use ark_poly::{DenseUVPolynomial, Polynomial}; use ark_std::test_rng; use ark_test_curves::bls12_381::Fr; From a98582011862aed415fd20d6e5aa9a8ebeafe5c9 Mon Sep 17 00:00:00 2001 From: Dev Ojha Date: Sat, 13 May 2023 19:57:02 +0200 Subject: [PATCH 3/6] Fix README --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index d5fa55e..9ce49fb 100644 --- a/README.md +++ b/README.md @@ -38,14 +38,10 @@ This library comes with some unit and integration tests. Run these tests with: cargo test ``` -To use this library, you need to add the following to your `Cargo.toml`. Note that this configuration will bump `ark-sponge` and `ark-r1cs-std` to `master`/`main` instead of stable version on `crates.io`. +To use this library, you need to add the following to your `Cargo.toml`. ```toml [dependencies] ark-ldt = {git = "https://github.com/arkworks-rs/ldt", branch="main", default-features = false} - -[patch.crates-io] -ark-sponge = {git = "https://github.com/arkworks-rs/sponge"} -ark-r1cs-std = {git = "https://github.com/arkworks-rs/r1cs-std", branch = "master"} ``` ## License From e9802b699e83dd4ce0d0fe77788e1dc97460a82f Mon Sep 17 00:00:00 2001 From: Dev Ojha Date: Sat, 13 May 2023 20:13:19 +0200 Subject: [PATCH 4/6] Fix r1cs feature --- src/fri/constraints/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fri/constraints/mod.rs b/src/fri/constraints/mod.rs index 1a3b48c..0445945 100644 --- a/src/fri/constraints/mod.rs +++ b/src/fri/constraints/mod.rs @@ -2,6 +2,8 @@ use crate::direct::constraints::DirectLDTGadget; use crate::domain::Radix2CosetDomain; use crate::fri::FRIParameters; +use ark_crypto_primitives::sponge::constraints::CryptographicSpongeVar; +use ark_crypto_primitives::sponge::FieldBasedCryptographicSponge; use ark_ff::PrimeField; use ark_r1cs_std::bits::boolean::Boolean; use ark_r1cs_std::eq::EqGadget; @@ -12,8 +14,6 @@ use ark_r1cs_std::poly::evaluations::univariate::EvaluationsVar; use ark_r1cs_std::poly::polynomial::univariate::dense::DensePolynomialVar; use ark_r1cs_std::prelude::CondSelectGadget; use ark_relations::r1cs::SynthesisError; -use ark_sponge::constraints::CryptographicSpongeVar; -use ark_sponge::FieldBasedCryptographicSponge; use ark_std::marker::PhantomData; use ark_std::vec::Vec; From 3e4e8c0231b8f8f2bff3c5a95ac6556a58636ba2 Mon Sep 17 00:00:00 2001 From: Dev Ojha Date: Sat, 13 May 2023 20:28:07 +0200 Subject: [PATCH 5/6] Fix no-std build --- src/domain/mod.rs | 2 +- src/fri/verifier.rs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/domain/mod.rs b/src/domain/mod.rs index f1ebb3e..ae5582e 100644 --- a/src/domain/mod.rs +++ b/src/domain/mod.rs @@ -176,7 +176,7 @@ mod tests { use ark_poly::univariate::DensePolynomial; use ark_poly::DenseUVPolynomial; use ark_poly::Polynomial; - use ark_std::{test_rng, UniformRand}; + use ark_std::{test_rng, vec, UniformRand}; use ark_test_curves::bls12_381::Fr; use crate::domain::Radix2CosetDomain; diff --git a/src/fri/verifier.rs b/src/fri/verifier.rs index bcbe8dc..5f1ce05 100644 --- a/src/fri/verifier.rs +++ b/src/fri/verifier.rs @@ -238,6 +238,8 @@ mod tests { use ark_poly::univariate::DensePolynomial; use ark_poly::{DenseUVPolynomial, Polynomial}; use ark_std::test_rng; + use ark_std::vec; + use ark_std::vec::Vec; use ark_test_curves::bls12_381::Fr; use crate::direct::DirectLDT; From fcfaa24b66a53bb799f26dd1915de29643030bac Mon Sep 17 00:00:00 2001 From: Andrew Z Date: Mon, 25 Mar 2024 09:22:44 +0100 Subject: [PATCH 6/6] trigger build