Jack Grigg
81e0fd2eb9
wallet: Add HaveSpendingKeyForPaymentAddress visitor
2018-08-27 11:13:49 +01:00
Jack Grigg
e22c115e78
Move GetSpendingKeyForPaymentAddress visitor into wallet.h
...
Also fixes it to not use the global pwalletMain.
2018-08-27 11:13:49 +01:00
Homu
c53884d20a
Auto merge of #3436 - str4d:3214-z_getbalance, r=str4d
...
Add Sapling support to z_getbalance and z_gettotalbalance
Also includes preparatory changes for various other RPCs that depend on `GetFilteredNotes` etc.
Closes #3214 .
2018-08-24 21:01:53 -07:00
Jack Grigg
573de712ab
rpc: Clarify ivk balance issues in help text
2018-08-25 01:09:12 +01:00
Homu
582ca87bd4
Auto merge of #3451 - zancas:master, r=daira
...
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-23 11:23:23 -07:00
Jack Grigg
d316992f55
rpc: Clarify Sprout shielded addresses in help text
2018-08-22 12:33:30 +01:00
Jack Grigg
053cb3497d
Add Sapling support to z_getbalance and z_gettotalbalance
...
Closes #3214
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
2018-08-20 11:35:06 +01:00
Jack Grigg
94e99acda6
Add Sapling support to GetFilteredNotes() and GetUnspentFilteredNotes()
...
This could in future be refactored to be generic over PaymentAddress and
NotePlaintext in the return type, but for now let's be explicit about which
returned notes are for Sprout vs Sapling, and handle them separately.
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
2018-08-20 11:34:54 +01:00
Homu
20f87bc226
Auto merge of #3422 - bitcartel:3061_track_notes_based_on_3062, r=str4d
...
Track Sapling notes and nullifiers in the wallet (in-memory only, no persistence to disk)
Part of #3061 . Add in-memory tracking of Sapling notes and nullifiers to the wallet.
2018-08-17 14:42:52 -07:00
Jack Grigg
c9339bb61f
test: Fix comment in WalletTests.FindMySaplingNotes
2018-08-17 21:39:16 +01:00
Simon
94f7201424
make-release.py: Versioning changes for 2.0.0.
2018-08-15 17:51:39 -07:00
Sean Bowe
955b328ad1
Sapling mainnet activation height
2018-08-15 12:09:31 -06:00
Sean Bowe
f791ce00eb
Always write the empty root down as the best root, since we may roll back.
2018-08-14 15:17:30 -06:00
Jack Grigg
554e00e8f9
Disable Sapling features on mainnet
...
Also places them behind an experimental features flag on testnet
2018-08-13 14:18:18 +01:00
Jack Grigg
dfcf33fe15
test: Use regtest in key_tests/zs_address_test
2018-08-13 14:17:17 +01:00
Jack Grigg
e7ca4eb3c3
test: gtest for Sapling encoding and decoding
2018-08-13 13:20:07 +01:00
Sean Bowe
3e9aec2a37
make-release.py: Versioning changes for 2.0.0-rc1.
2018-08-09 16:46:45 +00:00
Homu
75286ba19b
Auto merge of #3438 - Eirik0:3424-change-field-improvement, r=bitcartel
...
Only include the change field if we have a spending key
Closes #3424
2018-08-08 13:47:40 -07:00
Simon
303f80fb1e
Fix comment in CWallet::SyncMetaData.
2018-08-08 12:03:10 -07:00
Simon
3c3d1f0a38
Clean up wallet unit tests: replace .value() with .get() for clarity.
...
This is to avoid confusion with note.value().
2018-08-08 12:03:10 -07:00
Simon
58a1224d63
Update wallet unit tests to revert upgraded network parameters.
2018-08-08 12:03:10 -07:00
Simon
52d162319d
Add new wallet test: MarkAffectedSaplingTransactionsDirty
...
Also rename MarkAffectedTransactionsDirty to MarkAffectedSproutTransactionsDirty.
2018-08-08 12:03:10 -07:00
Simon
eba096f24e
Add new wallet test: GetConflictedSaplingNotes
2018-08-08 12:03:10 -07:00
Simon
a5ca7967a4
Add new wallet test: SetSaplingNoteAddrsInCWalletTx.
2018-08-08 12:03:10 -07:00
Simon
3afc6ce219
Update CWallet::GetConflicts for Sapling.
2018-08-08 12:03:10 -07:00
Simon
6d8ea4fa82
Fix typo in parameter name.
2018-08-08 12:03:10 -07:00
Simon
9fe34549b1
Fix inaccurate comments in test.
2018-08-08 12:03:10 -07:00
Simon
668ca2974a
Fix typo in variable name in test.
2018-08-08 12:03:10 -07:00
Simon
992a82c649
Rename wallet tests for clarity between Sprout and Sapling.
2018-08-08 12:03:10 -07:00
Simon
f13387486e
Add new wallet tests: SpentSaplingNoteIsFromMe.
2018-08-08 12:03:10 -07:00
Simon
fba4168049
Add new wallet test: UpdatedSaplingNoteData.
2018-08-08 12:03:10 -07:00
Simon
e5df6ec5cc
Add new wallet test: NavigateFromSaplingNullifierToNote
...
Checks caching of Sapling nullifier and mapping to its SaplingOutPoint.
2018-08-08 12:03:10 -07:00
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