Commit Graph

1475 Commits

Author SHA1 Message Date
Kris Nuttycombe 03b4e56a44 Formatting fix. 2020-09-23 17:14:35 -06:00
Kris Nuttycombe b6cd096c10 Generate plausible scripts for transaction proptests.
Co-authored-by: str4d <thestr4d@gmail.com>
2020-09-23 14:48:10 -06:00
Kris Nuttycombe 9963fb9e57 Use CompactSize & Vector::write for tze sighash construction. 2020-09-23 14:37:48 -06:00
Kris Nuttycombe 995d063992 Documentation fixes from code review.
Co-authored-by: str4d <thestr4d@gmail.com>
2020-09-23 14:16:29 -06:00
Kris Nuttycombe 2e02803492 Use more idiomatic construction of fixed-length arrays from slices.
Co-authored-by: str4d <thestr4d@gmail.com>
2020-09-23 13:44:37 -06:00
Kris Nuttycombe 6a536aa88a Use more informative type names in Extension trait. 2020-09-23 13:35:14 -06:00
Kris Nuttycombe 36c28341b3 Additional future -> zfuture renaming. 2020-09-23 13:11:47 -06:00
Kris Nuttycombe 605e6d9b30 Avoid early returns in tze demo. 2020-09-23 13:09:25 -06:00
Kris Nuttycombe 99eb5b9336 Rename `Future -> ZFuture`
Proactively distinguish against future use of the
futures crate for source greppability.
2020-09-22 10:17:58 -06:00
Kris Nuttycombe a0a36eddfd Merge remote-tracking branch 'upstream/master' into zip-tzes
Fix benchmark build issues.
2020-09-21 16:43:33 -06:00
str4d 03ab89f7c7
Merge pull request #293 from narodnik/master
Make fixed generator functions publicly accessible
2020-09-22 09:47:35 +12:00
narodnik 6297087a5d Mark EDWARDS_D, MONTGOMERY_A, MONTGOMERY_SCALE and PEDERSEN_CIRCUIT_GENERATORS as public only within the crate. 2020-09-21 22:59:38 +02:00
Kris Nuttycombe ab2d5bf603 Merge remote-tracking branch 'upstream/master' into zip-tzes 2020-09-21 10:08:05 -06:00
str4d e0587e752b
Merge pull request #290 from str4d/273-remove-decryption-epk-subgroup-check
Take epk as a jubjub::ExtendedPoint for note decryption
2020-09-22 03:05:35 +12:00
narodnik 81e3ab1c91 make fixed generator functions publicly accessible 2020-09-20 21:01:39 +02:00
str4d 8f08723712
Merge pull request #261 from nuttycom/dyn_network_parameters
Remove static determination of network state.
2020-09-19 10:21:36 +12:00
Kris Nuttycombe b30de1da8d Add more documentation for the demo extension. 2020-09-18 12:22:14 -06:00
Kris Nuttycombe d4abd05512 Add comments to demo extension. 2020-09-18 11:50:50 -06:00
Kris Nuttycombe 924ee09bc4 Add documentation to primary `Extension` trait 2020-09-18 11:21:44 -06:00
Kris Nuttycombe c7c39964ec Use block.height() method instead of .into() 2020-09-18 10:55:29 -06:00
Kris Nuttycombe cfb6850d7c Rustfmt 2020-09-18 10:52:58 -06:00
Kris Nuttycombe 80e1d35ea6 Apply additional suggestions from code review. 2020-09-18 10:40:30 -06:00
Kris Nuttycombe 90d8980162
Apply suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
2020-09-18 10:39:37 -06:00
Kris Nuttycombe d232133216 Add constants to support static resolution of network parameters. 2020-09-17 12:58:23 -06:00
Kris Nuttycombe 1ad9294933 Remove static determination of network state.
In the interest of making the library usable for both
testnet and mainnet without recompilation, static resolution
of network parameters has been replaced with a parameter passed
to the relevant functions. This also moves addres prefix constants
into the network parameters.
2020-09-17 10:34:42 -06:00
Kris Nuttycombe efaba87681 Add newtype for block height. 2020-09-17 10:26:41 -06:00
Kris Nuttycombe 3601f077a1 Correct zcash_proofs dependency version. 2020-09-10 15:35:36 -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
Jack Grigg 93ffd94af0 zcash_extensions: Only run demo builder test if we have parameters 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