Commit Graph
100 Commits
Author SHA1 Message Date
Jack Grigg e21be37042 Block header representation 2019-03-07 23:26:00 +00:00
Jack Grigg 3d39706aee Make SpendDescription.spend_auth_sig optional 2019-02-26 13:44:28 -07:00
Jack Grigg 012d43bc8c derive Debug for various structs 2019-02-26 13:44:28 -07:00
Jack Grigg 34ca75cceb impl Clone for ExtendedFullViewingKey 2019-02-26 13:44:28 -07:00
Jack Grigg 80db0ae2f9 ExpandedSpendingKey::proof_generation_key(), visibility tweaks 2019-02-26 13:44:28 -07:00
Jack Grigg 9ae5a9d624 Make loading of Sprout key optional in zcash_proofs API 2019-02-26 13:44:28 -07:00
Jack Grigg 2d43e3be7c Move parameter-loading into zcash_proofs 2019-02-26 13:44:28 -07:00
Jack Grigg 09a20aacfe Make zcash_primitives::JUBJUB the canonical instantiation of JubjubBls12 2019-02-26 13:44:28 -07:00
Jack Grigg 6b43b2d0d6 Refactor Sapling spendAuthSig creation into zcash_primitives::sapling 2019-02-26 13:44:28 -07:00
Jack Grigg 482bef87f0 Add ff and group crates to Cargo workspace 2019-01-06 09:50:07 +00:00
Jack Grigg b1ce3905d6 Add 'group/' from commit 'ef56fabf7ba3ed990a7886836c855298c9c5eefa'
git-subtree-dir: group
git-subtree-mainline: af9f9c17ee
git-subtree-split: ef56fabf7b
2019-01-06 09:38:21 +00:00
Jack Grigg af9f9c17ee Add 'ff/' from commit '661558e0c8a5e02e08dac6530d39b2e38919aa04'
git-subtree-dir: ff
git-subtree-mainline: 07955092f3
git-subtree-split: 661558e0c8
2019-01-06 09:37:22 +00:00
Jack Grigg 07955092f3 Update librustzcash crate to use ff crate 2019-01-06 09:36:32 +00:00
Jack Grigg 00983c48cd Update zcash_proofs crate to use ff crate 2019-01-06 09:32:50 +00:00
Jack Grigg 538de482f3 Update zcash_primitives crate to use ff crate 2019-01-06 09:31:20 +00:00
Jack Grigg 2e408957db Update zip32 crate to use ff crate 2019-01-06 09:22:10 +00:00
Jack Grigg 22ccd1bceb Update sapling-crypto crate to use ff crate 2019-01-06 09:22:03 +00:00
Jack Grigg 76cd0d92bb Merge commit '4272cfa5b0dceac471bef115955e1534be84a018' into ff-traits
git-subtree-dir: bellman
git-subtree-split: 4272cfa5b0
2019-01-06 09:21:44 +00:00
Jack Grigg 88746e76fa Cargo.lock changes after pairing update 2019-01-06 09:20:00 +00:00
Jack Grigg 794cf79db2 Merge commit '3d41ee5abaa4888ff3607689aba007be8856816d' into ff-traits
git-subtree-dir: pairing
git-subtree-split: 3d41ee5aba
2019-01-06 09:19:29 +00:00
Jack Grigg 9f7e5fa3ce Dependency updates after pairing update 2019-01-06 09:02:30 +00:00
Jack Grigg fe16e4a412 Merge commit '183a64b08e9dc7067f78624ec161371f1829623e' into ff-traits
git-subtree-dir: pairing
git-subtree-split: 183a64b08e
2019-01-06 09:01:44 +00:00
Jack Grigg 1a1c77536d cargo fmt 1.31.1 2019-01-03 21:52:06 +00:00
Jack Grigg e378229bdd Move Sapling proving and binding signature into zcash_proofs crate 2018-12-01 00:10:51 +00:00
Jack Grigg 922ffe6002 Refactor Sapling proving and binding signature 2018-12-01 00:06:50 +00:00
Jack Grigg e1841806c5 Move Sapling verification checks into zcash_proofs crate 2018-11-30 23:53:10 +00:00
Jack Grigg eb2db2e667 Refactor Sapling verification checks 2018-11-30 23:50:50 +00:00
Jack Grigg c9b23dfdef Extract single-TxOut hashing from signature_hash_data() for clarity 2018-11-30 23:13:39 +00:00
Jack Grigg e25b614573 Match error message in Amount::Read_i64() to allow_negative value 2018-11-30 23:04:04 +00:00
Jack Grigg 7ff32b04d6 Document enforcement of consensus rules on transaction components 2018-11-30 22:59:48 +00:00
Jack Grigg d707ebd321 Use Option<[u8; N]> for JoinSplit pubkey and signature in a transaction 2018-11-30 01:08:45 +00:00
Jack Grigg 9b06205ed6 Reject unexpected binding sig during transaction write 2018-11-30 00:54:30 +00:00
Jack Grigg 61ce4dd3d6 Enforce range checks when reading Amounts 2018-11-30 00:30:37 +00:00
Jack Grigg 9282c7da29 Replace tx_read_write() test vector with one from current testnet chain 2018-11-16 09:50:27 +00:00
Jack Grigg 2d2e4aad86 Pass &[E] into Vector::write() instead of &Vec<E> 2018-11-16 08:55:06 +00:00
Jack Grigg cc183efda4 Define MAX_SIZE constant for CompactSize serialization 2018-11-16 08:52:53 +00:00
Jack Grigg 1f11c404dc Convert Transaction into a wrapping struct with impl Deref
Users who have a Transaction can now only obtain an immutable reference
to its underlying data.
2018-11-09 08:34:49 +13:00
Jack Grigg 0c81695731 ZIP 243 2018-11-09 08:34:49 +13:00
Jack Grigg 2d8b1fe504 ZIP 143 2018-11-09 08:34:38 +13:00
Jack Grigg bbec1b841d Use slices of native strings to pass parameter paths into Rust
On Windows, the slices are [u16] representing UTF-16. On all other
platforms, the slices are [u8] in the native filesystem encoding.

Closes #44.
2018-10-27 16:27:49 +13:00
Jack Grigg 041671f642 Merge branch 'zcash-2.0.1' 2018-10-11 20:57:50 +01:00
Jack Grigg e490b79907 Transaction serialization 2018-10-11 18:05:50 +01:00
Jack Grigg 91ff2c71cf Helper for serializing CompactSize-prefixed vectors 2018-10-11 17:48:12 +01:00
Jack Grigg 77ee1d6a8f ZIP 32 APIs 2018-08-30 00:05:49 +01:00
Jack Grigg 6e0364cd42 Update workspace after pulling in zip32 crate 2018-08-29 09:57:52 +01:00
Jack Grigg 6526b9fb53 Add 'zip32/' from commit '176470ef41583b5bd0bd749bd1b61d417aa8ec79'
git-subtree-dir: zip32
git-subtree-mainline: a9059c9372
git-subtree-split: 176470ef41
2018-08-29 09:55:40 +01:00
Jack Grigg a9059c9372 Update workspace after pulling in external crates 2018-08-28 23:06:15 +01:00
Jack Grigg 051027cb6d Add 'sapling-crypto/' from commit '21084bde2019c04bd34208e63c3560fe2c02fb0e'
git-subtree-dir: sapling-crypto
git-subtree-mainline: 9f748554d0
git-subtree-split: 21084bde20
2018-08-28 23:04:13 +01:00
Jack Grigg 9f748554d0 Add 'bellman/' from commit '10c5010fd9c2ca69442dc9775ea271e286e776d8'
git-subtree-dir: bellman
git-subtree-mainline: e924247e73
git-subtree-split: 10c5010fd9
2018-08-28 23:03:52 +01:00
Jack Grigg e924247e73 Add 'pairing/' from commit '09b6e6f9212020f385218e5cf5287e381ccd312b'
git-subtree-dir: pairing
git-subtree-mainline: ad16ba6a35
git-subtree-split: 09b6e6f921
2018-08-28 23:03:42 +01:00
Jack Grigg ad16ba6a35 Empty crates as a base for code refactoring 2018-08-28 22:24:14 +01:00
Jack Grigg 0ec85d362d Set up a Cargo workspace 2018-08-23 21:10:04 +01:00
Jack Grigg d7257ce010 Move librustzcash crate into subdir 2018-08-23 21:04:02 +01:00
Jack Grigg 6671234ad1 cargo fmt 2018-08-22 23:59:40 +01:00
Jack Grigg 770c4bef25 Simplify creation of FVKFingerprint and FVKTag 2018-08-22 23:59:20 +01:00
Jack Grigg e27fc674f5 Tidy up DiversifierIndex::increment() 2018-08-22 23:45:56 +01:00
Jack Grigg 5c16673724 cargo fmt 2018-08-20 12:47:43 +01:00
Jack Grigg ac8b27a5ba Expose contents of DiversifierIndex 2018-08-03 13:22:50 +01:00
Jack Grigg a4e86be665 Check ivk in test vectors 2018-08-03 13:22:35 +01:00
Jack Grigg 80130f5656 Expose underlying ExpandedSpendingKey and FullViewingKey for writing 2018-08-01 10:41:50 +01:00
Jack Grigg 599079fafe Rename xsk: ExpandedSpendingKey -> expsk to disambiguate 2018-08-01 10:38:07 +01:00
Jack Grigg 39f978bb4f ExtendedSpendingKey::read() and ExtendedFullViewingKey::read() 2018-08-01 10:33:37 +01:00
Jack Grigg 9c9607e47a Add missing wrapping_add() caught by test vectors 2018-08-01 03:00:19 +01:00
Jack Grigg 342d97ac15 Test vectors from Python implementation 2018-08-01 02:52:41 +01:00
Jack Grigg e47cafd691 ExtendedSpendingKey::write() and ExtendedFullViewingKey::write() 2018-08-01 02:51:18 +01:00
Jack Grigg 3b31854de7 Payment address derivation 2018-07-31 17:24:02 +01:00
Jack Grigg fea07c52de Diversifier derivation 2018-07-31 17:24:02 +01:00
Jack Grigg f5d6091c93 Path derivation 2018-07-31 17:24:02 +01:00
Jack Grigg e87fb329f9 Child key derivation 2018-07-31 17:24:02 +01:00
Jack Grigg 0e1d440287 Serialization and fingerprint for ExpandedSpendingKey and FullViewingKey 2018-07-31 17:24:02 +01:00
Jack Grigg 2fdfa4b671 ExtendedSpendingKey::master() 2018-07-31 17:24:02 +01:00
Jack Grigg 8db848139b Basic conversions 2018-07-31 17:24:02 +01:00
Jack Grigg 1b8da6b12d ZIP 32 structures 2018-07-31 17:23:58 +01:00
Jack Grigg 1e3f7739a3 Empty crate 2018-07-10 23:23:02 +01:00
Jack Grigg 4272cfa5b0 Make pairing and groth16 optional 🎉 2018-07-06 21:51:22 +01:00
Jack Grigg 276e09f1fb Use ff:ScalarEngine instead of pairing::Engine in bellman core 2018-07-06 21:37:28 +01:00
Jack Grigg 3e8f2f8202 Use group crate for curve traits and wNAF 2018-07-06 21:24:03 +01:00
Jack Grigg 718b25c949 Use ff crate for Field traits 2018-07-06 21:10:44 +01:00
Jack Grigg 3d41ee5aba Remove now-unused imports from root 2018-07-05 19:37:01 +01:00
Jack Grigg 7dfc50e763 Use group crate for curve traits 2018-07-05 19:36:55 +01:00
Jack Grigg fa8103764a cargo fmt 2018-07-04 22:34:42 +01:00
Jack Grigg c5b883f91e Migrate to ff 0.4 2018-07-04 22:34:38 +01:00
Jack Grigg 4752a91781 Remove clippy from dependencies. 2018-07-04 22:34:21 +01:00
Jack Grigg 94cacc6152 Migrate curve traits and tests, and WNAF, from pairing 2018-07-03 09:59:28 +01:00
Jack Grigg 526676ecfc Bump version to 0.4.0 2018-07-02 23:08:13 +01:00
Jack Grigg 2067360930 Add ScalarEngine trait
This is extracted from pairing's Engine trait.
2018-07-02 23:08:12 +01:00
Jack Grigg 0eb9f5040b Remove u128-support feature and arithmetic
Closes #2.
2018-07-02 23:08:11 +01:00
Jack Grigg 69ce66ae6c Place ff_derive re-exports behind a feature
Part of #3.
2018-07-02 23:08:08 +01:00
Jack Grigg 002173e187 Update README.md
Closes #4.
2018-07-02 23:08:03 +01:00
Jack Grigg 06a152734c Add missing SqrtField import to benches 2018-07-02 18:41:55 +01:00
Jack Grigg c49590bab7 Change all remaining uses of *Field to reference ff crate 2018-07-02 16:04:52 +01:00
Jack Grigg bb22a167af Update authors 2018-07-02 15:51:32 +01:00
Jack Grigg defdf8df52 Connect ff u128-support to pairing u128-support 2018-07-02 15:49:47 +01:00
Jack Grigg a9d8079c2a Replace implementations of Fq and Fr with derives 2018-07-02 15:48:12 +01:00
Jack Grigg d9d711ebb7 Use explicit imports instead of re-exporting the ff crate 2018-07-02 15:48:12 +01:00
Jack Grigg 1db099f1cc Use ff crate for Field traits 2018-07-02 15:47:52 +01: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