Commit Graph

15501 Commits

Author SHA1 Message Date
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
Jack Grigg 675e489aff rust: Move `incremental_sinsemilla_tree_ffi` into crate root
Having this be a submodule of `orchard_ffi` while following Rust 2018
module structure made it impossible to use the `include!` macro on
`orchard_ffi.rs`, which is exactly what the `zcash_script` crate does.
See this comment for details:
    https://github.com/rust-lang/rust/issues/50132#issuecomment-969450868

To resolve this, we restructure the FFI library crate to only have FFI
methods in "leaf" module files.
2021-11-18 11:40:16 +00:00
Kris Nuttycombe 2ec7073459 Fix error message text to refer to zcashd-wallet-tool rather than the RPC method. 2021-11-17 18:03:11 -07:00
Kris Nuttycombe b1d6a514e2 Parameterize HD keypath parsing by coin type. 2021-11-17 18:01:28 -07:00
Kris Nuttycombe b722c40fe2 Minor naming fixes 2021-11-17 18:01:28 -07:00
Kris Nuttycombe 0fe1134337 Only maintain CKeyID for the transparent part of ZcashdUnifiedAddress 2021-11-17 18:01:28 -07:00
Kris Nuttycombe cfee863644 Add diversifier_index_t::ToTransparentChildIndex 2021-11-17 18:01:28 -07:00
Kris Nuttycombe 6e6359229a Use MnemonicSeed instead of HDSeed where appropriate. 2021-11-17 18:01:28 -07:00
Kris Nuttycombe f31b3c2190 Update documentation for GenerateNewSeed. 2021-11-17 18:01:28 -07:00
Kris Nuttycombe 7860d6ede3 Generalize keypath parsing over account id. 2021-11-17 18:01:28 -07:00
Kris Nuttycombe f65d6f63ee Minor cleanup of the code that searches for a valid transparent key. 2021-11-17 18:01:28 -07:00
Kris Nuttycombe de57da38ce Document mnemonic-seed-related RPC method changes & update changelog. 2021-11-17 18:01:28 -07:00
teor bdbd86edb7 Explain how to get rid of a tiny duplicated function 2021-11-16 18:29:04 +00:00
teor f4a8dc57e0 Explain UINT_MAX error return value 2021-11-16 18:29:04 +00:00
teor 7d24ada757 Remove redundant variable
Co-authored-by: str4d <thestr4d@gmail.com>
2021-11-16 18:29:04 +00:00
teor 3bae89c732 Use correct copyright header
Co-authored-by: str4d <thestr4d@gmail.com>
2021-11-16 18:29:04 +00:00
teor 77ab1831a1 Remove an unused header 2021-11-16 18:29:04 +00:00
teor fa181a2d08 Increment the zcash_script API version 2021-11-16 18:29:04 +00:00
teor 31bd2ba4f1 Add sigop count functions to zcash_script library 2021-11-16 18:29:04 +00:00
Janito Vaqueiro Ferreira Filho ae9266a1cd Move `CurrentTxVersionInfo` into a new file
Don't compile it for `zcash_script`.
2021-11-16 18:29:04 +00:00
Dimitris Apostolou e05c1ddf8a
Fix typos 2021-11-14 16:27:09 +02:00
Kris Nuttycombe f626673b89 Fix polymorphism of string serialization.
Co-authored-by: str4d <jack@electriccoin.co>
2021-11-07 10:16:22 -07:00
Kris Nuttycombe ea8e9438af Fix name of menmonic entropy length constant. 2021-11-07 10:16:22 -07:00
Kris Nuttycombe a67fb00d0a Apply suggestions from code review
Co-authored-by: str4d <jack@electriccoin.co>
2021-11-07 10:16:22 -07:00
Kris Nuttycombe 399ed5b4d7 Do not strip quotes when verifying mnemonic seed. 2021-11-07 10:16:22 -07:00
Kris Nuttycombe 551072165a Style fix in BIP 32 path account parsing test. 2021-11-07 10:16:22 -07:00
Kris Nuttycombe 6fdded20bc Restore legacy HDSeed encryption tests. 2021-11-07 10:16:22 -07:00
Kris Nuttycombe d84845d199 Clean up handling of mnemonic seed metadata. 2021-11-07 10:16:22 -07:00