aboutsummaryrefslogtreecommitdiff
path: root/src/qt/transactiondesc.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Split up util.cpp/hWladimir J. van der Laan2014-08-261-0/+1
| | | | | | | | | | | | | | | | 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.
* [Qt] small Qt-only include cleanupPhilip Kaufmann2014-07-251-1/+1
|
* Merge remote-tracking branch 'upstream/master'Roy Badami2014-07-071-35/+51
|\ | | | | | | | | | | Conflicts: src/qt/overviewpage.cpp src/qt/transactiondesc.cpp
| * replaced MINE_ with ISMINE_JaSK2014-07-021-16/+16
| |
| * Added MINE_ALL = (spendable|watchonly)JaSK2014-07-021-7/+7
| |
| * Fixed some stuff in TransactionDescJaSK2014-07-021-19/+13
| |
| * removed default argument values for ismine filterJaSK2014-07-021-7/+7
| |
| * fixed tiny glitch and improved readability like laanwj suggestedJaSK2014-07-021-3/+3
| |
| * Watchonly balances are shown separately in gui.JaSK2014-07-021-19/+45
| |
| * Move network-time related functions to timedata.cpp/hWladimir J. van der Laan2014-06-251-0/+1
| | | | | | | | | | The network time-offset-mangement functions from util.cpp are moved to timedata.(cpp|h). This breaks the dependency of util on netbase.
| * Remove `using namespace std` from header fileWladimir J. van der Laan2014-06-161-0/+2
| | | | | | | | | | It's considered bad form to import things into the global namespace in a header. Put it in the cpp files where it is needed instead.
| * [Qt] Fix Transaction details shows wrong To:Cozz Lovan2014-05-281-20/+13
| |
* | Implement SI-style (thin space) thoudands separatorRoy Badami2014-05-171-12/+12
|/
* Solve chainActive-related locking issuesWladimir J. van der Laan2014-04-181-205/+200
| | | | | | | | | | | - In wallet and GUI code LOCK cs_main as well as cs_wallet when necessary - In main.cpp SendMessages move the TRY_LOCK(cs_main) up, to encompass the call to IsInitialBlockDownload. - Make ActivateBestChain, AddToBlockIndex, IsInitialBlockDownload, InitBlockIndex acquire the cs_main lock Fixes #3997
* Add AssertLockHeld for cs_main to ChainActive-using functionsWladimir J. van der Laan2014-04-171-0/+1
| | | | | | | | | | All functions that use ChainActive but do not aquire the cs_main lock themselves, need to be called with the cs_main lock held. This commit adds assertions to all externally callable functions that use chainActive or chainMostWork. This will flag usages when built with -DDEBUG_LOCKORDER.
* Merge pull request #3646Wladimir J. van der Laan2014-02-161-1/+1
|\ | | | | | | 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)
| * 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.
* | Handle "conflicted" transactions properlyGavin Andresen2014-02-141-1/+3
|/ | | | | | | | | | | | | | | | | | | | 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.
* Fix off-by-one errors in use of IsFinalTx()Peter Todd2014-01-261-2/+2
| | | | | | | | | | | | | | Previously CreateNewBlock() didn't take into account the fact that IsFinalTx() without any arguments tests if the transaction is considered final in the *current* block, when both those functions really needed to know if the transaction would be final in the *next* block. Additionally the UI had a similar misunderstanding. Also adds some basic tests to check that CreateNewBlock() is in fact mining nLockTime-using transactions correctly. Thanks to Wladimir J. van der Laan for rebase.
* [Qt] Show and store message of normal bitcoin:URICozz Lovan2014-01-211-0/+5
|
* Refactor: move GetValueIn(tx) to tx.GetValueIn()Gavin Andresen2013-11-301-1/+1
| | | | GetValueIn makes more sense as a CTransaction member.
* Cleanup code using forward declarations.Brandon Dahler2013-11-101-13/+15
| | | | | | | | | 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.
* qt: add license header to source filesWladimir J. van der Laan2013-11-041-0/+4
| | | | Closes #839
* [Qt]: fix num Blocks to maturity in Tx descriptionPhilip Kaufmann2013-10-241-1/+4
| | | | | | - as we have main.h included in transactiondesc.cpp, we now also use COINBASE_MATURITY + 1 for the descriptive string - fixes #3131
* Refactor/encapsulate chain globals into a CChain classPieter Wuille2013-10-111-1/+1
|
* qt: add vout index to transaction id in transactions details dialogWladimir J. van der Laan2013-09-061-3/+4
|
* Bitcoin-Qt: fixes for using display unit from optionsPhilip Kaufmann2013-08-291-13/+13
| | | | | | | - extend PaymentServer with setOptionsModel() and rework initNetManager() to make use of that - fix all other places in the code to use display unit from options and no hard-coded unit
* Payment Protocol: X509-validated payment requestsGavin Andresen2013-08-221-0/+16
| | | | | | | | 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-8/+8
| | | | | | | | 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.
* Removed AcceptToMemoryPool method from CTransaction. This method belongs to ↵Eric Lombrozo2013-06-051-2/+2
| | | | | | | | | | | | | | | | | 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.
* Bitcoin-Qt: massive header and cpp cleanupPhilip Kaufmann2013-03-171-1/+2
| | | | | | | - try to enforce the same style to all Qt related files - remove unneeded includes from the files - add missing Q_OBJECT, QT_BEGIN_NAMESPACE / QT_END_NAMESPACE - prepares for a pull-req to include Qt5 compatibility
* Display tx nLockTime correctly when set to block #Peter Todd2013-01-091-1/+1
| | | | | | | | | | | | Previously when a transaction was set to lock at a specific block the calculation was reversed, returning a negative number. This broke the UI and caused it to display %n in place of the actual number. In addition the previous calculation would display "Open for 0 blocks" when the block height was such that the next block created would finalize the transaction. Inserted the word "more" and changed the calculation so that the last message would be "Open for 1 more block" to better match user expectations.
* Batch block connection during IBDPieter Wuille2012-10-201-4/+1
| | | | | | | During the initial block download (or -loadblock), delay connection of new blocks a bit, and perform them in a single action. This reduces the load on the database engine, as subsequent blocks often update an earlier block's transaction already.
* UltraprunePieter Wuille2012-10-201-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This switches bitcoin's transaction/block verification logic to use a "coin database", which contains all unredeemed transaction output scripts, amounts and heights. The name ultraprune comes from the fact that instead of a full transaction index, we only (need to) keep an index with unspent outputs. For now, the blocks themselves are kept as usual, although they are only necessary for serving, rescanning and reorganizing. The basic datastructures are CCoins (representing the coins of a single transaction), and CCoinsView (representing a state of the coins database). There are several implementations for CCoinsView. A dummy, one backed by the coins database (coins.dat), one backed by the memory pool, and one that adds a cache on top of it. FetchInputs, ConnectInputs, ConnectBlock, DisconnectBlock, ... now operate on a generic CCoinsView. The block switching logic now builds a single cached CCoinsView with changes to be committed to the database before any changes are made. This means no uncommitted changes are ever read from the database, and should ease the transition to another database layer which does not support transactions (but does support atomic writes), like LevelDB. For the getrawtransaction() RPC call, access to a txid-to-disk index would be preferable. As this index is not necessary or even useful for any other part of the implementation, it is not provided. Instead, getrawtransaction() uses the coin database to find the block height, and then scans that block to find the requested transaction. This is slow, but should suffice for debug purposes.
* toHTML won't add empty wtx.mapValue elementsxanatos2012-09-281-7/+6
| | | | | | | | As the code was before, toHTML added empty elements to mapValue to check for their existance. Now first it check for their existance and then for their non-emptiness. Removed a duplicated identical if There are two equal ifs, one inside another. If the first one is true, then the second one is true.
* enhance translation possibilities in TransactionDesc / misc other changesPhilip Kaufmann2012-07-031-46/+38
| | | | | | | | - remove "#include <QString>" as this is included in the header - add some missing plural forms that can be translated - change "yours" into "own address", which is easier to understand and translate in that context - cleanup translatable strings to not include HTML or unneeded chars (e.g. ":") - resize TransactionDescDialog a little (remove unwanted line-breaks with non english translations)
* Fix a typo in TransactionDesccardpuncher2012-06-301-1/+1
|
* update info string in GUI for generated blocks and change "must wait" into ↵Philip Kaufmann2012-06-091-1/+1
| | | | "must mature" to take the new immature label into consideration
* Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddressPieter Wuille2012-05-241-11/+13
| | | | | | | | | | | | | | | | | 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 headers.hPieter Wuille2012-04-171-1/+3
|
* Use scoped locks instead of CRITICAL_BLOCKPieter Wuille2012-04-091-2/+4
|
* Move from noui.h / ui.h to one ui_interface.h with dummy implementation for ↵Wladimir J. van der Laan2012-04-041-1/+1
| | | | the daemon.
* VC2010 compile fixesWladimir J. van der Laan2012-04-031-1/+1
|
* Qt: Show transaction ID in detailsLuke Dashjr2012-01-101-0/+2
|
* Move HtmlEscape (escape for qt rich text controls) to qt gui utilitiesWladimir J. van der Laan2011-12-231-27/+11
|
* Fix broken ExtractAddress (refactored, made callers check for addresses in ↵Gavin Andresen2011-12-221-3/+3
| | | | keystore if they care)
* Revert "Use standard C99 (and Qt) types for 64-bit integers"Wladimir J. van der Laan2011-12-211-9/+8
| | | | This reverts commit 21d9f36781604e4ca9fc35dc65265593423b73e9.
* Use standard C99 (and Qt) types for 64-bit integersLuke Dashjr2011-12-201-8/+9
|
* update to work with new lock system, add protocol.* to build systemWladimir J. van der Laan2011-09-021-2/+2
|
* QtUI code cleanup / comment improvementsWladimir J. van der Laan2011-08-081-82/+51
|