Kris Nuttycombe
735ecd0906
Apply suggestions from code review
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-12-22 15:57:47 -07:00
Kris Nuttycombe
9b72fff365
Fix handling of unified full viewing key metadata.
...
This fixes two issues with the management of unified full viewing
key metadata:
* Adds a reverse mapping from ufvkid to account id.
* Ensures that UFVK metadata is correctly initialized when USK
metadata is loaded from disk.
2021-12-22 15:57:47 -07:00
Kris Nuttycombe
b34fd6a816
Add test for CKeyStore::AddUnifiedAddress
2021-12-22 15:57:47 -07:00
Kris Nuttycombe
009ba76b0e
Add test for wallet UA generation & detection.
2021-12-22 15:57:47 -07:00
Kris Nuttycombe
700b98f0b0
Add tests for keystore storage and retrieval of UFVKs.
2021-12-22 15:57:47 -07:00
Kris Nuttycombe
0dcdc28a38
Add CWallet::GetUnifiedForReceiver
2021-12-22 15:57:47 -07:00
Kris Nuttycombe
8337442553
Add newly generated transparent UA receivers to the wallet.
2021-12-22 15:57:47 -07:00
Kris Nuttycombe
290985ba48
AddTransparentSecretKey does not need to take a CExtKey
2021-12-22 15:57:47 -07:00
Kris Nuttycombe
b29ca10b8d
Add unified address generation.
...
Generate unified addresses from UFVKs, and add the associated
metadata to the wallet database.
2021-12-22 15:57:47 -07:00
Kris Nuttycombe
ca20cf512c
Add key metadata to walletdb.
2021-12-22 15:57:47 -07:00
Kris Nuttycombe
d869d7f4a3
Load unified full viewing keys from the walletdb.
2021-12-22 15:57:47 -07:00
Kris Nuttycombe
e56f252a86
Add unified address tracking to KeyStore
2021-12-22 15:55:36 -07:00
Kris Nuttycombe
ef068c51a9
Store ufvks to the wallet database.
2021-12-22 15:55:36 -07:00
Kris Nuttycombe
6d36921b94
Add unified key components to the transparent & Sapling wallet parts.
2021-12-15 13:53:10 -07:00
Kris Nuttycombe
24ff7b36ec
Add ZcashdUnifiedKeyMetadata and libzcash::ReceiverType
2021-12-15 13:53:10 -07:00
Kris Nuttycombe
4966bf315a
Compute key id for UFVKs.
2021-12-15 13:53:10 -07:00
Kris Nuttycombe
48446b5e39
Add functions for generating BIP-44 and ZIP-32 keypaths
2021-12-14 15:10:27 -07:00
str4d
87eeee0607
Merge pull request #5400 from nuttycom/feature/wallet_orchard-ufvks
...
Add types & FFI for serialization of unified full viewing keys.
2021-12-14 21:38:53 +00:00
Kris Nuttycombe
1e18410b55
Apply suggestions from code review
...
Co-authored-by: str4d <jack@electriccoin.co>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-12-14 13:02:41 -07:00
Kris Nuttycombe
d1890ebd24
Apply suggestions from code review
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-12-13 21:03:36 -07:00
Kris Nuttycombe
6cccc4ad3c
Apply suggestions from code review
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-12-13 18:53:27 -07:00
Kris Nuttycombe
8ae8ddd7d1
Add tests for ufvk roundtrip serialization.
2021-12-13 18:53:27 -07:00
Kris Nuttycombe
22cd218e83
Apply suggestions from code review
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-12-13 18:53:27 -07:00
Kris Nuttycombe
217c56811d
Add UnifiedFullViewingKey type.
...
This type is backed by the `zcash_address` implementaion of
unified full viewing keys. It is intended for serialization
and parsing of UFVKs, and provides conversion functions that
allow for construction to and from ZcashdUnifiedFullViewingKey
values.
2021-12-13 18:53:27 -07:00
Kris Nuttycombe
c78887a148
Add Rust FFI components for unified full viewing keys.
2021-12-13 18:53:27 -07:00
Kris Nuttycombe
4257abd328
Adds SaplingDiversifiableFullViewingKey
...
Adds SaplingDiversifiableFullViewingKey as a superclass of
SaplingExtendedFullViewingKey, and reduces the Sapling component
of UnifiedFullViewingKey to the new intermediate type. This
permits deserialization from the data that will be present
in the serialized form of the Sapling component of a UFVK.
2021-12-13 18:53:25 -07:00
Kris Nuttycombe
640f31463f
Update to ufvk zcash_address build.
2021-12-13 18:51:15 -07:00
Kris Nuttycombe
c908a3b059
Merge pull request #5396 from nuttycom/feature/wallet_orchard-unified_addrs_prereq
...
Prerequisites for adding unified addresses to the wallet.
2021-11-30 18:24:50 -07:00
Kris Nuttycombe
3bfb9d0c84
Remove ZcashdUnifiedAddress in favor of UnifiedAddress
2021-11-30 12:58:29 -07:00
Kris Nuttycombe
a2f8e3b56c
Use CKeyID and CScriptID instead of new P2PKH/P2SHAddress classes.
2021-11-30 11:24:37 -07:00
Kris Nuttycombe
d65200c860
Refine structure of Zcash address generation.
...
This commit does not include functional changes; it merely
breaks up content previously included in `zcash/address/zip32.h`
into smaller and more focused components.
2021-11-30 11:22:37 -07:00
Kris Nuttycombe
aa808eb07d
Merge pull request #5357 from nuttycom/feature/wallet_orchard-add_key_types
...
Add Orchard Address, IncomingViewingKey, and FullViewingKey types.
2021-11-30 07:13:22 -07:00
Kris Nuttycombe
782c705cb1
Remove Orchard spending key equality implementation.
2021-11-29 14:26:25 -07:00
Kris Nuttycombe
bde245d8bc
Remove incorrect FFI method documentation.
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-11-29 13:08:30 -07:00
Kris Nuttycombe
e7c507cfb3
Update orchard & librustzcash dependency versions.
2021-11-29 13:05:54 -07:00
Kris Nuttycombe
6ee0dea218
Apply suggestions from code review
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-11-26 08:41:52 -07:00
Kris Nuttycombe
59a4c84112
Adds Orchard Address, IncomingViewingKey, FullViewingKey, and SpendingKey types.
2021-11-24 19:08:17 -07:00
Kris Nuttycombe
8f5591a9c1
Add libzcash::AccountId type.
2021-11-24 18:59:25 -07:00
Kris Nuttycombe
9202b127d0
Merge remote-tracking branch 'upstream/master' into feature/wallet_orchard
2021-11-23 18:38:07 -07:00
str4d
c76b756a68
Merge pull request #5356 from nuttycom/feature/wallet_orchard-rename_tree_types
...
Rename OrchardMerkleTree -> OrchardMerkleFrontier, remove IncrementalSinsemillaTree
2021-11-23 20:34:23 +00:00
Kris Nuttycombe
f49f4c73d8
Rename OrchardMerkleTree -> OrchardMerkleFrontier
...
Remove IncrementalSinsemillaTree; this will be replaced by
a more full-featured OrchardWallet type which embeds the
incremental merkle tree used in wallet operations.
2021-11-23 07:27:34 -07:00
str4d
f8e99e7ba5
Merge pull request #5373 from ZcashFoundation/lib-zcash-script-sigops
...
Add legacy sigops counts to the zcash_script library API
2021-11-22 16:03:48 +00:00
Kris Nuttycombe
13b9a69230
Merge pull request #5306 from nuttycom/feature/mnemonic_seeds
...
Adds HD seed derivation from ZIP-339 mnemonic phrases.
This replaces random generation of transparent spending keys with BIP-44-compatible derivation from a mnemonic seed phrase, and replaces the random HD seed previously used for Sapling HD key derivation
with the same mnemonic seed. After this change, all new transparent and Sapling addresses
will be derived from a new randomly generated mnemonic seed, which is produced in such a way that
it is guaranteed to produce valid unified spending keys at account 0 for all address types.
Closes #5176 .
Closes #2673 .
2021-11-18 17:52:36 -07:00
Kris Nuttycombe
c7089d2086
Merge pull request #5374 from rex4539/typos
...
Fix typos
2021-11-18 15:08:13 -07:00
Kris Nuttycombe
14f95572fa
Improve documentation of the `-walletrequirebackup` zcashd wallet configuration option.
2021-11-18 15:05:46 -07:00
Kris Nuttycombe
7be1ec9c23
Minor textual fixes to release notes.
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-11-18 11:40:23 -07:00
Kris Nuttycombe
92445ba0a5
Apply suggestions from code review
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-11-18 10:54:12 -07:00
str4d
e9f450281b
Merge pull request #5388 from str4d/ci-pyflakes
...
CI: Add Pyflakes to lints workflow
2021-11-18 17:23:35 +00:00
str4d
0268ce0ad0
Merge pull request #5370 from str4d/dep-updates
...
Dependency updates
2021-11-18 15:01:09 +00:00
Jack Grigg
9fd44c76fa
CI: Add Pyflakes to lints workflow
2021-11-18 14:45:39 +00:00