Commit Graph

301 Commits

Author SHA1 Message Date
Kris Nuttycombe 924ee09bc4 Add documentation to primary `Extension` trait 2020-09-18 11:21:44 -06:00
Kris Nuttycombe c35c501734 Add comment on FUTURE_TX_VERSION/GROUP_ID` 2020-09-10 14:52:47 -06:00
Kris Nuttycombe 208208238d Add property test for round-trip serialization of TZE-bearing transactions. 2020-09-10 14:52:47 -06:00
Kris Nuttycombe a5d5f87b48 Bind TZE inputs and outputs in signature. 2020-09-10 14:52:47 -06:00
Kris Nuttycombe eb4a2d5032 Add domain separator to transparent signatures.
Once TZEs are active, we would like to ensure that collisions
between TZE input signatures and transparent input signatures
cannot occur, so we add a domain separator to both.

This also ensures that if TZE inputs are presented for signature
without using the `Future` sighash version, that the signing
code will report an error.
2020-09-10 14:52:47 -06:00
Kris Nuttycombe 5a432b5e2b Ensure that prevout, extension_id & mode data can be signed in builder. 2020-09-10 14:52:47 -06:00
Kris Nuttycombe 1a8168e1c9 Document transaction builder methods. 2020-09-10 14:52:47 -06:00
Kris Nuttycombe 671caa8b84 Remove unused Epoch trait. 2020-09-10 14:52:47 -06:00
Kris Nuttycombe 23634d4cd0 Document ExtensionTxBuilder methods 2020-09-10 14:52:47 -06:00
Kris Nuttycombe 9d2f388b3b Apply idiomatic rustlang suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
2020-09-10 14:52:47 -06:00
Kris Nuttycombe 9ef15b536c Update method documentation in zcash_primitives/src/extensions/transparent.rs
Co-authored-by: str4d <thestr4d@gmail.com>
2020-09-10 14:52:47 -06:00
Kris Nuttycombe b15e49ef47 Documentation update to zcash_primitives/src/extensions/transparent.rs
Co-authored-by: str4d <thestr4d@gmail.com>
2020-09-10 14:52:47 -06:00
Kris Nuttycombe af931d524a Demo TZE fixes in response to PR comments. 2020-09-10 14:52:47 -06:00
Kris Nuttycombe aed2759e1e Use NetworkUpgrade for TZE epoch determination.
This adds a `Future` variant for both BranchId and NetworkUpgrade.
2020-09-10 14:52:47 -06:00
Kris Nuttycombe 81b6f8afd7 Formatter fix. 2020-09-10 14:52:47 -06:00
Kris Nuttycombe 4bf6309c54 Update to non-yanked version of subtle crate. 2020-09-10 14:52:47 -06:00
Kris Nuttycombe 8299f336d3 Add test for tze txn parsing. 2020-09-10 11:58:40 -06:00
Kris Nuttycombe dc9b007e8e Add signature hash over TZE data. 2020-09-10 11:58:40 -06:00
Kris Nuttycombe 294aa86195 Change extension_id and mode types to u32 2020-09-10 11:58:40 -06:00
Kris Nuttycombe 4edbd26d7f Keep transaction details private. 2020-09-10 11:58:40 -06:00
Kris Nuttycombe fe6bea1fce Check transparent input for correctness before modifying vin. 2020-09-10 11:58:40 -06:00
Kris Nuttycombe 4a954c7f8f Add tests for transaction builder support. 2020-09-10 11:58:40 -06:00
Kris Nuttycombe ca8e24eef5 Add validation to demo transaction builder. 2020-09-10 11:58:40 -06:00
Kris Nuttycombe 659c34a954 Make error a type member of FromPayload trait rather than a type variable.
Fix demo test compilation errors.
2020-09-10 11:58:40 -06:00
Jack Grigg 961d251178 Add transaction-builder suport for TZE-bearing transactions. 2020-09-10 11:58:40 -06:00
Jack Grigg bf7f95b0e9 TZE consensus context and program sets
Co-authored-by: Kris Nuttycombe <kris.nuttycombe@gmail.com>
2020-09-10 11:58:40 -06:00
Jack Grigg ce9a695ded Demo TZE parsing and consensus logic 2020-09-10 11:58:40 -06:00
Jack Grigg b3332db3e9 Add TZEs to transaction format 2020-09-10 11:58:40 -06:00
Sean Bowe d4cba74402
Version bump 0.4.0 for crates
Bumps zcash_proofs, zcash_primitives, zcash_client_backend to 0.4.0
Also bumps zcash_client_sqlite to 0.2.0
2020-09-09 14:41:19 -06:00
ebfull c7e9523dce
Merge pull request #284 from str4d/259-ovk-none
zcash_primitives: Support ovk = ⊥ in note encryption
2020-09-09 14:32:57 -06:00
Jack Grigg 59e26a0c0f bls12_381 0.3.1 and jubjub 0.5.1 2020-09-09 16:51:53 +01:00
Jack Grigg 6a62993714 secp256k1 0.19 2020-09-09 00:38:54 +01:00
Jack Grigg 96bd59b942 Migrate to ff 0.8 and bellman 0.8
bellman 0.8 includes fixes for several performance regressions.

MSRV is now 1.44.0, matching the ff crate.
2020-09-09 00:27:51 +01:00
Jack Grigg 40e135783c zcash_primitives: Support ovk = ⊥ in note encryption
Closes zcash/librustzcash#259.
2020-08-28 21:17:16 +01:00
Jack Grigg 72817b0edc zcash_primitives: Add OutgoingCipherKey struct 2020-08-28 16:17:15 +01:00
Jack Grigg 3f06d92eec Depend on published versions of subtree crates 2020-08-27 23:25:20 +01:00
Jack Grigg e25a7dacdf zcash_primitives 0.3.0 2020-08-23 16:23:53 +01:00
Jack Grigg d112add8a3 jubjub 0.4.0 2020-08-23 16:23:53 +01:00
Jack Grigg 5f99c52143 bls12_381 0.2.0 2020-08-23 16:23:53 +01:00
Jack Grigg bdb42bcbc8 pairing 0.17.0 2020-08-23 15:31:09 +01:00
Jack Grigg ee3e8fbfbb group 0.7.0 2020-08-23 15:31:09 +01:00
Jack Grigg 55fa366730 ff 0.7.0 2020-08-23 15:31:09 +01:00
Jack Grigg a3cb89dff9 zcash_primitives: Add feature flags to docs.rs documentation 2020-08-23 06:56:03 +01:00
Daira Hopwood cfed47c176 Rename ValueCommitment.cm() to .commitment() (because it's confusing to have cm referring to both note and value commitments).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-22 01:28:13 +01:00
Daira Hopwood 20c5096793 Fix remaining cases of cm -> cmu.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-22 01:28:13 +01:00
Daira Hopwood ee6c21f95b Scripted diff:
```
find . -not -path '*/.git/*' -a -type f -exec sed -i -e 's/hash_x/hash_u/g' {} \;
find . -not -path '*/.git/*' -a -type f -exec sed -i -e 's/hash_y/hash_v/g' {} \;
```

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-22 01:28:13 +01:00
Jack Grigg d15acf8acc zcash_primitives: Rename Note::cm to Note::cmu 2020-08-21 18:35:04 +01:00
Jack Grigg 7a6223202e zcash_primitives: Remove redundant TODO
The primitives are no longer generic over a curve; we hard-code Jubjub,
so we know that the smallest u-coordinate that is not on the curve is 1.
2020-08-21 18:27:09 +01:00
Jack Grigg ca5bc6b0ae zcash_primitives: Fix names of some test vector macros 2020-08-21 18:25:30 +01:00
Jack Grigg ed3489a111 zcash_primitives: Explicitly type zero-initialised arrays 2020-08-21 18:22:29 +01:00