Age | Commit message (Collapse) | Author |
|
|
|
|
|
cda45b5 Reinitializing list's begin iterator after few elements were erased from the head (ENikS)
|
|
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
|
|
- explicit init of pcoinsdbview and pwalletMain (even if not needed, as
globals are init to NULL, it seems cleaner)
- remove check if (pwalletMain) in Shutdown() as delete is valid even if
pwalletMain is NULL
|
|
'(' and ')' are valid in user agent strings, so should be reported
as such in RPC `getpeerinfo`.
Fixes #4537.
|
|
219372f script: Fix reference into empty vector run time exception (ENikS)
|
|
Edit by laanwj: `begin_ptr(sourcedata) + sourcedata.size()` -> `end_ptr(sourcedata)`
|
|
bb26e2c [Qt] minor changes in splashscreen.cpp (Philip Kaufmann)
|
|
459a2d2 Avoiding referencing elements of an empty vector (ENikS)
|
|
2e5361b remove code below asserts in limitedmap.h (fixes a ToDo) (Philip Kaufmann)
|
|
c8063b5 Fixing out of bounds asses error (ENikS)
|
|
|
|
- add missing checks for clientModel and optionsModel
- small cleanups for an #ifdef on Mac
- remove an unneeded else
|
|
|
|
Move the txid duplicates check into BuildMerkleTree, where it can be done
much more efficiently (without needing to build a full txid set to detect
duplicates).
The previous version (using the std::set<uint256> to detect duplicates) was
also slightly too weak. A block mined with actual duplicate transactions
(which is invalid, due to the inputs of the duplicated transactions being
seen as double spends) would trigger the duplicates logic, resulting in the
block not being stored on disk, and rerequested. This change fixes that by
only triggering in the case of duplicated transactions that can actually
result in an identical merkle root.
|
|
|
|
head
|
|
|
|
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.
|
|
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.
|
|
Replace the mutable non-copying GetCoins method with a ModifyCoins, which
returns an encapsulated iterator, so we can keep track of concurrent
modifications (as iterators can be invalidated by those) and run cleanup
code after a modification is finished.
This also removes the overloading of the 'GetCoins' name.
|
|
87314c1 Fixing improper input syntax and failing bounds check (ENikS)
|
|
|
|
|
|
c8589bf Add actual signature tests (Pieter Wuille)
76ec867 Use actually valid transactions for script tests (Pieter Wuille)
|
|
|
|
- guard an unused variable with Q_UNUSED() macro
- remove a commented out line of code
|
|
|
|
|
|
4b0deb3 Clean up CMerkleTx::SetMerkleBranch. (Daniel Kraft)
|
|
5e83bc4 [Qt] include and file header cleanup (Philip Kaufmann)
|
|
6134b43 Fixing condition 'sabotaging' MSVC build (ENikS)
|
|
d6712db Also create pid file in non-daemon mode (Wladimir J. van der Laan)
|
|
It's strange to be able to close these windows while there is work
in progress.
Also set Qt::WA_DeleteOnClose on both windows to make sure that they
are deleted eventually, no matter what happens.
|
|
|
|
a49f11d qt: Change splash screen to normal window (Wladimir J. van der Laan)
|
|
01c2807 Add warning about the merkle-tree algorithm duplicate txid flaw (Peter Todd)
|
|
|
|
33a2771 test: Fix DoS tests after c74332c (Wladimir J. van der Laan)
|
|
|
|
|
|
20e01b1 Apply clang-format on some infrequently-updated files (Pieter Wuille)
|
|
Lots of people read the Bitcoin Core codebase to learn more about
crypto; better to warn about flaws explicitly so they don't blindly copy
the code for other uses and create broken systems.
|
|
Always make a pid file, not only when `-daemon` specified.
This is useful for troubleshooting, for attaching debuggers and loggers
and such.
- Write the pid file only after the datadir lock was acquired
- Don't create or remove a pid file on WIN32, and also don't show the option
|
|
Fix data structure mismatch ... The mind boggles that they were still passing at all.
|
|
ab15b2e Avoid copying undo data (Pieter Wuille)
|
|
|
|
|
|
|