Commit Graph

138 Commits

Author SHA1 Message Date
Jack Grigg af7e263bcc
Build protobufs for compact formats 2019-10-09 14:09:41 +13:00
Jack Grigg 98731c8374
librustzcash 0.2.0 2019-10-08 17:43:33 +13:00
Jack Grigg b0ba7fe4d2
zcash_client_backend 0.1.0 2019-10-08 17:43:33 +13:00
Jack Grigg d6bc2fe0af
zcash_proofs 0.1.0 2019-10-08 17:43:33 +13:00
Jack Grigg 8b08528bb0
zcash_primitives 0.1.0 2019-10-08 17:43:33 +13:00
Jack Grigg 25558893ab
bellman 0.2.0 2019-10-08 17:43:33 +13:00
Jack Grigg 68cada53cf
pairing 0.15.0 2019-10-08 17:43:33 +13:00
Jack Grigg aa37783c37
group 0.2.0 2019-10-08 17:43:33 +13:00
Jack Grigg 216f0f62a0
ff 0.5.0 2019-10-08 17:43:33 +13:00
NikVolf b42477a0bf update from rand_os to fix warnings 2019-09-28 10:48:43 +03:00
Jack Grigg b397a9c405
cargo update 2019-09-12 19:38:51 +01:00
Jack Grigg 0a3b0a9341
Upgrade to hex-literal 0.2 2019-09-12 19:38:51 +01:00
Jack Grigg 89dad572ef
Migrate bellman to crossbeam 0.7 2019-09-12 19:38:50 +01:00
Jack Grigg bef3e7e336
Migrate ff_derive to proc-macro2 1.0 2019-09-06 19:03:12 -04:00
Jack Grigg 7c1d4d9a5b
Log distinct error cases in Equihash verification 2019-08-24 00:40:30 +01:00
Jack Grigg 1b865ecfdf
Remove sapling-crypto 2019-08-14 10:48:06 +01:00
Jack Grigg 5fb9b86ba0
Move Jubjub, Pedersen hash and primitives into zcash_primitives 2019-08-14 10:47:22 +01:00
Jack Grigg b8af749b40
Move generic circuit gadgets into bellman 2019-08-14 10:45:58 +01:00
Jack Grigg 2ae5804a67
Move Sprout and Sapling circuits into zcash_proofs 2019-08-14 10:45:55 +01:00
Jack Grigg 7ea6d10480
Move redjubjub into zcash_primitives 2019-08-14 10:43:25 +01:00
Jack Grigg 3e35dd215c
cargo update 2019-08-14 01:14:02 +01:00
Jack Grigg 3211536324
Upgrade to crypto_api_chachapoly >= 0.2.1 2019-08-14 01:12:26 +01:00
Jack Grigg ec321382e1
Upgrade to bech32 0.7 2019-08-14 01:12:25 +01:00
Jack Grigg a12b8053b0
Upgrade to digest 0.8 2019-08-14 01:12:24 +01:00
Jack Grigg 2f1cae62b1
Upgrade to fpe 0.2 2019-08-14 01:12:23 +01:00
Jack Grigg 1862354ea6
Sapling transaction builder 2019-07-27 00:27:50 +01:00
Jack Grigg 01618038bf
TxProver trait to abstract over the circuit parameters
An implementation using local parameters is provided in the zcash_proofs
crate.
2019-07-26 23:56:00 +01:00
Jack Grigg 6f9083b5ab
Migrate to rand 0.7 2019-07-19 00:47:40 +02:00
Jack Grigg b0913afdd7
Migrate remaining crates to rand_core 0.4 2019-07-19 00:46:37 +02:00
Jack Grigg 8f7adec0d9
Migrate zcash_primitives to rand_core 0.4 2019-07-19 00:46:37 +02:00
Jack Grigg 60d344a0a7
Migrate sapling-crypto to rand_core 0.4 2019-07-19 00:46:34 +02:00
Jack Grigg 83e1af104e
Migrate ff, group, pairing, and bellman to rand 0.6 2019-07-19 00:42:39 +02:00
Jack Grigg 5728bda2c1
Replace rust-crypto with sha2 in sapling-crypto dev-dependencies
This removes rand < 0.5 from our Cargo.lock.
2019-07-19 00:35:06 +02:00
Jack Grigg ccf75c39c1
Migrate remaining crates to rand 0.5 2019-07-19 00:35:06 +02:00
Jack Grigg 6149166ccb
Migrate zcash_primitives to rand 0.5 2019-07-19 00:35:06 +02:00
Jack Grigg adfc88926b
Migrate sapling-crypto to rand 0.5 2019-07-19 00:35:06 +02:00
Jack Grigg 4606a0cefb
Migrate bellman to rand 0.5 2019-07-19 00:35:06 +02:00
Jack Grigg a7e22b3550
Migrate pairing to rand 0.5 2019-07-19 00:35:06 +02:00
Jack Grigg ce6e2a5825
Migrate group to rand 0.5 2019-07-19 00:35:06 +02:00
Jack Grigg 7a6642b221
Migrate ff to rand_core 0.3 (used by rand 0.5) 2019-07-19 00:35:06 +02:00
str4d 8361674efc
Merge branch 'master' into blake2_simd 2019-07-18 18:22:20 +02:00
Jack Grigg bf74915053
Move CommitmentTreeWitness into zcash_primitives 2019-07-10 13:52:47 -04:00
Jack Grigg 999dcbfcab
Migrate to blake2b_simd and blake2s_simd crates
The primary reason for migrating is that these crates provide APIs for
setting the personalisation string. This enables us to depend solely on
published crates, and thus publish our own crates.

The SIMD implementations are ported from libsodium.

Closes #67.
2019-07-10 13:12:14 -04:00
Jack Grigg 17f60a0354
Implement PaymentAddress encoding and decoding 2019-06-27 16:21:00 +01:00
Jack Grigg 81b2b1b554
Wallet spending key derivation path 2019-06-27 16:19:33 +01:00
Jack Grigg f25a8a557e
Convert zip32 crate into a module of zcash_primitives 2019-06-27 16:14:24 +01:00
Jack Grigg fae919ec1c
Rename zcash_wallet to zcash_client_backend, set to 2018 edition 2019-06-27 16:02:12 +01:00
Jack Grigg 6dcb4040af
Switch to crypto_api_chachapoly crate
This crate exposes both the ChaCha20Poly1305 IETF construction, and the
underlying ChaCha20 IETF primitive, removing the need for depending on
our own fork of the previous chacha20-poly1305-aead crate.
2019-04-11 06:33:41 -07:00
George Tankersley 65bbe7daed
Implement Sapling note encryption 2019-04-05 21:05:05 +01:00
Jack Grigg 4289843852
Compute TxId for Transaction 2019-03-07 23:42:00 +00:00
Jack Grigg a1664c6bbc
impl Display for BlockHash and TxId 2019-03-07 23:41:46 +00:00
Jack Grigg 2d43e3be7c
Move parameter-loading into zcash_proofs 2019-02-26 13:44:28 -07:00
Jack Grigg 09a20aacfe
Make zcash_primitives::JUBJUB the canonical instantiation of JubjubBls12 2019-02-26 13:44:28 -07:00
Jack Grigg 6b43b2d0d6
Refactor Sapling spendAuthSig creation into zcash_primitives::sapling 2019-02-26 13:44:28 -07:00
Jack Grigg 482bef87f0
Add ff and group crates to Cargo workspace 2019-01-06 09:50:07 +00:00
Jack Grigg 07955092f3
Update librustzcash crate to use ff crate 2019-01-06 09:36:32 +00:00
Jack Grigg 00983c48cd
Update zcash_proofs crate to use ff crate 2019-01-06 09:32:50 +00:00
Jack Grigg 538de482f3
Update zcash_primitives crate to use ff crate 2019-01-06 09:31:20 +00:00
Jack Grigg 2e408957db
Update zip32 crate to use ff crate 2019-01-06 09:22:10 +00:00
Jack Grigg 22ccd1bceb
Update sapling-crypto crate to use ff crate 2019-01-06 09:22:03 +00:00
Jack Grigg 76cd0d92bb
Merge commit '4272cfa5b0dceac471bef115955e1534be84a018' into ff-traits
git-subtree-dir: bellman
git-subtree-split: 4272cfa5b0
2019-01-06 09:21:44 +00:00
Jack Grigg 88746e76fa
Cargo.lock changes after pairing update 2019-01-06 09:20:00 +00:00
Jack Grigg 9f7e5fa3ce
Dependency updates after pairing update 2019-01-06 09:02:30 +00:00
Jack Grigg e378229bdd
Move Sapling proving and binding signature into zcash_proofs crate 2018-12-01 00:10:51 +00:00
Jack Grigg e1841806c5
Move Sapling verification checks into zcash_proofs crate 2018-11-30 23:53:10 +00:00
str4d 8be50c9531
Merge pull request #39 from str4d/zcash-transaction-primitives
Transaction primitives
2018-11-30 23:38:38 +00:00
Jack Grigg 9b06205ed6
Reject unexpected binding sig during transaction write 2018-11-30 00:54:30 +00:00
Jack Grigg 2d8b1fe504
ZIP 143 2018-11-09 08:34:38 +13:00
Jack Grigg 041671f642
Merge branch 'zcash-2.0.1' 2018-10-11 20:57:50 +01:00
Jack Grigg e490b79907
Transaction serialization 2018-10-11 18:05:50 +01:00
Jack Grigg 91ff2c71cf
Helper for serializing CompactSize-prefixed vectors 2018-10-11 17:48:12 +01:00
Jack Grigg 77ee1d6a8f
ZIP 32 APIs 2018-08-30 00:05:49 +01:00
Jack Grigg 6e0364cd42
Update workspace after pulling in zip32 crate 2018-08-29 09:57:52 +01:00
Jack Grigg a9059c9372
Update workspace after pulling in external crates 2018-08-28 23:06:15 +01:00
Jack Grigg ad16ba6a35
Empty crates as a base for code refactoring 2018-08-28 22:24:14 +01:00
Sean Bowe bd9b8aabb9 Update sapling-crypto 2018-07-30 18:52:03 -06:00
Sean Bowe 0800976a57 Add implementation of Sapling proof API 2018-07-17 16:46:10 -06:00
str4d d19c9b5645
Implement Equihash validator
Follows Zcash implementation as closely as possible.
2018-05-24 16:30:56 +12:00
Sean Bowe f8f8954608 Update sapling-crypto 2018-05-18 12:47:35 -06:00
Sean Bowe d14b12aae4 Switch to little endian encoding for everything. 2018-05-17 16:06:31 -06:00
Sean Bowe fefa46b4c4
Implementation of Sprout proving and verifying 2018-05-10 14:29:02 -06:00
Sean Bowe d73044896e Update sapling-crypto dependency. 2018-05-07 17:52:44 -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 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
str4d 222e0b3515
Add sapling-crypto to dependencies 2018-04-09 18:28:42 -06:00
Sean Bowe d7085b90c8 Initial commit. 2017-03-17 11:07:23 -06:00