Commit Graph

63 Commits

Author SHA1 Message Date
Andrew Arnott 2ee56f77f2
Merge remote-tracking branch 'upstream/main' into ufvk_import_support 2024-07-17 23:31:08 -06:00
Andrew Arnott d27bf4fc12
Fix importing of UFVKs with fewer keys than possible 2024-06-19 17:41:37 -06:00
Daira-Emma Hopwood 9881e811ea Miscellaneous documentation improvements.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-18 21:24:33 +01:00
Daira-Emma Hopwood 2337f79484 Add `zcash_keys::Address::Tex`.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-18 21:03:22 +01:00
Jack Grigg f54ee4abde Migrate from `hdwallet` to `bip32`
As part of this, we migrate to `secp256k1 0.27`. This version does not
bump `secp256k1-sys`, so remains compatible with the `libsecp256k1`
revision used in `zcashd`.

The `zcash_primitives::legacy::keys::AccountPrivKey` encoding also
changes to preserve the transparent extended key metadata. Previously
the type was documented as such, but only encoded the private key and
chain code; the new encoding now matches the documentation. As a side
effect, the unstable encoding of `zcash_keys::keys::UnifiedSpendingKey`
also changes.

Closes zcash/librustzcash#1407.
Closes zcash/librustzcash#1408.
2024-06-15 00:04:37 +00:00
Jack Grigg bffe6a4a10 Bump MSRV to 1.70 2024-06-12 10:58:17 +00:00
Daira-Emma Hopwood aa77be8830 Update dependencies (including to avoid a vulnerability warning for atty), bump MSRV to 1.66,
and fix new clippy lints for MSRV 1.66.

* tonic 0.10 -> 0.11
* tonic-build 0.10 -> 0.11
* cargo update
* cargo update -p home@0.5.9 --precise 0.5.5
* cargo update -p prost-build@0.12.4 --precise 0.12.3
* cargo update -p prost-types@0.12.4 --precise 0.12.3
* cargo update -p prost@0.12.4 --precise 0.12.3
* cargo update -p prost-derive@0.12.5 --precise 0.12.3
* cargo update -p half@2.4.1 --precise 2.2.1

(The precise updates avoid a further MSRV bump to 1.70.)

Remaining duplicates are currently unavoidable.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-05-20 13:35:27 +01:00
Kris Nuttycombe d2aa6cfc7f Apply suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
2024-04-22 14:41:50 -06:00
Kris Nuttycombe aeac544aed Address comments from code review. 2024-04-22 10:55:25 -06:00
Daira-Emma Hopwood ea82dbeb64
Apply straightforward suggestions from code review 2024-04-18 01:12:13 +01:00
Kris Nuttycombe f28aa6b304 `zcash_{keys, client_backend}`: Fix no-default-features build. 2024-04-11 18:00:59 -06:00
Kris Nuttycombe b60600a4c3 zcash_client_sqlite: Use `ZcashAddress` for persistence of sent note addresses
Prior to this change, the recipient of a sent transaction would always
be shown as the protocol-level address, instead of any unified address
intended as the recipient. Now, instead of reencoding the recipient
address, we use the original `ZcashAddress` value from the payment
request.
2024-04-05 16:48:13 -06:00
Kris Nuttycombe 3ea7d84183 zcash_client_backend: Update to use extracted `zip321` crate 2024-04-05 16:25:21 -06:00
Kris Nuttycombe 5e5ee19e25 Fix broken intra-doc link. 2024-03-25 14:19:50 -06:00
Kris Nuttycombe a9c4bc171b
Merge pull request #1296 from AloeareV/remove_doc_hidden
remove doc hidden from some keys
2024-03-25 13:46:14 -06:00
Kris Nuttycombe f8c021546d Release zcash_keys version 0.2.0 2024-03-25 11:34:21 -06:00
Hazel OHearn 7cbfc1f911
remove doc hidden 2024-03-20 16:23:56 -03:00
Kris Nuttycombe 6102e83b07 Merge remote-tracking branch 'upstream/main' into uivk 2024-03-14 18:21:34 -06:00
Kris Nuttycombe 46fd6ab0fe zcash_client_backend: Make `WalletRead::get_transaction` return `Result<Option<Transaction>, _>`
This should never have had the behavior of returning an error on a
missing txid in the first place; doing so conflates database corruption
or connectivity errors with the ordinary case where data may not be
available.
2024-03-14 17:38:51 -06:00
Kris Nuttycombe cc990b60e0 zcash_keys: Remove HdSeedFingerprint as it duplicates `zip32::fingerprint::SeedFingerprint` 2024-03-14 17:09:03 -06:00
Kris Nuttycombe 9e1a4327c3 zcash_keys: Keep the Ufvk and Uivk encodings private. 2024-03-14 17:03:03 -06:00
Kris Nuttycombe b4171caaf4 zcash_keys: Fix no-default-features compilation. 2024-03-14 11:59:58 -06:00
Kris Nuttycombe 4d9927b993 zcash_keys: Verify the ability to derive addresses at USK and UFVK construction. 2024-03-14 11:26:16 -06:00
Kris Nuttycombe 9d6a8b6941 zcash_keys: Use `DecodingError` instead of `DerivationError` for key parsing. 2024-03-13 20:14:43 -06:00
Andrew Arnott 1770c2ec5f
Merge remote-tracking branch 'upstream/main' into uivk 2024-03-13 19:28:50 -06:00
Andrew Arnott c99338a7a1
Merge new error type into existing one 2024-03-13 18:59:41 -06:00
Andrew Arnott 27eba4e578
Merge remote-tracking branch 'upstream/main' into uivk 2024-03-13 09:43:09 -06:00
Andrew Arnott 2b3060d138
Apply updated style for key discovery
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2024-03-12 06:37:20 -06:00
Andrew Arnott 071d7c51d7
Add `UnifiedIncomingViewingKey` struct
Also update sqlite to utilize the new struct
2024-03-12 06:37:20 -06:00
Andrew Arnott 0c80893ce0 zcash_client_sqlite: Rework accounts to support imported viewing keys 2024-03-08 18:55:18 +00:00
Kris Nuttycombe 51d4464472 Remove `network_type` calls that are obviated by the blanket impl. 2024-03-05 13:36:15 -07:00
Kris Nuttycombe b8aa5132c2 Apply suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-03-05 13:36:15 -07:00
Kris Nuttycombe a823ed776f Expose address generation errors when constructing default addresses 2024-03-05 13:36:15 -07:00
Kris Nuttycombe 4b18426fcd zcash_address: Use `zcash_protocol::consensus::NetworkType`
This inverts the dependency relationship between `zcash_protocol` and
`zcash_address`, permitting the network constants (primarily the HRPs)
defined in `zcash_protocol` to be used directly in `zcash_address`
instead of being duplicated.
2024-03-05 13:36:15 -07:00
Kris Nuttycombe 64454100c5 zcash_client_backend: Move the `ShieldedProtocol` and `PoolType` types to `zcash_protocol` 2024-03-05 09:46:03 -07:00
Kris Nuttycombe e90d5aaaf0 Release zcash_keys version 0.1.1 2024-03-04 15:54:55 -07:00
Kris Nuttycombe 836d88b9c3 zcash_keys: Fix a few problems with no-flags compilation. 2024-03-04 15:01:15 -07:00
Kris Nuttycombe e4c0b0e63f zcash_client_backend: Add `WalletRead::validate_seed`
This adds a mechanism that allows a caller to verify that a given seed
generates the viewing key that is stored in the wallet for a specified
account.

Fixes #1189
2024-03-04 10:59:56 -07:00
Jack Grigg 3135c31d1a zcash_keys 0.1.0 2024-03-01 01:14:34 +00:00
Kris Nuttycombe 5ed788dc79
Merge pull request #1168 from nuttycom/zcash_keys_sapling_feature
zcash_keys: Add `sapling` and `transparent` feature flags.
2024-02-26 19:16:07 -07:00
Kris Nuttycombe 635bc3158b
Fix an error in decoding tests.
Co-authored-by: str4d <thestr4d@gmail.com>
2024-02-26 18:33:19 -07:00
Kris Nuttycombe 2a6330f2ea Apply suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
2024-02-23 09:16:26 -07:00
Kris Nuttycombe 9b98f46bf6 zcash_keys: Add `sapling` and `transparent-inputs` feature flags.
Fixes #1160
2024-02-23 09:16:25 -07:00
Jack Grigg 25b682728b Clean up zcash_keys changelog 2024-02-22 23:38:15 +00:00
Kris Nuttycombe 184286c430 Apply suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
2024-02-21 17:36:08 -07:00
Kris Nuttycombe 050a124cb6 Address comments from code review. 2024-02-21 11:55:00 -07:00
Kris Nuttycombe 4e3d99f1d0 zcash_client_backend: Allow proposer to specify fallback change pool.
In the event that the pool to which change should be sent cannot
automatically be determined based upon the inputs and outputs of a
transaction, it is up to the caller to specify where change should
be sent.
2024-02-15 21:44:59 -07:00
Kris Nuttycombe 7a5852598e zcash_keys, zcash_client_backend: feature-flag off transparent-input WalletRead methods.
This also moves the `TransparentAddressMetadata` type behind the
`transparent-inputs` feature flag and performs associated cleanup.
2024-02-14 17:38:52 -07:00
Andrew Arnott f1b6dd0636
Switch out `AddressMetadata` for new struct 2024-02-13 18:34:33 -07:00
Andrew Arnott 918f5cc812
Change `WalletRead::get_transparent_receivers` signature
It needn't return the account id that was given as an input, and it shouldn't return an 11-byte diversifier index when a 31-bit child index is more appropriate.
2024-02-13 11:39:06 -07:00