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
ad1e90dd34
Add caching and updating of Sapling note nullifier.
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
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
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
Michael Toutonghi
5034d1c134
Sync with latest Komodo changes
2018-08-06 12:52:22 -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
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
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
be43b7469d
Add sapling note data and map
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
Michael Toutonghi
17d0160a17
Cleanup nonce changes
2018-07-20 19:57:46 -07:00
Michael Toutonghi
c5325a3256
PoS improvements
2018-07-18 17:42:15 -07:00
Jonas Schnelli
34aca1b03c
[RPC, Wallet] Move RPC dispatch table registration to wallet/ code
...
Allow extending the rpc dispatch table by appending commands when server is not running.
2018-07-18 11:07:15 -06: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
jl777
72953c8342
Syntax
2018-07-11 03:00:38 -11:00
jl777
1cdb961ba2
Fix PoW mining in mixed PoS/PoW, fix orphaned stake tx
2018-07-11 02:51:42 -11:00
Jay Graber
efb7662d4a
Add Sapling Add/Have/Get to keystore
2018-07-05 14:37:33 -07:00
Michael Toutonghi
1fae37f6bf
Working proof of stake with new algorithm
2018-05-15 00:54:18 -07:00
Michael Toutonghi
1f722359c1
Verus Proof of Stake Compete with Additional ant-fork protection on block 1
2018-05-13 18:59:06 -07:00
Jack Grigg
e5eab182b5
Use boost::variant to represent shielded addresses and keys
...
libzcash::PaymentAddress has been renamed to libzcash::SproutPaymentAddress,
and a new typedef boost::variant is now libzcash::PaymentAddress. Similarly
for ViewingKey and SpendingKey.
A new class InvalidEncoding is introduced as the default boost::variant
option for each address and key type; it is used during decoding instead
of boost::optional.
All address and key storage functions in the wallet have been modified to
refer specifically to the Sprout types, as they are used very precisely.
In most other cases, the more general type is leveraged as much as possible,
and we convert to the Sprout type when necessary. This will be subsequently
wrapped in, or replaced with, context-specific functions once Sapling
types are implemented.
2018-05-11 17:14:49 -04:00
Jack Grigg
80ed13d545
Introduce wrappers around CZCPaymentAddress
...
This patch removes the need for the intermediary Base58 type
CZCPaymentAddress, by providing {Encode,Decode}PaymentAddress
functions that directly operate on the conversion between strings
and libzcash::PaymentAddress.
2018-05-08 21:39:55 +01:00
miketout
ea340a1443
Recognizing CLTV transactions more broadly
2018-05-08 13:33:14 -07:00
miketout
fab1429d48
Enable time locked transactions to be recognized in the wallet
2018-05-07 15:58:53 -07:00
Jack Grigg
e935beb810
wallet: Make some arguments const that can be
2018-05-07 22:13:26 +01:00
Jack Grigg
b87e271a9a
wallet: Change IsLockedNote to take a JSOutPoint
...
This removes the uint64_t -> size_t -> uint64_t round trip, as well as the
JSOutPoint -> parts -> JSOutPoint round trip.
2018-05-07 21:56:57 +01:00
miketout
ef70c5b2de
Updated miner messages
2018-05-05 07:52:02 -07:00
miketout
e980a26ddd
Enable time locked coin bases to be used as normal coinbase transactions with longer maturity, fix max_money
2018-05-04 16:33:34 -07:00
Jack Grigg
daed9ba7cc
Change JSOutPoint constructor to have js argument be uint64_t
...
Closes #3192 .
2018-05-03 10:47:22 +01:00
miketout
90e7502158
Enabled recognition of time locked transactions as watch only or spendable, depending on time
2018-05-02 22:20:03 -07:00
miketout
48d800c2c6
Merge all Komodo changes, including proof of stake, crypto conditions, passport, etc.
2018-05-02 03:24:21 -07:00
Simon
5020a93631
Refactoring: rename NotePlaintext --> SproutNotePlaintext
...
Also renames:
CNotePlaintextEntry --> CSproutNotePlaintextEntry
CUnspentNotePlaintextEntry --> CUnspentSproutNotePlaintextEntry
2018-04-26 15:05:30 -07:00
Michael Toutonghi
29bd53a102
Rewrite time locks, coinbase validation, and script functions in C++ for easier integration
2018-04-20 18:38:39 -07:00