Commit Graph

509 Commits

Author SHA1 Message Date
poma
3facfafe83
speed up json read 2020-04-13 17:43:26 +03:00
Alexey
d3cc6d3a5b add beacon_hash as arg 2020-04-13 14:13:10 +03:00
Roman Semenov
f17a1ad70f
create workdir in docker 2020-04-09 21:22:15 +03:00
poma
d8dc50a735
minor code style 2020-02-29 15:35:40 +03:00
Georgios Konstantopoulos
5d82e40bb7
Make setup abstract over the curve being used (#11)
* refactor(bin): make `calculate_hash` a utility function

* feat: make the engine part of the setup parameters

We add an extension trait to Engine to specify the group element sizes
per curve used. We implement that for each curve we want to support.

Added support for BLS12-381

This allows moving the type constraint from the constructors in BatchedAccumulator and KeyPair to the params, improving ergonomics, and prepares multi-curve support in the CLI

* feat(params): do not require harcoding the group sizes

* feat(bin): add CLI params to reduce_powers and prepare_phase2
2020-02-13 11:53:48 +02:00
Georgios Konstantopoulos
614b4b899d
Make ceremony params configurable at runtime (#10)
* feat(parameters): Replace trait with a params struct

We define a CeremonyParams struct which contains a curve and setup-specific parameters
The curve is a CurveParams struct which contains the sizes of the compressed and uncompressed group elements
This will allow us to easily extend the implementations over multiple curves and constraint numbers (currently these are hard coded and cannot be easily chagned)

* feat(keypair): Use the CeremonyParams struct instead of being generic over the PowersOfTauParams trait

* feat(accumulator): Use the CeremonyParams struct instead of being generic over the PowersOfTauParams trait

* feat(batched-accumulator): Use the CeremonyParams struct instead of being generic over the PowersOfTauParams trait

driveby-change: also replace println's with error/info logs

* feat(batched-accumulator): Use the CeremonyParams struct instead of being generic over the PowersOfTauParams trait

driveby-change: also replace println's with error/info logs

* refactor(bn256): delete bn256 module and move tests to better locations

* fix(bin): make all binaries build with the CeremonyParams object

* test(e2e): run the test with circuit power and batch size provided at runtime

* chore: remove unused accumulator.rs and new.rs
2020-02-13 11:04:29 +02:00
Georgios Konstantopoulos
32bbd5f35c
chore: cargo fmt + make clippy happy (#9) 2020-02-12 14:46:33 +02:00
Kobi Gurkan
b3c18de8a6
Merge pull request #8 from tornadocash/master
pull all circom-related functionality from binaries into library
2020-02-12 08:24:45 +02:00
poma
c81dfb07dd
move vk_x before the loop 2020-02-07 22:55:41 +08:00
poma
f85e53b925
tidy up whitespace 2020-02-07 22:55:15 +08:00
poma
880e07bcf6
fix key export (don't filter params by default) 2020-02-07 22:22:29 +08:00
Roman Semenov
7efe0d0112
Merge pull request #2 from weijiekoh/feat/audited-verifier-sol
Audited verifier_groth.sol
2020-02-07 22:21:54 +08:00
Koh Wei Jie
856e3c60c8 iterate through proof elements to check if each is lte the prime q; remove verifier-invalid-input-length check 2020-02-07 00:07:51 +08:00
Koh Wei Jie
8d0cb865c1 restored abi-encoded proof code from poma 2020-02-06 18:17:45 +08:00
Koh Wei Jie
21bd15db9d restored Solidity tweaks by poma (solc 0.6.0, gas(), and docstrings) 2020-02-06 16:51:13 +08:00
Koh Wei Jie
560557dfb5 switched verifier_groth.sol to the audited version and forced uint256 typecasts in the template replace code 2020-02-06 16:37:55 +08:00
poma
25a243fde4
fix build for reduce_powers 2020-02-03 13:59:19 +08:00
poma
c8f7e68f3a
move circuit and witness load functions outside of circuit struct 2020-01-31 17:45:38 +08:00
poma
27ad5eb7c5
fix verifier.sol bugs, port it to Solidity 6 2020-01-31 17:03:00 +08:00
poma
88a722981f
pull all circom-related functionality from binaries into library 2020-01-31 15:24:08 +08:00
poma
02245e457c
export circom-compatible verifying key 2020-01-31 15:24:08 +08:00
Kobi Gurkan
40e2e31e76
Merge pull request #3 from kobigurk/feat/reduce_powers
Adds a power reducing utility
2020-01-29 12:11:21 +02:00
Kobi Gurkan
0183ad1e3b
Merge pull request #4 from tornadocash/master
Split lib.rs into modules, and few minor improvements
2020-01-29 12:10:59 +02:00
Kobi Gurkan
4e4c814089 adds empirical batch size to smalltest to test batching 2020-01-29 12:10:33 +02:00
poma
605bfa9381
refactor stuff into lambdas and iterators 2020-01-25 15:29:25 +08:00
poma
dbff653bb8
add methods to load circuit from reader 2020-01-25 13:55:46 +08:00
poma
aed734275e
attach smalltest feature directly to REQUIRED_POWER constant 2020-01-24 13:59:12 +08:00
poma
213aea092f
move p1_to_vec, p2_to_vec, pairing_to_vec to utils.rs 2020-01-24 13:53:28 +08:00
Kobi Gurkan
1ef0e48957 adds small test parameters, generalizes repr_to_big 2020-01-23 16:42:21 +02:00
poma
a3f53aec44
fixes for test script 2020-01-23 00:35:54 +08:00
poma
21c3c6115e
generate public inputs file for proof, test script update 2020-01-23 00:35:46 +08:00
poma
95379a1a1c
change default power to 28 2020-01-19 00:41:12 +07:00
poma
3dbb5db77a
Dockerfile 2020-01-19 00:39:27 +07:00
poma
ec08265740
remove obsolete patch_vk script 2020-01-18 21:06:39 +07:00
poma
ee37151483
export alphabeta_12 pairing to verifying key 2020-01-18 21:02:47 +07:00
poma
f182648aa4
fix generate verifier command line args 2020-01-17 22:22:52 +07:00
poma
82592ae2e7
fix typos in comments 2020-01-17 22:18:48 +07:00
poma
7ba88b2e70
fix BatchedAccumulator name typo 2020-01-17 22:18:43 +07:00
poma
4ccd5b1e0d
optional rust-crypto for beacon bin 2020-01-17 22:18:37 +07:00
poma
2703431b77
add verifier generation to test.sh 2020-01-17 14:00:49 +07:00
poma
d9dcd41c96
generate verifier smart contract 2020-01-17 13:58:00 +07:00
poma
8bb81239e1
minor fix 2020-01-17 13:57:33 +07:00
poma
0832660b2a
update usings 2020-01-17 01:59:53 +07:00
poma
85f64db46e
fix other scripts for updated circom class 2020-01-17 01:59:34 +07:00
poma
d770eb36c6
Generate proof 2020-01-17 00:16:50 +07:00
poma
8f7f1f44f8
implement copy_json in rust 2020-01-15 15:56:19 +07:00
poma
4d9afd031c
remove redundant condition 2020-01-15 15:51:19 +07:00
poma
f66fe1eb9e
rm outdated mimc example 2020-01-13 13:33:08 +07:00
poma
1fa63c9d3d
WebAssembly compatibility 2020-01-13 13:33:00 +07:00
poma
9bdbe85480
Split phase2 into modules 2020-01-09 19:42:55 +07:00