Simon
2f6481f835
Add two new wallet tests: FindMySaplingNotes, SaplingNullifierIsSpent.
2018-08-08 12:03:10 -07:00
Simon
c343e2db9a
Fix code review nits.
2018-08-08 12:03:10 -07:00
Simon
3b6dd486b4
Refactor IsSpent(nullifier) for Sprout and Sapling domain separation.
...
We need separate functions for checking Sprout and Sapling nullifiers,
because they are in separate domains and aren't guaranteed to be
collision-resistant (otherwise there is a possibility of a nullifier
collision, however remote, between Sprout and Sapling causing the spend
of one to prevent the spend of the other).
2018-08-08 12:03:10 -07:00
Simon
ec064abbdf
Iterate over mapSaplingFullViewingKeys with ivk->fvk mapping (1:1).
...
When diversified addresses are supported, iterating over
mapSaplingIncomingViewingKeys will be inefficient as the mapping will
be addresses->ivk (n:1).
2018-08-08 12:03:10 -07:00
Simon
28d3dc8532
Add test for CWalletTx::SetSaplingNoteData()
2018-08-08 12:03:10 -07:00
Simon
f12daeb44a
Clean up names of unit tests in gtest/test_wallet.cpp.
2018-08-08 12:03:10 -07:00
Simon
edfc6a787f
Update CWallet::IsSpent() to check Sapling nullifiers.
2018-08-08 12:03:10 -07:00
Simon
ad1e90dd34
Add caching and updating of Sapling note nullifier.
2018-08-08 12:03:10 -07:00
Simon
f9816408b2
Update CWalletTx::GetAmounts() to return COutputEntry for Sapling valueBalance.
2018-08-08 12:03:10 -07:00
Simon
f686388991
Cleanup CWalletTx::GetAmounts() for clarity. No-op.
2018-08-08 12:03:10 -07:00
Simon
c47c1e9363
Remove dead code in CWalletTx::GetAmounts() as filed in issue #3434 .
2018-08-08 12:03:10 -07:00
Simon
d7cf640bbf
Create CWallet::IsSaplingNullifierFromMe()
2018-08-08 12:03:10 -07:00
Simon
037cacf2ce
Rename IsFromMe(nullifier) to IsSproutNullifierFromMe(nullifier).
2018-08-08 12:03:10 -07:00
Simon
78584ef794
Create CWallet::FindMySaplingNotes()
2018-08-08 12:03:09 -07:00
Simon
d4d0ec7e95
Update test to pass in required cm to SaplingNotePlaintext::decrypt().
2018-08-08 12:03:09 -07:00
Sean Bowe
69c4391b0f
Check commitment validity within the decryption API for Sapling note plaintexts.
2018-08-08 12:03:09 -07:00
Simon
52332fb417
Create CWallet::AddToSaplingSpends() to track Sapling nullifiers.
2018-08-08 12:03:09 -07:00
Simon
3a83e7c9a4
Update CWallet::UpdatedNoteData() for Sapling.
2018-08-08 12:03:09 -07:00
Simon
dae1c4204a
Update CWallet::MarkAffectedTransactionsDirty() for Sapling.
2018-08-08 12:03:09 -07:00
Simon
a132719da5
Add ivk member variable and equality comparators to SaplingNoteData class.
2018-08-08 12:02:27 -07:00
Za Wilcox
da85cdfe27
Revise help output for z_sendmany
...
The previous version of the usage message for z_sendmany used the word "Change"
in an ambiguous way.
The intent was to describe "Change" the noun that indicates the portion of a
transaction's funds that are returned to the payer, however the context did not
provide an immediate cue to differentiate from the verb form meaning
"to alter". Indeed, in other help strings in the same file that meaning of the
word is correct, i.e. the verb form is used. Moreover a typo in the form of a
missing "a" later in the same sentence exacerbated the problem, by decreasing
readability precisely where context could reduce confusion.
2018-08-08 12:57:27 -06:00
Simon
3438e26cc3
Rename mapTxNullifiers to mapTxSproutNullifiers.
2018-08-08 11:37:38 -07:00
Simon
d5e490d9f2
Rename CWallet::AddToSpends methods for clarity.
2018-08-08 11:37:38 -07:00
Simon
f41bf503e1
Rename mapNullifiersToNotes to mapSproutNullifiersToNotes.
2018-08-08 11:37:38 -07:00
Simon
618206c7d5
Rename GetNoteNullifier to GetSproutNoteNullifier.
2018-08-08 11:37:38 -07:00
Simon
57faf44e61
Rename FindMyNotes to FindMySproutNotes.
2018-08-08 11:37:38 -07:00
Homu
40f320e0ee
Auto merge of #3443 - daira:testnet-rollback, r=str4d
...
Support testnet rollback.
Part of #1302 . Closes #2905 .
2018-08-08 05:28:08 -07:00
Jack Grigg
13751895c7
Move RewindBlockIndex log message inside rewindLength check
2018-08-08 12:08:29 +01:00
Homu
0c5733fc22
Auto merge of #3448 - ebfull:sapling-params, r=bitcartel
...
Switch to use the official Sapling parameters
2018-08-07 11:20:10 -07:00
Eirik Ogilvie-Wigley
4e1e91512d
Fix assertion and comment
2018-08-06 09:58:40 -06:00
Eirik Ogilvie-Wigley
7929851626
Only include the change field if we have a spending key
2018-08-06 09:58:40 -06:00
Homu
8df048b1de
Auto merge of #3447 - str4d:zip32-prep, r=str4d
...
ZIP 32 preparations
Includes Makefile changes cherry-picked from the following upstream PRs:
- bitcoin/bitcoin#7689
- bitcoin/bitcoin#10849
Part of #3380 .
2018-08-05 05:26:10 -07:00
Jack Grigg
d0372cff5e
Adjust Makefile so that common can be used by the wallet
2018-08-05 10:41:06 +01:00
Jack Grigg
e188723823
Upgrade Rust to 1.28.0 stable
2018-08-05 10:41:06 +01:00
Jack Grigg
0ecdd0f30a
chainparams: Add BIP 44 coin type (as registered in SLIP 44)
2018-08-05 10:41:06 +01:00
Jonas Schnelli
4922d1c19a
Fix test_bitcoin circular dependency issue
2018-08-05 10:41:06 +01:00
Cory Fields
6a753e4f9c
crypter: shuffle Makefile so that crypto can be used by the wallet
...
Wallet must come before crypto, otherwise linking fails on some platforms.
Includes a tangentially-related general cleanup rather than making the Makefile
sloppier.
2018-08-05 10:41:07 +01:00
Sean Bowe
198dfd3c36
Switch to use the official Sapling parameters.
2018-08-04 16:28:39 -06:00
Homu
aa32786576
Auto merge of #3396 - arcalinea:3389_sapling_crypter, r=str4d
...
Update CCryptoKeyStore with Sapling support
Sapling crypter overrides for various `CCryptoKeyStore` functions such as:
- `HaveSaplingSpendingKey()`
- `GetSaplingSpendingKey()`
Also includes some changes to prepare for diversified addresses and ZIP 32.
Closes #3389
2018-08-03 09:48:22 -07:00
Homu
4b27d2efcd
Auto merge of #3441 - ebfull:check-param-hash, r=str4d
...
Check the hash of the zk-SNARK parameters during initialization
**Please also review https://github.com/zcash/librustzcash/pull/28 .**
2018-08-03 07:52:09 -07:00
Jack Grigg
25d5e80cbe
Rename *SpendingKey -> *SproutSpendingKey
...
Also GetPaymentAddresses -> GetSproutPaymentAddresses
2018-08-03 10:10:26 +01:00
Larry Ruane
c0aa34a4b2
generalize mininode.py protocol versioning
2018-08-02 20:30:20 -06:00
Jack Grigg
f84cf5f817
Formatting nits
2018-08-03 02:25:51 +01:00
Jack Grigg
4c77517772
Rename *ViewingKey* -> *SproutViewingKey*
2018-08-03 02:23:38 +01:00
Jack Grigg
74f5b010df
Rename Serialized*Size -> SerializedSprout*Size
2018-08-03 01:57:40 +01:00
Jack Grigg
93fcf892d4
Rename SpendingKeyMap -> SproutSpendingKeyMap
2018-08-03 01:47:30 +01:00
Jack Grigg
5175a7f07b
Pass SaplingPaymentAddress to store through the CKeyStore
2018-08-03 01:01:45 +01:00
Jack Grigg
bc6344b350
Add CWallet::AddCryptedSaplingSpendingKey() hook
...
To be filled in when we implement Sapling persistence to disk.
2018-08-03 00:23:08 +01:00
Jack Grigg
9c9258c4f8
Remove outdated comment
2018-08-03 00:23:08 +01:00
Jack Grigg
4a89221ffc
Check for unencrypted Sapling keys in CCryptoKeyStore::SetCrypted()
2018-08-03 00:23:08 +01:00