Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Ginger-Lib #144

Closed
wants to merge 88 commits into from
Closed
Show file tree
Hide file tree
Changes from 57 commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
5924fde
Refined test circuit for Final Darlin
DanieleDiBenedetto Sep 3, 2021
623740d
Added new benches
DanieleDiBenedetto Sep 3, 2021
d3225fa
Added proof and vk size prints + other logs
DanieleDiBenedetto Sep 3, 2021
17b2fad
Added new bench
DanieleDiBenedetto Sep 4, 2021
2296540
added shell script
UlrichHaboeck75 Sep 5, 2021
7d0c102
added todo for FinalDarlin test circuit
UlrichHaboeck75 Sep 7, 2021
1e93d2f
Adjusted to the refactored PC
phoinic Sep 12, 2021
b911473
Fix marlin branch name
phoinic Sep 12, 2021
d56bd60
Degree bound removed from tests
phoinic Sep 12, 2021
6e33192
Upated to the poly-commit refactoring phase 2
phoinic Sep 26, 2021
f130a13
Additional ops for polynomials of PC refactoring
phoinic Oct 25, 2021
5a71322
Added enforce comparison gadget imported from arkworks with Unit Test
doc78 Oct 28, 2021
adba37d
Merged with development
doc78 Oct 28, 2021
648eaa5
Merge remote-tracking branch 'origin/development' into rc/feat/comp_g…
doc78 Oct 28, 2021
47a3d5a
Enabled local path dependencie to algebra and r1cs-core
doc78 Nov 1, 2021
3c522fe
Added CondSelect Gadget for UInt64
doc78 Nov 4, 2021
e10c4a5
Added conditionally_add in FpGadget and UInt64
doc78 Nov 13, 2021
06e8778
Adjusted to pc refactored optimizations
phoinic Nov 14, 2021
252db67
Darlin benchmark restored
phoinic Nov 14, 2021
ba66f12
print-trace for poly-commit removed
phoinic Nov 14, 2021
d927216
Cleaning unused curves
phoinic Nov 14, 2021
a558c29
Reformat code
phoinic Nov 16, 2021
fbce641
Reformat code (2)
phoinic Nov 16, 2021
61fea62
Merged with development
phoinic Nov 18, 2021
1bfed13
enforce_in_field rewritten using new enforce_smaller_or_equal_than_le
doc78 Nov 22, 2021
ca0bd35
Algebra refactored
phoinic Nov 25, 2021
d99c83a
Group trait for polynomial
phoinic Nov 25, 2021
12a32ab
Unused fields models removed and field became a group
phoinic Nov 27, 2021
0aa9131
Fixed field binding
phoinic Nov 27, 2021
8f1858c
Vector of group items
phoinic Nov 28, 2021
773c114
Native vec operations for GroupVec
phoinic Nov 28, 2021
7b99cbd
to_field_vec returned
phoinic Nov 29, 2021
b7f4342
Updates for marlin
phoinic Nov 30, 2021
0f993e5
r1cs and marlin related bugfixes
phoinic Dec 1, 2021
a842e30
Submodules adjusted to refactored state
phoinic Dec 1, 2021
bc7c216
Cargo local settings commented
phoinic Dec 1, 2021
d890be2
Committer key optimization
phoinic Dec 3, 2021
7ef8626
From/To compressed bits for Jacobian
phoinic Dec 3, 2021
b04df86
ToBytes for curves bugfix
phoinic Dec 7, 2021
1c2f932
ToBytes cannonical
phoinic Dec 7, 2021
18cf717
Fix schnorr normalization
phoinic Dec 8, 2021
c65877f
Merge branch 'refactor_ginger_dev' into refactor_ginger_dev_optimizat…
phoinic Dec 8, 2021
298b225
AffineRep serializations
phoinic Dec 8, 2021
430a771
Broken UTs ignored
phoinic Dec 8, 2021
4b571f5
Secp256k1 tests uncommented and marked as ignored
phoinic Dec 9, 2021
be9e813
Merge branch 'refactor_constraint_system' into refactor_ginger_dev_1
phoinic Dec 14, 2021
3a483a9
optimized enforce_smaller_than_or_equal_le(), added negative test
UlrichHaboeck75 Dec 14, 2021
105c22c
modified enforce_smaller_or_equal() to use the k-ary and over runs of…
UlrichHaboeck75 Dec 15, 2021
f997390
simplified `conditionally_select()` for `UInt64`
UlrichHaboeck75 Dec 16, 2021
ee41f74
patched security issue in `is_smaller_than_unchecked()`
UlrichHaboeck75 Dec 16, 2021
2d9cff2
Commented develop patch. Fixed dependencies
doc78 Dec 17, 2021
ee095a0
Added check with non-constant variable compare in UT
doc78 Dec 17, 2021
49c4a8d
Updated dependencies and other fixes
DanieleDiBenedetto Dec 20, 2021
73664a3
Updated dependencies
DanieleDiBenedetto Dec 20, 2021
c46cc86
Merge with development branch
doc78 Dec 20, 2021
12e4767
Merge with current branch
doc78 Dec 20, 2021
dcbb863
Removed duplicated function
doc78 Dec 20, 2021
5147c08
Merge branch 'development' into rc/feat/comp_gadget
DanieleDiBenedetto Dec 20, 2021
b9d4a5f
Revert "modified enforce_smaller_or_equal() to use the k-ary and over…
DanieleDiBenedetto Dec 21, 2021
46b366c
Revert "optimized enforce_smaller_than_or_equal_le(), added negative …
DanieleDiBenedetto Dec 21, 2021
9f1b0be
Reverted conditionally_select in uint64
doc78 Jan 4, 2022
6e33335
Issues from review after refactoring
phoinic Jan 12, 2022
d117c67
UTs restored
phoinic Jan 19, 2022
2394bc5
Added some utility functions to LinearCombination struct
DanieleDiBenedetto Mar 1, 2022
3ee86e2
Refactored LinearCombination. Removed unneeded Group implementations …
DanieleDiBenedetto Mar 2, 2022
7c4edf5
Moved linear_combination.rs outside group submodule
DanieleDiBenedetto Mar 2, 2022
c4011d6
Fixes to algebra
DanieleDiBenedetto Mar 14, 2022
e2d3a3f
Restored doc in the curve module
DanieleDiBenedetto Mar 14, 2022
1129b55
Other fixes + removed pedersen hash and commitment
DanieleDiBenedetto Mar 14, 2022
98f78e1
Refactored exponentiation functions in GroupGadget trait
DanieleDiBenedetto Mar 15, 2022
df0d5e2
Removed any non poseidon-based merkle tree code
DanieleDiBenedetto Mar 15, 2022
79491f7
Removed non field based Schnorr signature
DanieleDiBenedetto Mar 15, 2022
f3b4c9d
Merge branch 'development' into refactor_ginger_dev
DanieleDiBenedetto Mar 15, 2022
b254ee9
Fixed curve test
DanieleDiBenedetto Mar 15, 2022
d8f93c0
Fixed proof-systems crate and aligned it with the most recent changes…
DanieleDiBenedetto Mar 17, 2022
dc062b0
Fix CI
DanieleDiBenedetto Mar 17, 2022
f2371b6
Purged existing scripts from removed curves
DanieleDiBenedetto Mar 18, 2022
cad81d0
Specialized random transformation curve test for TE curves
DanieleDiBenedetto Mar 18, 2022
de59738
Removed unneeded lifetime parameters
DanieleDiBenedetto Mar 21, 2022
083f383
Addressed some comments by Ulrich.
Apr 4, 2022
1185770
Comments from code review + added tests for GroupVec and LinearCombin…
DanieleDiBenedetto Apr 4, 2022
d654def
Minor fixes + re-introduced from_random_bytes function and renamed it…
DanieleDiBenedetto Apr 5, 2022
7c84be6
Commented broken test + addressed minor comments
DanieleDiBenedetto Apr 19, 2022
dcc62b6
Fix CI
DanieleDiBenedetto Apr 21, 2022
3554b50
Added a small TODO related to r1cs_core::LinearCombination
DanieleDiBenedetto Apr 21, 2022
db24959
Merge branch 'rc/feat/comp_gadget' into refactor_ginger_dev
DanieleDiBenedetto May 2, 2022
c283cf8
Fix automerge error
DanieleDiBenedetto May 2, 2022
741a7b4
Removed short_weierstrass_projective
DanieleDiBenedetto May 2, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 6 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,12 @@ script:
jobs:
include:
- name: bionic_rust-1.51.0_latest-CHECK
env: IMAGE_TAG=bionic_rust-1.51.0_latest TESTS='000,001,003,005,006,008,009,011,012,013,014,015,016,020'
- name: bionic_rust-1.51.0_latest-TEST
env: IMAGE_TAG=bionic_rust-1.51.0_latest TESTS='017,018'
- name: bionic_rust-1.51.0_latest-TEST_INTENSIVE
env: IMAGE_TAG=bionic_rust-1.51.0_latest TESTS='000,001,003,005,006,008,009,012,013,014,015,016,020'
- name: bionic_rust-1.51.0_latest-TEST_BACKEND
env: IMAGE_TAG=bionic_rust-1.51.0_latest TESTS='017'
- name: bionic_rust-1.51.0_latest-TEST_BACKEND_NONNATIVE
env: IMAGE_TAG=bionic_rust-1.51.0_latest TESTS='019'
- name: bionic_rust-1.51.0_latest-TEST_DARLIN
env: IMAGE_TAG=bionic_rust-1.51.0_latest TESTS='018'
- name: bionic_rust-nightly-2021-04-25_latest-CHECK
env: IMAGE_TAG=bionic_rust-nightly-2021-04-25_latest TESTS='002,004,007,010' CARGOARGS='+nightly-2021-04-25'
31 changes: 5 additions & 26 deletions algebra/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ bench-utils = { path = "../bench-utils", optional = true }
byteorder = { version = "=1.4.3" }
rand = { version = "=0.8.4" }
derivative = { version = "=2.2.0", features = ["use_core"] }

num-traits = { version = "=0.2.14", default-features = false }
colored = { version = "=2.0.0", optional = true }
rayon = { version = "=1.5.1", optional = true }
clippy = { version = "=0.0.302", optional = true }
Expand All @@ -54,52 +54,31 @@ num-traits = { version = "=0.2.14", default-features = false }
num-bigint = { version = "=0.4.3", features = ["rand"] }

[features]
default = [ "derive" ]
parallel = [ "rayon" ]
fft = ["rayon", "derive"]
n_fold = []
llvm_asm = []
derive = ["algebra-derive"]

bls12_377 = []
bls12_381 = ["jubjub"]
edwards_bls12 = ["bls12_377"]
edwards_sw6 = ["sw6"]
jubjub = []
sw6 = ["bls12_377"]
mnt4_753 = ["mnt6_753"]
mnt6_298 = []
mnt6_753 = ["mnt4_753"]
bn_382 = []
tweedle = []
secp256k1 = []
ed25519 = []

full = [ "bls12_377", "bls12_381", "sw6", "mnt4_753", "mnt6_298", "mnt6_753", "edwards_bls12", "edwards_sw6", "jubjub", "bn_382", "tweedle", "secp256k1", "ed25519" ]
full = [ "tweedle", "secp256k1", "ed25519" ]

[build-dependencies]
field-assembly = { path = "./field-assembly" }
rustc_version = "0.4.0"

[[bench]]
name = "fft_bn382"
path = "benches/criterion_fft/fft_bn382.rs"
harness = false
required-features = ["parallel", "fft", "bench-utils"]

[[bench]]
name = "fft_tweedle"
path = "benches/criterion_fft/fft_tweedle.rs"
harness = false
required-features = ["parallel", "fft", "bench-utils"]

[[bench]]
name = "variable_msm_bn382"
path = "benches/criterion_msm/variable_msm_bn382.rs"
harness = false
required-features = ["parallel", "fft", "bench-utils"]
required-features = ["parallel", "fft", "bench-utils", "tweedle"]

[[bench]]
name = "variable_msm_tweedle"
path = "benches/criterion_msm/variable_msm_tweedle.rs"
harness = false
required-features = ["parallel", "fft", "bench-utils"]
required-features = ["parallel", "fft", "bench-utils", "tweedle"]
Loading