Age | Commit message (Collapse) | Author |
|
|
|
some CheckDiskSpace() related changes
|
|
FlushBlockFile(): check for valid FILE pointer
|
|
Fixes for obscure mempool-checkpoint interaction
|
|
add 2 constructors in CDiskBlockPos to simplify class usage
|
|
- even if we are allowed to fail pre-allocating, it's better to check
for sufficient space before calling AllocateFileRange() and if we
are out of disk space return with error()
- the above change allows us to remove the CheckDiskSpace() check
in CBlock::AcceptBlock()
|
|
- add a default-constructor, which simply calls SetNull() and a
constructor to directly pass nFile and nPos
- change code to use that new constructors
|
|
In case a reorganisation fails, the internal state could become
inconsistent (memory only). Previously, a cache per block connect
or disconnect action was used, so blocks could not be applied in
a partial way. Extend this to a cache for the entire reorganisation,
making it atomic entirely. This also simplifies the code a bit.
|
|
- don't call FileCommit() and fclose() if no valid FILE pointer was
returned by OpenBlockFile()
|
|
Bugfix: remove conflicting transactions from memory pool
|
|
|
|
Allow -printpriority without -debug
|
|
|
|
|
|
- fix ThreadSafeMessageBox always displays error icon
- allow to specify MSG_ERROR / MSG_WARNING or MSG_INFORMATION without a
custom caption / title
- allow to specify CClientUIInterface::ICON_ERROR / ICON_WARNING and
ICON_INFORMATION (which is default) as message box icon
- remove CClientUIInterface::OK from ThreadSafeMessageBox-calls, as
the OK button will be set as default, if none is specified
- prepend "Bitcoin - " to used captions
- rename BitcoinGUI::error() -> BitcoinGUI::message() and add function
documentation
- change all style parameters and enum flags to unsigned
- update code to use that new API
- update Client- and WalletModel to use new BitcoinGUI::message() and
rename the classes error() method into message()
- include the possibility to supply the wanted icon for messages from
Client- and WalletModel via "style" parameter
|
|
When a transaction A is in the memory pool, while a transaction B
(which shares an input with A) gets accepted into a block, A was
kept forever in the memory pool.
This commit adds a CTxMemPool::removeConflicts method, which
removes transactions that conflict with a given transaction, and
all their children.
This results in less transactions in the memory pool, and faster
construction of new blocks.
|
|
Split off CBlockHeader from CBlock
|
|
Do not reorganize if new branch has same amount of work
|
|
- I introduced the wrong format macro with my former patch (#2018), this
needs to be signed not unsigned (thanks Luke-Jr)
|
|
- fixes 2 warnings I observed while compiling on Windows with MinGW
|
|
Use full block hash as unique identifier in debug.log
|
|
some small fixes for main.cpp/.h
|
|
Print error for coinbase-pays-too-much case of ConnectBlock failing
|
|
Cleaner and removes the need for the application-specific flags in
serialize.h.
|
|
These flags select features to be enabled/disabled during script
evaluation/checking, instead of several booleans passed along.
Currently these flags are defined:
* SCRIPT_VERIFY_P2SH: enable BIP16-style subscript evaluation
* SCRIPT_VERIFY_STRICTENC: enforce strict adherence to pubkey/sig encoding standards.
|
|
|
|
|
|
- remove an unwanted ";" at the end of the ~CCoinsView() destructor
- in FindBlockPos() and FindUndoPos() only call fclose(), is file is open
- fix an error string in the CBlockUndo class
|
|
|
|
Flushes the blktree/ and coins/ databases, and reindexes the
block chain files, as if their contents was loaded via -loadblock.
Based on earlier work by Jeff Garzik.
|
|
|
|
|
|
|
|
|
|
|
|
remove "checkorder" P2P command
|
|
Fixes a race condition in CreateNewBlock and a future null deref on testnet.
|
|
Fix out-of-bounds read in main (issue #1924)
|
|
Implements #1948
- Add macro `CLIENT_VERSION_IS_RELEASE` to clientversion.h
- When running a prerelease (the above macro is `false`):
- In UI, show an orange warning bar at the top. This will be used for other
warnings (and alerts) as well, instead of the status bar.
- For `bitcoind`, show the warning in the "errors" field in `getinfo`
response.
|
|
Sizeof() returned the size of a pointer instead of the size of the buffer.
Fixes issue #1924.
|
|
CreateNewBlock was reading pindexBest at the start before taking the lock
so it was possible to have the the block content not match the prevheader
and this can also trigger a newly added assert in ConnectBlock.
I noticed this during a code review after twobitcoins reported that ab91bf39
(BIP30 for all blocks) could cause a null dereference on a modified node
that mined during the IBD, or on testnet when it reached heights 91842 and
91880 due to CreateNewBlock calling ConnectBlock with pindex->phashBlock NULL.
|
|
|
|
Some clarifications after a code review by Mike Hearn.
|
|
|
|
|
|
|
|
- Wiki says "block chain" is correct ;)
- remove some unneeded spaces I found in the source, while fixing the spelling
|
|
- remove uiInterface.InitMessage() calls from ThreadImport(), as Qt
doesn't like them getting called out of it's main thread and because the
thread will continue to run after the GUI was loaded
|
|
|
|
Split off CBlockTreeDB and CCoinsViewDB into txdb-*.{cpp,h} files,
implemented by either LevelDB or BDB.
Based on code from earlier commits by Mike Hearn in his leveldb
branch.
|