Commit Graph

15816 Commits

Author SHA1 Message Date
Taylor Hornby 7d9dda4b7e
Merge pull request #5576 from superbaud/use-debian-libtinfo
fix breakage on Arch by using Debian libtinfo5_6.0 to satisfy clang
2022-02-24 16:33:13 -07:00
Steven 82c33596b9
Merge pull request #5580 from steven-ecc/update-transaction-size-estimation
Update transaction size estimation to include V5 transactions
2022-02-23 20:16:58 -08:00
Steven Smith a0740650c3 Update transaction size estimation to include V5 transactions 2022-02-23 16:49:01 -08:00
John Newbery 4942020624 Log calls to getblocktemplate
(cherry picked from commit bitcoin/bitcoin@1352092dbd)
2022-02-22 22:14:36 -07:00
Kris Nuttycombe bb91c9fbc3
Merge pull request #5549 from therealyingtong/cache-ua
Cache UA recipients passed to `z_sendmany`
2022-02-22 09:05:13 -07:00
sasha 2d6dcd4750 on Arch only, use Debian's libtinfo5_6.0 to satisfy clang 2022-02-21 20:28:03 -08:00
therealyingtong 1dae16a41c WriteRecipientMapping: Check that receiver exists in UA.
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-02-22 11:53:23 +08:00
ying tong 2943e13c8b
Apply docfixes from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-02-22 08:44:09 +08:00
therealyingtong 108e9d4658 CSerializeRecipientAddress: add Read method and make constructor private.
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2022-02-18 16:39:43 +08:00
therealyingtong 99a69182cd Docfixes. 2022-02-18 13:55:58 +08:00
therealyingtong 4c4ee558d6 ShieldToAddress: Factor out static shieldToAddress() helper. 2022-02-18 13:55:23 +08:00
str4d 6cd5b8792b
Merge pull request #5560 from steven-ecc/z_gettreestate_update_for_orchard
Add Orchard support to the z_gettreestate RPC
2022-02-18 03:17:05 +00:00
Kris Nuttycombe d08c992b5e Move parsing of unified addresses to UnifiedAddress.
In cases where we want to be able to decode a string that
is known to be a unified address, it doesn't make sense to have
to route through KeyIO::DecodePaymentAddress and then return
an error depending upon the result type, when it's possible to
provide unified address parsing more directly.

KeyIO::DecodePaymentAddress has been modified to delegate
to UnifiedAddress::Parse
2022-02-17 18:27:15 -07:00
Larry Ruane ba9e020fcd add functional test 2022-02-17 16:47:59 -07:00
Kris Nuttycombe 73a75a37fe Make SaveRecipientMappings polymorphic in RecipientMapping type. 2022-02-17 08:55:59 -07:00
Steven Smith 59c6b028f7 Add Orchard support to the z_gettreestate RPC 2022-02-17 06:14:21 -08:00
therealyingtong 79c0514919 z_sendmany: Only get ua if decoded is ua variant. 2022-02-17 19:38:02 +08:00
Steven ffdc11c378
Merge pull request #5555 from steven-ecc/deprecate_rpcs
Mark z_gettotalbalance and dumpwallet as deprecated
2022-02-16 15:58:46 -08:00
Daira Hopwood 816649db2a
Cosmetic whitespace change 2022-02-16 22:19:59 +00:00
Steven Smith 512c862a5f Mark z_gettotalbalance and dumpwallet as deprecated 2022-02-16 08:47:34 -08:00
str4d d0d6d47aa7
Merge pull request #5545 from LarryRuane/2022-02-z_listreceivedbyaddress-reject-ua-component
z_listreceivedbyaddress: reject UA component addr (#5537)
2022-02-16 16:30:34 +00:00
therealyingtong 94ab8e4c77 Implement read and write for (txid, recipient) -> ua mapping.
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
Co-authored-by: Jack Grigg <jack@z.cash>
2022-02-16 20:15:07 +08:00
Taylor Hornby a2c647d4bf Untested, not working yet, use libtinfo from the debian packages 2022-02-15 14:01:54 -07:00
Larry Ruane 698f7ba770 z_listreceivedbyaddress: reject UA component addr (#5537) 2022-02-15 09:19:09 -07:00
therealyingtong c7346e802e SendTransaction: Introduce recipients argument. 2022-02-15 09:50:00 +08:00
therealyingtong 6436230562 Move SendManyRecipient to wallet.h and introduce optional ua field. 2022-02-15 09:50:00 +08:00
sasha e568a190f3
Merge pull request #5419 from zcash/feature/wallet_unified_addresses 2022-02-14 08:17:36 -08:00
Kris Nuttycombe 9ca64fc8ba
Merge pull request #5541 from nuttycom/ua_test_vectors
Add test vectors for UFVK derivation
2022-02-13 07:36:14 -07:00
Kris Nuttycombe 96f34b9bbd
Merge pull request #5543 from nuttycom/feature/wallet_unified_addresses-address_review
Rename sapling-specific zip32 FFI methods.
2022-02-13 07:35:08 -07:00
Kris Nuttycombe b1ab30c8d9 Rename sapling-specific zip32 FFI methods.
Also addresses a couple of other minor comments from code review.
2022-02-12 15:24:48 -07:00
Kris Nuttycombe 67e871a40c Add test vectors for UFVK derivation
Also update test vectors for unified addresses.
2022-02-12 15:07:05 -07:00
Kris Nuttycombe e6d3dca2a3
Merge pull request #5542 from LarryRuane/2022-02-z_listreceivedbyaddress-ua-1
fix wallet_listreceived.py, add blockdata to taddr output
2022-02-12 14:59:08 -07:00
Larry Ruane 326dafeebe fix wallet_listreceived.py, add blockdata to taddr output 2022-02-12 13:01:58 -07:00
Kris Nuttycombe 93e12899bb
Merge pull request #5540 from nuttycom/feature/wallet_unified_addresses-fix_osx_build
Fix missing std::variant header that was breaking Darwin builds.
2022-02-11 15:26:08 -07:00
Kris Nuttycombe 85caa659af Fix missing std::variant header that was breaking Darwin builds. 2022-02-11 13:10:47 -07:00
Kris Nuttycombe 29c9632ecb
Merge pull request #5508 from LarryRuane/2022-02-z_listreceivedbyaddress-ua
Update z_listreceivedbyaddress to support unified addresses (5467)
2022-02-11 08:10:00 -07:00
Kris Nuttycombe 007f05493a Add change field to z_listreceivedbyaddress for transparent addrs.
This updates the `IsChange` method to check the HD keypath associated
with the key for whether the address was generated as internal
or external.
2022-02-11 12:48:35 +00:00
Larry Ruane c48e35bb66 Update z_listreceivedbyaddress to support unified addresses (5467) 2022-02-11 12:48:23 +00:00
Kris Nuttycombe 30c20c0046
Merge pull request #5323 from charlieok/update_dockerfile_to_debian_11
Update base image used by Dockerfile from debian 10 to debian 11
2022-02-10 18:29:01 -07:00
Kris Nuttycombe d2b900a0c8
Merge pull request #5531 from str4d/overhaul-legacy-transparent-keypool
Only use legacy transparent keypool for internal keys
2022-02-10 18:06:08 -07:00
Jack Grigg 89b9bbaf33 wallet: Separate counters for external and internal transparent keys
This fixes a potential bug with importing the mnemonic into a third
party transparent wallet. Previously, if a user called `getnewaddress`,
made a bunch of transactions that generated at least 20 change
addresses, and then called `getnewaddress` again, the two external
addresses would be separated by a gap of more than 20. If this mnemonic
were imported into a third party transparent wallet, the wallet would
not detect any funds in the second (or subsequent) transparent addresses
because it would detect 20 unused addresses in a row (via the BIP 44
default gap limit).

Now, we track external and internal keys separately; repeated calls to
`getnewaddress` will return addresses for sequential keys. This has the
added benefit that the sequence of `getnewaddress` outputs will be the
same after restoring from a backup.
2022-02-10 21:26:29 +00:00
Jack Grigg 2555aadf31 wallet: Store internal transparent keys in the keypool
Now that the keypool is not used by any consumers of external
transparent keys, we switch it to only contain internal keys. To handle
the impedance mismatch, we clear out the keypool when a mnemonic seed is
generated for the wallet.
2022-02-10 21:26:29 +00:00
Jack Grigg 11e62fa997 wallet: Remove `CWallet::GetKeyFromPool`
Legacy transparent addresses for external use are now obtained directly
via `GenerateNewKey(true)`.
2022-02-10 21:26:29 +00:00
Kris Nuttycombe d1227b086e
Merge pull request #5525 from nuttycom/feature/wallet_unified_addresses-ua_belongs_to_wallet
Add unified address support to PaymentAddressBelongsToWallet and GetSourceForPaymentAddress
2022-02-09 22:26:54 -07:00
Kris Nuttycombe 2aad87e147
Merge pull request #5526 from str4d/wallet-unified-addrs-in-rpcs
Handle wallet Unified Addresses in RPCs
2022-02-09 21:11:41 -07:00
Kris Nuttycombe 50ad6675a5 Address comments from review. 2022-02-09 20:56:00 -07:00
Kris Nuttycombe 09593559f8
Merge pull request #5522 from nuttycom/feature/wallet_unified_addresses-balance_for_vk
Replace z_getbalanceforaddress with z_getbalanceforviewingkey
2022-02-09 20:30:09 -07:00
Jack Grigg 88dde127f4 wallet: Show UAs instead of Sapling receivers in `z_listunspent`
We also add a `type` field to the output objects (matching the field in
`z_viewtransaction`), now that the output type can't be distinguished
solely from the address encoding.
2022-02-10 02:32:56 +00:00
Kris Nuttycombe f320a6cc24 Add unified address support to GetSourceForPaymentAddress 2022-02-09 18:59:13 -07:00
Kris Nuttycombe d2e8b98364 Implement PaymentAddressBelongsToWallet for unified addresses. 2022-02-09 18:22:14 -07:00