aboutsummaryrefslogtreecommitdiff
path: root/src/txdb.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix chainstate serialized_size computationPieter Wuille2015-10-281-1/+1
|
* leveldbwrapper symbol rename: Remove "Level" from class, etc. namesJeff Garzik2015-10-221-6/+6
|
* trivial: use constants for db keysDaniel Kraft2015-10-131-4/+4
| | | | | Replace literal occurances of the key "prefixes" 'c' and 'b' in txdb.cpp by the respective constants.
* Refer to obfuscate_key via pointer in peripheral CLevelDB classesJames O'Beirne2015-10-091-3/+3
| | | | cc @sipa
* Handle obfuscation in CLevelDBIteratorJames O'Beirne2015-10-081-3/+3
|
* Encapsulate CLevelDB iterators cleanlyPieter Wuille2015-10-081-39/+20
| | | | | | | Conflicts: src/leveldb.cpp src/leveldb.h src/txdb.cpp
* Add chainstate obfuscation to avoid spurious antivirus detectionJames O'Beirne2015-10-061-17/+10
| | | | | | | | Adds an `obfuscate` parameter to `CLevelDBWrapper` and makes use of it for all new chainstate stores built via `CCoinsViewDB`. Also adds an `Xor` method to `CDataStream`. Thanks to @sipa @laanwj @pstratem @dexX7 @KyrosKrane @gmaxwell.
* TRIVIAL: Missing includesJorge Timón2015-07-231-0/+1
|
* rpc: make `gettxoutsettinfo` run lock-freeWladimir J. van der Laan2015-06-161-1/+4
| | | | | | | For leveldb "An iterator operates on a snapshot of the database taken when the iterator is created". This means that it is unnecessary to lock out other threads while computing statistics, and neither to hold cs_main for the whole time. Let the thread run free.
* Consensus: Refactor: Decouple pow.o from chainparams.oJorge Timón2015-03-261-1/+3
|
* Includes: Do not include main.h from any other headerJorge Timón2015-03-241-0/+1
|
* Remove whitespaces before double colon in errors and logsPavel Janík2015-01-311-3/+3
|
* change hardcoded character constants to a set of descriptive named constants ↵Earlz2015-01-251-21/+32
| | | | for database keys
* Replace direct use of 0 with SetNull and IsNullWladimir J. van der Laan2015-01-051-3/+3
| | | | | | Replace x=0 with .SetNull(), x==0 with IsNull(), x!=0 with !IsNull(). Replace uses of uint256(0) with uint256().
* Added "Core" to copyright headerssandakersmann2014-12-191-1/+1
| | | | | Github-Pull: #5494 Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
* Merge pull request #5470Wladimir J. van der Laan2014-12-191-1/+1
|\ | | | | | | 78253fc Remove references to X11 licence (Michael Ford)
| * Remove references to X11 licenceMichael Ford2014-12-161-1/+1
| |
* | make all catch() arguments constPhilip Kaufmann2014-12-171-2/+2
|/ | | | | | | - I saw this on http://en.cppreference.com/w/cpp/language/try_catch and thought it would be a good idea - also unify used format to better be able to search for exception uses in our codebase
* Do all block index writes in a batchPieter Wuille2014-11-251-13/+12
|
* MOVEONLY: Separate CTransaction and dependencies from corejtimon2014-10-271-1/+0
|
* rpc: Fix leveldb iterator leak, and flush before `gettxoutsetinfo`Wladimir J. van der Laan2014-10-211-1/+1
| | | | | | | | | | | This fixes an iterator leak resulting in bitcoind: db/version_set.cc:789: leveldb::VersionSet::~VersionSet(): Assertion `dummy_versions_.next_ == &dummy_versions_' failed." exception on shutdown. Also make sure to flush pcoinsTip before calling GetStats() to make sure we apply them to the current height.
* Merge pull request #4834Pieter Wuille2014-10-081-15/+8
|\ | | | | | | | | | | | | | | 7c70438 Get rid of the dummy CCoinsViewCache constructor arg (Pieter Wuille) ed27e53 Add coins_tests with a large randomized CCoinViewCache test. (Pieter Wuille) 058b08c Do not keep fully spent but unwritten CCoins entries cached. (Pieter Wuille) c9d1a81 Get rid of CCoinsView's SetCoins and SetBestBlock. (Pieter Wuille) f28aec0 Use ModifyCoins instead of mutable GetCoins. (Pieter Wuille)
| * Do not keep fully spent but unwritten CCoins entries cached.Pieter Wuille2014-09-231-3/+8
| | | | | | | | | | | | | | | | | | | | | | Instead of storing CCoins entries directly in CCoinsMap, store a CCoinsCacheEntry which additionally keeps track of whether a particular entry is: * dirty: potentially different from its parent view. * fresh: the parent view is known to not have a non-pruned version. This allows us to skip non-dirty cache entries when pushing batches of changes up, and to remove CCoins entries about transactions that are fully spent before the parent cache learns about them.
| * Get rid of CCoinsView's SetCoins and SetBestBlock.Pieter Wuille2014-09-231-12/+0
| | | | | | | | | | | | All direct modifications are now done through ModifyCoins, and BatchWrite is used for pushing batches of queued modifications up, so we don't need the low-level SetCoins and SetBestBlock anymore in the top-level CCoinsView class.
* | Use a typedef for monetary valuesMark Friedenbach2014-09-261-1/+1
|/
* header include cleanupPhilip Kaufmann2014-09-141-1/+2
| | | | - ensures alphabetical ordering for includes etc. in source file headers
* Merge pull request #4748Pieter Wuille2014-08-261-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | ad49c25 Split up util.cpp/h (Wladimir J. van der Laan) f841aa2 Move `COIN` and `CENT` to core.h (Wladimir J. van der Laan) 6e5fd00 Move `*Version()` functions to version.h/cpp (Wladimir J. van der Laan) b4aa769 Move `S_I*` constants and `MSG_NOSIGNAL` to compat.h (Wladimir J. van der Laan) af8297c Move functions in wallet.h to implementation file (Wladimir J. van der Laan) 651480c move functions in main and net to implementation files (Wladimir J. van der Laan) 610a8c0 Move SetThreadPriority implementation to util.cpp instead of the header (Wladimir J. van der Laan) f780e65 Remove unused function `ByteReverse` from util.h (Wladimir J. van der Laan) 121d6ad Remove unused `alignup` function from util.h (Wladimir J. van der Laan) d1e26d4 Move CMedianFilter to timedata.cpp (Wladimir J. van der Laan)
| * 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.
* | Make appropriate getter-routines "const" in CCoinsView.Daniel Kraft2014-08-261-5/+8
|/ | | | Mark the "Get"/"Have" routines in CCoinsView and subclasses as "const".
* Allow BatchWrite to destroy its input, reducing copyingPieter Wuille2014-08-241-2/+5
|
* Changed LevelDB cursors to use scoped pointers to ensure destruction when ↵Ross Nicoll2014-08-161-4/+2
| | | | | | | | going out of scope. This corrects a bug where an exception thrown reading from the database causes the cursor to be left open, which causes an assertion error to occur when the database is deleted (around line 938 of init.cpp).
* typedef std::map<uint256, CCoins> to CCoinsMapWladimir J. van der Laan2014-07-011-2/+2
| | | | | | | This makes it possible to switch to a more efficient map type without changing all occurences manually. Merges half of #4413.
* Refactor proof of work related functions out of mainjtimon2014-06-231-2/+3
|
* Move {Get,Set}Compact from bignum to uint256Pieter Wuille2014-05-091-6/+0
|
* use standard __func__ instead of __PRETTY_FUNCTION__Philip Kaufmann2014-04-301-2/+2
|
* 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.
* Remove redundant .c_str()sWladimir J. van der Laan2014-01-231-1/+1
| | | | | | | 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.
* extend std::exception logging in txdb.cppPhilip Kaufmann2013-12-201-6/+6
|
* Make CCoinsView use block hashes instead of indicesPieter Wuille2013-11-101-13/+10
|
* Cleanup code using forward declarations.Brandon Dahler2013-11-101-4/+6
| | | | | | | | | 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.
* Rename leveldb.{h,cpp} to leveldbwrapper.{h,cpp}.Brandon Dahler2013-11-081-1/+1
|
* Do not use the redundant BestInvalidWork record in the block database.Pieter Wuille2013-11-011-5/+1
| | | | | | As block index entries have a flag for marking invalid blocks, the 'best invalid work' information can be derived from there. In addition, remove the global from main.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-4/+0
|/
* Replace printf with LogPrintf / LogPrintGavin Andresen2013-09-181-1/+1
|
* Introduce a CChainParameters singleton class and regtest mode.Mike Hearn2013-06-191-1/+2
| | | | | | | | | | | | | 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.
* Improve gettxoutsetinfo commandPieter Wuille2013-05-011-3/+19
| | | | | | | | | * Bugfix: output the correct best block hash (during IBD, it can differ from the actual current best block) * Add height to output * Add hash_serialized, which is a hash of the entire UTXO state. Can be useful to compare two nodes. * Add total_amount, the sum of all UTXOs' values.
* Clean up shutdown processGavin Andresen2013-04-031-2/+4
|
* Merge pull request #2221 from sipa/perfoGavin Andresen2013-02-221-3/+3
|\ | | | | Various performance tweaks to CCoinsView