Commit Graph
100 Commits
Author SHA1 Message Date
ebfull d9ac7bd19b Merge pull request #214 from ebfull/manifest-updates
Update manifest for zcash_history
2020-03-04 10:05:44 -07:00
Sean Bowe 0f0d84e9ca Update manifest for zcash_history. 2020-03-04 09:28:56 -07:00
ebfull 49459d030f Merge pull request #213 from str4d/zip-221-change
Update zcash_history with ZIP 221 change
2020-03-04 09:04:14 -07:00
Sean Bowe 46e88a5e69 cargo fmt 2020-03-03 18:14:44 -07:00
Sean Bowe 5e1a2f9d3f Rename zcash_mmr to zcash_history.
This crate will contain all chain history logic.
2020-03-03 18:14:40 -07:00
Sean Bowe 9379eec1b8 Bring zcash_mmr into workspace. 2020-03-03 18:04:18 -07:00
Sean Bowe 4f0f10a53c Add 'zcash_history/' from commit 'e2c131fdc308265adcab774e54d4d5804c23b368'
git-subtree-dir: zcash_history
git-subtree-mainline: be0ee9eb82
git-subtree-split: e2c131fdc3
2020-03-03 17:51:19 -07:00
Sean Bowe be0ee9eb82 Changes to Cargo.lock to reflect upstream crate changes. 2020-03-03 17:49:24 -07:00
Sean Bowe b52e4aac3a Fix Field::random method declarations. 2020-03-03 17:47:29 -07:00
Sean Bowe c49aaceb5d Merge commit 'f337eb1f5c67d9305b1fb4fb35507bb50817259b' into depends-updates-2 2020-03-03 17:46:59 -07:00
Sean Bowe f337eb1f5c Squashed 'bellman/' changes from 4272cfa..2279da4
2279da4 Merge pull request #38 from debris/docs
2e57190 Remove documentation entry from Cargo.toml
346d540 bellman 0.2.0
8d79665 Merge pull request #93 from defuse/qed-it-lrz
f50079f Crate docs
701cb2b Update READMEs
ccf1ee9 CI: Check intra-doc links
ddd390a Add READMEs to Cargo.toml files
54d3122 Add missing cs.is_satisfied() to bellman test
52bf23c Fix build warnings
581ad35 boolean: adds tests for alloc_conditionally
0403396 blake2s: adds test vectors from go-jubjub
9f24e47 Fix blake2s test data length assertion.
42d5b3b Add blake2s test vectors for varying sizes from go-jubjub
b2597de pedersen_hash: removes debug prints
c903fad pedersen hashes: example of size limit bug
bc697c1 bellman: Fix compile errors without multicore feature
a4e5df9 Upgrade to hex-literal 0.2
c063509 Migrate bellman to crossbeam 0.7
1775843 Take self directly in into_* functions
614d784 Rename into_ -> to_ where &self is used.
08664b1 Address various clippy warnings/errors in bellman
bb11ef2 cargo fmt
cff2e2f cargo fix --edition-idioms for bellman
dc2a280 Add edition = 2018
1a2bc19 cargo fmt
ad37878 cargo fix --edition for bellman
e73d1a2 cargo fmt bellman
dfb86fc Move generic circuit gadgets into bellman
9b3d766 Migrate to rand 0.7
055280f Migrate ff, group, pairing, and bellman to rand 0.6
533d586 Migrate bellman to rand 0.5
bfa9aaf Merge pull request #61 from rex4539/fix-typos
3dd8490 Place bellman multicore operations behind a (default) feature flag
955e679 Merge pull request #46 from str4d/ff-traits
d4ddaa9 Fix typos
12f93f2 Add ff and group crates to Cargo workspace
2e35a32 Update sapling-crypto crate to use ff crate
2019e63 Update workspace after pulling in external crates

git-subtree-dir: bellman
git-subtree-split: 2279da422ca9d7b83e84cb85018c713976b873e5
2020-03-03 17:46:04 -07:00
Sean Bowe 805aa45f9e Merge commit '05a9f3360f7fbd298f3e6f8f7e55e9426d04f2f0' into depends-updates-2 2020-03-03 17:45:49 -07:00
Sean Bowe 05a9f3360f Squashed 'pairing/' changes from 3d41ee5..3870f11
3870f11 Bump version and ff dependency
e8657fa Merge pull request #108 from kigawas/fix-rngcore-sized
7fddfc7 Update Cargo.toml
df0217c bump group version
cbc1917 bump version
98133d9 fix RngCore Sized
583c744 pairing 0.15.0
0de7279 Fix pairing benchmarks
dd2fbb3 Crate docs
97c45f2 Update READMEs
9aef129 CI: Check intra-doc links
f552b49 Add READMEs to Cargo.toml files
8c59b4a cargo fmt
33993f4 cargo fix --edition-idioms for pairing
36788f3 Add edition = 2018
df88a3f cargo fmt
d9a1288 cargo fix --edition for pairing
013fd03 cargo fmt pairing
5635612 Fix clippy linter errors in pairing crate
ba40e2f Use modern clippy linter syntax
fa4eaeb Migrate to rand 0.7
1d00588 Migrate ff, group, pairing, and bellman to rand 0.6
95a749b Migrate pairing to rand 0.5
01e7212 Add ff and group crates to Cargo workspace

git-subtree-dir: pairing
git-subtree-split: 3870f1172f33aa85c49426fec6c6e7040b4889f9
2020-03-03 17:44:53 -07:00
Sean Bowe 31d887c943 Merge commit 'd7f78db121ee6f720e97401ded0c9c597d1a4857' into depends-updates-2 2020-03-03 17:44:28 -07:00
Sean Bowe d7f78db121 Squashed 'ff/' changes from 661558e..ddff465
ddff465 Bump version and dependency on ff_derive
25d11d6 Bump version
95e2723 Bump version to 0.5.1
f76872a Add ?Sized to RngCore trait bounds (#14)
09a32b1 ff 0.5.0
32543ab Crate docs
22031dc Update READMEs
658fe6d CI: Check intra-doc links
35f5026 Add READMEs to Cargo.toml files
6804225 Migrate ff_derive to proc-macro2 1.0
b9a79ce cargo fmt
82574c2 cargo fix --edition-idioms for ff
3b0cf72 Add edition = 2018
8a2b51b Replace try! macro
40fc9ba cargo fix --edition for ff
22c67f3 cargo fmt
312141c Clarify masking of bits in Field::random impls
89a68e1 Migrate to rand 0.7
58415fb Migrate ff, group, pairing, and bellman to rand 0.6
8b6e6b1 Migrate ff to rand_core 0.3 (used by rand 0.5)

git-subtree-dir: ff
git-subtree-split: ddff4658ddd7496bb29cc636c391b7aaaca24673
2020-03-03 17:43:16 -07:00
ebfull dd112813a1 Merge pull request #174 from str4d/152-nu-awareness
Network upgrade awareness
2019-12-04 10:42:16 -07:00
ebfull 6f0080ba72 Merge pull request #105 from Eirik0/cargo-clean-up
cargo fmt
2019-08-16 20:30:00 -06:00
Sean BoweandJack Grigg 8c5cd4e4f6 Place bellman multicore operations behind a (default) feature flag
Co-authored-by: Jack Grigg <jack@z.cash>
2019-04-10 06:01:24 -07:00
ebfull f65c37ea01 Merge pull request #30 from str4d/sapling-api-cleanup
Sapling proving and verifying API
2019-01-05 17:14:16 -07:00
ebfull c03871779a Merge pull request #54 from ebfull/travis
Add travis testing support.
2019-01-03 12:14:15 -07:00
Sean Bowe 4113df4780 Fix version string, cache cargo symbols. 2019-01-03 11:55:16 -07:00
Sean Bowe 813cf16ff2 Add travis testing support. 2019-01-03 11:51:08 -07:00
ebfull 06da3b9ac8 Merge pull request #45 from str4d/44-params-path-encoding
Use slices of native strings to pass parameter paths into Rust
2018-10-27 00:09:44 -06:00
ebfull 0b6bbfb444 Merge pull request #36 from zcash/ci_integration
CI integration for librustzcash
2018-10-10 17:26:04 -06:00
ebfull e1c6232dd7 Merge pull request #32 from str4d/cargo-workspace
Convert the repo into a Cargo workspace
2018-08-29 12:58:43 -06:00
ebfull f5d2afb4ea Merge pull request #28 from ebfull/hash-checks-of-params
Hash checks of parameter files during initialization
2018-08-02 12:12:02 -06:00
Sean Bowe 48c2d3c8da Get parameter hashes from the user, rather than supplying it ourselves. 2018-08-02 12:11:32 -06:00
Sean Bowe d4ee94c692 cargo fmt 2018-08-01 19:01:54 -06:00
Sean Bowe 98a006e0c4 Hash checks of parameter files during initialization. 2018-08-01 18:57:10 -06:00
ebfull f55a654901 Merge pull request #26 from ebfull/bump-sapling-crypto
Update sapling-crypto
2018-07-30 21:08:52 -06:00
Sean Bowe bd9b8aabb9 Update sapling-crypto 2018-07-30 18:52:03 -06:00
ebfull 21084bde20 Merge pull request #81 from ebfull/must_use
Add must_use to operations over Edwards points
2018-07-30 18:40:16 -06:00
Sean Bowe b4d41b689c Add must_use to operations over Edwards/Montgomery points. 2018-07-30 18:37:01 -06:00
ebfull b70d6e66fc Merge pull request #79 from ebfull/pedersen-hash-performance
Improve Pedersen hash performance
2018-07-30 18:29:14 -06:00
ebfull 99c03c5708 Merge pull request #80 from ebfull/cofactor-signature-checking
Cofactor signature checking
2018-07-30 11:50:26 -06:00
Sean Bowe 95b498af33 Implement specialized doubling formula for extended twisted edwards coordinates. 2018-07-30 07:30:40 -06:00
Sean Bowe 821810cd82 Change pedersen hash outside the circuit to use window table lookups. 2018-07-30 07:30:40 -06:00
Sean Bowe 9cb8accf09 Fix nits 2018-07-30 07:29:23 -06:00
Sean Bowe a57d2773ab Add demonstration implementation of batch verification. 2018-07-27 10:54:21 -06:00
Sean Bowe cae9715a8e Change signature verification equation to permit batch verification. 2018-07-27 10:37:26 -06:00
Sean Bowe 3e43cae526 Add test that torsion doesn't affect signature verification. 2018-07-27 10:28:08 -06:00
ebfull 32026ea0a1 Merge pull request #24 from ebfull/sapling_proof_api
Sapling proof API
2018-07-24 18:18:04 -06:00
Sean Bowe 22486b8269 Make librustzcash_sapling_binding_sig take context as a const pointer. 2018-07-18 15:33:19 -06:00
Sean Bowe 41ca6e8473 cargo fmt 2018-07-17 17:02:10 -06:00
Sean Bowe bcba4924ca Fix negation bug in librustzcash_sapling_check_output 2018-07-17 17:01:04 -06:00
Sean Bowe 0800976a57 Add implementation of Sapling proof API 2018-07-17 16:46:10 -06:00
ebfull c2862a4382 Merge pull request #78 from gtank/make-privatekey-public
redjubjub: make PrivateKey internal scalar public
2018-07-12 14:01:11 -06:00
Sean Bowe ef56fabf7b Update version 2018-07-05 12:18:56 -06:00
ebfull 2ffa94f714 Merge pull request #1 from str4d/from-pairing
Migrate curve traits and tests, and WNAF, from pairing
2018-07-05 12:18:34 -06:00
Sean Bowe cc5b835102 Start using cargo-clippy for CI. 2018-07-04 22:33:59 +01:00
ebfull 661558e0c8 Merge pull request #5 from str4d/more-updates
More updates
2018-07-02 19:53:52 -06:00
Sean Bowe 44b601b0a9 Adjust versions 2018-07-02 08:34:26 -06:00
ebfull 729138a31e Merge pull request #1 from str4d/updates
Update dependencies and traits
2018-07-02 08:28:36 -06:00
Sean Bowe f6d9ec8faf Initial commit 2018-07-02 07:59:33 -06:00
Sean Bowe 3b05f8f201 Apply rustfmt. 2018-06-12 15:32:57 -06:00
Sean Bowe 065154cdd1 Implementation of Sapling key agreement. 2018-06-12 15:32:20 -06:00
ebfull 36d7acf3f3 Merge pull request #12 from ebfull/little-endian
Switch to little endian encoding for everything
2018-05-18 13:25:41 -06:00
Sean Bowe f8f8954608 Update sapling-crypto 2018-05-18 12:47:35 -06:00
ebfull 6abfcca25a Merge pull request #74 from ebfull/ivk-pub
Make ivk pub
2018-05-18 12:45:38 -06:00
Sean Bowe 89f47ef5c2 Make ivk pub 2018-05-18 12:42:26 -06:00
Sean Bowe d14b12aae4 Switch to little endian encoding for everything. 2018-05-17 16:06:31 -06:00
ebfull eb409fa3cf Merge pull request #72 from ebfull/little-endian
Switch to little endian
2018-05-17 14:03:43 -06:00
Sean Bowe 2ff318eecb Use little endian for everything in Sapling. 2018-05-17 13:01:31 -06:00
Sean Bowe f491e02b56 Correctly interpret BLAKE2s inputs and outputs as little endian. 2018-05-17 13:01:31 -06:00
Sean Bowe 87c62e2248 Update to the latest pairing crate version. 2018-05-17 13:01:29 -06:00
Sean Bowe da5f1d3e37 Update to latest rustfmt 2018-05-17 11:59:20 -06:00
Sean Bowe e4143a4bbc Apply rustfmt to benchmarks 2018-05-17 10:50:56 -06:00
Sean Bowe 97bdd1655f Update clippy 2018-05-17 10:44:28 -06:00
ebfull a64c850e6d Merge pull request #10 from ebfull/small-order-checks
Check epk/rk/cv are not small order
2018-05-14 16:26:40 -06:00
Sean Bowe 63730f3846 Check epk/rk/cv are not small order. 2018-05-14 16:23:34 -06:00
Sean Bowe fefa46b4c4 Implementation of Sprout proving and verifying 2018-05-10 14:29:02 -06:00
ebfull 5e220695e5 Merge pull request #7 from ebfull/sapling-verification
Sapling verification
2018-05-07 23:37:11 -06:00
Sean Bowe 313e45cc01 Implementation of Sapling transaction verification. 2018-05-07 19:22:07 -06:00
ebfull ef676eff50 Merge pull request #8 from ebfull/minor-changes
Minor changes
2018-05-07 18:50:54 -06:00
Sean Bowe e9f8c88c95 Use little endian encoding for Pedersen hash digest output. 2018-05-07 18:06:53 -06:00
Sean Bowe d73044896e Update sapling-crypto dependency. 2018-05-07 17:52:44 -06:00
ebfull 7beeb52730 Merge pull request #69 from ebfull/make-util-pub
Make util module public
2018-05-07 17:47:31 -06:00
Sean Bowe 36cd38e239 Make util module public. 2018-05-07 17:47:04 -06:00
Sean Bowe 5f233ef989 Initialize Jubjub parameters up front 2018-05-07 17:41:49 -06:00
ebfull 3b8246f3eb Merge pull request #68 from ebfull/redjubjub-final-work
Make PublicKey inner Point public so that we can use it during zk-SNARK verification
2018-05-07 14:21:49 -06:00
Sean Bowe 5687acfaf8 Make PublicKey inner Point public so that we can use it during zk-SNARK verification. 2018-05-01 15:23:34 -06:00
ebfull 347666705c Merge pull request #67 from str4d/redjubjub-serialisation
RedJubjub serialisation
2018-04-30 08:50:03 -06:00
ebfull 6e08a5a22b Merge pull request #66 from str4d/fix-spend-nf-comment
Fix comment
2018-04-29 13:08:10 -06:00
ebfull e4175d81e9 Merge pull request #64 from str4d/redjubjub
RedJubjub
2018-04-19 12:44:39 -06:00
ebfull 6cc1813ae3 Merge pull request #4 from ebfull/zksnark-param-loading
Support loading zk-SNARK parameters
2018-04-19 10:53:12 -06:00
Sean Bowe 170397b5a5 Apply rustfmt 2018-04-17 14:22:35 -06:00
Sean Bowe 4f9953f18f Support loading zk-SNARK parameters 2018-04-17 14:16:14 -06:00
Sean Bowe 37f20fb90c Use lazy_static to initialize the Jubjub parameters, to avoid passing parameters around. 2018-04-12 18:38:25 -06:00
Sean Bowe cb8c9ebbce Make panic abort to avoid FFI problems. 2018-04-12 15:35:20 -06:00
Sean Bowe 96654ee5bd Fix typos 2018-04-12 15:01:48 -06:00
Sean Bowe f1d35708bc Expose API for init/free of parameters and, to test, a merkle tree hash invocation. 2018-04-11 21:51:30 -06:00
Sean Bowe 5199fdfcb7 Use newer versions of libc and num_cpus 2018-04-10 13:57:33 -06:00
Sean Bowe e554b473dd Update to bellman 0.1 2018-04-06 13:29:58 -06:00
ebfull 10c5010fd9 Merge pull request #22 from ebfull/final-changes
Final changes
2018-04-03 18:56:06 -06:00
Sean Bowe 96b2d3e41a Prevent trivial subversion attack against prover. 2018-04-02 22:21:42 -06:00
Sean Bowe d14f2af8fa Make fields of Parameters/VerifyingKey/Proof public. 2018-04-02 18:15:39 -06:00
ebfull 45c73dbd8f Merge pull request #54 from ebfull/sprout-circuit-minimal
Sprout circuit implementation
2018-04-02 16:55:09 -06:00
Sean Bowe 6e57ef0c4a Bump version 2018-03-31 23:23:37 -06:00
Sean Bowe 6ec7272586 Serialize lengths as 32-bit integers, not 64-bit. 2018-03-31 23:23:08 -06:00
Sean Bowe c4fd8856ae Make multicore module public for now, because Worker is part of the EvaluationDomain API. 2018-03-31 23:16:55 -06:00