aboutsummaryrefslogtreecommitdiff
path: root/src/qt/transactiondesc.cpp
AgeCommit message (Collapse)Author
2014-01-26Fix off-by-one errors in use of IsFinalTx()Peter Todd
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.
2014-01-21[Qt] Show and store message of normal bitcoin:URICozz Lovan
2013-11-30Refactor: move GetValueIn(tx) to tx.GetValueIn()Gavin Andresen
GetValueIn makes more sense as a CTransaction member.
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-11-04qt: add license header to source filesWladimir J. van der Laan
Closes #839
2013-10-24[Qt]: fix num Blocks to maturity in Tx descriptionPhilip Kaufmann
- as we have main.h included in transactiondesc.cpp, we now also use COINBASE_MATURITY + 1 for the descriptive string - fixes #3131
2013-10-11Refactor/encapsulate chain globals into a CChain classPieter Wuille
2013-09-06qt: add vout index to transaction id in transactions details dialogWladimir J. van der Laan
2013-08-29Bitcoin-Qt: fixes for using display unit from optionsPhilip Kaufmann
- 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
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: 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-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-03-17Bitcoin-Qt: massive header and cpp cleanupPhilip Kaufmann
- 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
2013-01-09Display tx nLockTime correctly when set to block #Peter Todd
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.
2012-10-20Batch block connection during IBDPieter Wuille
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.
2012-10-20UltraprunePieter Wuille
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.
2012-09-28toHTML won't add empty wtx.mapValue elementsxanatos
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.
2012-07-03enhance translation possibilities in TransactionDesc / misc other changesPhilip Kaufmann
- 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)
2012-06-30Fix a typo in TransactionDesccardpuncher
2012-06-09update info string in GUI for generated blocks and change "must wait" into ↵Philip Kaufmann
"must mature" to take the new immature label into consideration
2012-05-24Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddressPieter Wuille
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.
2012-04-17Remove headers.hPieter Wuille
2012-04-09Use scoped locks instead of CRITICAL_BLOCKPieter Wuille
2012-04-04Move from noui.h / ui.h to one ui_interface.h with dummy implementation for ↵Wladimir J. van der Laan
the daemon.
2012-04-03VC2010 compile fixesWladimir J. van der Laan
2012-01-10Qt: Show transaction ID in detailsLuke Dashjr
2011-12-23Move HtmlEscape (escape for qt rich text controls) to qt gui utilitiesWladimir J. van der Laan
2011-12-22Fix broken ExtractAddress (refactored, made callers check for addresses in ↵Gavin Andresen
keystore if they care)
2011-12-21Revert "Use standard C99 (and Qt) types for 64-bit integers"Wladimir J. van der Laan
This reverts commit 21d9f36781604e4ca9fc35dc65265593423b73e9.
2011-12-20Use standard C99 (and Qt) types for 64-bit integersLuke Dashjr
2011-09-02update to work with new lock system, add protocol.* to build systemWladimir J. van der Laan
2011-08-08QtUI code cleanup / comment improvementsWladimir J. van der Laan
2011-07-31Properly html-escape labelsWladimir J. van der Laan
2011-07-29Make debug info more interesting (show SHA160 addresses for inputs)Wladimir J. van der Laan
2011-07-27Merge branch 'master' of https://github.com/bitcoin/bitcoinWladimir J. van der Laan
Conflicts: src/script.cpp
2011-07-26Merge remote branch 'upstream/master'Wladimir J. van der Laan
Conflicts: src/bitcoinrpc.cpp
2011-07-03windows build fixesWladimir J. van der Laan
2011-06-26update core to d0d80170a2ca73004e08fb85007fe055cbf4e411 (CWallet class)Wladimir J. van der Laan
2011-06-25compile fixes by UnthinkingbitWladimir J. van der Laan
2011-06-18remove commented code, use // for one-line comments and comments inside ↵Wladimir J. van der Laan
functions
2011-06-13Internationalization -- initial step, make _ return a std::string to prevent ↵Wladimir J. van der Laan
memory leaks
2011-06-11move back to original directory structureWladimir J. van der Laan