Commit Graph

342 Commits

Author SHA1 Message Date
str4d 36e4b0d51a
Merge pull request #329 from nuttycom/ivk_payment_addresses
Introduce SaplingIvk newtype & use IVKs where possible.
2021-03-04 07:04:05 +13:00
Kris Nuttycombe b37b5876f2
Merge pull request #318 from nuttycom/tx_version_enum
Add TxVersion enum to make interacting with transaction version values safer.
2021-02-04 12:47:12 -07:00
Kris Nuttycombe 974669a50b Fix clippy lints. 2021-02-04 11:41:29 -07:00
Kris Nuttycombe 796161e9b4
Add suggested comment clarifying future additions to the TxVersion enum
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-02-04 11:22:13 -07:00
Kris Nuttycombe 1cc7949518 Rename CommitmentTree::new -> CommitmentTree::empty 2021-02-04 07:49:48 -07:00
Kris Nuttycombe 3423b03c6d Fix a couple more lints. 2021-02-04 07:31:00 -07:00
Kris Nuttycombe 98530184c0 Fix clippy complaints. 2021-02-03 14:27:31 -07:00
Kris Nuttycombe 7a57aee530 Introduce SaplingIvk newtype & use IVKs where possible.
This includes making it possible to obtain a payment address from just the IVK + diversifier.
2021-02-02 15:27:13 -07:00
François Garillot 45f3f5a945
Simplify a few pattern matches
A few pattern-matches correspond directly to standard combinators on
`Result`, `Option`. This uses them for concision / clarity.

Refactorings reviewed by the author after suggestion from [comby-rust](https://github.com/huitseeker/comby-rust).
2021-02-01 13:37:54 -05:00
Kris Nuttycombe 937fa06136 Fix randomized tests of zfuture transaction roundtrip. 2021-01-25 16:32:57 -07:00
Kris Nuttycombe 6373e7d053 Raise an error in the case that sprout version < 1.
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-01-25 16:32:57 -07:00
Kris Nuttycombe 1dd5a6dbcb Check all transaction versions in has_sprout and uses_groth_proof checks. 2021-01-25 16:32:57 -07:00
Kris Nuttycombe 06cd91059f Enable transaction serialization roundtrip tests outsize zfuture. 2021-01-25 16:32:57 -07:00
Kris Nuttycombe da4cf23668 Add TxVersion enum to make interacting with transaction version values safer.
Co-authored-by: str4d <thestr4d@gmail.com>
2021-01-25 16:32:57 -07:00
Sean Bowe 6315f7dc28
Use wNAF multiplication for Sapling key agreement. 2021-01-22 15:16:06 -07:00
Kris Nuttycombe 8e8ed2bb4f Rename get_verified_balance -> get_balance_at 2021-01-15 12:00:14 -07:00
Kris Nuttycombe c70a9ed81f Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: str4d <thestr4d@gmail.com>
2021-01-15 11:57:58 -07:00
Kris Nuttycombe ce06db197a Rustfmt. 2021-01-12 21:10:34 -07:00
Kris Nuttycombe db9eb29eba Merge remote-tracking branch 'upstream/master' into data_access_api 2021-01-12 21:09:40 -07:00
Kris Nuttycombe 7acc75249b Fix documentation of human-readable prefixes. 2021-01-12 20:45:28 -07:00
Kris Nuttycombe 7d92150965 Fix test compilation with WalletWrite changes. 2021-01-11 18:13:40 -07:00
Kris Nuttycombe aad2e174c1 Consistently use nullifier and AccountId newtypes. 2021-01-08 21:49:38 -07:00
Kris Nuttycombe 27d7b6c569 A few doc updates. 2021-01-08 18:08:02 -07:00
Kris Nuttycombe 472dac7a22
Revert intra_doc_link_resolution_failure flag change. 2020-12-17 07:36:18 -07:00
Kris Nuttycombe cf0c3ea90f Relax RngCore type constraints.
The intent of this change is to permit tests to use deterministic
random sources, rather than cryptographically strong ones.
2020-12-14 13:44:05 -07:00
Kris Nuttycombe c24f663e40 Use methods on sigversion to gate ZIP-243 and TZE signature parts. 2020-12-14 14:54:29 +00:00
Kris Nuttycombe 790071953c Use rust feature flagging to allow conditionally enabling TZE-related code.
This also uses the test-dependencies feature flag for conditional
inclusion of proptest-related modules which may be used by
dependent crates for generation of samples in testing.
2020-12-14 14:54:12 +00:00
Daira Hopwood 62675f4b4f Use the SHA-256d HashReader and HashWriter for transaction hashing.
This hashes the transaction as it is read, rather than hashing a re-serialization.

Co-authored-by: Jack Grigg <str4d@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-12-03 21:22:58 +00:00
Daira Hopwood 1f18da239f Add HashReader and HashWriter for SHA-256d.
Co-authored-by: Jack Grigg <str4d@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-12-03 21:22:58 +00:00
Kris Nuttycombe cf2dae8af0 Add hrp_sapling_extended_spending_key to Parameters trait. 2020-12-02 09:46:17 -07:00
Kris Nuttycombe ee0e059eb3 Add coin_type to consensus parameters. 2020-12-02 09:46:17 -07:00
Kris Nuttycombe a437df191e Initial skeleton of low-level database access API. 2020-12-02 09:46:17 -07:00
Kris Nuttycombe 1285ab0af2 Fix tests to account for modified default fees. 2020-11-24 01:24:19 +00:00
Kevin Gorham 53ebc378cc ZIP-313 change default fee amount. 2020-11-24 01:22:14 +00:00
Kris Nuttycombe f40174464a
Use slices as parameters rather than &Vec references.
Co-authored-by: str4d <thestr4d@gmail.com>
2020-11-19 14:49:24 -07:00
Kris Nuttycombe 726f02513d Make the functions which produce the components of the sighash reusable.
When implementing transaction nonmalleability, it will be useful
to have this already done.
2020-11-19 11:25:24 -07:00
Jack Grigg be8bae71be Suppress clippy lints where we want the given behaviour 2020-10-30 14:10:35 +00:00
Jack Grigg 91796adcda Remove wrapping closures around mapping functions 2020-10-30 14:10:35 +00:00
Jack Grigg 025deda712 impl Default for T on types with T::new() 2020-10-30 14:10:35 +00:00
Jack Grigg 44cbc6cc6d Remove unnecessary references 2020-10-30 14:10:35 +00:00
Jack Grigg 88474c71c7 Simplify expressions 2020-10-30 13:51:40 +00:00
Jack Grigg 0cb51f963c Remove unnecessary clones 2020-10-30 13:51:40 +00:00
Jack Grigg bc9ca20d56 Make use of assignment operators 2020-10-30 13:26:36 +00:00
Jack Grigg 890648df4d Use !x.is_empty() instead of x.len() > 0 2020-10-30 13:25:08 +00:00
Jack Grigg 0bbcd8c408 Remove unnecessary imports 2020-10-30 13:22:46 +00:00
Aditya Kulkarni 70ecd6b2d8 Export notesize constants 2020-10-26 11:31:22 -07:00
Jack Grigg d657ff906e zcash_primitives: Small simplification to Script::address 2020-10-18 13:17:16 +01:00
Kris Nuttycombe b1c3f9d3f0
ZIP 321 Reference Implementation (#294)
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2020-10-15 14:03:40 +01:00
Kris Nuttycombe eeb0c2b08a
Update comment in zcash_primitives/src/transaction/builder.rs 2020-10-13 14:28:54 -06:00
Kris Nuttycombe 536c77bea7 Fix formatting. 2020-10-13 07:12:33 -06:00