Commit Graph
100 Commits
Author SHA1 Message Date
Simon b11bb0e26a Replace GetTxid() with GetHash() 2016-09-08 21:54:34 -07:00
Simon 6114cfe767 Improve check that user supplied memo field is too long. 2016-09-08 21:46:15 -07:00
Simon e79ded8a47 Remove line of commented out code we don't need 2016-09-08 21:46:15 -07:00
Simon dfc0080d06 Update comment with ticket issue number 2016-09-08 21:46:15 -07:00
Simon 1eb8789789 Add assert 2016-09-08 21:46:15 -07:00
Simon ed42053a6c Fix formatting 2016-09-08 21:46:15 -07:00
Simon 2ad0b7bfe2 Use zcash constants 2016-09-08 21:46:15 -07:00
Simon b99d4f9b17 Improve error reporting when attempting to spend coinbase utxos. 2016-09-08 21:46:15 -07:00
Simon 9fb18458e8 Add assert for two mutually exclusive member variables. 2016-09-08 21:46:15 -07:00
Simon cc59ac12a9 Add ticket number to issues raised in comment. 2016-09-08 21:46:15 -07:00
Simon 00edda4ac6 Remove unused varible. 2016-09-08 21:46:15 -07:00
Simon e2574666f6 Add lock for member variables.
Clean up and clarify that id_ and creation_time_ are never to be mutated anywhere.
Fix incomplete copy/assignment constructors.
2016-09-08 21:46:15 -07:00
Simon da5e7e5185 Formatting and updated test per review. 2016-09-08 21:46:15 -07:00
Simon 03812fefe4 Fix incorrect default value for argument of GetFilteredNotes. 2016-09-08 21:46:15 -07:00
Simon a101ef7979 Update log statement to include fee. 2016-09-08 21:46:15 -07:00
Simon 9bdad43462 Fix formatting 2016-09-08 21:46:15 -07:00
Simon e883ffef91 Add test for calling RPC z_getbalance, z_gettotalbalance, z_listreceivedbyaddress with invalid parameters. 2016-09-08 21:46:15 -07:00
Simon 12448b6457 Add extra RPC parameter checks for minconf<0 and zaddr not belonging to wallet. 2016-09-08 21:46:15 -07:00
Simon 5e363861e0 Replace unique_lock with lock_guard, where appropriate, for consistency 2016-09-08 21:46:15 -07:00
Simon a50fd5fdb7 Add lock guard to getNumberOfWorkers() 2016-09-08 21:46:15 -07:00
Simon e91048f28d Fix formatting 2016-09-08 21:46:15 -07:00
Simon 69a4cb448a Move lock guard to start of addOperation to protect isClosed() and isFinishing() 2016-09-08 21:46:15 -07:00
Simon 61ea2abaf5 Update formatting and documentation. 2016-09-08 21:46:15 -07:00
Simon ca0ec80b4c Add 'DEPRECATED' to help message of zcraw* commands 2016-09-08 21:46:15 -07:00
Simon 6c41028f7c Add z_listreceivedbyaddress RPC call 2016-09-08 21:46:15 -07:00
Simon 1b141933e5 Rename GetUnspentNotes to GetFilteredNotes
Added parameter to ignore spent notes, which is true by default.
2016-09-08 21:46:15 -07:00
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
bitcartel 4ab24d3625 Update payment API documentation for beta 1 2016-09-07 16:53:24 -07:00
Simon fa511e1084 Replace GetTxid() with GetHash() after rebase on latest. 2016-09-07 15:12:20 -07:00
Simon 33264f5b46 Remove GetTxid() from CTransaction and update test_txid 2016-09-07 15:12:09 -07:00
Simon 805344dcf4 Refactor: replace calls to GetTxid() with GetHash() 2016-09-07 15:12:09 -07:00
Simon 6c79b9a12a Update txid gtest to verify #1144 has been removed: GetTxid() and
GetHash() return the same result.
2016-09-07 15:12:09 -07:00
Simon a64f681f2c Remove #1144 from input data of script_tests.
Revert script_invalid.json to commit df1609f.
Revert script_valid.json to commit 1c54757.
2016-09-07 15:12:09 -07:00
Simon 5316bd3560 Remove #1144 from bloom_tests by reverting to commit 5012190. 2016-09-07 15:12:09 -07:00
Simon 3bdb071cc3 Remove #1144 from transaction.cpp by reverting back to commit 942bc46. 2016-09-07 15:12:09 -07:00
Simon 82f3c490b1 Remove #1144 from transaction.h.
Reverts to 4bc00dc with commits f0dab51 (snark) and f5e5707 (joinsplit) retained.
GetTxid() is now an alias for GetHash().
2016-09-07 15:12:09 -07:00
bitcartel 8962f2a902 Update security-warnings.md about REST interface 2016-09-01 11:12:48 -07:00
bitcartel 6555546edf Update payment-api.md 2016-08-30 19:57:16 -07:00
Simon 5d50130bc9 Closes #1315. RPC getblocksubsidy height parameter is now optional and
a test has been added to verify parameter input and results.
2016-08-30 15:11:07 -07:00
Simon 1f882153b6 Throw a domain error as json_spirit is a third-party library. 2016-08-27 09:14:25 -07:00
Simon df3af446e7 Fixes #1122 where json_spirit could stack overflow because there
was no maximum limit set on the number of nested compound elements.
2016-08-26 23:35:45 -07:00
Simon d1f16ffe85 Fix formatting. 2016-08-24 21:47:46 -07: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 4b2e557181 Fix comments. 2016-08-24 11:19:34 -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 badb9a9c2f Add test coverage for RPC call z_getnewaddress. 2016-08-24 11:19:34 -07:00
Simon 60f762a549 Added wallet rpc tests to cover:
z_importwallet, z_exportwallet
z_importkey, z_exportkey
z_listaddresses
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
Simon 4cea36bef3 Add gtest to cover new methods in:
CWallet
- GenerateNewZKey()
- AddZKey()
- LoadZKey()
- LoadZKeyMetadata()
CWalletDB
- WriteZKey()
2016-08-24 11:19:33 -07:00
Simon e709997ff2 Implemented z_listaddresses to return all the zaddr in the wallet. 2016-08-24 11:19:33 -07:00
Simon 92444edc00 Add z_importwallet and z_exportwallet to handle keys for both
taddr and zaddr.  Restore behaviour of dumpwallet and importwallet
to only handle taddr.
2016-08-24 11:19:33 -07:00
Simon c1c4594371 Implemented RPC calls z_importkey, z_exportkey, z_getnewaddress.
Modified RPC calls dumpwallet and importwallet to include spending keys.
2016-08-24 11:19:33 -07:00
bitcartel 5f3f741e47 Add note about zkey and encrypted wallets in z9 alpha. 2016-08-23 15:33:05 -07:00
Simon 73f9e32b86 Closes #701 by adding documentation about the Payment RPC interface. 2016-08-23 00:37:43 -07:00
Simon 75c2f26887 Update variable. 2016-08-08 00:51:27 -07:00
Simon 822b84b616 Fixes #1193 so that during verification benchmarking it does not
unncessarily create thousands of CTransaction objects.
2016-08-07 23:57:39 -07:00
Simon a8270035c0 Release process for z8. Issue #1140. 2016-08-06 15:37:24 -07:00