aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
AgeCommit message (Collapse)Author
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-28Merge #7514: Fix IsInitialBlockDownload for testnetWladimir J. van der Laan
8aa7226 Fix IsInitialBlockDownload to play nice with testnet (jmacwhyte)
2016-04-26Log invalid block hash to make debugging easier.Pavel Janík
2016-04-22Merge #7919: Fix headers announcements edge caseWladimir J. van der Laan
3a99fb2 Fix headers announcements edge case (Suhas Daftuar)
2016-04-20Fix headers announcements edge caseSuhas Daftuar
Previously we would assert that if every block in vBlockHashesToAnnounce is in chainActive, then the blocks to be announced must connect. However, there are edge cases where this assumption could be violated (eg using invalidateblock / reconsiderblock), so just check for this case and revert to inv-announcement instead.
2016-04-20Explicitly pass CChainParams to ConnectBlockface
2016-04-19Pass CChainParams to DisconnectTip()face
2016-04-19Globals: Explicitly pass const CChainParams& to UpdateTip()Jorge Timón
2016-04-15Merge #7856: Only send one GetAddr response per connection.Wladimir J. van der Laan
66b0724 Only send one GetAddr response per connection. (Gregory Maxwell)
2016-04-15Merge #7877: Change mapRelay to store CTransactionsWladimir J. van der Laan
38c3102 Change mapRelay to store CTransactions (Pieter Wuille)
2016-04-14Merge #7874: Improve AlreadyHaveWladimir J. van der Laan
c6cb6f7 Avoid unnecessary database access for unknown transactions (Alex Morcos)
2016-04-14Change mapRelay to store CTransactionsPieter Wuille
2016-04-14Merge #7862: Use txid as key in mapAlreadyAskedForWladimir J. van der Laan
7e91f63 Use txid as key in mapAlreadyAskedFor (Suhas Daftuar)
2016-04-13Avoid unnecessary database access for unknown transactionsAlex Morcos
2016-04-12Merge #7828: Trivial: Globals: Explicitly pass const CChainParams& to ↵Pieter Wuille
ProcessMessage() bf477bc Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage() (Jorge Timón)
2016-04-11Use txid as key in mapAlreadyAskedForSuhas Daftuar
Previously we used the CInv that would be sent to the peer announcing the transaction as the key, but using the txid instead allows us to decouple the p2p layer from the application logic (which relies on this map to avoid duplicate tx requests).
2016-04-11Only send one GetAddr response per connection.Gregory Maxwell
This conserves resources from abusive peers that just send getaddr in a loop. Also makes correlating addr messages against INVs less effective.
2016-04-07Version 2 transactions remain non-standard until CSV activatesSuhas Daftuar
Before activation, such transactions might not be mined, so don't allow into the mempool.
2016-04-07Merge #7804: Track block download times per individual blockWladimir J. van der Laan
0e24bbf Self check after the last peer is removed (Pieter Wuille) 2d1d658 Track block download times per individual block (Pieter Wuille)
2016-04-07Self check after the last peer is removedPieter Wuille
2016-04-07Track block download times per individual blockPieter Wuille
Currently, we're keeping a timeout for each requested block, starting from when it is requested, with a correction factor for the number of blocks in the queue. That's unnecessarily complicated and inaccurate. As peers process block requests in order, we can make the timeout for each block start counting only when all previous ones have been received, and have a correction based on the number of peers, rather than the total number of blocks.
2016-04-06Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage()Jorge Timón
2016-04-06init: allow shutdown during 'Activating best chain...'Wladimir J. van der Laan
Two-line patch to make it possible to shut down bitcoind cleanly during the initial ActivateBestChain. Fixes #6459 (among other complaints). To reproduce: - shutdown bitcoind - copy chainstate - start bitcoind - let the chain sync a bit - shutdown bitcoind - copy back old chainstate - start bitcoind - bitcoind will catch up with all blocks during Init() (the `boost::this_thread::interruption_point` / `ShutdownRequested()` dance is ugly, this should be refactored all over bitcoind at some point when moving from boost::threads to c++11 threads, but it works...)
2016-04-03[doc] Fix doxygen comments for membersMarcoFalke
2016-03-31Merge #7763: Put hex-encoded version in UpdateTipWladimir J. van der Laan
eff736e Reformat version in UpdateTip and other messages (Pieter Wuille)
2016-03-31Reformat version in UpdateTip and other messagesPieter Wuille
Also remove the hardly-readable nBits from UpdateTip's log message.
2016-03-30Merge #7648: BIP9 versionbits softfork for BIP68, BIP112 and BIP113Wladimir J. van der Laan
71527a0 Test of BIP9 fork activation of mtp, csv, sequence_lock (NicolasDorier) 19d73d5 Add RPC test for BIP 68/112/113 soft fork. (Alex Morcos) 12c89c9 Policy: allow transaction version 2 relay policy. (BtcDrak) 02c2435 Soft fork logic for BIP68 (BtcDrak) 478fba6 Soft fork logic for BIP113 (BtcDrak) 65751a3 Add CHECKSEQUENCEVERIFY softfork through BIP9 (Pieter Wuille)
2016-03-21Implement "feefilter" P2P message.Alex Morcos
The "feefilter" p2p message is used to inform other nodes of your mempool min fee which is the feerate that any new transaction must meet to be accepted to your mempool. This will allow them to filter invs to you according to this feerate.
2016-03-21Merge #7692: Remove p2p alert systemWladimir J. van der Laan
cfd519e Add release note documentation (BtcDrak) 6601ce5 protocol.h/cpp: Removes NetMsgType::ALERT (Thomas Kerin) ad72104 Formatting (BtcDrak) 1b77471 Remove alert keys (BtcDrak) 01fdfef Remove `-alerts` option (BtcDrak) 9206634 Update alert notification and GUI (BtcDrak) bbb9d1d Remove p2p alert handling (BtcDrak)
2016-03-21Merge #7708: De-neuter NODE_BLOOMWladimir J. van der Laan
c90036f Always disconnect old nodes which request filtered connections. (Patrick Strateman)
2016-03-18Always disconnect old nodes which request filtered connections.Patrick Strateman
2016-03-18Remove `-alerts` optionBtcDrak
2016-03-18Update alert notification and GUIBtcDrak
2016-03-18Remove p2p alert handlingBtcDrak
2016-03-18Soft fork logic for BIP68BtcDrak
2016-03-18Soft fork logic for BIP113BtcDrak
2016-03-18Add CHECKSEQUENCEVERIFY softfork through BIP9Pieter Wuille
2016-03-18Merge #7575: Minimal BIP9 implementationWladimir J. van der Laan
8c74ced RPC test for BIP9 warning logic (Suhas Daftuar) 7870deb Test versionbits deployments (Suhas Daftuar) 532cbb2 Add testing of ComputeBlockVersion (Suhas Daftuar) d23f6c6 Softfork status report in RPC (Pieter Wuille) 732e774 Versionbits tests (Pieter Wuille) 6851107 BIP9 Implementation (Pieter Wuille)
2016-03-17Merge #7594: Mempool: Add tracking of ancestor packagesWladimir J. van der Laan
ce019bf Check all ancestor state in CTxMemPool::check() (Suhas Daftuar) e2eeb5d Add ancestor feerate index to mempool (Suhas Daftuar) 72abd2c Add ancestor tracking to mempool (Suhas Daftuar) 76a7632 Remove work limit in UpdateForDescendants() (Suhas Daftuar) 5de2baa Rename CTxMemPool::remove -> removeRecursive (Suhas Daftuar) 7659438 CTxMemPool::removeForBlock now uses RemoveStaged (Suhas Daftuar)
2016-03-16Merge #7187: Keep reorgs fast for SequenceLocks checksWladimir J. van der Laan
982670c Add LockPoints (Alex Morcos)
2016-03-16Add LockPointsAlex Morcos
Obtain LockPoints to store in CTxMemPoolEntry and during a reorg, evaluate whether they are still valid and if not, recalculate them.
2016-03-15Softfork status report in RPCPieter Wuille
2016-03-15BIP9 ImplementationPieter Wuille
Inspired by former implementations by Eric Lombrozo and Rusty Russell, and based on code by Jorge Timon.
2016-03-14Add ancestor tracking to mempoolSuhas Daftuar
This implements caching of ancestor state to each mempool entry, similar to descendant tracking, but also including caching sigops-with-ancestors (as that metric will be helpful to future code that implements better transaction selection in CreatenewBlock).
2016-03-14Remove work limit in UpdateForDescendants()Suhas Daftuar
The work limit served to prevent the descendant walking algorithm from doing too much work by marking the parent transaction as dirty. However to implement ancestor tracking, it's not possible to similarly mark those descendant transactions as dirty without having to calculate them to begin with. This commit removes the work limit altogether. With appropriate chain limits (-limitdescendantcount) the concern about doing too much work inside this function should be mitigated.
2016-03-14Rename CTxMemPool::remove -> removeRecursiveSuhas Daftuar
remove is no longer called non-recursively, so simplify the logic and eliminate an unnecessary parameter
2016-03-11Merge #7592: mempool: Re-remove ERROR logging for mempool rejectsWladimir J. van der Laan
8fc81e0 mempool: Reduce ERROR logging for mempool rejects (Wladimir J. van der Laan)
2016-03-08No "Unknown command" for getaddr command.R E Broadley
2016-02-24mempool: Reduce ERROR logging for mempool rejectsWladimir J. van der Laan
Continues "Make logging for validation optional" from #6519. The idea there was to remove all ERROR logging of rejected transaction, and move it to one message in the class 'mempoolrej' which logs the state message (and debug info). The superfluous ERRORs in the log "terrify" users, see for example issue #5794. Unfortunately a lot of new logging was introduced in #6871 (RBF) and #7287 (misc refactoring). This pull updates that new code.
2016-02-16Merge #7526: fix spelling of advertise (shows up in the debug log)Wladimir J. van der Laan
37767fd fix spelling of advertise in src and doc (jloughry)