aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-06-02mapNextTx: use pointer as key, simplify valueKaz Wesley
Saves about 10% of application memory usage once the mempool warms up. Since the mempool is DynamicUsage-regulated, this will translate to a larger mempool in the same amount of space. Map value type: eliminate the vin index; no users of the map need to know which input of the transaction is spending the prevout. Map key type: replace the COutPoint with a pointer to a COutPoint. A COutPoint is 36 bytes, but each COutPoint is accessible from the same map entry's value. A trivial DereferencingComparator functor allows indirect map keys, but the resulting syntax is misleading: `map.find(&outpoint)`. Implement an indirectmap that acts as a wrapper to a map that uses a DereferencingComparator, supporting a syntax that accurately reflect the container's semantics: inserts and iterators use pointers since they store pointers and need them to remain constant and dereferenceable, but lookup functions take const references.
2016-05-02Merge #7959: fix race that could fail to persist a banWladimir J. van der Laan
f4ac02e fix race that could fail to persist a ban (Kaz Wesley)
2016-05-02Merge #7964: Minor changes for c++11 consistencyWladimir J. van der Laan
07e4edb auto_ptr → unique_ptr (Wladimir J. van der Laan) 073225c chain: define enum used as bit field as uint32_t (Wladimir J. van der Laan)
2016-04-29Merge #7807: Fixed miner test values, gave constants for less error-prone ↵MarcoFalke
values. f8536a6 Corrected values (instagibbs) 617deeb Gave miner test values constants for less error-prone values. (instagibbs)
2016-04-28Merge #7962: CalculateNextWorkRequired CleanupWladimir J. van der Laan
c7aac2d Deprecating the remaining LogPrintf dependencies that were made obsolete in PR #7459. (21E14)
2016-04-28Merge #7926: [RPC] push back getaddednodeinfo dead valueWladimir J. van der Laan
9c0bcb6 push back getaddednodeinfo dead value (instagibbs)
2016-04-28Merge #7952: Log invalid block hash to make debugging easier.Wladimir J. van der Laan
61c0170 Log invalid block hash to make debugging easier. (Pavel Janík)
2016-04-28auto_ptr → unique_ptrWladimir J. van der Laan
Change the few occurrences of the deprecated `auto_ptr` to c++11 `unique_ptr`. Silences the deprecation warnings. Also add a missing `std::` for consistency.
2016-04-28chain: define enum used as bit field as uint32_tWladimir J. van der Laan
Bitwise logic combined with `<` with undefined signedness will potentially results in undefined behavior. Fix this by defining the type as a c++11 typed enum. Fixes #6017.
2016-04-28Merge #7514: Fix IsInitialBlockDownload for testnetWladimir J. van der Laan
8aa7226 Fix IsInitialBlockDownload to play nice with testnet (jmacwhyte)
2016-04-28Merge #7939: qt: Make it possible to show details for multiple transactionsWladimir J. van der Laan
f135e3c qt: Add transaction hash to details window title (Wladimir J. van der Laan) 17a6a21 qt: Make it possible to show details for multiple transactions (Wladimir J. van der Laan)
2016-04-28Merge #7165: build: Enable C++11 in build, require C++11 compilerWladimir J. van der Laan
7df9224 doc: Add note about new build/test requirements to release notes (Wladimir J. van der Laan) 2aacc72 build: update ax_cxx_compile_stdcxx to serial 4 (Wladimir J. van der Laan) a398549 depends: use c++11 (Cory Fields) 67969af build: Enable C++11 build, require C++11 compiler (Wladimir J. van der Laan)
2016-04-28doc: Add note about new build/test requirements to release notesWladimir J. van der Laan
[skip ci]
2016-04-28build: update ax_cxx_compile_stdcxx to serial 4Wladimir J. van der Laan
2016-04-27Deprecating the remaining LogPrintf dependencies that were made obsolete in ↵21E14
PR #7459.
2016-04-27fix race that could fail to persist a banKaz Wesley
DumpBanList currently does this: - with lock: take a copy of the banmap - perform I/O (write out the banmap) - with lock: mark the banmap non-dirty If a new ban is added during the I/O operation, it may never be persisted to disk. Reorder operations so that the data to be persisted cannot be older than the time at which the banmap was marked non-dirty.
2016-04-27Merge #7954: build: quiet annoying warnings without adding new onesWladimir J. van der Laan
63b3111 build: quiet annoying warnings without adding new ones (Cory Fields)
2016-04-27depends: use c++11Cory Fields
2016-04-27Merge #7951: [qa] test_framework: Properly print exceptionMarcoFalke
fada064 [qa] test_framework: Properly print exceptions and assert empty dict (MarcoFalke) 5555528 [qa] mininode: Unfiddle strings into bytes (MarcoFalke)
2016-04-27build: quiet annoying warnings without adding new onesCory Fields
Disabling warnings can be tricky, because doing so can cause a different compiler to create new warnings about unsupported disable flags. Also, some warnings don't surface until they're paired with another warning (gcc). For example, adding "-Wno-foo" won't cause any trouble, but if there's a legitimate warning emitted, the "unknown option -Wno-foo" will show up as well. Work around this in 2 ways: 1. When checking to see if -Wno-foo is supported, check for "-Wfoo" instead. 2. Enable -Werror while checking 1. If "-Werror -Wfoo" compiles, "-Wno-foo" is almost guaranteed to be supported. -Werror itself is also checked. If that fails to compile by itself, it likely means that the user added a flag that adds a warning. In that case, -Werror won't be used while checking, and the build may be extra noisy. The user would need to fix the bad input flag. Also, silence 2 more additional warnings that can show up post-c++11.
2016-04-26Log invalid block hash to make debugging easier.Pavel Janík
2016-04-26[qa] test_framework: Properly print exceptions and assert empty dictMarcoFalke
2016-04-26build: Enable C++11 build, require C++11 compilerWladimir J. van der Laan
Implements #6211.
2016-04-26qt: Add transaction hash to details window titleWladimir J. van der Laan
2016-04-26Merge #7933: Fix OOM when deserializing UTXO entries with invalid lengthWladimir J. van der Laan
1e44169 Add tests for CCoins deserialization (Pieter Wuille) 5d0434d Fix OOM bug: UTXO entries with invalid script length (Pieter Wuille) 4bf631e CDataStream::ignore Throw exception instead of assert on negative nSize. (Patrick Strateman) 4f87af6 Treat overly long scriptPubKeys as unspendable (Pieter Wuille) f8e6fb1 Introduce constant for maximum CScript length (Pieter Wuille)
2016-04-26Merge #7941: Fixing comment in script_test.json test caseWladimir J. van der Laan
62a9abd Fixing comment in script_test.json test case (Chris Stewart)
2016-04-26Merge #7920: Switch Travis to TrustyWladimir J. van der Laan
a33b7c9 travis: temporarily disable qt to avoid timeouts (Cory Fields) 174023c travis: Don't disable writing ccache for pull-requests (Cory Fields) cf77fcd travis: drop MAKEJOBS=2 for windows compilers (Cory Fields) 9267a47 depends: enable pre-compiled headers for qt (Cory Fields) 06fdffd travis: switch to Trusty (Cory Fields) a6666b2 depends: mac deploy Py3 compatibility (Wladimir J. van der Laan)
2016-04-26Merge #7944: Re-instate TARGET_OS=linux in configure.ac. Removed by 351abf9e035.Wladimir J. van der Laan
89c844d Re-instate TARGET_OS=linux in configure.ac. Removed by 351abf9e035. (randy-waterhouse)
2016-04-26Re-instate TARGET_OS=linux in configure.ac. Removed by 351abf9e035.randy-waterhouse
2016-04-26travis: temporarily disable qt to avoid timeoutsCory Fields
These builds take longer than they did on precise. Disable them now to keep things working, we can re-enable them after experimentation
2016-04-26travis: Don't disable writing ccache for pull-requestsCory Fields
This was doing more harm than good. The original intention was to speed up builds, since a PR's ccache results will be thrown away anyway. However, each PR maintains its own cache, so disabling writes means that subsequent pushes don't benefit from the fresh cache. This is significant when (for example) many headers are touched in a PR, then the PR is updated. With this change, the updated PR will take advantage of the cache generated during the PR's previous build.
2016-04-25travis: drop MAKEJOBS=2 for windows compilersCory Fields
These were only in place because of the old precice mingw toolchain
2016-04-25depends: enable pre-compiled headers for qtCory Fields
All trusty compilers work ok with this now, and it shaves a few minutes off of build time
2016-04-25Fixing comment in script_test.json test caseChris Stewart
2016-04-25qt: Make it possible to show details for multiple transactionsWladimir J. van der Laan
A small GUI annoyance for me has always been that it's impossible to have multiple transaction detail windows open, for example to compare transactions. This patch makes the window non-modal so that it is possible to open transaction details at will.
2016-04-25Merge #7688: List solvability in listunspent output and improve helpWladimir J. van der Laan
c3932b3 List solvability in listunspent output and improve help (Pieter Wuille)
2016-04-25Add tests for CCoins deserializationPieter Wuille
2016-04-25Fix OOM bug: UTXO entries with invalid script lengthPieter Wuille
2016-04-25CDataStream::ignore Throw exception instead of assert on negative nSize.Patrick Strateman
Previously disk corruption would cause an assert instead of an exception.
2016-04-25Treat overly long scriptPubKeys as unspendablePieter Wuille
2016-04-25Introduce constant for maximum CScript lengthPieter Wuille
2016-04-25Merge #7881: Update release processWladimir J. van der Laan
f154470 [contrib] Remove reference to sf and add doc to verify.sh (MarcoFalke) 182bec4 contrib: remove hardcoded version from verify.sh (Wladimir J. van der Laan) c907f4d doc: Update release process (Wladimir J. van der Laan)
2016-04-25[contrib] Remove reference to sf and add doc to verify.shMarcoFalke
2016-04-25contrib: remove hardcoded version from verify.shWladimir J. van der Laan
Closes #7595 as by removing the hardcoded version number from `verify.sh`.
2016-04-25doc: Update release processWladimir J. van der Laan
The actual release process quite diverged from what was written here, also clarify things a bit.
2016-04-25Merge #7927: Minor changes to dbwrapper to simplify support for other databasesWladimir J. van der Laan
869cf12 dbwrapper: Move `HandleError` to `dbwrapper_private` (Wladimir J. van der Laan) b69836d dbwrapper: Pass parent CDBWrapper into CDBBatch and CDBIterator (Wladimir J. van der Laan) 878bf48 dbwrapper: Remove CDBWrapper::GetObfuscateKeyHex (Wladimir J. van der Laan) 74f7b12 dbwrapper: Remove throw keywords in function signatures (Wladimir J. van der Laan)
2016-04-23[qa] mininode: Unfiddle strings into bytesMarcoFalke
2016-04-23dbwrapper: Move `HandleError` to `dbwrapper_private`Wladimir J. van der Laan
HandleError is implementation-specific.
2016-04-23dbwrapper: Pass parent CDBWrapper into CDBBatch and CDBIteratorWladimir J. van der Laan
Pass parent wrapper directly instead of obfuscation key. This makes it possible for other databases which re-use this code to use other properties from the database. Add a namespace dbwrapper_private for private functions to be used only in dbwrapper.h/cpp and dbwrapper_tests.
2016-04-23dbwrapper: Remove CDBWrapper::GetObfuscateKeyHexWladimir J. van der Laan
It is an unnecessary method as it is used only two times and only internally, and the whole implementation is HexStr(obfuscate_key).