Commit Graph

107 Commits

Author SHA1 Message Date
Jack Grigg
232fb4b7a3 Procedural macro for fixed-exponent variable-base modular exponentiation
Uses the addchain crate to obtain an addition chain for the exponent,
and then generates the corresponding constant-time square-and-multiply
algorithm.
2020-03-14 10:54:22 +13:00
Jack Grigg
2df2a2b2f2 Merge branch 'develop' 2020-03-14 10:36:58 +13:00
Sean Bowe
100878cd14 Version bump of all crates (except librustzcash) 2020-03-12 15:59:19 -06: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
be0ee9eb82 Changes to Cargo.lock to reflect upstream crate changes. 2020-03-03 17:49:24 -07:00
Jack Grigg
6c2c2b58de Migrate pairing benchmarks to criterion 2019-12-19 16:46:16 -06:00
Jack Grigg
00499b3441 Migrate zcash_primitives benchmarks to criterion 2019-12-19 16:11:11 -06:00
Jack Grigg
7ea1da5d6f Migrate jubjub benchmarks to criterion 2019-12-19 15:55:01 -06:00
Jack Grigg
f44556d7bf Upgrade to criterion 0.3 2019-12-19 15:08:45 -06:00
Jack Grigg
662be3551f impl ConditionallySelectable for Field 2019-12-12 23:15:48 +00:00
Sean Bowe
a4f7c4eef3 Include jubjub and bls12_381 crates in the workspace. 2019-12-12 11:40:48 -07:00
Nikolay Volf
9ea0427678 MMR trees API (#118)
The main design goals of this mmr implementation were

1. Avoid database callbacks. As it is implemented, calling side must just smartly pre-load MMR nodes from the database (about log2(tree length) for append, twice as much for deletion).

2. Reuse as much code/logic between rust and c++ clients.

3. Close to zero memory consumption.
2019-12-04 21:24:26 +00:00
str4d
67d700feab Merge pull request #107 from str4d/transaction-builder-transparent-inputs
Add P2PKH transparent input support to transaction::Builder
2019-11-13 22:15:55 +00:00
Jack Grigg
d1bc61800c Move Sprout proof logic into zcash_proofs 2019-11-06 08:58:42 +00:00
Jack Grigg
bc35a62e10 Remove rand_os dependency 2019-10-31 18:57:52 +00:00
Jack Grigg
3425eabda2 transaction::Builder::add_transparent_input() 2019-10-15 17:42:46 +13:00
Jack Grigg
1e2bc7f65c Test nullifiers in constant time
Checking for spent notes in a block is still not completely constant
time, due to filtering out negative results of the constant-time
comparison.

Part of #84.
2019-10-09 14:12:27 +13:00
Jack Grigg
591b1fc28f Parse compact blocks to find wallet transactions 2019-10-09 14:11:12 +13:00
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