Age | Commit message (Collapse) | Author |
|
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.
|
|
f4ac02e fix race that could fail to persist a ban (Kaz Wesley)
|
|
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)
|
|
values.
f8536a6 Corrected values (instagibbs)
617deeb Gave miner test values constants for less error-prone values. (instagibbs)
|
|
c7aac2d Deprecating the remaining LogPrintf dependencies that were made obsolete in PR #7459. (21E14)
|
|
9c0bcb6 push back getaddednodeinfo dead value (instagibbs)
|
|
61c0170 Log invalid block hash to make debugging easier. (Pavel Janík)
|
|
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.
|
|
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.
|
|
8aa7226 Fix IsInitialBlockDownload to play nice with testnet (jmacwhyte)
|
|
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)
|
|
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)
|
|
[skip ci]
|
|
|
|
PR #7459.
|
|
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.
|
|
63b3111 build: quiet annoying warnings without adding new ones (Cory Fields)
|
|
|
|
fada064 [qa] test_framework: Properly print exceptions and assert empty dict (MarcoFalke)
5555528 [qa] mininode: Unfiddle strings into bytes (MarcoFalke)
|
|
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.
|
|
|
|
|
|
Implements #6211.
|
|
|
|
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)
|
|
62a9abd Fixing comment in script_test.json test case (Chris Stewart)
|
|
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)
|
|
89c844d Re-instate TARGET_OS=linux in configure.ac. Removed by 351abf9e035. (randy-waterhouse)
|
|
|
|
These builds take longer than they did on precise. Disable them now to keep
things working, we can re-enable them after experimentation
|
|
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.
|
|
These were only in place because of the old precice mingw toolchain
|
|
All trusty compilers work ok with this now, and it shaves a few minutes off of
build time
|
|
|
|
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.
|
|
c3932b3 List solvability in listunspent output and improve help (Pieter Wuille)
|
|
|
|
|
|
Previously disk corruption would cause an assert instead of an exception.
|
|
|
|
|
|
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)
|
|
|
|
Closes #7595 as by removing the hardcoded version number from
`verify.sh`.
|
|
The actual release process quite diverged from what was written here,
also clarify things a bit.
|
|
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)
|
|
|
|
HandleError is implementation-specific.
|
|
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.
|
|
It is an unnecessary method as it is used only two times
and only internally, and the whole implementation is
HexStr(obfuscate_key).
|