Jim Posen
d4b6c0e1a2
Use expect to remove unreachable break.
5 years ago
Jim Posen
40f768ed60
Fix off-by-one so pedersen_hash doesn't consume too many generators.
5 years ago
Eirik Ogilvie-Wigley
272be62212
cargo fmt zcash_proofs
5 years ago
Jack Grigg
5fb9b86ba0
Move Jubjub, Pedersen hash and primitives into zcash_primitives
5 years ago
Jack Grigg
b8af749b40
Move generic circuit gadgets into bellman
5 years ago
Jack Grigg
61c633db1e
Move Jubjub and Pedersen hash gadgets into zcash_proofs
...
These are currently too Zcash-specific to be generalized, and need some
targeted refactoring.
5 years ago
Jack Grigg
2ae5804a67
Move Sprout and Sapling circuits into zcash_proofs
5 years ago
Jack Grigg
7ea6d10480
Move redjubjub into zcash_primitives
5 years ago
Jack Grigg
59ed258c7f
Make Amount opaque, and use it more
...
This helps to ensure type-safety of values that are required to satisfy
zatoshi range bounds.
5 years ago
Jack Grigg
54ef63bace
Place zcash_proofs::prover::LocalTxProver behind a feature flag
...
This enables zcash_proofs to be compiled to WASM, which the directories
crate doesn't support.
5 years ago
Jack Grigg
01618038bf
TxProver trait to abstract over the circuit parameters
...
An implementation using local parameters is provided in the zcash_proofs
crate.
5 years ago
Jack Grigg
6f9083b5ab
Migrate to rand 0.7
5 years ago
Jack Grigg
b0913afdd7
Migrate remaining crates to rand_core 0.4
5 years ago
Jack Grigg
ccf75c39c1
Migrate remaining crates to rand 0.5
5 years ago
Jack Grigg
b9cea33804
Move merkle_tree::Node into sapling module
...
This makes the merkle_tree module properly generic over the tree hash.
It still hard-codes a depth 32 tree, because Rust doesn't yet support
generic sizes, and we are unlikely to need to alter the tree depth in
future circuit changes.
5 years ago
Jack Grigg
bf74915053
Move CommitmentTreeWitness into zcash_primitives
5 years ago
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 .
5 years ago
Dimitris Apostolou
34f762cea2
Electric Coin Company
5 years ago
Jack Grigg
9ae5a9d624
Make loading of Sprout key optional in zcash_proofs API
6 years ago
Jack Grigg
2d43e3be7c
Move parameter-loading into zcash_proofs
6 years ago
Jack Grigg
482bef87f0
Add ff and group crates to Cargo workspace
6 years ago
Jack Grigg
00983c48cd
Update zcash_proofs crate to use ff crate
6 years ago
Jack Grigg
e378229bdd
Move Sapling proving and binding signature into zcash_proofs crate
6 years ago
Jack Grigg
e1841806c5
Move Sapling verification checks into zcash_proofs crate
6 years ago
Jack Grigg
ad16ba6a35
Empty crates as a base for code refactoring
6 years ago