Commit Graph

188 Commits

Author SHA1 Message Date
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
b52e4aac3a
Fix Field::random method declarations. 2020-03-03 17:47:29 -07:00
Jack Grigg
2d30c29d06 Pass &impl TxProver to Builder::build
This allows the caller to build multiple transactions with a single
proving backend.
2020-02-08 00:37:31 +00:00
Jack Grigg
76e0f658c1 Rename CommitmentTreeWitness -> MerklePath 2020-02-08 00:36:40 +00:00
Jack Grigg
3a3008caf9 Pass CommitmentTreeWitness directly into Builder::add_sapling_spend
This is more likely to be the data that the caller has available, and
is all we need now that a CommitmentTreeWitness can compute its root.
2020-02-07 17:31:38 +00:00
Jack Grigg
8a210ec271 CommitmentTreeWitness::root(leaf) 2020-02-07 17:21:59 +00:00
Jack Grigg
2064d1c801 Refactor zcash_primitives::merkle_tree::CommitmentTreeWitness
- The internal Option wrapper was an unnecessary leftover from when this
  code was directly inside the prover, where Some(x) represents an
  assigned variable.
- CommitmentTreeWitness::from_slice_with_depth is more idiomatic Rust.
2020-02-07 00:06:57 +00:00
François Garillot
865275e2a2
Correcting some trivial Rust option/iterator warts 2020-01-29 13:53:05 -08:00
Jack Grigg
00499b3441
Migrate zcash_primitives benchmarks to criterion 2019-12-19 16:11:11 -06:00
Jack Grigg
ec2c304efd
no_std support for ff crate 2019-12-14 12:55:34 +00:00
Jack Grigg
1c9f5742fa
Improve Field::pow API and impl
Renamed to Field::pow_vartime to indicate it is still variable time with
respect to the exponent.
2019-12-14 12:27:48 +00:00
Jack Grigg
3d2acf48ce
Constant-time field square root
WARNING: THIS IS NOT FULLY CONSTANT TIME YET!

This will be fixed once we migrate to the jubjub and bls12_381 crates.
2019-12-13 20:13:30 +00:00
Jack Grigg
40749da9a7
Constant-time field inversion
WARNING: THIS IS NOT ACTUALLY CONSTANT TIME YET!

The jubjub and bls12_381 crates will replace our constant-time usages,
but we NEED to fix ff_derive because other users will expect it to
implement the Field trait correctly.
2019-12-13 19:46:04 +00:00
Jack Grigg
662be3551f
impl ConditionallySelectable for Field 2019-12-12 23:15:48 +00:00
Jack Grigg
cded08b0c5
Make Field::square take &self and return Self 2019-12-12 23:09:28 +00:00
Jack Grigg
9dac748224
Make Field::double take &self and return Self 2019-12-12 22:59:18 +00:00
Jack Grigg
91c32f1c7c
Move from Field::negate to Neg operator 2019-12-12 22:52:17 +00:00
Jack Grigg
27c8f34601
Move Field operations to operator-backed traits
The ff_derive, pairing, zcash_primitives::jubjub, and bellman dummy_engine
changes are minimally implemented on top of the existing *_assign()
functions.
2019-12-12 21:19:46 +00:00
zancas
0aa127d7b1
refactor to manage test code and data in separate modules 2019-12-11 23:58:13 +00:00
Jack Grigg
e6a8630b35
impl TryFrom<u32> for BranchId 2019-11-27 13:18:31 +00:00
Jack Grigg
cd326f2b6a
Consensus parameters for network upgrades 2019-11-27 13:18:30 +00:00
Jack Grigg
c24024b8e1
Create a consensus::BranchId enum for type safety
Includes all currently-known consensus branch IDs for the Zcash network.
2019-11-25 21:04:20 +00:00
Aditya Kulkarni
219391ac92 Add missing sighash declaration 2019-11-14 09:54:07 -08: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
8d6f882510
Renames after moves 2019-11-13 19:21:47 +00:00
Jack Grigg
8d967c8609
Move transparent input pushing onto TransparentInputs 2019-11-13 19:20:09 +00:00
Jack Grigg
d9d50b98ab
Move transparent signing onto TransparentInputs 2019-11-13 19:12:55 +00:00
str4d
5823a695e2
Merge pull request #139 from adityapk00/tx_compare
Implement sorting for TxIDs
2019-11-04 16:29:59 +00:00
str4d
40d22ea2cc
Merge pull request #135 from NikVolf/extern-purge
Remove unneeded "extern crate"
2019-10-31 17:12:26 +00:00
Aditya Kulkarni
b479981689
Implement clone for some structs 2019-10-15 17:47:53 +13:00
Aditya Kulkarni
885e09a82f
Create OutPoint from hash and n 2019-10-15 17:47:23 +13:00
Aditya Kulkarni
fab9160b26
transparent inputs should use serialize_der() 2019-10-15 17:46:33 +13:00
Aditya Kulkarni
5a177eea27
Make mod serialize public 2019-10-15 17:42:49 +13:00
Jack Grigg
3425eabda2
transaction::Builder::add_transparent_input() 2019-10-15 17:42:46 +13:00
Jack Grigg
70857b0eed
Pass Script to signature_hash by reference 2019-10-15 17:32:34 +13:00
Jack Grigg
42b7f328fb
legacy::Script::address
This is the counterpart to legacy::TransparentAddress::script.
2019-10-15 17:32:34 +13:00
Aditya Kulkarni
cd1083e086 Implememt sorting for TxIDs 2019-10-14 13:40:08 -07:00
Jack Grigg
2bbd25b36b
Add prevHash field to CompactBlock
This enables basic verification of chain validity when CompactBlocks are
received without the full header.
2019-10-09 14:11:14 +13:00
Jack Grigg
a3b85b8fe6
Compute and store BlockHash inside BlockHeader 2019-10-09 14:11:14 +13:00
NikVolf
7844394364 Remove unneeded extern crate 2019-10-08 16:12:14 +03:00
Jack Grigg
8b08528bb0
zcash_primitives 0.1.0 2019-10-08 17:43:33 +13:00
str4d
2399d9f3e3
Merge pull request #93 from defuse/qed-it-lrz
Bring in QED-it Tests
2019-10-08 13:47:36 +13:00
Jim Posen
93563c3c65 Specify rand_core >= 0.5.1 for OsRng import. 2019-10-05 12:16:10 +02:00
str4d
524055bbb4
Merge pull request #134 from NikVolf/z-rng
Avoid using rand_os crate (fixes warnings)
2019-10-02 17:35:56 -06:00
NikVolf
730d2cbc7e fix outdated example 2019-09-28 12:50:28 +03:00
NikVolf
b42477a0bf update from rand_os to fix warnings 2019-09-28 10:48:43 +03:00
Jack Grigg
4ad3988e43
Crate docs 2019-09-24 14:23:59 +01:00
Jack Grigg
7f3036d2c8
Update READMEs 2019-09-24 14:23:55 +01:00
Jack Grigg
d9a0b9c83f
CI: Check intra-doc links
Credit: https://twitter.com/tomaka17/status/1176017851410526208
2019-09-24 10:35:12 +01:00