Skip to content

Commit

Permalink
Merge pull request #2474 from o1-labs/volhovm/arkworks042-compatible
Browse files Browse the repository at this point in the history
Upgrade to arkworks 0.4.2 (mina compatible / p-s develop)
  • Loading branch information
volhovm authored Sep 16, 2024
2 parents 1494cf9 + 6866340 commit a03e92e
Show file tree
Hide file tree
Showing 91 changed files with 2,199 additions and 765 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: Checkout PR
uses: actions/[email protected]
with:
submodules: true
submodules: true

# as action-rs does not seem to be maintained anymore, building from
# scratch the environment using rustup
Expand Down
128 changes: 73 additions & 55 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions book/src/specs/kimchi.md
Original file line number Diff line number Diff line change
Expand Up @@ -2029,7 +2029,7 @@ pub struct ProofEvaluations<Evals> {
#[serde_as]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(bound = "G: ark_serialize::CanonicalDeserialize + ark_serialize::CanonicalSerialize")]
pub struct LookupCommitments<G: AffineCurve> {
pub struct LookupCommitments<G: AffineRepr> {
/// Commitments to the sorted lookup table polynomial (may have chunks)
pub sorted: Vec<PolyComm<G>>,
/// Commitment to the lookup aggregation polynomial
Expand All @@ -2042,7 +2042,7 @@ pub struct LookupCommitments<G: AffineCurve> {
#[serde_as]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(bound = "G: ark_serialize::CanonicalDeserialize + ark_serialize::CanonicalSerialize")]
pub struct ProverCommitments<G: AffineCurve> {
pub struct ProverCommitments<G: AffineRepr> {
/// The commitments to the witness (execution trace)
pub w_comm: [PolyComm<G>; COLUMNS],
/// The commitment to the permutation polynomial
Expand All @@ -2057,7 +2057,7 @@ pub struct ProverCommitments<G: AffineCurve> {
#[serde_as]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(bound = "G: ark_serialize::CanonicalDeserialize + ark_serialize::CanonicalSerialize")]
pub struct ProverProof<G: AffineCurve, OpeningProof> {
pub struct ProverProof<G: AffineRepr, OpeningProof> {
/// All the polynomial commitments required in the proof
pub commitments: ProverCommitments<G>,

Expand Down Expand Up @@ -2085,7 +2085,7 @@ pub struct ProverProof<G: AffineCurve, OpeningProof> {
#[serde(bound = "G: ark_serialize::CanonicalDeserialize + ark_serialize::CanonicalSerialize")]
pub struct RecursionChallenge<G>
where
G: AffineCurve,
G: AffineRepr,
{
/// Vector of scalar field elements
#[serde_as(as = "Vec<o1_utils::serialization::SerdeAs>")]
Expand Down
47 changes: 47 additions & 0 deletions circuit-construction/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
[package]
name = "circuit-construction"
version = "0.1.0"
description = "A simple circuit writer for kimchi"
repository = "https://github.com/o1-labs/proof-systems"
edition = "2021"
license = "Apache-2.0"
homepage = "https://o1-labs.github.io/proof-systems/"
documentation = "https://o1-labs.github.io/proof-systems/rustdoc/"
readme = "../README.md"

[lib]
path = "src/lib.rs"
bench = false # needed for criterion (https://bheisler.github.io/criterion.rs/book/faq.html#cargo-bench-gives-unrecognized-option-errors-for-valid-command-line-options)

[dependencies]
ark-ff = { version = "0.4.2", features = [ "parallel", "asm" ] }
ark-ec = { version = "0.4.2", features = [ "parallel" ] }
ark-poly = { version = "0.4.2", features = [ "parallel" ] }
ark-serialize = "0.4.2"
blake2 = "0.10.0"
num-derive = "0.3"
num-traits = "0.2"
itertools = "0.10.3"
rand = "0.8.0"
rand_core = "0.6.3"
rayon = "1.5.0"
rmp-serde = "1.0.0"
serde = "1.0.130"
serde_with = "1.10.0"
thiserror = "1.0.30"

poly-commitment = { path = "../poly-commitment", version = "0.1.0" }
groupmap = { path = "../groupmap", version = "0.1.0" }
mina-curves = { path = "../curves", version = "0.1.0" }
o1-utils = { path = "../utils", version = "0.1.0" }
mina-poseidon = { path = "../poseidon", version = "0.1.0" }
kimchi = { path = "../kimchi", version = "0.1.0" }

[dev-dependencies]
proptest = "1.0.0"
proptest-derive = "0.3.0"
colored = "2.0.0"

# benchmarks
criterion = "0.3"
iai = "0.1"
Loading

0 comments on commit a03e92e

Please sign in to comment.