Jack Grigg
993102e803
zcash_client_sqlite: Fix `test_with_nu5_birthday_offset` tree setup
2024-03-10 21:47:40 +00:00
Jack Grigg
799574590e
zcash_client_sqlite: Fix more test seeds to use valid lengths
2024-03-10 21:47:40 +00:00
Jack Grigg
2a81156520
zcash_client_sqlite: Fix balance APIs in `TestState` to include Orchard
2024-03-10 21:47:40 +00: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
Jack Grigg
798d9154b8
zcash_client_sqlite: Use a valid length for test seeds
2024-03-09 21:12:37 +00:00
Jack Grigg
a0b517a93a
zcash_client_sqlite: Add `OrchardPoolTester`, run tests with Orchard
2024-03-09 20:44:19 +00:00
Jack Grigg
0891b5fd3a
zcash_client_backend: Correctly handle empty frontiers in test birthdays
2024-03-09 18:21:34 +00:00
Jack Grigg
f74c2304df
zcash_client_sqlite: Track Orchard commitment tree sizes in `TestState`
2024-03-09 18:06:20 +00:00
Jack Grigg
dd8808fd83
zcash_client_sqlite: Replace tuple with struct in `TestState`
2024-03-09 17:36:18 +00:00
Kris Nuttycombe
39c750312f
Merge pull request #1247 from zcash/zcs-pool-testing
...
zcash_client_sqlite: Generalise Sapling tests
2024-03-09 10:11:46 -07:00
Jack Grigg
9d40588a50
zcash_client_sqlite: Generalise `wallet::scanning` tests
2024-03-09 15:28:47 +00:00
Jack Grigg
399ae762b7
zcash_client_sqlite: Generalise `wallet::commitment_tree` tests
2024-03-09 15:20:43 +00:00
Jack Grigg
d89b88126d
zcash_client_sqlite: Generalise `wallet::sapling` tests
...
These are all "single shielded pool" tests, and should pass for any
shielded pool implemented in the wallet.
2024-03-09 15:20:40 +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
075a155a29
Remove `orchard` feature flag from docs.rs builds while not public
2024-03-09 11:37:25 +00:00
Kris Nuttycombe
5511bacf25
zcash_client_sqlite: Make sapling_received_notes.recipient_key_scope optional.
...
We will only consider notes spendable when both the UFVK & key scope are available.
2024-03-08 18:34:50 -07:00
Kris Nuttycombe
e2ac746e9d
zcash_client_sqlite: Generalize `ReceivedNoteId`
2024-03-08 16:43:06 -07:00
Kris Nuttycombe
d55edd8dd8
zcash_client_sqlite: Deduplicate `WalletDb::get_sapling_nullifiers`
2024-03-08 16:41:51 -07:00
Kris Nuttycombe
7aacfc3bb0
zcash_client_sqlite: Extract general helpers from Sapling tree logic
2024-03-08 16:41:51 -07:00
Kris Nuttycombe
c107f3df11
zcash_client_sqlite: Use errors instead of panics for unimplemented or unsupported down migrations.
2024-03-08 22:19:05 +00:00
Kris Nuttycombe
78e4916899
zcash_client_backend: Generalize `DecryptedOutput` to support Orchard
2024-03-08 13:48:30 -07: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
Jack Grigg
054b374b5a
Add missing feature flag conditional
2024-03-08 19:08:20 +00:00
Jack Grigg
f9bf5a173f
bugfix: Encode transparent IVK in UIVKs instead of transparent FVK
2024-03-08 19:06:27 +00:00
Andrew Arnott
0c80893ce0
zcash_client_sqlite: Rework accounts to support imported viewing keys
2024-03-08 18:55:18 +00:00
Kris Nuttycombe
63450533dd
Merge pull request #1233 from zcash/test-harness-orchard-fvk
...
zcash_client_sqlite: Add Orchard support to test harness
2024-03-08 11:37:32 -07:00
Jack Grigg
c8d03f69ef
Extend `TestState::generate_next_block_spending` with Orchard support
2024-03-08 14:40:25 +00:00
Jack Grigg
cc90c4c405
Avoid excessive Orchard dummies in `TestState::generate_next_block_spending`
2024-03-08 13:29:13 +00:00
Jack Grigg
6c6080c99c
`impl TestFvk for orchard::keys::FullViewingKey`
2024-03-08 13:28:55 +00:00
Jack Grigg
0a41d65910
Generalise `TestState::generate_*` methods over a `TestFvk` trait
2024-03-08 00:02:28 +00:00
Jack Grigg
291a6f5799
Use correct change address in `TestState::generate_next_block_spending`
2024-03-07 23:26:43 +00:00
Jack Grigg
bc0b1aed07
De-duplicate compact Sapling output creation in `TestState`
2024-03-07 23:26:43 +00:00
Jack Grigg
f306a0a78a
zcash_client_sqlite: Make internal testing functions module-private
...
This ensures we only access them through `TestState` in future.
2024-03-07 22:14:15 +00:00
Kris Nuttycombe
4532520670
zcash_client_backend: Add Orchard frontier to `AccountBirthday`
2024-03-07 14:45:23 -07:00
Kris Nuttycombe
8955cfc559
Add missing CHANGELOG entries.
2024-03-05 14:37:26 -07:00
Kris Nuttycombe
5675a76f0d
zcash_protocol: Use `BalanceError` instead of `()` for monetary range violations.
2024-03-05 13:59:26 -07: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
5e4d9abbce
Move `Amount` and `NonNegativeAmount` types to the `zcash_protocol` crate.
2024-03-05 09:45:24 -07:00
Kris Nuttycombe
bacfe3cb9d
Move `zcash_primitives::{consensus, constants}` to the `zcash_protocol` crate
2024-03-05 09:45:24 -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
dbdc88e4d7
Revert "Hide unstable `orchard` feature flag in rustdoc"
...
Now that the release commits are created, we can unhide this ahead of
the subsequent Orchard-supporting releases.
This reverts commit zcash/librustzcash@6161709441 .
2024-03-01 01:17:15 +00:00
Jack Grigg
891ab1ca6d
zcash_client_sqlite 0.9.0
...
Closes zcash/librustzcash#961 .
2024-03-01 01:17:02 +00:00