aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
AgeCommit message (Collapse)Author
2015-01-05Use arith_uint256 where necessaryWladimir J. van der Laan
Also add conversion from/to uint256 where needed.
2015-01-05String conversions uint256 -> uint256SWladimir J. van der Laan
If uint256() constructor takes a string, uint256(0) will become dangerous when uint256 does not take integers anymore (it will go through std::string(const char*) making a NULL string, and the explicit keyword is no help).
2015-01-05Replace direct use of 0 with SetNull and IsNullWladimir J. van der Laan
Replace x=0 with .SetNull(), x==0 with IsNull(), x!=0 with !IsNull(). Replace uses of uint256(0) with uint256().
2015-01-03On close of splashscreen interrupt verifyDBThomas Zander
With the splashscreen being able to be closed it is possible to shutdown during the lengthy verifyDB method. (Takes about a minute on my machine). This change allows us to shutdown much sooner. Github-Pull: #5557
2015-01-02Merge pull request #5476Wladimir J. van der Laan
73caf47 Display time offset in the debug window's Peers tab (Pavel Janík) 26a6bae Add time offset to getpeerinfo output (Pavel Janík)
2015-01-02Merge pull request #5580Wladimir J. van der Laan
1b178a7 Bugfix: ConnectBlock: In case the genesis block gets in with fJustCheck, behave correctly (Luke Dashjr) 228d238 Make CCoinsViewCache's copy constructor private (Luke Dashjr)
2014-12-31Merge #5578 fromJeff Garzik
branch 'error_typos' of git://github.com/paveljanik/bitcoin into merge-5578
2014-12-31Bugfix: ConnectBlock: In case the genesis block gets in with fJustCheck, ↵Luke Dashjr
behave correctly
2014-12-30Clean AcceptToMemoryPool error messagesPavel Janík
2014-12-27Move UndoWriteToDisk() and UndoReadFromDisk() to anon namespacejtimon
2014-12-27MOVEONLY: CBlockUndo from main.h to undo.hjtimon
2014-12-27Decouple CBlockUndo from CDiskBlockPosjtimon
2014-12-27Decouple miner.o and txmempool.o from CTxUndojtimon
2014-12-27Decouple CCoins from CTxInUndojtimon
2014-12-23Merge pull request #5507Wladimir J. van der Laan
c907704 DOS: Respect max per-peer blocks in flight limit (Adam Weiss)
2014-12-23DOS: Respect max per-peer blocks in flight limitAdam Weiss
Don't allow immediate inv driven block downloads if a peer already has MAX_BLOCKS_IN_TRANSIT_PER_PEER active downloads. Prevents bogus inv spam from blowing up block transfer tracking data structures.
2014-12-22Reject headers that build on an invalid parentPieter Wuille
2014-12-22Merge pull request #5253Wladimir J. van der Laan
7c041b3 Check against MANDATORY flags prior to accepting to mempool (Peter Todd)
2014-12-19Added "Core" to copyright headerssandakersmann
Github-Pull: #5494 Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
2014-12-19add missing CAutoFile::IsNull() check in mainPhilip Kaufmann
Rebased-From: ccd056a30db0ba5e04b858a682907b378e464d34 Github-Pull: #5437
2014-12-17make all catch() arguments constPhilip Kaufmann
- 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
2014-12-16Fix small typos in comments and error messagesPavel Janík
Rebased-From: 67b2d819cdf6181e7f016e5366ce7479830893bd Github-Pull: #5404
2014-12-15Add time offset to getpeerinfo outputPavel Janík
2014-12-11Move remaining CBlockIndex methods to chain.cppPieter Wuille
2014-12-11Make IsSuperMajority a standalone functionPieter Wuille
2014-12-11Merge pull request #5367Wladimir J. van der Laan
63d1ae5 Do all block index writes in a batch (Pieter Wuille)
2014-12-08Remove txn which are invalidated by coinbase maturity during reorgMatt Corallo
2014-12-08Remove coinbase-dependant transactions during reorg.Matt Corallo
This still leaves transactions in mempool that are potentially invalid if the maturity period has been reorged out of, but at least they're not missing inputs entirely.
2014-12-05Merge pull request #5181Wladimir J. van der Laan
afd4b94 Move CMerkleBlock and CPartialMerkleTree to their own file (Matt Corallo)
2014-12-05Merge pull request #5308Wladimir J. van der Laan
60d1ecd change nSubsidy's type from int64_t to CAmount (HarryWu)
2014-12-05Move CMerkleBlock and CPartialMerkleTree to their own fileMatt Corallo
2014-12-04Merge pull request #5394Wladimir J. van der Laan
307f7d4 Report script evaluation failures in log and reject messages (Pieter Wuille)
2014-12-02Report script evaluation failures in log and reject messagesPieter Wuille
2014-12-02Make comments in main an init doxygen compatibleMichael Ford
Fix typos where appropriate Update license/copyright
2014-11-28Merge pull request #5316Wladimir J. van der Laan
f86a24b Move `setmocktime` to hidden category (Wladimir J. van der Laan) bd9aebf Introduce a hidden category (Pieter Wuille) 0dd06b2 Delay writing block indexes in invalidate/reconsider (Pieter Wuille) 9b0a8d3 Add 'invalidateblock' and 'reconsiderblock' RPC commands. (Pieter Wuille)
2014-11-27Remove -printblock, -printblocktree, and -printblockindexPieter Wuille
2014-11-26Delay writing block indexes in invalidate/reconsiderPieter Wuille
2014-11-26Add 'invalidateblock' and 'reconsiderblock' RPC commands.Pieter Wuille
These can be used for testing reorganizations or for manual intervention in case of chain forks.
2014-11-26Merge pull request #5158Wladimir J. van der Laan
9ec75c5 Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true. (Ruben Dario Ponticelli) a2d0fc6 Fix IsInitialBlockDownload which was broken by headers first. (Ruben Dario Ponticelli)
2014-11-26Merge pull request #5321Wladimir J. van der Laan
34559c7 Make PruneBlockIndexCandidates safer (Pieter Wuille) cca48f6 Reset setBlockIndexCandidates once block index db loaded (21E14)
2014-11-25Do all block index writes in a batchPieter Wuille
2014-11-25Merge pull request #5241Wladimir J. van der Laan
a206950 Introduce separate flushing modes (Pieter Wuille) 51ce901 Improve chainstate/blockindex disk writing policy (Pieter Wuille)
2014-11-24Merge pull request #5154Wladimir J. van der Laan
730b1ed Check pindexBestForkBase for null (21E14)
2014-11-24Introduce separate flushing modesPieter Wuille
2014-11-24Improve chainstate/blockindex disk writing policyPieter Wuille
There are 3 pieces of data that are maintained on disk. The actual block and undo data, the block index (which can refer to positions on disk), and the chainstate (which refers to the best block hash). Earlier, there was no guarantee that blocks were written to disk before block index entries referring to them were written. This commit introduces dirty flags for block index data, and delays writing entries until the actual block data is flushed. With this stricter ordering in writes, it is now safe to not always flush after every block, so there is no need for the IsInitialBlockDownload() check there - instead we just write whenever enough time has passed or the cache size grows too large. Also updating the wallet's best known block is delayed until this is done, otherwise the wallet may end up referring to an unknown block. In addition, only do a write inside the block processing loop if necessary (because of cache size exceeded). Otherwise, move the writing to a point after processing is done, after relaying.
2014-11-24Merge pull request #1816Wladimir J. van der Laan
b867e40 CreateNewBlock: Stick height in coinbase so we pass template sanity check (Luke Dashjr) 60755db submitblock: Check for duplicate submissions explicitly (Luke Dashjr) bc6cb41 QA RPC tests: Add tests block block proposals (Luke Dashjr) 9765a50 Implement BIP 23 Block Proposal (Luke Dashjr) 3dcbb9b Abstract DecodeHexBlk and BIP22ValidationResult functions out of submitblock (Luke Dashjr) 132ea9b miner_tests: Disable checkpoints so they don't fail the subsidy-change test (Luke Dashjr) df08a62 TestBlockValidity function for CBlock proposals (used by CreateNewBlock) (Luke Dashjr) 4ea1be7 CreateNewBlock and miner_tests: Also check generated template is valid by CheckBlockHeader, ContextualCheckBlockHeader, CheckBlock, and ContextualCheckBlock (Luke Dashjr) a48f2d6 Abstract context-dependent block checking from acceptance (Luke Dashjr)
2014-11-23Prioritize and display -testsafemode status in UIdexX7
Like in a real world situation, a safe mode test should also be visible in the UI. A test of safe mode is furthermore mostly relevant for developers, so it should not be overwritten by a warning about a pre-release test build.
2014-11-22Check pindexBestForkBase for null21E14
2014-11-21Merge pull request #5170Wladimir J. van der Laan
092b58d CBlockIndex::GetBlockWork() + GetProofIncrement(nBits) -> GetBlockProof(CBlockIndex) (jtimon) 22c4272 MOVEONLY: Move void UpdateTime() from pow.o to miner.o (plus fix include main.h -> chain.h) (jtimon)
2014-11-20Make PruneBlockIndexCandidates saferPieter Wuille