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
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
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
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
Jack Grigg
d54e1f0bf7
zcash_note_encryption: Remove `Domain::check_epk_bytes`
...
`Domain::derive_esk` provides sufficient information to determine
whether or not we need to enforce `EphemeralSecretKey`-specific
decryption checks, as it returns `None` for pre-ZIP 212 notes.
2021-12-17 04:30:57 +00:00
Jack Grigg
7c1687dcc1
zcash_note_encryption: Use `*PlaintextBytes` structs in `Domain` APIs
...
`Domain::parse_note_plaintext_without_memo_ivk` is used with both full
note plaintexts and compact notes, so continues to accept a slice. For
all other `Domain` APIs, we constrain the input to `NotePlaintextBytes`
or `OutPlaintextBytes` as appropriate.
2021-12-17 04:30:57 +00:00
Jack Grigg
01c768dbeb
zcash_note_encryption: Place pre-ZIP 212 APIs behind a feature flag
2021-12-17 04:30:57 +00:00
str4d
69c3b4b5e1
Merge pull request #467 from nuttycom/decrypt_diversifier_index
...
Add decryption of Sapling diversifiers.
2021-12-13 21:03:27 +00:00
Kris Nuttycombe
c72ddb1251
Improve documentation of DiversifierKey#diversifier_index
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-12-13 13:37:11 -07:00
Kris Nuttycombe
8e934682bb
Add decryption of Sapling diversifiers.
...
Given a diversifier key, decrypts a diversifier to obtain
the diversifier index from which the diversifier was originally
produced.
Co-authored-by: str4d <jack@electriccoin.co>
2021-12-13 13:08:58 -07:00
Kris Nuttycombe
6fb0fbea31
Merge pull request #420 from zcash/unified-viewing-keys
...
`zcash_address`: Parse unified viewing keys
2021-12-07 14:15:47 -07:00
Kris Nuttycombe
fd786f28b7
Ensure unrecognized prefixes map to ParseError::NotZcash
2021-12-07 12:59:41 -07:00
Kris Nuttycombe
4e906508ae
Make unified container construction correctly sort items.
...
Newly constructed unified containers now obey ZIP 316 item
ordering rules, while parsing and reserialization preserve
order.
2021-12-07 11:07:15 -07:00
Kris Nuttycombe
e7c57e4a02
Use `from` instead of a possibly-future-incompatible cast
2021-12-07 09:25:50 -07:00
Kris Nuttycombe
cc8c2868eb
Ensure that unknown typecodes don't duplicate known typecodes.
2021-12-07 09:16:55 -07:00
Kris Nuttycombe
cccc493067
Add unknown typecodes to UA proptests.
2021-12-06 11:34:12 -07:00
Kris Nuttycombe
e30f4bd094
Fix incorrect ordering of receivers in writing raw encoding.
2021-12-06 08:32:07 -07:00
Kris Nuttycombe
9144aaef0a
Ensure shrinking will work properly for ufvk proptests.
2021-12-03 15:27:25 -07:00
Kris Nuttycombe
fd300e0061
Apply suggestions from code review
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-12-03 14:26:02 -07:00
Kris Nuttycombe
a6420858f4
Fix clippy lints.
2021-12-03 14:21:40 -07:00
Kris Nuttycombe
76082e4287
Return correct errors for incorrectly encoded unified containers.
2021-12-03 14:15:02 -07:00
Kris Nuttycombe
ba3ff42e13
Address comments from code review.
2021-12-03 12:07:26 -07:00