Commit Graph

688 Commits

Author SHA1 Message Date
Sean Bowe f6d9ec8faf
Initial commit 2018-07-02 07:59:33 -06:00
Jack Grigg 91a8dc8284
Update rand crate 2018-07-02 09:18:34 +01:00
Jack Grigg 4c984595e5
Add full paths for some manually-implemented derives
This further reduces the difference between pairing's manual and derived
implementations.
2018-07-02 09:16:42 +01:00
Jack Grigg 623dbd0d74
[MOVEONLY] Move generated code around slightly in ff_derive
This reduces the differences in the generated code between the current
implementations of Fq and Fr in pairing, and their derived versions.
2018-07-02 09:16:42 +01:00
Jack Grigg b0b754ba04
Return constants and sqrt impls separately for individual rendering 2018-07-02 09:16:42 +01:00
Jack Grigg 5a48059a14
Integrate changes to trait impls from pairing into ff_derive 2018-07-02 09:16:42 +01:00
Jack Grigg 29a9161981
Implement changes to traits in ff_derive 2018-07-02 09:16:42 +01:00
Jack Grigg 58cb06ee92
Pull in trait changes from pairing 2018-07-02 09:16:22 +01:00
Jack Grigg 8201a3933f
Pull in arith changes from pairing 2018-06-28 14:31:14 -04:00
Jack Grigg 1a3a2bec74
Update other ff_derive dependencies 2018-06-28 10:18:55 -04:00
Jack Grigg 428f463555
Migrate ff_derive to syn 0.14 and quote 0.6 2018-06-28 10:17:57 -04:00
Jack Grigg 755fc7aba8
cargo fmt 2018-06-27 07:31:53 -04:00
str4d 93e26d1d87
Merge pull request #18 from Eirik0/3061_add_sapling_note_commitment_calculation
Support DH key agreement
2018-06-13 17:06:28 +12:00
Sean Bowe 3b05f8f201 Apply rustfmt. 2018-06-12 15:32:57 -06:00
Sean Bowe 065154cdd1 Implementation of Sapling key agreement. 2018-06-12 15:32:20 -06:00
str4d 0af1ce8bf1
Merge pull request #19 from bitcartel/add_note_nullifier_computation
Add interface and computation of Sapling note nullifier
2018-06-09 10:26:02 +12:00
str4d 46e0898f63
Merge pull request #17 from bitcartel/remove_xor_fn
Remove redundant functon librustzcash_xor
2018-06-09 10:02:12 +12:00
Simon 11552c1579 Add test for librustzcash_sapling_compute_nf.
Rename test: commitments -> notes.
2018-06-08 14:04:02 -07:00
Simon 8ec096bdeb Add function librustzcash_sapling_compute_nf.
Also add function priv_get_note to refactor common code from librustzcash_sapling_compute_cm.
2018-06-07 10:36:52 -07:00
Simon 72e81ce8a4 Remove redundant functon librustzcash_xor 2018-06-05 11:46:42 -07:00
str4d 2e8a11a1da
Merge pull request #11 from bitcartel/3061_add_sapling_note_commitment_calculation
Add interface and computation of Sapling note commitment
2018-06-05 15:29:01 +12:00
Simon 943df43a89 Update authors. 2018-06-04 14:24:24 -07:00
Simon 44e2a53856 Add test of librustzcash_sapling_compute_cm against test vectors. 2018-06-04 14:24:24 -07:00
Simon eb3d8aa12c Add test for generating commitment randomness. 2018-06-04 14:24:14 -07:00
Simon 4ef2e9ae68 Add ffi and computation for Sapling note commitment. 2018-06-04 14:24:06 -07:00
str4d 18f4945d94
Merge pull request #9 from arcalinea/wallet-apis
librustzcash APIs for wallet key manipulation
2018-05-31 17:31:47 +12:00
str4d b54e028bb2
Test librustzcash key component APIs against test vectors 2018-05-31 11:10:12 +12:00
Jay Graber be1b307446
Add check_diversifier and ivk_to_pkd 2018-05-31 11:07:43 +12:00
Jay Graber 23c2f0e527
Add crh_ivk 2018-05-31 11:07:42 +12:00
Jay Graber c44d70299b
Add ask_to_ak and nsk_to_nk 2018-05-31 11:07:39 +12:00
Jay Graber 128af9fc82
Add to_scalar call 2018-05-31 11:05:55 +12:00
str4d 0b862c9d52
Merge pull request #1 from zcash/eh-is-valid
Equihash validator
2018-05-26 09:19:57 +12:00
Eirik Ogilvie-Wigley 9a5fc3c9f6
Refactor: extract common code 2018-05-24 16:31:22 +12:00
str4d d7a93a03e6
Use a fixed-width stack-allocated array to prepare Equihash indices for hashing 2018-05-24 16:30:56 +12:00
str4d 8b8ece69cd
Use Vec::with_capacity() to allocate new indices vector 2018-05-24 16:30:56 +12:00
str4d b693e56ead
Remove unused lifetime 2018-05-24 16:30:56 +12:00
str4d ce87be1688
Add (and use) a faster recursive Equihash validator 2018-05-24 16:30:56 +12:00
str4d 94c38fa853
Oxidise the Equihash validator 2018-05-24 16:30:56 +12:00
str4d d19c9b5645
Implement Equihash validator
Follows Zcash implementation as closely as possible.
2018-05-24 16:30:56 +12:00
ebfull 36d7acf3f3
Merge pull request #12 from ebfull/little-endian
Switch to little endian encoding for everything
2018-05-18 13:25:41 -06:00
str4d da31c3388a Test note commitment in key component test vectors 2018-05-19 07:19:33 +12:00
str4d fdf27743ea Test ivk in key components 2018-05-19 06:50:09 +12:00
Sean Bowe f8f8954608 Update sapling-crypto 2018-05-18 12:47:35 -06:00
ebfull 6abfcca25a
Merge pull request #74 from ebfull/ivk-pub
Make ivk pub
2018-05-18 12:45:38 -06:00
Sean Bowe 89f47ef5c2
Make ivk pub 2018-05-18 12:42:26 -06:00
str4d 8be09647b6 Add tests of Sapling key components 2018-05-19 06:31:13 +12:00
str4d 02a898b521 Add test vectors for RedJubjub 2018-05-18 20:37:25 +12:00
str4d ca66568111 Add test vectors for Sapling generators 2018-05-18 19:59:23 +12:00
Sean Bowe d14b12aae4 Switch to little endian encoding for everything. 2018-05-17 16:06:31 -06:00
ebfull eb409fa3cf
Merge pull request #72 from ebfull/little-endian
Switch to little endian
2018-05-17 14:03:43 -06:00