Simon
5f8118c8a4
Revert "Reduce use of global pzcashParams with private member variable"
...
This reverts commit 4d71ba58d37eb4f93d68b5e437086ce14fb24825.
2016-09-08 21:46:14 -07:00
Simon
4b32c16ba5
Reduce use of global pzcashParams with private member variable
2016-09-08 21:46:14 -07:00
Simon
485145ea78
Disable proof generation when testmode is enabled in async SendMany operation.
2016-09-08 21:46:14 -07:00
Simon
4cff8a5c50
Fix typo in error message
2016-09-08 21:46:14 -07:00
Simon
a0a3334c4d
Add z_getbalance and z_gettotalbalance RPC calls to close #1201 .
2016-09-08 21:46:14 -07:00
Simon
cff6f0ac46
Add friend class for testing private members of AsyncRPCOperation_sendmany.
2016-09-08 21:46:14 -07:00
Simon
9bb6162626
Add extra checking of memo data in hexadecimal string format.
2016-09-08 21:46:14 -07:00
Simon
a5905772c8
Add logging under the category "asyncrpc".
2016-09-08 21:46:14 -07:00
Simon
39c7f954d0
Remove redundant call.
2016-09-08 21:46:14 -07:00
Simon
15c83ac6b4
Remove redundant check when getting spending key for a payment address.
2016-09-08 21:46:14 -07:00
Simon
87f7c98795
Refactor to use wallet note tracking from commit a72379
2016-09-08 21:46:14 -07:00
Simon
97b6f365a1
Fix bug where wallet was not persisting witnesses to disk.
...
Author: str4d
2016-09-08 21:46:14 -07:00
Simon
c93d8bdf9c
Fix bug where call to sign and send a transaction was in wrong scope.
2016-09-08 21:46:14 -07:00
Simon
3fd5a615ac
Coinbase utxos can only be spent when sending to a single zaddr.
...
Change from the transaction will be sent to the same zaddr.
2016-09-08 21:46:14 -07:00
Simon
14af21e9f7
Add chaining of JoinSplits within a transaction.
2016-09-08 21:46:13 -07:00
Simon
c1eae2806c
Closes #1293 by adding z_getoperationresult and making z_getoperationstatus idempotent.
2016-09-08 21:46:13 -07:00
Simon
3b54bf5813
Refactoring and small improvements to async rpc operations.
...
Added AsyncRPCQueue::closeAndWait() so rpcserver can block on worker threads when shutting down.
AsyncRPCOperation is no longer copyable - copy constructor and assignment operators now private.
Refactoring: renamed methods, renamed member variables
Tidy up: comments, const, size_t, braces
2016-09-08 21:46:13 -07:00
Simon
34f0001ccc
Implement RPC call z_listoperationids and update z_getoperationstatus to take a list parameter.
2016-09-08 21:46:13 -07:00
Simon
15d345466d
Successful result of z_sendmany returns txid so it doesn't need to return raw hex.
2016-09-08 21:46:13 -07:00
Simon
b7d7b2ad9d
z_sendmany from a taddr now routes change to a new address instead of back to the sender's taddr,
2016-09-08 21:46:13 -07:00
Simon
4876de6c6d
Update find_unspent_notes() as mapNoteAddrs_t has been replaced by mapNoteData_t.
2016-09-08 21:46:13 -07:00
Simon
dafb81614b
Implement z_sendmany RPC call.
...
Simple implementation does not try to optimize coin or note selection.
Caller can send from a taddr or zaddr to multiple recipients.
Currently only one of the recipients can be a zaddr.
2016-09-08 21:46:13 -07:00
Simon
fc72c078be
Add async RPC queue and operation classes.
...
Add z_getoperationstatus RPC command.
Add z_sendmany RPC command (dummy implementation, does not send actual
coins).
2016-09-08 21:46:13 -07:00
Jack Grigg
289b12e448
Add tests for refactored wallet code
2016-09-08 17:29:08 +12:00
Jack Grigg
ac1c94350d
Refactor wallet note code for testing
2016-09-08 17:17:35 +12:00
Simon
fa511e1084
Replace GetTxid() with GetHash() after rebase on latest.
2016-09-07 15:12:20 -07:00
Simon
805344dcf4
Refactor: replace calls to GetTxid() with GetHash()
2016-09-07 15:12:09 -07:00
Jack Grigg
f7d78fdde1
Fix failing test
2016-09-01 20:16:18 +12:00
Jack Grigg
268bd84f9a
Add coverage of the assertion inside GetNoteWitnesses()
2016-09-01 15:04:57 +12:00
Jack Grigg
5abaca1af6
Fix the failing test!
2016-09-01 13:00:02 +12:00
Jack Grigg
ac91ebbe92
Add test showing that the witness cache isn't being serialised
2016-09-01 12:47:44 +12:00
Jack Grigg
32a103aab7
Changes after review
2016-09-01 11:48:15 +12:00
Jack Grigg
0736fa14fc
Keep any existing cached witnesses when updating transactions
2016-08-31 21:16:59 +12:00
Jack Grigg
1551db870a
Add transactions to wallet if we spend notes in them
2016-08-31 18:28:00 +12:00
Jack Grigg
38a6e7a74d
Set witness cache size equal to coinbase maturity duration
...
Both constants have the same implicit assumption: that the blockchain will very
rarely undergo a reorganisation of that size.
2016-08-31 15:26:49 +12:00
Jack Grigg
ad20f2149a
mapNullifiers -> mapNullifiersToNotes for clarity
2016-08-31 15:11:35 +12:00
Jack Grigg
4086e5ce98
Replace vAnchorCache with a cache size counter
...
The anchor is obtained from the returned witnesses; since all witnesses are to
the same point (the latest blockchain tip), they all have the same root.
2016-08-31 15:03:42 +12:00
Jack Grigg
3fac1020e7
Remove GetNoteDecryptors(), lock inside FindMyNotes() instead
2016-08-31 02:09:17 +12:00
Jack Grigg
de42390f90
Pass ZCIncrementalMerkleTree to wallet to prevent race conditions
2016-08-31 02:00:11 +12:00
Jack Grigg
769e031c1a
Update cached incremental witnesses when the active block chain tip changes
2016-08-30 00:29:49 +12:00
Jack Grigg
be74c80deb
Add caching of incremental witnesses for spendable notes
2016-08-30 00:29:49 +12:00
Jack Grigg
8db7e25c3f
Create mapping from nullifiers to received notes
...
This is used in the same way as CTxIn.prevout (e.g. to mark transactions dirty).
2016-08-30 00:29:49 +12:00
Jack Grigg
0f1060478f
Keep track of spent notes, and detect and report conflicts
2016-08-30 00:29:49 +12:00
Jack Grigg
c3a7307a69
Store mapping between notes and PaymentAddresses in CWalletTx
2016-08-30 00:29:49 +12:00
Jack Grigg
02e674555e
Add wallet method for finding spendable notes in a CTransaction
2016-08-30 00:29:49 +12:00
Simon
3bff998b38
Rename methods to avoid using prefix of _ underscore which is reserved.
...
Added logging of explicit exception rather than a catch all.
Removed redundant spending key check.
Updated user facing help message.
2016-08-24 11:55:26 -07:00
Simon
309b0ecd80
Add "zkey" to list of key types (used by the wallet to decide
...
whether or not it can be recovered if it detects bad records).
2016-08-24 11:19:34 -07:00
Simon
79d769a382
Remove one line of dead code.
2016-08-24 11:19:34 -07:00
Simon
2e0cc87acf
Fix comment.
2016-08-24 11:19:34 -07:00
Simon
0feffd1424
Don't mark wallet as dirty if key already exists.
...
Fix incorrect method name used in error message.
2016-08-24 11:19:33 -07:00