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

Add Jubjub to ECC stdlib #1282

Closed
wants to merge 199 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
199 commits
Select commit Hold shift + click to select a range
d90de5e
add support for the pallas curve field
Schaeff Sep 28, 2022
4db3a03
add changelog
Schaeff Sep 28, 2022
11452ad
implement nova example
Schaeff Sep 29, 2022
24f8b1c
implement cli command for toy nova computation in absence of serializ…
Schaeff Oct 4, 2022
bcade1a
fix issues
Schaeff Oct 4, 2022
378bc14
remove bellperson from default as it does not compile to wasm
Schaeff Oct 4, 2022
111bd73
fix test, reset cache
Schaeff Oct 4, 2022
cd3502c
regenerate lockfile, update wasm-pack
Schaeff Oct 4, 2022
62b76f3
use xl instance for js tasks
Schaeff Oct 4, 2022
f991b76
add changelog
Schaeff Oct 4, 2022
0cdcedd
allow user-provided randomness in setup
dark64 Dec 12, 2022
655a54c
fix tests
dark64 Dec 12, 2022
4ac95c7
add changelog, update zokrates-js
dark64 Dec 13, 2022
ed9a0b5
clippy
dark64 Dec 13, 2022
097e707
improve js tests
dark64 Dec 13, 2022
43cb632
move rng function to proof systems crate
dark64 Dec 27, 2022
6de2fe9
remove cash restore
dark64 Dec 27, 2022
ce04905
revert
dark64 Dec 27, 2022
3e8ada4
enable js feature in test
dark64 Dec 27, 2022
8d9e889
merge develop, fix conflicts
dark64 Jan 2, 2023
3a54661
fix zir assembly propagation
dark64 Jan 3, 2023
66b4ec3
Merge pull request #1258 from Zokrates/fix-assembly-propagation
Schaeff Jan 9, 2023
28ac409
Fix typos
rex4539 Jan 11, 2023
553da16
Merge pull request #1260 from rex4539/typos
dark64 Jan 11, 2023
2fa711e
use ark parallel feature
dark64 Jan 19, 2023
6ee546d
optimize js lib size, inline wasm
dark64 Jan 23, 2023
8d8972a
add getrandom dependency
dark64 Jan 23, 2023
b090888
fmt
dark64 Jan 23, 2023
b9d8965
fix tests
dark64 Jan 23, 2023
e66b3c8
update book
dark64 Jan 23, 2023
ca664cb
use buffer first, add changelog
dark64 Jan 23, 2023
86164bd
update features on dependencies
dark64 Jan 23, 2023
e706116
test
dark64 Jan 24, 2023
cfb30c4
use resolver in js crate
dark64 Jan 24, 2023
01bf123
enable wasm feature only on wasm32 target
dark64 Jan 24, 2023
19f54c8
add umd version for web usage
dark64 Jan 24, 2023
b881876
update book
dark64 Jan 24, 2023
fac44d5
install headless chrome
dark64 Jan 24, 2023
f4d8a66
remove sudo
dark64 Jan 24, 2023
108a9b2
update ci config
dark64 Jan 24, 2023
b1686bb
run with --no-sandbox
dark64 Jan 24, 2023
95532d3
change timeout
dark64 Jan 24, 2023
e12a4b4
wip
dark64 Jan 25, 2023
ff470ab
remove g16 warning
dark64 Jan 25, 2023
4988911
optimize zir solvers by indexing
dark64 Jan 26, 2023
6a16198
fix message
dark64 Jan 26, 2023
fdd441c
use cursor in zokrates_js
dark64 Jan 26, 2023
a71a073
Merge pull request #1265 from Zokrates/remove-warning
Schaeff Jan 26, 2023
478b555
Merge pull request #1264 from Zokrates/optimize-js-lib
Schaeff Jan 30, 2023
0bf44c8
add test, fix propagation
Schaeff Jan 30, 2023
2e977ae
add changelog
Schaeff Jan 30, 2023
d273bb5
update book, merge develop and merge conflicts
dark64 Jan 30, 2023
da8c13a
fix wording
dark64 Jan 30, 2023
50b8cff
fix fmt
dark64 Jan 30, 2023
9932fca
add test
Schaeff Jan 30, 2023
676e6db
add changelog
dark64 Jan 30, 2023
dfcce6b
fmt
Schaeff Jan 30, 2023
fb60a3d
Merge pull request #1254 from Zokrates/seedable-setup
Schaeff Jan 30, 2023
a76e14c
Merge branch 'develop' into ark-parallel
dark64 Jan 30, 2023
059d6ed
Merge pull request #1269 from Zokrates/fix-array-propagation
Schaeff Jan 30, 2023
3e40945
Use foundry for integration tests (#1266)
Schaeff Jan 30, 2023
37694af
fix conflicts
dark64 Jan 30, 2023
6796d00
update tests
dark64 Jan 30, 2023
431c6bc
Update 1261-dark64
dark64 Jan 31, 2023
96160ea
Merge pull request #1261 from Zokrates/ark-parallel
Schaeff Jan 31, 2023
66dd4b1
disable wasm_test in ci
dark64 Jan 31, 2023
9e56e91
bump versions, update changelog
Schaeff Jan 31, 2023
ddabd72
add assembly disclaimer
Schaeff Jan 31, 2023
640fc41
Merge pull request #1271 from Zokrates/disable-wasm-test
Schaeff Jan 31, 2023
2bd2ed2
Merge branch 'develop' of github.com:Zokrates/ZoKrates into rc/0.8.4
Schaeff Jan 31, 2023
b5f2263
Merge pull request #1272 from Zokrates/rc/0.8.4
Schaeff Jan 31, 2023
3f2ca5f
Merge pull request #1273 from Zokrates/deploy
Schaeff Feb 5, 2023
81b7bd9
upgrade nova, fix conflicts
Schaeff Feb 6, 2023
5bace73
fix typo, generate package lock
Schaeff Feb 6, 2023
50ecc37
fix clippy warnings
Schaeff Feb 6, 2023
c77e7ae
show help when running "zokrates mpc"
dark64 Feb 6, 2023
aca048e
fmt
dark64 Feb 6, 2023
86d50e7
fix setup ffi in zokrates-js
dark64 Feb 8, 2023
e57211a
wip
Schaeff Feb 9, 2023
0fe82a7
Merge pull request #1275 from Zokrates/show-mpc-help
Schaeff Feb 14, 2023
fa0ec11
implement nova for any (public T, U) -> T
Schaeff Feb 14, 2023
64b8693
Merge branch 'develop' of github.com:Zokrates/ZoKrates into zokrates-…
Schaeff Feb 14, 2023
eef7633
add to book
Schaeff Feb 14, 2023
5ecfe5e
pass ark and bellman features to zokrates_analysis
Schaeff Feb 14, 2023
3a44360
Merge pull request #1279 from Zokrates/fix-interpreter-crate-features
Schaeff Feb 14, 2023
d107db1
Merge branch 'develop' into zokrates-nova
Schaeff Feb 14, 2023
eb0c698
revert ast change
Schaeff Feb 14, 2023
f12ff60
Merge branch 'zokrates-nova' of github.com:Zokrates/ZoKrates into zok…
Schaeff Feb 14, 2023
a905820
add vesta to list of curves
Schaeff Feb 14, 2023
80b6ad1
clean
Schaeff Feb 14, 2023
fb45889
add changelog
dark64 Feb 15, 2023
a2b335c
wip
Schaeff Feb 19, 2023
01450c7
fix more tests
Schaeff Feb 20, 2023
99f1455
fix mpc init message
dark64 Feb 20, 2023
1bb524f
clean
Schaeff Feb 20, 2023
9367a98
avoid clones in nova. wip
Schaeff Feb 20, 2023
fa2a8ad
add bellperson
Schaeff Feb 21, 2023
a741f9e
remove pragma macro from nonStrictUnpack256
alv-around Feb 21, 2023
6448b9a
jubjub proofOfOwnership
alv-around Feb 21, 2023
4c52038
jubjub: proofOfOwnership
alv-around Feb 21, 2023
6f61a93
Merge branch 'develop' into optimize-zir-solver
dark64 Feb 21, 2023
09bcaa8
Merge pull request #1277 from Zokrates/fix-setup-ffi
Schaeff Feb 22, 2023
30801c8
make all tests pass, clean
Schaeff Feb 22, 2023
c01cc25
changelog, prettier
Schaeff Feb 22, 2023
156ff24
clean inliner
Schaeff Feb 22, 2023
ba7aa60
clean
Schaeff Feb 22, 2023
ea74d51
Merge branch 'develop' of github.com:Zokrates/ZoKrates into greedy-re…
Schaeff Feb 22, 2023
35c1a96
error out if loops are too large
Schaeff Feb 23, 2023
c81cc66
simplify inliner
Schaeff Feb 27, 2023
8ccf681
upgrade prettier action to 4.3
Schaeff Feb 27, 2023
a497267
Merge pull request #1284 from Zokrates/fix-prettier-action
Schaeff Feb 27, 2023
1ef8649
refactor, fix tests
dark64 Feb 28, 2023
779bb2b
add changelog
dark64 Feb 28, 2023
a4fcdee
Merge branch 'develop' into fix-mpc-init
dark64 Feb 28, 2023
2a2370e
add changelog
dark64 Feb 28, 2023
1c137ea
Merge pull request #1280 from Zokrates/fix-mpc-init
Schaeff Feb 28, 2023
8ca7937
Merge pull request #1283 from Zokrates/greedy-reducer
Schaeff Feb 28, 2023
3ce57d9
optimize evaluation of lincomb
dark64 Mar 3, 2023
e8abfb5
clippy
dark64 Mar 6, 2023
cfe43e6
revert is_assignee
dark64 Mar 6, 2023
0f31a1b
apply suggestions (part 1)
dark64 Mar 14, 2023
60ee62d
Fixed small typo
Turupawn Mar 17, 2023
7f69854
Merge pull request #1286 from Turupawn/patch-1
Schaeff Mar 17, 2023
f84faaa
Sudoku example fix
Turupawn Mar 19, 2023
475744b
refactor
dark64 Mar 20, 2023
87f356a
add test
dark64 Mar 20, 2023
95bec7b
fix zir substitutor
dark64 Mar 21, 2023
2e551b3
Update sudoku_checker.zok
Turupawn Mar 21, 2023
e210f46
change into_bellman impl on field, use lincomb in bellman circuit con…
dark64 Mar 24, 2023
e0b0299
rename substitutor to canonicalizer, add tests
dark64 Mar 24, 2023
30c9d8b
Update sudoku_checker.zok
Turupawn Mar 24, 2023
48885d6
Update sudoku_checker.zok
Turupawn Mar 24, 2023
aea19eb
parallelize witness deserialization
dark64 Mar 27, 2023
16ef50f
bump versions, generate changelog
Schaeff Mar 28, 2023
f83c26c
fix test
dark64 Mar 28, 2023
bd873da
remove into_canonical call
dark64 Mar 28, 2023
3ffd642
Merge pull request #1268 from Zokrates/optimize-zir-solver
Schaeff Mar 28, 2023
5d67cdb
Merge pull request #1290 from Zokrates/rc/0.8.5
Schaeff Mar 28, 2023
13d41b0
Merge pull request #1291 from Zokrates/deploy
Schaeff Mar 29, 2023
3ba789e
use binary format for witness
dark64 Mar 29, 2023
33466b2
remove csv dependency
dark64 Mar 29, 2023
5257d30
Merge branch 'develop' into backend-opt
dark64 Mar 31, 2023
2e9c66a
fix integration test, update book
dark64 Apr 4, 2023
83835a7
add changelog
dark64 Apr 4, 2023
405b24d
change help message
dark64 Apr 4, 2023
2ba870a
Create 1287-Turupawn
Turupawn Apr 11, 2023
a895509
Merge pull request #1287 from Turupawn/patch-2
Schaeff Apr 11, 2023
36d0066
refactor
dark64 Apr 11, 2023
10ebd60
Merge pull request #1289 from Zokrates/backend-opt
Schaeff Apr 11, 2023
52e45a3
Add sourcemaps (#1285)
Schaeff Apr 13, 2023
8c08164
Build with stable rust (#1288)
Schaeff Apr 13, 2023
210285a
bump versions, generate changelog
Schaeff Apr 13, 2023
ab52551
merge dev, fix conflicts
Schaeff Apr 14, 2023
e1bf115
Merge pull request #1294 from Zokrates/rc/0.8.6
Schaeff Apr 14, 2023
e46ad84
Merge pull request #1297 from Zokrates/deploy
Schaeff Apr 20, 2023
b397e8a
reduce propagation memory usage
Schaeff Apr 20, 2023
326ba91
remove unused dependencies
Schaeff Apr 20, 2023
8de32bd
refactor
dark64 Apr 21, 2023
3f9ceea
revert deletion of zokrates_js/package-lock.json
dark64 Apr 21, 2023
66a69d7
fix format
dark64 Apr 21, 2023
81bae8b
cleanup
dark64 Apr 21, 2023
0a2e623
Merge pull request #1296 from Zokrates/reduce-propagation-memory
Schaeff Apr 21, 2023
8015912
allow continuing an incremental computation, implement final proof co…
Schaeff Apr 21, 2023
35c13f2
Merge pull request #1298 from Zokrates/remove-unused-deps
Schaeff Apr 21, 2023
46685b1
add compressed proof verification, upgrade nova to latest
Schaeff Apr 21, 2023
70dff66
Merge branch 'develop' of github.com:Zokrates/ZoKrates into continue-…
Schaeff Apr 21, 2023
d126707
fix js
Schaeff Apr 21, 2023
d47c894
Merge pull request #1300 from Zokrates/continue-nova-and-compress
dark64 Apr 21, 2023
b7d1468
update changelog, bump versions
dark64 Apr 21, 2023
633ee82
Merge pull request #1302 from Zokrates/rc/0.8.7
Schaeff Apr 22, 2023
e967438
bump nova-snark, ff, bellperson, pasta_curves and adjust the code
May 15, 2023
1c3187b
Merge pull request #1311 from leonardoalt/bump-nova
Schaeff May 19, 2023
68f29e6
Fix constant in mimc7
dark64 May 23, 2023
862400e
Create 1317-dark64
dark64 May 23, 2023
5582b1f
short circuit on constant branch conditions
Schaeff May 23, 2023
066d353
propagate embed call in reducer
Schaeff May 23, 2023
2082157
allow complex type assignee in witness assignment
dark64 May 24, 2023
4529fa4
Merge pull request #1313 from Zokrates/fix-constant-embed-reduction
Schaeff May 25, 2023
4cc2f62
add missing alignment, changelog
dark64 May 29, 2023
32f0f43
Fixed a small typo, the right bracket next to bitwidth was mistyped. …
only4sim May 30, 2023
4307184
Merge pull request #1317 from Zokrates/dark64-patch-3
Schaeff May 30, 2023
cd15f02
Merge pull request #1315 from Zokrates/compile-time-short-circuit
Schaeff May 30, 2023
948383d
check composite types, fix possible incorrect signature in zir function
dark64 May 30, 2023
f8f3c88
update changelog
dark64 May 30, 2023
350430f
add more tests
dark64 May 30, 2023
b55ae6f
suggestions, update book
dark64 Jun 12, 2023
2cde470
remove extra space
dark64 Jun 12, 2023
791a9b6
detect division by zero in typed propagation
dark64 Jun 12, 2023
6b30372
add changelog
dark64 Jun 12, 2023
a4fc3fc
Merge pull request #1318 from Zokrates/asm-complex-type-assignment
Schaeff Jun 13, 2023
737b75f
Merge pull request #1326 from Zokrates/detect-div-by-zero
Schaeff Jun 13, 2023
148a73c
remove unnecessary macros
alv-around Jun 22, 2023
0129bbe
jubjub signature verification
alv-around Jun 22, 2023
3f89d67
Merge branch 'develop' into jubjub
alv-around Jun 22, 2023
7283c4c
valid signature verification for low values
alv-around Jun 27, 2023
4121c84
Revert "remove pragma macro from nonStrictUnpack256"
alv-around Jun 27, 2023
b09c38e
jubjub proofOfOwnership and signature verification
alv-around Jun 27, 2023
b0daee2
nunStrictUnpack256 refactor to support 255-bits fields from bls12_381
alv-around Jul 4, 2023
b7b4997
stdlib ecc module refactor to facilitate the addition signatures from…
alv-around Jul 4, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 16 additions & 10 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
build:
docker:
- image: zokrates/env:latest
resource_class: large
resource_class: xlarge
steps:
- checkout
- run:
Expand All @@ -22,6 +22,7 @@ jobs:
- restore-sccache-cache
- run:
name: Build
no_output_timeout: "30m"
command: RUSTFLAGS="-D warnings" ./build.sh
- save-sccache-cache
test:
Expand Down Expand Up @@ -68,14 +69,17 @@ jobs:
docker:
- image: zokrates/env:latest
- image: trufflesuite/ganache-cli:next
resource_class: large
resource_class: xlarge
steps:
- checkout
- run:
name: Version information
command: rustc --version; cargo --version; rustup --version
- setup-sccache
- restore-sccache-cache
- run:
name: Install foundry
command: ./scripts/install_foundry.sh
- run:
name: Run integration tests
no_output_timeout: "30m"
Expand Down Expand Up @@ -119,11 +123,13 @@ jobs:
- setup-sccache
- restore-sccache-cache
- run:
name: Check format
command: cargo fmt --all -- --check
- run:
name: Run clippy
command: cargo clippy -- -D warnings
name: Install headless chrome dependencies
command: |
apt-get update && apt-get install -yq \
ca-certificates fonts-liberation libasound2 libatk-bridge2.0-0 libatk1.0-0 libc6 libcairo2 libcups2 \
libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 \
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 \
libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 lsb-release wget xdg-utils
- run:
name: Run tests
no_output_timeout: "30m"
Expand Down Expand Up @@ -187,7 +193,7 @@ commands:
steps:
- restore_cache:
name: Restore sccache cache
key: sccache-cache-stable-{{ arch }}-{{ .Environment.CIRCLE_JOB }}
key: sccache-cache-stable-{{ .Environment.CACHE_VERSION }}-{{ arch }}-{{ .Environment.CIRCLE_JOB }}
save-sccache-cache:
steps:
- save_cache:
Expand Down Expand Up @@ -244,7 +250,7 @@ workflows:
jobs:
- build
- test
- wasm_test
# - wasm_test
- integration_test
- zokrates_js_build
- zokrates_js_test
Expand Down Expand Up @@ -302,7 +308,7 @@ workflows:
requires:
- build
- test
- wasm_test
# - wasm_test
- integration_test
- zokrates_js_build
- zokrates_js_test
2 changes: 1 addition & 1 deletion .github/workflows/js-format-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Check format with prettier
uses: creyD/prettier_action@v4.2
uses: creyD/prettier_action@v4.3
with:
prettier_options: --check ./**/*.{js,ts,json}
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,17 @@ out
out.ztf
abi.json
proof.json
init.json
steps.json
proving.key
verification.key
verifier.sol
proof.json
universal_setup.dat
witness
witness.json
nova.params
running_instance.json

# ZoKrates source files at the root of the repository
/*.zok
Expand Down
48 changes: 48 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,54 @@ All notable changes to this project will be documented in this file.
## [Unreleased]
https://github.com/Zokrates/ZoKrates/compare/latest...develop

## [0.8.7] - 2023-04-22

### Release
- https://github.com/Zokrates/ZoKrates/releases/tag/0.8.7 <!-- markdown-link-check-disable-line -->

### Changes
- Reduce memory usage of compilation (#1296, @schaeff)
- Add initial support for the Nova proving scheme (#1235, @schaeff)

## [0.8.6] - 2023-04-13

### Release
- https://github.com/Zokrates/ZoKrates/releases/tag/0.8.6 <!-- markdown-link-check-disable-line -->

### Changes
- Make ZoKrates build on stable rust (#1288, @schaeff)
- Introduce sourcemaps, introduce `inspect` command to identify costly parts of the source (#1285, @schaeff)
- Change witness format to binary, optimize backend integration code to improve proving time (#1289, @dark64)
- Fixed precedence issue on Sudoku example. (#1287, @Turupawn)
- Reduce compiled program size by deduplicating assembly solvers (#1268, @dark64)

## [0.8.5] - 2023-03-28

### Release
- https://github.com/Zokrates/ZoKrates/releases/tag/0.8.5 <!-- markdown-link-check-disable-line -->

### Changes
- Reduce memory usage and runtime by refactoring the reducer (ssa, propagation, unrolling and inlining) (#1283, @schaeff)
- Fix `radix-path` help message on `mpc init` subcommand (#1280, @dark64)
- Fix a potential crash in `zokrates-js` due to inefficient serialization of a setup keypair (#1277, @dark64)
- Show help when running `zokrates mpc` (#1275, @dark64)

## [0.8.4] - 2023-01-31

### Release
- https://github.com/Zokrates/ZoKrates/releases/tag/0.8.4 <!-- markdown-link-check-disable-line -->

### Changes
- Fix array propagation for spreads and repeaters (#1269, @schaeff)
- Remove solc dependency for tests, use foundry instead (#1266, @schaeff)
- Optimize `zokrates-js` library size (#1264, @dark64)
- Use multicore feature in ark and bellman to improve performance (#1261, @dark64)
- Allow user-provided randomness in setup and proof generation (#1254, @dark64)
- Fix typos (#1260, @rex4539)
- Introduce constraint generation through assembly blocks (#1246, @dark64)
- Loosen up whitespace restrictions to allow more formatting styles (#1232, @dark64)
- Reduce cost of boolean array equality checks (#1228, @schaeff)

## [0.8.3] - 2022-10-11

### Release
Expand Down
Loading