Kris Nuttycombe
7d873e9d79
Fix test compilation errors related to UFVK construction.
2022-01-21 19:01:32 -07:00
Kris Nuttycombe
574ca4e180
Add accessors to UnifiedSpendingKey
2022-01-21 18:20:12 -07:00
Kris Nuttycombe
281a4d5c16
Add accessors for the ExtendedPrivKey wrapped by AccountPrivKey
2022-01-21 18:07:23 -07:00
Kris Nuttycombe
7c03dbdc95
Add convenience method for amount sums.
2022-01-21 16:48:53 -07:00
Kris Nuttycombe
00aee09662
Add accessors for the ExtendedPubKey wrapped by AccountPubKey
2022-01-21 14:02:51 -07:00
Kris Nuttycombe
dec395a5b0
Add unified spending keys.
2022-01-21 13:54:23 -07:00
Kris Nuttycombe
8f408354b9
Remove cyclic dev dependency between zcash_client_backend and zcash_client_sqlite.
2022-01-20 21:50:26 -07:00
Kris Nuttycombe
f75ffb0eaf
Document wallet database initialization.
2022-01-20 20:20:58 -07:00
Kris Nuttycombe
79bd2f7733
Add missing documentation & rustfmt.
2022-01-20 20:14:44 -07:00
Kris Nuttycombe
ffc4d0cefb
Add newtypes for transparent keys at the account & external levels.
...
This updates UnifiedFullViewingKey to conform to ZIP 316, and
adds types that facilitate this support. These types should likely
be factored out from `zcash_client_backend` into `zcash_primitives`
along with the remainder of the existing unified address support.
2022-01-20 20:03:20 -07:00
therealyingtong
eb80138cf9
Document new APIs for deriving internal keys.
2022-01-21 10:49:17 +08:00
Kris Nuttycombe
82c1d87dcd
Fix incorrect length of blake2b hashes for internal key derivation.
...
Co-authored-by: str4d <jack@electriccoin.co>
2022-01-20 18:08:01 -07:00
Kris Nuttycombe
37e6d3a2bc
Apply suggestions from code review
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: ying tong <yingtong@z.cash>
2022-01-20 16:43:57 -07:00
Kris Nuttycombe
3dd1f310d9
Merge remote-tracking branch 'upstream/non-consensus-changes-on-branchid-37519621' into autoshield-poc-daa
2022-01-20 13:54:38 -07:00
Kris Nuttycombe
da3833f906
Fix missing use of `dk` in derivation of sapling internal FVK.
...
Also, factor out sapling internal fvk derivation so that it only
requires (fvk, dk) since we may not have the full extfvk.
2022-01-20 13:50:12 -07:00
therealyingtong
f6f5096ae4
Derive Sapling internal full viewing key.
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-01-20 13:50:12 -07:00
therealyingtong
a98010a684
Derive Sapling internal spending key.
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-01-20 13:50:12 -07:00
Kris Nuttycombe
81c69dd0a9
Merge pull request #472 from nuttycom/zip_244/hw_wallet_commitments
...
Make transparent signatures commit to all input amounts & scripts.
2022-01-19 09:13:47 -07:00
Kris Nuttycombe
eaa3ec56d0
Apply suggestions from code review
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-01-19 08:32:59 -07:00
Kris Nuttycombe
7b2f9e27ae
Rename script_code to script_pubkey in zip244 test vectors.
2022-01-19 08:32:59 -07:00
Kris Nuttycombe
fc82801d3d
Update v5 transparent signature hashes to always commit to scriptPubKey
2022-01-19 08:32:59 -07:00
Kris Nuttycombe
3c6e19f4e4
Update test vectors.
2022-01-19 08:32:59 -07:00
Kris Nuttycombe
37fdf88462
Make hash_type a property of the SignableInput::Transparent
2022-01-19 08:32:59 -07:00
Kris Nuttycombe
145d1a57f7
Make transparent signatures commit to all input amounts & scripts.
...
Transparent UTXOs are referred as pair of previous txid and index. In
order to verify UTXO's amount in HWW (hardware wallet), whole previous
transaction containing this UTXO must be streamed into the device. This
increases complexity of signing process significantly.
zcash/zips#574 identifies this problem and suggests a modification
to ZIP-244 to resolve this issue, by adding three new fields to
section S.2 of the signature hash.
2022-01-19 08:32:59 -07:00
Squirrel
c910ffdb41
Remove unused dependencies ( #479 )
...
Remove unused dependencies
Co-authored-by: Kris Nuttycombe <kris.nuttycombe@gmail.com>
Co-authored-by: str4d <thestr4d@gmail.com>
2022-01-18 12:04:14 -07:00
Daira Hopwood
672d123265
Update copyright year in LICENSE-MIT.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-18 14:19:53 +00:00
Daira Hopwood
e588e680ed
Ensure that GitHub's "View license" link points to complete license information.
...
refs https://github.com/zcash/librustzcash/issues/443
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-18 14:19:53 +00:00
Kris Nuttycombe
7801dddf35
Merge pull request #474 from nuttycom/enforce_typecode_order
...
Unified container parsing enforces typecode order.
2022-01-04 16:09:55 -07:00
Kris Nuttycombe
8d34e62114
Clean up proptest generation for unified containers.
2022-01-04 15:31:20 -07:00
Kris Nuttycombe
e3c67ffee6
Pin pprof version
2022-01-04 11:48:59 -07:00
Kris Nuttycombe
6065c07003
Update test vectors to respect item ordering.
2022-01-04 11:48:23 -07:00
Kris Nuttycombe
2fa73ed368
Remove `Ord` instances for sealed items.
...
There are two canonical orderings for sealed items: preference
order and encoding order. Removing the `Ord` instances means
that a user can't accidentally choose the wrong ordering;
these orderings are replaced by explicit `preference_order`
and `encoding_order` comparison functions.
2022-01-04 11:48:23 -07:00
Kris Nuttycombe
e413f12fb5
Apply suggestions from code review
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-01-04 11:48:23 -07:00
Kris Nuttycombe
4c4c0b1e63
Makes unified container parsing enforce typecode order.
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-01-04 11:48:23 -07:00
str4d
5622b060b1
Merge pull request #471 from zcash/update-deps
...
Update dependencies
2021-12-18 00:08:40 +00:00
Jack Grigg
fe05d2dc11
pprof 0.6
2021-12-17 23:47:00 +00:00
Jack Grigg
07a95d70c9
incrementalmerkletree 0.2
2021-12-17 23:46:00 +00:00
Jack Grigg
d5a375919d
blake2{b,s}_simd 1
2021-12-17 23:44:06 +00:00
str4d
34bc61da0b
Merge pull request #470 from zcash/zcash_note_encryption-0.1.0
...
`zcash_note_encryption 0.1.0`
2021-12-17 23:43:39 +00:00
Jack Grigg
36db7634a0
orchard 0.1.0-beta.1
2021-12-17 22:22:25 +00:00
Jack Grigg
142a38e792
zcash_note_encryption 0.1.0
2021-12-17 20:00:46 +00:00
Jack Grigg
c4cbb2dd74
zcash_note_encryption: License files and readme
2021-12-17 15:16:17 +00:00
Jack Grigg
e8a755f633
zcash_note_encryption: Clean up dependencies
...
Several dependencies were copied over during the extraction of this
crate's logic from `zcash_primitives`, but are in fact only required for
the protocol-specific logic. We can also remove the `std` feature flag,
since we no longer have a dependency on `blake2b_simd` that needs its
`std` flag exposed for performance.
2021-12-17 15:06:22 +00:00
Jack Grigg
d511a788c4
zcash_note_encryption: Crate documentation
2021-12-17 15:06:22 +00:00
Jack Grigg
edc3557e30
zcash_note_encryption: Document APIs
2021-12-17 14:12:18 +00:00
Jack Grigg
5409291b0c
zcash_note_encryption: Add `doc_cfg` annotations
2021-12-17 14:12:18 +00:00
str4d
905c6e2dd0
Merge pull request #469 from zcash/zcash_note_encryption-api-cleanups
...
`zcash_note_encryption` API cleanups
2021-12-17 13:42:42 +00:00
Jack Grigg
e148ca84ba
Migrate to latest `zcash_note_encryption` API
2021-12-17 05:34:45 +00:00
Jack Grigg
76f364593a
zcash_note_encryption: Constrain outgoing ciphertext size
...
This replaces a length assertion, making the API more predictable.
2021-12-17 05:23:53 +00:00
Jack Grigg
4fcd83d74e
zcash_note_encryption: Constrain `ShieldedOutput` ciphertext size
...
Previously we were returning the ciphertext as a slice, and then
asserting its length within the APIs the caller passed it into. Now
instead we require the caller to define whether or not the output is
compact, to make the API more predictable.
This doesn't place any additional constraints on users of this trait,
because the assertions already prevented a full output from being passed
to a compact trial decryption API.
2021-12-17 05:23:53 +00:00