You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.6 KiB

Feature/sumcheck (#40) * feat: init sumcheck.rs * chore: rename * feat: update lib and add trait for transcript with vec storing challenges * bugfix: mut self ref of transcript * feat: tentative sum-check using poseidon * refactor: remove extension trait and use initial trait * refactor: stop using extension trait, use initial Transcript trait * feat: generic over CurveGroup sum-check verifier and algorithm * feat: implement generic sum-check veriy * bugfix: cargo clippy --fix * chore: cargo fmt * feat: (unstable) sum-check implementation * feat: start benches * chore: run clippy * chore: run cargo fmt * feat: add sum-check tests + benches * chore: clippy + fmt * chore: remove unstable sumcheck * chore: delete duplicated sum-check code * chore: remove deleted sum-check code from lib.rs imports * feat: remove non generic traits, implement sum-check with generic trait and add test * chore: remove non-generic struct * chore: remove non generic verifier * feat: make nifms generic over transcript and update to use poseidon transcript * chore: cargo fmt * chore: remove tmp benches * chore: update cargo.toml * refactor: remove Generic suffix * feat: prover state generic over CurveGroup * chore: disable clippy type complexity warning * refactor: remove Transcript type and espresso transcript dependency * refactor: SumCheckProver generic over CurveGroup * chore: add line to eof for `Cargo.toml` * bugfix: add error handling on sum-check prove and verify * chore: clippy fix * chore: add line at eof * fix: use `map_err` and call `to_string()` on `PolyIOPErrors`
11 months ago
  1. [package]
  2. name = "folding-schemes"
  3. version = "0.1.0"
  4. edition = "2021"
  5. [dependencies]
  6. ark-ec = "^0.4.0"
  7. ark-ff = "^0.4.0"
  8. ark-poly = "^0.4.0"
  9. ark-std = "^0.4.0"
  10. ark-crypto-primitives = { version = "^0.4.0", default-features = false, features = ["r1cs", "sponge", "crh"] }
  11. ark-relations = { version = "^0.4.0", default-features = false }
  12. ark-r1cs-std = { default-features = false } # use latest version from the patch
  13. ark-circom = { git = "https://github.com/gakonst/ark-circom.git" }
  14. thiserror = "1.0"
  15. rayon = "1.7.0"
  16. num-bigint = "0.4"
  17. color-eyre = "=0.6.2"
  18. # tmp imports for espresso's sumcheck
  19. ark-serialize = "^0.4.0"
  20. espresso_subroutines = {git="https://github.com/EspressoSystems/hyperplonk", package="subroutines"}
  21. [dev-dependencies]
  22. ark-pallas = {version="0.4.0", features=["r1cs"]}
  23. ark-vesta = {version="0.4.0"}
  24. ark-bn254 = "0.4.0"
  25. tracing = { version = "0.1", default-features = false, features = [ "attributes" ] }
  26. tracing-subscriber = { version = "0.2" }
  27. [features]
  28. default = ["parallel", "nova", "hypernova"]
  29. hypernova=[]
  30. nova=[]
  31. parallel = [
  32. "ark-std/parallel",
  33. "ark-ff/parallel",
  34. "ark-poly/parallel",
  35. ]
  36. # The following patch is to use a version of ark-r1cs-std compatible with
  37. # v0.4.0 but that includes a cherry-picked commit from after v0.4.0 which fixes
  38. # the in-circuit scalar multiplication of the zero point. The commit is from
  39. # https://github.com/arkworks-rs/r1cs-std/pull/124, without including other
  40. # changes done between v0.4.0 and this fix which would break compatibility.
  41. [patch.crates-io]
  42. ark-r1cs-std = { git = "https://github.com/arnaucube/ark-r1cs-std-cherry-picked/" }