Commit Graph
50 Commits
Author SHA1 Message Date
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 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 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 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 b27dc2914b Remove redundant signature check
E::Fs guarantees its representation is in the field, implicitly enforcing
that S < order(G).
2018-04-30 13:55:41 +01:00
Jack Grigg e94dbf2523 Parameterize the generator in RedJubjub
Per the specification, the generator is different between BindingSig and
SpendAuthSig.
2018-04-26 22:42:54 +01:00
Jack Grigg 4eab1fc68a Implement RedJubjub serialization
Also alters the Signature struct to store Rbar and Sbar instead of R and S,
to more closely match the specification.
2018-04-26 22:42:20 +01:00
Jack Grigg f54feda94f Fix comment
h/t omershlo from Zcash Community Chat for spotting it!
2018-04-26 12:30:08 +01:00
Jack Grigg 840c23bd23 Specify pre-conditions for signature validation 2018-04-19 16:17:40 +01:00
Jack Grigg 45e4ca38e4 Match additive notation with variable name 2018-04-18 23:59:22 +01:00
Jack GriggandSean Bowe 916dbce2df Implement RedJubjub
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
2018-04-17 00:40:11 +01:00
Jack GriggandSean Bowe 0f230a70b9 Implement uniform sampling of Jubjub scalars
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
2018-04-15 15:52:45 -06:00
Jack Grigg 97bead9977 Update benchmark to use final Sapling circuit implementation 2018-03-27 16:03:02 +02:00
Jack Grigg d715e812bd Un-disable benchmark 2018-03-24 00:40:16 +01:00