Sean Bowe
37f20fb90c
Use lazy_static to initialize the Jubjub parameters, to avoid passing parameters around.
7 years ago
Sean Bowe
cb8c9ebbce
Make panic abort to avoid FFI problems.
7 years ago
Sean Bowe
96654ee5bd
Fix typos
7 years ago
Sean Bowe
f1d35708bc
Expose API for init/free of parameters and, to test, a merkle tree hash invocation.
7 years ago
str4d
7dc69c6893
Merge pull request #2 from str4d/sapling-crypto
...
Add sapling-crypto to dependencies
7 years ago
Sean Bowe
5199fdfcb7
Use newer versions of libc and num_cpus
7 years ago
str4d
222e0b3515
Add sapling-crypto to dependencies
7 years ago
Sean Bowe
e554b473dd
Update to bellman 0.1
7 years ago
ebfull
10c5010fd9
Merge pull request #22 from ebfull/final-changes
...
Final changes
7 years ago
Sean Bowe
96b2d3e41a
Prevent trivial subversion attack against prover.
7 years ago
Sean Bowe
d14f2af8fa
Make fields of Parameters/VerifyingKey/Proof public.
7 years ago
ebfull
45c73dbd8f
Merge pull request #54 from ebfull/sprout-circuit-minimal
...
Sprout circuit implementation
7 years ago
Sean Bowe
6e57ef0c4a
Bump version
7 years ago
Sean Bowe
6ec7272586
Serialize lengths as 32-bit integers, not 64-bit.
7 years ago
Sean Bowe
c4fd8856ae
Make multicore module public for now, because Worker is part of the EvaluationDomain API.
7 years ago
bmerge
dbe897d365
Auto merge of #79 - ebfull:nomorenightly, r=ebfull
...
Remove feature(i128_type)
The `i128_type` feature was recently stabilized in Rust, so this is unnecessary now for nightly users. In fact, in a few days there should be a new Rust beta (`1.26`) containing stable support for `i128_type`, meaning that (for Zcash) we can switch to the beta compiler for all future Rust development, and even switch to the stable compiler in six weeks when that's released.
7 years ago
Sean Bowe
2d12b9a858
Apply newer rustfmt rules.
7 years ago
Sean Bowe
fcaddaa356
Update Clippy to support latest nightly, and fix some lints.
7 years ago
Sean Bowe
bcc8379a7f
Version bump.
7 years ago
Sean Bowe
4cf5a534ec
i128_type feature has been stabilized in Rust.
7 years ago
ebfull
1026e92194
Merge pull request #63 from ebfull/gh
...
First block of GH invocation using random beacon output
7 years ago
Sean Bowe
9f24b68b3a
Update constraint system hashes.
7 years ago
Sean Bowe
3704b2422e
Fix benchmark due to anchor change in witness.
7 years ago
Sean Bowe
9418001d0e
First block of GH invocation using random beacon output.
7 years ago
ebfull
470c9572eb
Merge pull request #60 from ebfull/optional-enforce
...
Allow the authentication path to be not enforced
7 years ago
ebfull
7ee29503ec
Merge pull request #61 from str4d/bench-final
...
Update benchmark to use final Sapling circuit implementation
7 years ago
Jack Grigg
97bead9977
Update benchmark to use final Sapling circuit implementation
7 years ago
Sean Bowe
cfd378685f
Add more test vectors to Sprout circuit implementation.
7 years ago
Sean Bowe
def5de3f16
Allow the authentication path to be not enforced for zero-value notes, for indistinguishability.
7 years ago
Jack Grigg
d715e812bd
Un-disable benchmark
7 years ago
Sean Bowe
4de908b1e5
Fix bug in circuit uncovered by test vector.
7 years ago
Sean Bowe
162a3877e5
JoinSplit circuit implementation for Sprout.
7 years ago
Sean Bowe
ac13cb05bc
Implementation of SHA256.
7 years ago
Sean Bowe
75c5269d3b
Implementation of SHA256 choice/majority for UInt32.
7 years ago
Sean Bowe
36a6b5fd90
Implementation of SHA256 majority operation for Boolean.
7 years ago
Sean Bowe
abca61401e
Implementation of SHA256 choice operation for Boolean.
7 years ago
Sean Bowe
4f0a553fbb
Implement UInt32 encoding/decoding with big-endian representation.
7 years ago
Sean Bowe
51bb5f0f70
Implement UInt32::shr() for SHA256.
7 years ago
ebfull
e6397507ca
Merge pull request #57 from ebfull/final-circuit-changes
...
Final circuit changes (part 1)
7 years ago
Sean Bowe
601e8e38f8
Little-endian byte order interpretation of the output of CRH^ivk.
7 years ago
Sean Bowe
f9e58c01ce
Swap bit-endianness of value in note commitment.
7 years ago
Sean Bowe
b14c9f8d68
Change personalizations to actually match spec this time.
7 years ago
Sean Bowe
219d03cc11
Perform multiple checks of circuit in test.
7 years ago
Sean Bowe
8b6f113052
Change personalization to more closely align with the spec.
7 years ago
Sean Bowe
d09c4d6ce8
Simplify value commitment gadget.
7 years ago
Sean Bowe
6d01e78711
Fix variable names in output circuit
7 years ago
Sean Bowe
13b03a0a1a
Relocate circuit components for intuitive code paths.
7 years ago
Sean Bowe
00ee962429
Fix some names of variables.
7 years ago
Sean Bowe
8b2f231e2f
Change personalization to match specification.
7 years ago
Sean Bowe
7e05feb90b
Changes to names and circuit design to match spec.
7 years ago