aboutsummaryrefslogtreecommitdiff
path: root/src/rpcwallet.cpp
AgeCommit message (Collapse)Author
2014-02-17Serialize only CTransaction data in gettransaction RPC hexWladimir J. van der Laan
Don't include trailing implementation-specific wallet metadata. Fixes 3a1c20b.
2014-02-16Merge pull request #3646Wladimir J. van der Laan
5770254 Copyright header updates s/2013/2014 on files whose last git commit was done 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. (gubatron)
2014-02-16Document new `walletpassphrase` behavior in 0.9Wladimir J. van der Laan
Also add a note to the release notes. Fixes #3672.
2014-02-14Track and report wallet transaction clonesGavin Andresen
Adds a "walletconflicts" array to transaction info; if a wallet transaction is mutated, the alternate transaction id or ids are reported there (usually the array will be empty). Metadata from the original transaction is copied to the mutant, so the transaction time and "from" account of the mutant are reported correctly.
2014-02-14Handle "conflicted" transactions properlyGavin Andresen
Extend CMerkleTx::GetDepthInMainChain with the concept of a "conflicted" transaction-- a transaction generated by the wallet that is not in the main chain or in the mempool, and, therefore, will likely never be confirmed. GetDepthInMainChain() now returns -1 for conflicted transactions (0 for unconfirmed-but-in-the-mempool, and >1 for confirmed). This makes getbalance, getbalance '*', and listunspent all agree when there are mutated transactions in the wallet. Before: listunspent: one 49BTC output getbalance: 96 BTC (change counted twice) getbalance '*': 46 BTC (spends counted twice) After: all agree, 49 BTC available to spend.
2014-02-13Merge pull request #3662Wladimir J. van der Laan
0542619 Rename IsConfirmed to IsTrusted to better match the intended behavior. (Gregory Maxwell)
2014-02-13Add raw transaction hex to `gettransaction` wallet RPCWladimir J. van der Laan
This allows getting raw transaction data from the wallet even if the transaction is no longer in the blockchain / mempool (for example if it got orphaned due to malleability abuse).
2014-02-12Rename IsConfirmed to IsTrusted to better match the intended behavior.Gregory Maxwell
This doesn't change the functionality at all.
2014-02-09Copyright header updates s/2013/2014 on files whose last git commit was done ↵gubatron
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.
2014-01-30small changes to rpc command help message stringsPhilip Kaufmann
2014-01-29Re-add BTC/KB in help message for `settxfee`Wladimir J. van der Laan
Commit a22eed6a got reverted in a RPC documentation update, redo it.
2014-01-29Mention `*` value for account in documentation for `getbalance` RPCWladimir J. van der Laan
2014-01-17qt: allow `walletpassphrase` in debug console without -serverWladimir J. van der Laan
Currently it is only possible to use `walletpassphrase` to unlock the wallet when bitcoin is started in server mode. Almost everything that manipulates the wallet in the RPC console needs the wallet to be unlocked and is thus unusable without -server. This is pretty unintuitive to me, and I'm sure it's even more confusing to users. Solve this with a very minimal change: by making the GUI start a dummy RPC thread just to handle timeouts.
2013-12-20Merge pull request #3369Wladimir J. van der Laan
6027b46 Add rpc command 'getunconfirmedbalance' to obtain total unconfirmed balance (Michael Bauer)
2013-12-13Move `verifymessage` from rpcwallet to rpcmiscWladimir J. van der Laan
Enables it in --disable-wallet compiles.
2013-12-13Move `createmultisig` from rpcwallet to rpcmiscWladimir J. van der Laan
Enables it in --disable-wallet compiles.
2013-12-13Move `validateaddress` from rpcwallet to rpcmiscWladimir J. van der Laan
Enables it in --disable-wallet compiles. Delimit wallet-using part using #ifdef ENABLE_WALLET.
2013-12-13Move `settxfee` from rpcblockchain to rpcwalletWladimir J. van der Laan
`settxfee` only affects the wallet, not the block chain.
2013-12-09rpcwallet: use EnsureWalletIsUnlocked() where possiblePhilip Kaufmann
- replaces a pwalletMain->IsLocked() check - in keypoolrefill init kpSize to 0 as we have the logic to determine max kpSize in pwalletMain->TopUpKeyPool() anyway
2013-12-08Add rpc command 'getunconfirmedbalance' to obtain total unconfirmed balanceMichael Bauer
Conflicts: src/rpcserver.cpp
2013-12-04Move getinfo to rpcnet.cppWladimir J. van der Laan
Where to place `getinfo` is a difficult issue as it shows information from the wallet, net and block chain. However, I moved it out of rpcwallet as the command needs also to be available without wallet.
2013-12-04Move HelpExample* from rpcwallet to rpcserverWladimir J. van der Laan
General functions used throughout the RPC framework don't belong in rpcwallet.
2013-11-30Refactor: move GetValueIn(tx) to tx.GetValueIn()Gavin Andresen
GetValueIn makes more sense as a CTransaction member.
2013-11-27Split up bitcoinrpc (code movement only)Wladimir J. van der Laan
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.
2013-11-13Issue #1865 - Clean up RPC help messagessje
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
2013-11-10Cleanup code using forward declarations.Brandon Dahler
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.
2013-10-24RPC: error code changes and prevent crash with walletpassphrasePhilip Kaufmann
- fix crash with walletpassphrase by checking if RPC server is running and give a friendly error message how to fix this (fixes #3100) - add 3 new RPCErrorCodes RPC_SERVER_NOT_STARTED, RPC_NODE_ALREADY_ADDED and RCP_NODE_NOT_ADDED (I checked the source to not use a number already in use for RPC_SERVER_NOT_STARTED) - use the new codes where needed / missing - add missing use of RPC_INVALID_PARAMETER
2013-10-22Merge branch 'bugfix_unknownoutputs' of git://github.com/luke-jr/bitcoinGavin Andresen
Conflicts: src/wallet.cpp Fixed LogPrint/printf merge conflict.
2013-10-20Merge pull request #3119Pieter Wuille
db0e8cc Bump Year Number to 2013 (super3)
2013-10-20Bump Year Number to 2013super3
2013-10-15Reimplement CBlockLocator's chain-related logic in CChain.Pieter Wuille
This removes a few unused CBlockLocator methods, and moves the construction and fork-finding logic to CChain (which can do these more efficiently, as it has a height-indexable chain available). It also makes CBlockLocator independent from the validation code.
2013-10-11Refactor/encapsulate chain globals into a CChain classPieter Wuille
2013-10-02RPC validateaddress: test pwalletMain for NULL (no-wallet mode)Jeff Garzik
2013-10-01Support absence of wallet (pwalletMain==NULL) in several locations,Jeff Garzik
notably RPC.
2013-09-12Make validateaddress provide redeemScriptPeter Todd
2013-09-02Merge pull request #2948 from jgarzik/changeaddrGregory Maxwell
RPC: add getrawchangeaddress, for raw transaction change destinations
2013-08-28RPC: add getrawchangeaddress, for raw transaction change destinationsJeff Garzik
2013-08-23Remove fAllowReuse from GetKeyFromPool.Gregory Maxwell
With the GUI password fix this was always false.
2013-08-22Payment Protocol: X509-validated payment requestsGavin Andresen
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.
2013-08-22Refactor: Move GetAccountAddresses to CWalletGavin Andresen
2013-08-22Refactor: CAddressBookData for mapAddressBookGavin Andresen
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.
2013-08-16Clarified the listsinceblock help testMicha
Specifically, the fact that the command relates to wallet transactions.
2013-08-14Merge pull request #2776 from jgarzik/keypoolsizeGavin Andresen
RPC: keypoolrefill now permits optional size parameter, to bump keypool
2013-08-07Use existing RPC_INVALID_PARAMETER constantHan Lin Yap
2013-07-17Bugfix: Supress "address" key in transaction details, when the destination ↵Luke Dashjr
isn't recognized Previously, it would pass corrupt/random through base58.
2013-06-25RPC: keypoolrefill gains optional size parameterJeff Garzik
2013-06-25CWallet::TopUpKeyPool() takes optional pool size argumentJeff Garzik
Also, GetKeyPoolSize() now returns an accurate type, unsigned int.
2013-06-19Introduce a CChainParameters singleton class and regtest mode.Mike Hearn
The new class is accessed via the Params() method and holds most things that vary between main, test and regtest networks. The regtest mode has two purposes, one is to run the bitcoind/bitcoinj comparison tool which compares two separate implementations of the Bitcoin protocol looking for divergence. The other is that when run, you get a local node which can mine a single block instantly, which is highly convenient for testing apps during development as there's no need to wait 10 minutes for a block on the testnet.
2013-06-05Removed AcceptToMemoryPool method from CTransaction. This method belongs to ↵Eric Lombrozo
the mempool instance. Removed AreInputsStandard from CTransaction, made it a regular function in main. Moved CTransaction::GetOutputFor to CCoinsViewCache. Moved GetLegacySigOpCount and GetP2SHSigOpCount out of CTransaction into regular functions in main. Moved GetValueIn and HaveInputs from CTransaction into CCoinsViewCache. Moved AllowFree, ClientCheckInputs, CheckInputs, UpdateCoins, and CheckTransaction out of CTransaction and into main. Moved IsStandard and IsFinal out of CTransaction and put them in main as IsStandardTx and IsFinalTx. Moved GetValueOut out of CTransaction into main. Moved CTxIn, CTxOut, and CTransaction into core. Added minimum fee parameter to CTxOut::IsDust() temporarily until CTransaction is moved to core.h so that CTxOut needn't know about CTransaction.
2013-05-30Merge pull request #2625 from gavinandresen/walletlock_asioJeff Garzik
Use boost::asio::deadline_timer for walletpassphrase timeout