Commit Graph

15708 Commits

Author SHA1 Message Date
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
Kris Nuttycombe d24a41496a Clarify documentation of z_getbalanceforviewingkey for Sprout viewing keys. 2022-02-09 17:03:24 -07:00
Kris Nuttycombe bf79be2b57 Replace z_getbalanceforaddress with z_getbalanceforviewingkey 2022-02-09 16:58:55 -07:00
Kris Nuttycombe 08dd842087
Merge pull request #5521 from nuttycom/fix_z_getbalance_locking
Fix locking in z_getbalanceforaddress and z_getbalanceforaccount
2022-02-09 12:30:25 -07:00
Kris Nuttycombe ae1b843b5a Fix locking in z_getbalanceforaddress and z_getbalanceforaccount 2022-02-09 10:48:12 -07:00
str4d d41e10e0c2
Merge pull request #5516 from LarryRuane/2022-02-08-minconf-parse
Fix minconf parsing for z_getbalanceforaccount and z_getbalanceforaddress
2022-02-09 08:29:41 +00:00
Larry Ruane 403c5846c1 fix minconf parsing for z_getbalanceforaccount and z_getbalanceforaddress 2022-02-08 22:58:45 -07:00
str4d 9439c79bab
Merge pull request #5469 from nuttycom/feature/wallet_unified_addresses-z_sendmany
Add support for unified addresses to z_sendmany
2022-02-08 23:42:59 +00:00
Kris Nuttycombe 3f84067658 Fix nondeterministic test failure in wallet_listreceivedby.py 2022-02-08 14:18:18 -07:00
Kris Nuttycombe 1890758b27 Apply suggestions from code review.
Co-authored-by: str4d <thestr4d@gmail.com>
2022-02-08 10:59:15 -07:00
Kris Nuttycombe cf271473eb Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: str4d <thestr4d@gmail.com>
2022-02-07 16:52:31 -07:00
Kris Nuttycombe 13ee447a42 Merge branch 'test_wallet_listreceived' into feature/wallet_unified_addresses-z_sendmany 2022-02-07 15:08:35 -07:00
Kris Nuttycombe fa0d4eb473 Use z_shieldcoinbase for Sprout funds in wallet_listreceived tests.
After release 4.7.0, z_sendmany will no longer support sending
funds to Sprout. By using z_shieldcoinbase, we can avoid this
limitation.
2022-02-07 15:06:19 -07:00
str4d 96912d3152
Merge pull request #5490 from LarryRuane/2022-01-ua-shieldcoinbase
allow UA as z_shieldcoinbase destination
2022-02-03 21:44:29 +00:00
Larry Ruane 1e165b8396 allow UA as z_shieldcoinbase destination 2022-02-03 08:31:26 -07:00
Kris Nuttycombe 741ed52436 Fix nondeterministic test error (checking for the wrong error case). 2022-02-02 17:48:35 -07:00
Kris Nuttycombe 6c9b9a53b5 Update librustzcash dependency. 2022-02-02 17:40:36 -07:00
Kris Nuttycombe 214567be2c Add a few additional cases to z_sendmany RPC tests. 2022-02-01 08:24:31 -07:00
Kris Nuttycombe a0c27bf254 Address TODOs in rpc-tests/wallet-accounts.py 2022-02-01 08:24:31 -07:00
Kris Nuttycombe a46720aab1 Add accessor method for Sapling IVKs to SaplingDiversifiableFullViewingKey 2022-02-01 08:24:31 -07:00
Kris Nuttycombe 2209a74f38 Fix a bug in the generation of addresses from UFVKs
The use of `std::optional` for the return type of the
`ZcashdUnifiedFullViewingKey::Address` operation obscured
a potential bug where the requested receiver types for a
unified address could not be satisfied because the UFVK
from which the address was being derived did not contain
all of the requested key types.
2022-02-01 08:24:31 -07:00
Kris Nuttycombe 90e59c3be0 Do not add Sapling addresses to the wallet by default when adding extfvks.
Adding the default address to the wallet automatically made sense
prior to support of diversified addresses, but this is no longer
desirable behavior as we have separated key generation from address
derivation.
2022-01-31 11:31:16 -07:00
Kris Nuttycombe 66530d97e1 Rename AddSaplingIncomingViewingKey -> AddSaplingPaymentAddress
This operation was poorly named; the wallet already contained
the IVK, and this operation was simply adding the ability to
look up the IVK by a specific diversified address derived
from that IVK.
2022-01-30 17:24:52 -07:00
Kris Nuttycombe b80349d246 GenerateLegacySaplingZKey only needs to return an address, not an extfvk. 2022-01-30 11:26:49 -07:00
Kris Nuttycombe ae2213dcdc Fix variable shadowing in change address derivation & add change IVK to the keystore. 2022-01-30 11:15:50 -07:00
Kris Nuttycombe acacc044fc Add gtest for change address derivation.
Check that derivation of the UFVK change address is consistent
irrespective of the path by which it is derived.
2022-01-30 11:09:06 -07:00
Kris Nuttycombe 9afea4f10b Add failing tests for z_sendmany ANY_TADDR -> UA and UA -> <legacy_taddr> 2022-01-30 11:07:00 -07:00
Kris Nuttycombe 91be2f1875 Simplify determination of valid change types. 2022-01-29 13:53:24 -07:00
Kris Nuttycombe b880ef8a1c Fix z_sendmany handling of transparent OVK derivation in the ANY_TADDR case. 2022-01-27 21:29:40 -07:00
Kris Nuttycombe 71f17fa05c Add a check for internal vs. external outputs to wallet_listreceived test. 2022-01-27 21:29:40 -07:00
Kris Nuttycombe 1733c6bc0c Use a BIP 44 change address for change when sending from legacy t-addrs. 2022-01-27 21:29:37 -07:00
Kris Nuttycombe b46d85976d Implement derivation of the internal Sapling spending key. 2022-01-27 21:27:43 -07:00
Kris Nuttycombe 3ddbe1fa06 Implement OVK selection for z_sendmany. 2022-01-27 21:27:43 -07:00
Kris Nuttycombe bdcb12e445 Add a first-class type for transparent full viewing keys. 2022-01-27 21:27:43 -07:00
Kris Nuttycombe c21ffff790 Add correct selection of change addresses to z_sendmany
This also alters `TransactionBuilder::SendChangeTo` to take a
`libzcash::ChangeAddress` value and thus avoids the invalid
t-addr case of CTxDestination.
2022-01-27 21:27:43 -07:00
str4d 992a47103d
Merge pull request #5500 from str4d/ua-wallet-balance-rpcs
Implement balance RPC methods that support Unified Addresses
2022-01-27 20:11:38 +00:00
Kris Nuttycombe d17a0bb9de Merge remote-tracking branch 'upstream/master' into feature/wallet_unified_addresses 2022-01-25 20:27:33 -07:00
Jack Grigg 756f4fc840 wallet: Implement `z_getbalanceforaddress`
Closes zcash/zcash#5182.
2022-01-26 00:34:45 +00:00
Jack Grigg 77c46933aa wallet: Fix account generation bug
When generating a new account, we were setting up the map from account
ID to UFVK ID, but were not setting up the reverse map from UFVK ID to
account ID. The latter map is needed in order to verify that a note in
the wallet belongs to the account. We were correctly loading it from the
account metadata on node start, but between account generation and first
restart, z_getbalanceforaccount would always return zero.

We now initialize the UFVK address metadata map with the account ID when
the account is generated.
2022-01-26 00:02:58 +00:00
Jack Grigg ca0dad0a8c wallet: Implement `z_getbalanceforaccount`
Closes zcash/zcash#5183.
2022-01-25 23:54:30 +00:00
Kris Nuttycombe d8c818bfa5
Merge pull request #5464 from LarryRuane/2022-01-submitblock-log-soln-error
mining: submitblock: log detailed equihash solution error
2022-01-25 12:49:00 -07:00
Kris Nuttycombe 443136c137
Merge pull request #5485 from nuttycom/feature/wallet_unified_addresses-z_sendmany-prereq
Shared utility code needed for z_sendmany and other UA balance-related RPCs.
2022-01-25 12:42:57 -07:00
Kris Nuttycombe 28eddb7c21
Merge pull request #5474 from LarryRuane/2022-01-disable-sprout-addr-gen
rpc: Disable Sprout address generation at Canopy #5368
2022-01-25 10:05:44 -07:00
Charlie O'Keefe 19bfc2f3b8
Merge pull request #5463 from zingolabs/drop_pyblake2_dep
Drop pyblake2 dependency
2022-01-25 09:32:08 -07:00
Kris Nuttycombe b93155c460 Add documentation for `UnifiedAddress::GetPreferredRecipientAddress` 2022-01-25 09:15:51 -07:00
Kris Nuttycombe db104a6329 Use `ZTXOSelector::IncludesSapling` rather than selector internals. 2022-01-25 09:13:08 -07:00
Kris Nuttycombe b8a5131af9 Clarify documentation of CWallet::FindAccountForSelector 2022-01-25 09:08:52 -07:00
Kris Nuttycombe beb0f2bc1f Make `FindSpendableInputs` respect `ZTXOSelector::RequireSpendingKeys()` 2022-01-25 09:00:28 -07:00
Kris Nuttycombe c15f6a9cad Rename ZTXOSelector::SpendingKeysAvailable -> RequireSpendingKeys 2022-01-25 07:39:22 -07:00
Kris Nuttycombe ddb34f612d Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: str4d <jack@electriccoin.co>
2022-01-24 20:01:41 -07:00