Commit Graph

15423 Commits

Author SHA1 Message Date
Kris Nuttycombe dc2c07bbde Generate legacy Sapling addresses from the mnemonic seed.
This further deprecates the legacy seed, by no longer using it
as a source of randomness. Instead of continuing to rely on
successive account identifiers for the legacy seed, it now
takes advantage of the `m/32'/coin_type'/account'/addressIndex'`
keypath scheme defined by ZIP 32. For the purpose of the zcashd
wallet, the account identifier used in generation of Sapling
addresses associated with the legacy address generation code
path is fixed to 0x7FFFFFFE, the same as the account used for
all future transparent address generation.
2021-10-20 13:33:47 -06:00
Kris Nuttycombe 2885ae7643 Derive transparent keys from mnemonic seed. 2021-10-19 17:51:14 -06:00
Kris Nuttycombe 666d135e2e Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-10-19 11:48:02 -06:00
Kris Nuttycombe daf443c9e6 Update librustzcash dependency version. 2021-10-19 11:48:02 -06:00
Kris Nuttycombe 8f1d58f16f Remove unused forward declaration. 2021-10-19 11:48:02 -06:00
Kris Nuttycombe f99f2e4b3f Fix tests for wallet operations on legacy Sapling keys. 2021-10-19 11:48:02 -06:00
Kris Nuttycombe 290b2e4e39 Use the default UA-based Sapling address for the saplingmigration tool. 2021-10-19 11:48:02 -06:00
Kris Nuttycombe f6ad523ccb Add unified full viewing keys and Zcash-internal unified addresses. 2021-10-19 11:48:02 -06:00
Kris Nuttycombe 83dee7e886 Adds basic unified spending key derivation.
Also, begin pruning Sapling key derivation down to the
minimal amount required to support the legacy Sapling
key derivation process.
2021-10-19 11:48:02 -06:00
Kris Nuttycombe 8883ae8b9e Add support for externally searching for valid Sapling diversifiers.
In order to support generation of unified addresses, it needs
to be possible for the code generating a unified address to search
the space of Sapling diversifiers to obtain a valid diversifier.

Historically, invalid diviersifiers were simply skipped, so we retain
this behavior when obtaining a Sapling address from the legacy HD seed.
2021-10-19 11:48:02 -06:00
Kris Nuttycombe 5677649af1 Derive random HD seeds from ZIP-339 seed phrases.
Add support for dump of legacy HD seeds & persistence of mnemonic-based seeds.
2021-10-19 11:48:02 -06:00
Marshall Gaucher d6fc064018
Merge pull request #5342 from LarryRuane/2021-10-wallet-network-info-error
better wallet network info error handling
2021-10-15 18:12:44 -07:00
Kris Nuttycombe 3329b26374
Merge pull request #5339 from git-sgmoore/patch-1
Update reduce-traffic.md - add one word
2021-10-14 18:41:57 -06:00
Kris Nuttycombe 0e685b67da
Fix wallet-related wording in doc/reduce-traffic.md 2021-10-13 13:20:40 -06:00
Steven 1a7c2a3b04
Merge pull request #5337 from LarryRuane/2021-09-testIBD
Fix two boost tests that require post-IBD
2021-10-13 08:16:58 -07:00
Larry Ruane 58e4a76e60 better wallet network info error handling 2021-10-11 12:15:07 -06:00
Kris Nuttycombe 78ee3d7357
Merge pull request #5354 from zcash/hotfix-v4.5.1-1
Merge v4.5.1-1 hotfix branch
2021-10-11 08:58:20 -06:00
str4d 3ac39a56e4
Merge pull request #5349 from str4d/release-v4.5.1-1
Release v4.5.1-1
2021-10-09 08:51:38 +13:00
Jack Grigg d397f4e36d Update v4.5.1-1 release notes with bugfix 2021-10-08 17:07:24 +00:00
Jack Grigg e2abf34cc9 make-release.py: Updated release notes and changelog for 4.5.1-1. 2021-10-08 17:03:31 +00:00
Jack Grigg 3a20ade75d make-release.py: Updated manpages for 4.5.1-1. 2021-10-08 17:03:31 +00:00
Jack Grigg a4419b5f85 make-release.py: Versioning changes for 4.5.1-1. 2021-10-08 17:00:27 +00:00
str4d 5860151e35
Merge pull request #5347 from str4d/dep-bumps-hotfix-v4.5.1-1
Dependency bumps for v4.5.1-1
2021-10-09 06:00:08 +13:00
Jack Grigg 0263185a65 depends: Postpone dependency updates
We aren't going to move to Clang 13 in a hotfix release. The other
dependencies passed their postponement re-evaluation date, but also
won't be updated just yet.
2021-10-08 16:54:36 +00:00
Jack Grigg 8f0f8b6687 cargo update 2021-10-08 16:53:00 +00:00
str4d 59a75f9007
Merge pull request #5343 from nuttycom/feature/listaddresses
Add `listaddresses` RPC method.
2021-10-09 05:35:59 +13:00
Kris Nuttycombe d867a8dc67 Use lowerCamelCase for listaddresses JSON 2021-10-08 10:30:39 -06:00
Kris Nuttycombe 23507899a3 Consistently group Sapling addresses by IVK for every source. 2021-10-07 19:58:31 -06:00
Kris Nuttycombe 2221bf5484 Add listaddresses check to wallet_addresses.py 2021-10-07 18:12:13 -06:00
Kris Nuttycombe 9e83d28afb Include `ImportedWatchOnly` as a PaymentAddressSource result. 2021-10-07 17:43:56 -06:00
str4d 609373f205
Merge pull request #5346 from nuttycom/fix/remove_dead_code
Remove unused `AddDestData` method.
2021-10-08 10:47:09 +13:00
Kris Nuttycombe 7b40f87404 Update release notes for v4.5.1-1 to reflect the addition of `listaddresses` 2021-10-07 14:25:50 -06:00
Kris Nuttycombe 6b1d290789 Group legacy_hdseed Sapling addresses by account ID. 2021-10-07 13:48:55 -06:00
Kris Nuttycombe f8350ce93d
Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-10-07 07:41:15 -06:00
Daira Hopwood ee8a8e67e8
Merge pull request #5345 from str4d/nu5-standard-tx
Mark v5 transaction format as standard for NU5
2021-10-07 14:14:24 +01:00
str4d 6fd177c2de
Merge pull request #5333 from str4d/5302-update-debian-copyright
Update Debian copyright file
2021-10-08 00:54:51 +13:00
Kris Nuttycombe 33e449fcd1
Apply suggestions from code review
Co-authored-by: str4d <jack@electriccoin.co>
2021-10-06 20:43:48 -06:00
Kris Nuttycombe 6be880fe34 Correctly handle imported Sapling addresses
Update the tests to reflect the new listaddresses result
structure.
2021-10-06 20:39:52 -06:00
str4d ad35b89e05
contrib: Add space between URL and period
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-10-07 11:38:37 +13:00
Jack Grigg eb85b06c5a Fix comment
We switched testnet to follow standard rules in zcash/zcash#1604, in
order to find bugs such as the one fixed in the previous commit.
2021-10-06 20:47:34 +00:00
Jack Grigg a165733372 Mark v5 transaction format as standard for NU5
Without this change, mainnet and testnet nodes following standard rules
will not accept v5 transactions into their mempools, causing them to be
ignored.
2021-10-06 20:47:34 +00:00
Kris Nuttycombe 9a11ac73a4 Categorize listaddresses result by source type.
Addresses managed by the zcashd wallet may be generated using
multiple different sources of randomness and/or the wallet's
HD seeds. Depending upon how addresses are generated, they may
divided into multiple sets, each associated with a separate
spend authority and treated as an independent pool of funds.
In the future, the root spend authority for a wallet will
be a mnemonic seed phrase; the API represented by this PR
anticipates that future and attempts to provide functionality
that will serve both current and future needs, as well as the
transition between them.
2021-10-06 14:24:35 -06:00
Kris Nuttycombe b608a6af48 Remove unused `AddDestData` method. 2021-10-06 13:56:04 -06:00
Kris Nuttycombe 64ecf700fc Add `listaddresses` RPC method.
Closes #5328
Fixes #5338
2021-10-06 13:55:26 -06:00
str4d 4606038086
Merge pull request #5309 from nuttycom/feature/wallet_bip44_type
Add network information to persisted wallet state.
2021-10-05 10:47:17 +13:00
Larry Ruane 92d36b5a43 Disable IBD for all boost tests
Disable IBD for all the boost unit tests, because that's the more common
(default) mode of operation. The full boost test suite passes with this
commit, both when run all together or run separately. Any future tests
that need IBD to be active can always call TestSetIBD(true).
2021-10-03 16:16:57 -06:00
sgmoore 5ad669baca
Update reduce-traffic.md - add one word
Added one word "a" at line 49
2021-10-02 07:52:45 -07:00
Larry Ruane af6b18b3ba add TestSetIBD(bool) for testing 2021-09-30 10:26:08 -06:00
Kris Nuttycombe f9656e2637 Add a check to test that wallet load fails if we're on the wrong network. 2021-09-29 14:15:07 -06:00
Kris Nuttycombe 7132b27723 Persist network id string instead of bip44 coin type. 2021-09-29 10:15:43 -06:00