Commit Graph

386 Commits

Author SHA1 Message Date
miketout
8682e17a7d Sapling support for z_shieldcoinbase and more 2018-10-08 16:17:24 -07:00
miketout
ca4a5f2692 Change name to Stake Guard 2018-10-07 19:56:02 -07:00
miketout
68b9a352da Change behavior of ExtractDestination, Solver, and GetscriptAddress for crypto conditions 2018-10-06 00:36:21 -07:00
miketout
3bfa5e2264 Latest Zcash updates and more CC for N@S 2018-10-05 00:26:06 -07:00
miketout
7a9960f086 Comment debugging printf's - tracked down to Zcash raw tx bug, which means we should sync 2018-10-04 17:13:42 -07:00
Homu
967bbbc486 Auto merge of #3561 - bitcartel:3560_update_sapling_note_data, r=bitcartel
Closes #3560. Update Sapling note data correctly when importing a key.
2018-10-04 15:37:34 -07:00
Homu
325ba00336 Auto merge of #3542 - Eirik0:3511-update-address-mapping, r=bitcartel
Add newly discovered sapling addresses to the wallet when decrypting

Closes #3511
2018-10-03 21:49:32 -07:00
miketout
905fe35e50 More work on CoinbaseGuard and validation 2018-10-03 16:26:41 -07:00
Simon
f0dcfceb81 Closes #3560. Update Sapling note data correctly when importing a key. 2018-10-03 15:40:50 -07:00
miketout
86e31e3dfc Cleanup staking and fee consistency for stake tx 2018-10-03 10:31:01 -07:00
miketout
b3e3f61826 Enable extended data on stakes and general cleanup 2018-10-03 09:26:40 -07:00
miketout
06f4116090 VerusStakeTransaction 2018-10-03 00:58:00 -07:00
miketout
8a727a26a7 Beginning of N@S solution using CoinbaseGuard CC 2018-10-02 19:49:54 -07:00
Eirik Ogilvie-Wigley
a4ecd0fa72 Add newly discovered sapling addresses to the wallet 2018-10-01 09:34:25 -06:00
miketout
c68ca1a225 Leverage nonce for overwhelming chance of single deterministic winner for chain power in POS 2018-09-28 14:35:38 -07:00
miketout
4b729ec577 Changes for most chain power rule 2018-09-28 01:38:14 -07:00
Larry Ruane
e4f0d6a8de Sapling support for z_listreceivedbyaddress 2018-09-27 16:59:29 -06:00
Eirik Ogilvie-Wigley
83c4e360da Address need not be optional when adding sapling keys 2018-09-27 15:44:04 -06:00
miketout
644c7445ec Latest Zcash updates 2018-09-20 13:32:57 -07:00
miketout
b8deecdc09 Sapling transaction testing 2018-09-20 03:08:36 -07:00
miketout
9feb4b9e08 Major updates integration from all upstreams 2018-09-18 14:33:53 -07:00
Eirik Ogilvie-Wigley
2fe39561ec Export zip32 metadata with sapling keys 2018-09-14 17:27:20 -06:00
Jonas Schnelli
b6d1af89f2 [Wallet] extend CKeyMetadata with HD keypath
Zcash: modified for zip32
2018-09-14 16:59:51 -06:00
Eirik Ogilvie-Wigley
9bcf90e2de Add sapling support to z_importwallet 2018-09-14 16:16:03 -06:00
Eirik Ogilvie-Wigley
0f03de5536 Return more information when adding a spending key 2018-09-14 16:00:47 -06:00
Eirik Ogilvie-Wigley
fcab001b1e Move AddSpendingKeyToWallet 2018-09-14 15:44:03 -06:00
Eirik Ogilvie-Wigley
a0783bb957 Rename AddZKey to include sprout 2018-09-14 15:07:15 -06:00
Eirik Ogilvie-Wigley
5e360fb29f Add sapling spending keys to z_exportwallet 2018-09-14 15:07:15 -06:00
Eirik Ogilvie-Wigley
d6b31d59b5 Rename map to include sprout 2018-09-14 15:07:15 -06:00
Michael Toutonghi
0c8fa56a02 All latest updates, smart contracts, including oracle from KMD/jl777 2018-09-13 13:00:13 -07:00
Homu
0e0f5e4ea7 Auto merge of #3496 - bitcartel:3442_sapling_note_locking, r=str4d
Add Sapling note locking to the CWallet class

Closes #3442.
2018-09-12 09:07:14 -07:00
Simon
b1c693e532 Add methods to store SaplingOutPoint in setLockedSaplingNotes 2018-09-04 14:56:08 -07:00
Simon
0f62cacf0c Refactor: rename ListLockedNotes -> ListLockedSproutNotes 2018-09-04 14:56:08 -07:00
Simon
9ae73247e2 Refactor: rename UnlockAllNotes -> UnlockAllSproutNotes 2018-09-04 14:56:08 -07:00
Simon
d358d145ca Refactor: rename setLockedNotes -> setLockedSproutNotes 2018-09-04 14:55:58 -07:00
Jack Grigg
b7f9a7ae02 wallet: Comment out HDSeed and CHDChain persistence to disk
Sapling keys generated from the seed are not yet persisted, so we don't
want to persist the seed or chain state either, otherwise the wallet
could end up in an inconsistent state.

Some tests are temporarily disabled because commenting out HDSeed
persistence breaks invariants inside CCryptoKeyStore.

Revert this commit during the PR for #3388.
2018-09-03 10:45:37 +01:00
Jack Grigg
70b4ad2dcd wallet: Switch from SaplingSpendingKey to SaplingExtendedSpendingKey
The wallet now only stores Sapling extended spending keys, and thus can
only be used with keys generated from an HDSeed via ZIP 32.

Note that not all Sapling keys in the wallet will correspond to the
wallet's HDSeed, as a standalone Sapling xsk can be imported via
z_importkey. However, it must have been generated from a seed itself,
and thus is more likely to be backed up elsewhere.
2018-09-03 10:45:37 +01:00
Jack Grigg
a4ac4fc3f4 wallet: Store Sapling key metadata indexed by ivk
Closes #3426.
2018-09-03 10:45:37 +01:00
Jack Grigg
e2416930ea wallet: Store HDSeed and chain data 2018-09-03 10:45:37 +01:00
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
miketout
6d84700d44 Enable syncing of new test chains before checkpoints have started 2018-08-25 10:48:40 -07: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