Commit Graph

9347 Commits

Author SHA1 Message Date
Simon
6d2d045c6b Disable z_sendmany in safe mode 2016-09-08 21:46:15 -07:00
Simon
fc46069e81 Add more logging. 2016-09-08 21:46:14 -07:00
Simon
a9743bc8bf Refactor async sendmany and getbalance calls to use GetUnspentNotes(). 2016-09-08 21:46:14 -07:00
Simon
fe2f198277 Add test for GetUnspentNotes() in wallet. 2016-09-08 21:46:14 -07:00
Simon
a5ac2e25a0 Add GetUnspentNotes to wallet. 2016-09-08 21:46:14 -07:00
Simon
7b79275eba Add tests to try and improve coverage of perform_joinsplit. 2016-09-08 21:46:14 -07:00
Simon
269310ce3c Replace zcashParams_ with global. 2016-09-08 21:46:14 -07:00
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
fc4b127ed3 Add tests for async queue and rpc commands: z_getoperationstatus, z_getoperationresult, z_listoperationids, z_sendmany 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
f86f625dce Update RPCServer to use AsyncRPCQueue's shared queue. 2016-09-08 21:46:14 -07:00
Simon
423a63d0a9 Add shared queue to AsynRPCQueue. 2016-09-08 21:46:14 -07:00
Simon
b922924d14 Add test for AsyncRPCQueue and AsyncRPCOperation. 2016-09-08 21:46:14 -07:00
Simon
017b3ede33 Clear the operation queue when closing it. 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
9cd713439a Added option to close a queue and wait for queued up operations to finish,
rather than just closing a queue and immediately cancelling all operations.
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
008fccfa48 Disable option to allow multiple async rpc workers. 2016-09-08 21:46:13 -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
861513a01f Add public method to AsycnRPCQueue to retrieve all the known operation ids. 2016-09-08 21:46:13 -07:00
Simon
c72a427274 Add public method to get state as a human readable string from an AsyncRPCOperation. 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
4eb1a96f9a Add public field 'memo' to JSOutput to enable creation of notes with custom memos. 2016-09-08 21:46:13 -07:00
Simon
8d08172d0d Add config option 'rpcasyncthreads' to specify number of async rpc workers. Default is 1. 2016-09-08 21:46:13 -07:00
Simon
2e6321a154 Add prefix to async operation id so it is easier to manage on cli. 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
zkbot
2271d3feda Auto merge of #1338 - str4d:147-tweak-difficulty-adjustment-algorithm, r=ebfull
Tweaks to difficulty adjustment algorithm

This PR changes the difficulty algorithm to adjust from the average difficulty over the
block window instead of from the last difficulty. It also removes the special rules for the
testnet, which are incompatible with difficulty averaging.

Closes #147 again.
2016-09-08 02:21:13 +00:00
zkbot
0372ce1f92 Auto merge of #1355 - bitcartel:zc.v0.11.2.latest_paymentapi, r=ebfull
Update payment API documentation for beta 1

Remove 'not in alpha 9' labels as RPC calls are now implemented.
2016-09-08 01:40:49 +00:00
Jack Grigg
622ced8a74 Adjust test to account for integer division precision loss 2016-09-08 12:46:00 +12:00
Jack Grigg
4b37cfd5b8 Remove unnecessary method 2016-09-08 12:22:08 +12:00
bitcartel
4ab24d3625 Update payment API documentation for beta 1 2016-09-07 16:53:24 -07:00
Jack Grigg
aea79ec053 Adjust test to avoid spurious failures
Previously, if the two random numbers happened to be equal, the block time
would not be updated, and subsequent checks would fail.
2016-09-08 11:34:50 +12:00