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
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
Simon
303f80fb1e
Fix comment in CWallet::SyncMetaData.
2018-08-08 12:03:10 -07:00
Simon
3afc6ce219
Update CWallet::GetConflicts for Sapling.
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
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
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
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
Jack Grigg
25d5e80cbe
Rename *SpendingKey -> *SproutSpendingKey
...
Also GetPaymentAddresses -> GetSproutPaymentAddresses
2018-08-03 10:10:26 +01:00
Jack Grigg
4c77517772
Rename *ViewingKey* -> *SproutViewingKey*
2018-08-03 02:23:38 +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
Eirik Ogilvie-Wigley
8ea8ef9850
Rename Witnesses to include sprout or sapling
2018-08-01 10:41:36 -06:00
Eirik Ogilvie-Wigley
4fc309f0f5
Rename Merkle Trees to include sprout or sapling
2018-08-01 10:31:09 -06:00
Simon
2f0b2a256d
Clean up for rebase: rename mapNoteData to mapSproutNoteData.
2018-07-25 20:47:41 -07:00
Simon
d9fe33b86f
Only check for a valid Sapling anchor after Sapling activation.
...
Before Sapling activates, hashFinalSaplingRoot is 0x0, which is
not a valid anchor. After Sapling activates, the empty root value
of 0x3e49... is a valid anchor.
2018-07-25 20:47:41 -07:00
Eirik Ogilvie-Wigley
e6b0a8b9ee
Add getter and setter for sapling note data and update tests
2018-07-25 20:47:41 -07:00
Eirik Ogilvie-Wigley
29523dc778
Remove extra indentation
2018-07-25 20:47:41 -07:00
Eirik Ogilvie-Wigley
8e8279e728
Rename sprout specific methods
2018-07-25 20:47:41 -07:00
Eirik Ogilvie-Wigley
45de2eda07
Increment sapling note witnesses
2018-07-25 20:47:41 -07:00
Eirik Ogilvie-Wigley
f86ee1c252
Pass sapling merkle tree when incrementing witnesses
2018-07-25 20:47:41 -07:00
Eirik Ogilvie-Wigley
4a0bc6047e
Extract method for incrementing witness heights
2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
f6d0d5ec43
Extract methods for incrementing witnesses
2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
b538024806
Extract method for copying previous witnesses
2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
403b9b4e4d
Clear sapling witness cache
2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
9d804cc619
Decrement sapling note witnesses
2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
3c868d2b03
Consolidate for loops
2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
49695a97b5
Remove redundant curly braces
2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
005f3ad1dd
Rename note data to include sprout
2018-07-25 20:47:40 -07:00
Homu
13b41a6760
Auto merge of #3156 - Eirik0:2935-change-indicator, r=bitcartel
...
Add change indicator
This adds to the json returned when calling z_listreceivedbyaddress and z_listuspent an additional field entitiled 'change' which will be either true or false depending on whether or not the note was change from another transaction.
2018-07-17 11:41:03 -07:00
Eirik Ogilvie-Wigley
0646f749f9
Add change indicator for notes
2018-07-16 14:49:29 -06:00
Jay Graber
8e91ebf76c
Change default_address to return SaplingPaymentAddr and not boost::optional
2018-07-05 14:52:51 -07:00
Jay Graber
f82a864dc1
Add StoreAndRetrieveSaplingSpendingKey test
2018-07-05 14:52:51 -07:00
Jay Graber
f4207d0c0e
Add SaplingIncomingViewingKeys map, SaplingFullViewingKey methods
2018-07-05 14:52:46 -07:00