Commit Graph

213 Commits

Author SHA1 Message Date
Kris Nuttycombe 87e23081d0
Merge pull request #1421 from zcash/dep-bip32
Migrate from `hdwallet` to `bip32`
2024-06-17 17:04:14 -06:00
str4d 03fc64cfd0
Merge pull request #1396 from nuttycom/test/block_spanning_shards
`zcash_client_sqlite` Fix error related to commitment tree frontier insertions.
2024-06-17 19:29:44 +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
Kris Nuttycombe ecea9ca196 zcash_client_sqlite: Fix shardtree error caused by pruning after frontier insertion.
Fixes #1398
2024-06-13 18:09:46 -06:00
Kris Nuttycombe de66c5b154 zcash_client_sqlite: Add test to reproduce incomplete penultimate subtree error. 2024-06-13 18:09:39 -06:00
Jack Grigg aea38c991e pprof 0.13 2024-06-12 11:51:19 +00:00
Jack Grigg 0f4b7463d8 Remove `time` pin now that its MSRV is compatible with ours 2024-06-12 11:20:40 +00:00
Jack Grigg 56c9b92df7 `cargo update proc-macro2` as it has audits 2024-06-12 11:15:05 +00:00
str4d 976a4d2d5c
Merge pull request #1392 from zcash/cargo-update-2024-05
Dependency updates
2024-05-24 16:56:53 +01:00
Jack Grigg f136535196 Merge branch 'main' into fix-sapling-flags 2024-05-23 20:41:29 +00:00
Jack Grigg 8b2188a0f3 zcash_primitives 0.15.1 2024-05-23 20:35:18 +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
Daira-Emma Hopwood 031b416b75 Update `Cargo.lock`.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-05-16 00:16:54 +01:00
Jack Grigg 069109b691 Adjust versions of pinned dependencies to cover more audits 2024-04-23 00:57:08 +00:00
str4d 5c6a6a4c86
Merge pull request #1143 from nuttycom/crate_zip321
Extract `zip321` crate from `zcash_client_backend`
2024-04-22 22:46:09 +01:00
Kris Nuttycombe a7de8a3dba Release zcash_client_sqlite version 0.10.3 2024-04-08 13:24:42 -06:00
Kris Nuttycombe d982d7826a zip321: Replace dependencies on `zcash_keys` types with `zcash_address` 2024-04-05 16:10:22 -06:00
Kris Nuttycombe bbb8d1090a Add placeholder for a zip321 crate. 2024-04-03 12:13:47 -06:00
Jack Grigg 24277a6ba4 zcash_client_backend: Implement async wallet synchronization function
This implements the necessary state machine for taking a wallet in some
arbitrary synchronization status, and fully scanning (the remainder of)
the chain.

Closes zcash/librustzcash#1169.
2024-04-02 00:26:08 +00:00
oscar-pepper 25b8404e2d
Add block cache trait (#1192) 2024-04-01 21:55:16 +01:00
Kris Nuttycombe 1cb33c8b06 zcash_client_backend release version 0.12.1 2024-03-27 14:58:12 -06:00
Jack Grigg bea4097ded zcash_client_sqlite 0.10.2 2024-03-27 11:05:26 -04:00
Kris Nuttycombe da3869a576 Release zcash_client_sqlite 0.10.1 2024-03-25 20:00:48 -06:00
Kris Nuttycombe 366d5d7434 Release zcash_client_sqlite version 0.10.0
Closes #1126
2024-03-25 14:11:11 -06:00
Kris Nuttycombe 777adb871d Release zcash_client_backend version 0.12.0
Closes #1079
2024-03-25 14:03:42 -06:00
Kris Nuttycombe b68d97b614
Merge pull request #1314 from zcash/release-zcash_keys-0.2.0
Release zcash_keys version 0.2.0
2024-03-25 12:13:50 -06:00
Kris Nuttycombe f8c021546d Release zcash_keys version 0.2.0 2024-03-25 11:34:21 -06:00
Kris Nuttycombe 2bda943a2e Release zcash_proofs version 0.15.0 2024-03-25 11:23:53 -06:00
Kris Nuttycombe 4cf8cab6fc zcash_primitives release version 0.15.0 2024-03-25 08:45:23 -06:00
Kris Nuttycombe 5f042c4657 zcash_protocol release version 0.1.1 2024-03-24 19:29:59 -06:00
Kris Nuttycombe 4f7c5bd722 zcash_client_sqlite: Fix `scan_complete` tests. 2024-03-19 16:11:57 -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 f58263e211 zcash_client_backend: Require the tree state for the start of each scanned range.
In order to support constructing the anchor for multiple pools with a
common anchor height, we must be able to checkpoint each note commitment
tree (and consequently compute the root) at that height. Since we may
not have the information in the tree needed to do so, we require that it
be provided.

As a bonus, this change makes it possible to improve the UX around
spendability, because we will no longer require subtree ranges below
received notes to be fully scanned; the inserted frontier provides
sufficient information to make them spendable.
2024-03-12 18:14:11 -06:00
Kris Nuttycombe 0c5a365c60 zcash_client_sqlite: Update to make use of `orchard::note::Rho` 2024-03-12 17:28:10 -06:00
Jack Grigg 6898dbf094 Replace `unstable-nu6` and `zfuture` feature flags with cfg flags
Neither of these should have been feature flags, as they gate breaking
changes to the Zcash consensus rules (and in some ways are incompatible
with each other), while feature flags should be additive.
2024-03-10 18:42:39 +00:00
Jack Grigg 75c5f31ab0 zcash_client_sqlite: Use a seeded RNG in `TestState`
This makes individual instances of `TestState` deterministic, which
helps with debugging.
2024-03-10 01:10:50 +00:00
Jack Grigg 390b536950 zcash_client_sqlite: Use `LocalNetwork` for testing
This enables us to activate Sapling and NU5 at the same height, to
simplify reuse of test logic between Sapling and Orchard.

As a side-effect, `zcash_extensions` is removed from the workspace
because it enables the `zfuture` feature flag unconditionally, which
breaks workspace-level builds because this causes the `zfuture` feature
flag on `zcash_protocol` to be enabled without the corresponding feature
flag on `zcash_client_sqlite` being enabled. We will fix this by moving
from feature flags to config flags for unstable features.
2024-03-10 01:10:28 +00:00
Kris Nuttycombe 19868af84a
Merge pull request #1246 from zcash/zcb-0.11-zcs-0.9-doc-fixes
`zcash_client_backend 0.11.1`, `zcash_client_sqlite 0.9.1` with doc fixes
2024-03-09 08:19:41 -07:00
Jack Grigg c6f1fdb73d zcash_client_sqlite 0.9.1 2024-03-09 11:39:38 +00:00
Jack Grigg 7f38b79c3c zcash_client_backend 0.11.1 2024-03-09 11:38:33 +00:00
Kris Nuttycombe 4c5ce32dee zcash_client_backend: Use `NonNegativeAmount` for `select_spendable_notes` 2024-03-08 13:48:30 -07:00
Kris Nuttycombe 8f4de9b235
Merge pull request #1235 from zcash/diverse_accounts
zcash_client_sqlite: Rework accounts to support imported viewing keys
2024-03-08 13:39:08 -07:00
Jack Grigg bfc2278bfe Encode UIVK Sapling component with `sapling-crypto` 2024-03-08 20:22:45 +00:00
Andrew Arnott 0c80893ce0 zcash_client_sqlite: Rework accounts to support imported viewing keys 2024-03-08 18:55:18 +00:00
Jack Grigg 6c6080c99c `impl TestFvk for orchard::keys::FullViewingKey` 2024-03-08 13:28:55 +00:00
Jack Grigg d539f04f2e zcash_address 0.3.2 2024-03-06 15:07:51 +00:00
Jack Grigg d0673c9bc3 zcash_protocol 0.1.0 2024-03-06 15:07:11 +00: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 bacfe3cb9d Move `zcash_primitives::{consensus, constants}` to the `zcash_protocol` crate 2024-03-05 09:45:24 -07:00