aboutsummaryrefslogtreecommitdiff
path: root/src/rpcdump.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Replace weird characters by normal spacesPieter Wuille2014-08-301-3/+3
|
* Split up util.cpp/hWladimir J. van der Laan2014-08-261-0/+2
| | | | | | | | | | | | | | | | Split up util.cpp/h into: - string utilities (hex, base32, base64): no internal dependencies, no dependency on boost (apart from foreach) - money utilities (parsesmoney, formatmoney) - time utilities (gettime*, sleep, format date): - and the rest (logging, argument parsing, config file parsing) The latter is basically the environment and OS handling, and is stripped of all utility functions, so we may want to rename it to something else than util.cpp/h for clarity (Matt suggested osinterface). Breaks dependency of sha256.cpp on all the things pulled in by util.
* Harmonize importprivkey and importaddress documentationWladimir J. van der Laan2014-07-221-6/+20
|
* Merge pull request #4045Wladimir J. van der Laan2014-07-071-0/+54
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a3e192a replaced MINE_ with ISMINE_ (JaSK) 53a2148 fixed bug where validateaddress doesn't display information (JaSK) f28707a fixed bug in ListReceived() (JaSK) 519dd1c Added MINE_ALL = (spendable|watchonly) (JaSK) 23b0506 Fixed some stuff in TransactionDesc (JaSK) 80dda36 removed default argument values for ismine filter (JaSK) d5087d1 Use script matching rather than destination matching for watch-only. (Pieter Wuille) 0fa2f88 added includedWatchonly argument to listreceivedbyaddress/...account (JaSK) f87ba3d added includeWatchonly argument to 'gettransaction' because it affects balance calculation (JaSK) a5c6c5d fixed tiny glitch and improved readability like laanwj suggested (JaSK) d7d5d23 Added argument to listtransactions and listsinceblock to include watchonly addresses (JaSK) 952877e Showing 'involvesWatchonly' property for transactions returned by 'listtransactions' and 'listsinceblock'. It is only appended when the transaction involves a watchonly address. (JaSK) 83f3543 Added argument to listaccounts to include watchonly addresses (JaSK) d4640d7 Added argument to getbalance to include watchonly addresses and fixed errors in balance calculation. (JaSK) d2692f6 Watchonly transactions are marked in transaction history (JaSK) ffd40da Watchonly balances are shown separately in gui. (JaSK) 2935b21 qt: Hide unspendable outputs in coin control (Wladimir J. van der Laan) c898846 Add support for watch-only addresses (Pieter Wuille)
| * Use script matching rather than destination matching for watch-only.Pieter Wuille2014-07-021-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the keystore data format, wallet format and IsMine logic to detect watch-only outputs based on direct script matching rather than first trying to convert outputs to destinations (addresses). The reason is that we don't know how the software that has the spending keys works. It may support the same types of scripts as us, but that is not guaranteed. Furthermore, it removes the ambiguity between addresses used as identifiers for output scripts or identifiers for public keys. One practical implication is that adding a normal pay-to-pubkey-hash address via importaddress will not cause payments to the corresponding full public key to be detected as IsMine. If that is wanted, add those scripts directly (importaddress now also accepts any hex-encoded script). Conflicts: src/wallet.cpp
| * Watchonly balances are shown separately in gui.JaSK2014-07-021-1/+3
| |
| * Add support for watch-only addressesPieter Wuille2014-07-021-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: * Add Add/Have WatchOnly methods to CKeyStore, and implementations in CBasicKeyStore. * Add similar methods to CWallet, and support entries for it in CWalletDB. * Make IsMine in script/wallet return a new enum 'isminetype', rather than a boolean. This allows distinguishing between spendable and unspendable coins. * Add a field fSpendable to COutput (GetAvailableCoins' return type). * Mark watchonly coins in listunspent as 'watchonly': true. * Add 'watchonly' to validateaddress, suppressing script/pubkey/... in this case. Based on a patch by Eric Lombrozo. Conflicts: src/qt/walletmodel.cpp src/rpcserver.cpp src/wallet.cpp
* | Use GetBlockTime() morejtimon2014-07-071-3/+3
|/
* [Qt] importwallet progressCozz Lovan2014-04-231-1/+7
|
* Fix importwallet nTimeFirstKeyCozz Lovan2014-03-211-0/+3
|
* Remove unused includes of boost lexical_castWladimir J. van der Laan2014-03-071-1/+0
| | | | We don't use lexical_cast anywhere, no need to include it.
* Remove CWalletTx::vfSpentGavin Andresen2014-02-261-2/+0
| | | | | | Use the spent outpoint multimap to figure out which wallet transaction outputs are unspent, instead of a vfSpent array that is saved to disk.
* Fix crash in importwallet and dumpwallet formattingWladimir J. van der Laan2014-02-171-3/+3
| | | | | | | | | | - DecodeDumpTime was passing a statically allocated facet object to std::locale. However, "The constructed locale object takes over responsibility for deleting this facet object." causing a free() crash on scope exit. Fixes #3670. - EncodeDumpTime was using the wrong format character for dates (appears accidentally introduced in 51ed9ec9)
* Copyright header updates s/2013/2014 on files whose last git commit was done ↵gubatron2014-02-091-1/+1
| | | | | | in 2014. contrib/devtools/fix-copyright-headers.py script to be able to perform this maintenance task with ease during the rest of the year, every year. Modifications to contrib/devtools/README.md to document what fix-copyright-headers.py does.
* Add check for valid keys in `importprivkey`Wladimir J. van der Laan2014-01-281-1/+3
| | | | | The base58 armoring was checked, but not the resulting private key, which could be out of range. Fix this by adding a check.
* Remove redundant .c_str()sWladimir J. van der Laan2014-01-231-9/+9
| | | | | | | After the tinyformat switch sprintf() family functions support passing actual std::string objects. Remove unnecessary c_str calls (236 of them) in logging and formatting.
* Fix importprivkey / rescanCozz Lovan2014-01-181-0/+5
|
* Explicitly ensure that wallet is unlocked in `importprivkey`Wladimir J. van der Laan2013-12-231-0/+2
| | | | This makes for a more useful error reply (fixes #957).
* Split up bitcoinrpc (code movement only)Wladimir J. van der Laan2013-11-271-3/+1
| | | | | | | | | | | | | | Split bitcoinrpc up into - rpcserver: bitcoind RPC server - rpcclient: bitcoin-cli RPC client - rpcprotocol: shared common HTTP/JSON-RPC protocol code One step towards making bitcoin-cli independent from the rest of the code, and thus a smaller executable that doesn't have to be linked against leveldb. This commit only does code movement, there are no functional changes.
* Issue #1865 - Clean up RPC help messagessje2013-11-131-8/+48
| | | | | | | | | | | | | | | | | | | Based on the proposal, update the help message of rpc methods - strings arguments are in double quotes rather than square brackets - numeric arguments have no quotes (and no default value) - optional parameters are surrounded by round brackets - json arguments are strings but don't use double quotes Added 3 sections for the details - Arguments: lists each argument, it's type, required or not, a default, and a description - Result: The method result, with json format if applicable, type, and a description - Examples: examples calls using bitcoin-cli and curl for json rpc call Problems - maybe this is too verbose - lines might be too long - description are not good or complete - examples may be too much
* misc small changes to polish after include cleanupPhilip Kaufmann2013-11-111-1/+0
|
* Cleanup code using forward declarations.Brandon Dahler2013-11-101-17/+21
| | | | | | | | | Use misc methods of avoiding unnecesary header includes. Replace int typedefs with int##_t from stdint.h. Replace PRI64[xdu] with PRI[xdu]64 from inttypes.h. Normalize QT_VERSION ifs where possible. Resolve some indirect dependencies as direct ones. Remove extern declarations from .cpp files.
* Make time facet non-constantSergey Kazenyuk2013-11-051-1/+1
|
* Break dependency of init on wallet.Pieter Wuille2013-10-261-0/+1
| | | | | | This required some code movement (what was CWalletTx::AcceptToMemoryPool doing in main?), and adding a few explicit includes that used to be implicit through init.h.
* Merge pull request #3119Pieter Wuille2013-10-201-1/+1
|\ | | | | | | db0e8cc Bump Year Number to 2013 (super3)
| * Bump Year Number to 2013super32013-10-201-1/+1
| |
* | Refactor/encapsulate chain globals into a CChain classPieter Wuille2013-10-111-6/+6
|/
* Replace printf with LogPrintf / LogPrintGavin Andresen2013-09-181-3/+3
|
* Refactor: OutputDebugStringF -> LogPrint(category, ...)Gavin Andresen2013-09-181-2/+0
|
* Payment Protocol: X509-validated payment requestsGavin Andresen2013-08-221-2/+2
| | | | | | | | Add support for a Payment Protocol to Bitcoin-Qt. Payment messages are protocol-buffer encoded and communicated over http(s), so this adds a dependency on the Google protocol buffer library, and requires Qt with OpenSSL support.
* Refactor: CAddressBookData for mapAddressBookGavin Andresen2013-08-221-1/+1
| | | | | | | | Straight refactor, so mapAddressBook stores a CAddressBookData (which just contains a std::string) instead of a std::string. Preparation for payment protocol work, which will add the notion of refund addresses to the address book.
* Add dumpwallet and importwallet RPCsPieter Wuille2013-06-221-16/+190
| | | | | | | dumpwallet: produce a dump of all keys in a wallet, in a format compatible with Bitcoin Wallet for Android and Multibit. importwallet: import such a dump
* CSecret/CKey -> CKey/CPubKey split/refactorPieter Wuille2013-05-301-11/+8
|
* add rescan bool to importprivkey to control whether to do a rescan after importMike Cassano2012-12-061-5/+13
|
* Document RPC error codesWladimir J. van der Laan2012-10-041-5/+5
| | | | Replace all "magic values" in RPCError(...) by constants.
* Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddressPieter Wuille2012-05-241-3/+6
| | | | | | | | | | | | | | | | | This introduces internal types: * CKeyID: reference (hash160) of a key * CScriptID: reference (hash160) of a script * CTxDestination: a boost::variant of the former two CBitcoinAddress is retrofitted to be a Base58 encoding of a CTxDestination. This allows all internal code to only use the internal types, and only have RPC and GUI depend on the base58 code. Furthermore, the header dependencies are a lot saner now. base58.h is at the top (right below rpc and gui) instead of at the bottom. For the rest: wallet -> script -> keystore -> key. Only keystore still requires a forward declaration of CScript. Solving that would require splitting script into two layers.
* remove dead "using namespace boost::asio;" from rpcdump.cppPhilip Kaufmann2012-05-241-1/+0
|
* rpcdump: include cleanup. move JSONRPCError def to bitcoinrpc.h.Jeff Garzik2012-05-231-6/+0
|
* Merge pull request #1354 from fanquake/masterPieter Wuille2012-05-201-1/+1
|\ | | | | Update Header Licenses
| * Update License in File HeadersFordy2012-05-181-1/+1
| | | | | | | | | | | | I originally created a pull to replace the "COPYING" in crypter.cpp and crypter.h, but it turned out that COPYING was actually the correct file.
* | Fine-grained UI updatesWladimir J. van der Laan2012-05-201-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gets rid of `MainFrameRepaint` in favor of specific update functions that tell the UI exactly what changed. This improves the efficiency of various handlers. Also fixes problems with mined transactions not showing up until restart. The following notifications were added: - `NotifyBlocksChanged`: Block chain changed - `NotifyKeyStoreStatusChanged`: Wallet status (encrypted, locked) changed. - `NotifyAddressBookChanged`: Address book entry changed. - `NotifyTransactionChanged`: Wallet transaction added, removed or updated. - `NotifyNumConnectionsChanged`: Number of connections changed. - `NotifyAlertChanged`: New, updated or cancelled alert. As this finally makes it possible for the UI to know when a new alert arrived, it can be shown as OS notification. These notifications could also be useful for RPC clients. However, currently, they are ignored in bitcoind (in noui.cpp). Also brings back polling with timer for numBlocks in ClientModel. This value updates so frequently during initial download that the number of signals clogs the UI thread and causes heavy CPU usage. And after initial block download, the value changes so rarely that a delay of half a second until the UI updates is unnoticable.
* | change strings to Bitcoin (uppercase), where it is used as a noun and update ↵Philip Kaufmann2012-05-181-1/+1
|/ | | | strings to use "Qt" (and not qt or QT) / update initialisation of notificator to use qApp->applicationName() instead of a static string
* Remove headers.hPieter Wuille2012-04-171-1/+1
|
* Use scoped locks instead of CRITICAL_BLOCKPieter Wuille2012-04-091-2/+2
|
* Remove USE_SSL #defineGavin Andresen2012-04-041-8/+1
|
* Update all copyrights to 2012Gavin Andresen2012-02-071-1/+1
|
* Compressed pubkeysPieter Wuille2012-01-091-3/+6
| | | | | | | | | | This patch enabled compressed pubkeys when -compressedpubkeys is passed. These are 33 bytes instead of 65, and require only marginally more CPU power when verifying. Compressed pubkeys have a different corresponding address, so it is determined at generation. When -compressedpubkeys is given, all newly generated addresses will use a compressed key, while older/other addresses keep using normal keys. Unpatched clients will relay and verify these transactions.
* Revert "Use standard C99 (and Qt) types for 64-bit integers"Wladimir J. van der Laan2011-12-211-3/+1
| | | | This reverts commit 21d9f36781604e4ca9fc35dc65265593423b73e9.
* Use standard C99 (and Qt) types for 64-bit integersLuke Dashjr2011-12-201-1/+3
|
* Key import and exportPieter Wuille2011-12-171-0/+101
Introduces two new RPC calls: * dumpprivkey: retrieve the private key corresponding to an address * importprivkey: add a private key to your wallet The private key format is analoguous to the address format. It is a 51-character base58-encoded string, that includes a version number and a checksum. Includes patch by mhanne: * add optional account parameter for importprivkey, if omitted use default