aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Version 2 transactions remain non-standard until CSV activatesSuhas Daftuar2016-04-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Before activation, such transactions might not be mined, so don't allow into the mempool.
* | | | | Merge #7804: Track block download times per individual blockWladimir J. van der Laan2016-04-071-31/+36
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 0e24bbf Self check after the last peer is removed (Pieter Wuille) 2d1d658 Track block download times per individual block (Pieter Wuille)
| * | | | | Self check after the last peer is removedPieter Wuille2016-04-071-0/+7
| | | | | |
| * | | | | Track block download times per individual blockPieter Wuille2016-04-071-31/+29
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* / / / / init: allow shutdown during 'Activating best chain...'Wladimir J. van der Laan2016-04-061-0/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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...)
* | / / [doc] Fix doxygen comments for membersMarcoFalke2016-04-031-4/+4
| |/ / |/| |
* | | Merge #7763: Put hex-encoded version in UpdateTipWladimir J. van der Laan2016-03-311-4/+4
|\ \ \ | | | | | | | | | | | | eff736e Reformat version in UpdateTip and other messages (Pieter Wuille)
| * | | Reformat version in UpdateTip and other messagesPieter Wuille2016-03-311-4/+4
| | | | | | | | | | | | | | | | Also remove the hardly-readable nBits from UpdateTip's log message.
* | | | Merge #7648: BIP9 versionbits softfork for BIP68, BIP112 and BIP113Wladimir J. van der Laan2016-03-301-5/+17
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | | | | | | | | | | 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)
| * | Soft fork logic for BIP68BtcDrak2016-03-181-2/+3
| | |
| * | Soft fork logic for BIP113BtcDrak2016-03-181-4/+10
| | |
| * | Add CHECKSEQUENCEVERIFY softfork through BIP9Pieter Wuille2016-03-181-0/+5
| | |
* | | Implement "feefilter" P2P message.Alex Morcos2016-03-211-13/+60
| | | | | | | | | | | | 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.
* | | Merge #7692: Remove p2p alert systemWladimir J. van der Laan2016-03-211-67/+24
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * | | Remove `-alerts` optionBtcDrak2016-03-181-1/+0
| | | |
| * | | Update alert notification and GUIBtcDrak2016-03-181-4/+24
| | | |
| * | | Remove p2p alert handlingBtcDrak2016-03-181-62/+0
| |/ /
* | | Merge #7708: De-neuter NODE_BLOOMWladimir J. van der Laan2016-03-211-1/+1
|\ \ \ | |/ / |/| | | | | c90036f Always disconnect old nodes which request filtered connections. (Patrick Strateman)
| * | Always disconnect old nodes which request filtered connections.Patrick Strateman2016-03-181-1/+1
| | |
* | | Merge #7575: Minimal BIP9 implementationWladimir J. van der Laan2016-03-181-7/+79
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * | | Softfork status report in RPCPieter Wuille2016-03-151-1/+5
| | | |
| * | | BIP9 ImplementationPieter Wuille2016-03-151-6/+74
| |/ / | | | | | | | | | | | | Inspired by former implementations by Eric Lombrozo and Rusty Russell, and based on code by Jorge Timon.
* | | Merge #7594: Mempool: Add tracking of ancestor packagesWladimir J. van der Laan2016-03-171-16/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * | | Add ancestor tracking to mempoolSuhas Daftuar2016-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| * | | Remove work limit in UpdateForDescendants()Suhas Daftuar2016-03-141-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Rename CTxMemPool::remove -> removeRecursiveSuhas Daftuar2016-03-141-1/+1
| |/ / | | | | | | | | | | | | remove is no longer called non-recursively, so simplify the logic and eliminate an unnecessary parameter
* | | Merge #7187: Keep reorgs fast for SequenceLocks checksWladimir J. van der Laan2016-03-161-19/+70
|\ \ \ | |/ / |/| | | | | 982670c Add LockPoints (Alex Morcos)
| * | Add LockPointsAlex Morcos2016-03-161-19/+70
| | | | | | | | | | | | Obtain LockPoints to store in CTxMemPoolEntry and during a reorg, evaluate whether they are still valid and if not, recalculate them.
* | | Merge #7592: mempool: Re-remove ERROR logging for mempool rejectsWladimir J. van der Laan2016-03-111-27/+30
|\ \ \ | | | | | | | | | | | | 8fc81e0 mempool: Reduce ERROR logging for mempool rejects (Wladimir J. van der Laan)
| * | | mempool: Reduce ERROR logging for mempool rejectsWladimir J. van der Laan2016-02-241-27/+30
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* / / No "Unknown command" for getaddr command.R E Broadley2016-03-081-6/+11
|/ /
* | Merge #7526: fix spelling of advertise (shows up in the debug log)Wladimir J. van der Laan2016-02-161-4/+4
|\ \ | | | | | | | | | 37767fd fix spelling of advertise in src and doc (jloughry)
| * | fix spelling of advertise in src and docjloughry2016-02-121-4/+4
| | |
* | | Merge #7509: Common argument defaults for NODE_BLOOM stuff and -walletWladimir J. van der Laan2016-02-161-1/+1
|\ \ \ | |/ / |/| | | | | 1fb91b3 Common argument defaults for NODE_BLOOM stuff and -wallet (Luke Dashjr)
| * | Common argument defaults for NODE_BLOOM stuff and -walletLuke Dashjr2016-02-111-1/+1
| | |
* | | Merge #7184: Implement SequenceLocks functions for BIP 68Wladimir J. van der Laan2016-02-121-2/+148
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | b043c4b fix sdaftuar's nits again (Alex Morcos) a51c79b Bug fix to RPC test (Alex Morcos) da6ad5f Add RPC test exercising BIP68 (mempool only) (Suhas Daftuar) c6c2f0f Implement SequenceLocks functions (Alex Morcos)
| * | fix sdaftuar's nits againAlex Morcos2016-02-111-5/+5
| | | | | | | | | | | | it boggles the mind why these nits can't be delivered on a more timely basis
| * | Implement SequenceLocks functionsAlex Morcos2016-02-101-2/+148
| | | | | | | | | | | | | | | | | | | | | SequenceLocks functions are used to evaluate sequence lock times or heights per BIP 68. The majority of this code is copied from maaku in #6312 Further credit: btcdrak, sipa, NicolasDorier
* | | Update the wallet best block marker when pruningPieter Wuille2016-02-101-1/+1
| | |
* | | Merge #7482: [P2P] Ensure headers count is correctWladimir J. van der Laan2016-02-091-1/+3
|\ \ \ | | | | | | | | | | | | 301bc7b Update nQueuedValidatedHeaders after peer disconnection (Suhas Daftuar)
| * | | Update nQueuedValidatedHeaders after peer disconnectionSuhas Daftuar2016-02-081-1/+3
| | | |
* | | | Merge #7459: Consensus: Decouple pow.o from util.oWladimir J. van der Laan2016-02-051-2/+3
|\ \ \ \ | | | | | | | | | | | | | | | f3757a0 Consensus: Decouple pow.cpp from util.h (Jorge Timón)
| * | | | Consensus: Decouple pow.cpp from util.hJorge Timón2016-02-041-2/+3
| | | | |
* | | | | Merge #6480: include the chaintip blockindex in the SyncTransaction signal, ↵Wladimir J. van der Laan2016-02-041-4/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add signal UpdateTip() 7d0bf0b include the chaintip *blockIndex in the SyncTransaction signal (Jonas Schnelli)
| * | | | | include the chaintip *blockIndex in the SyncTransaction signalJonas Schnelli2015-12-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - allows reducing of calls to main.cpp for getting the chaintip during transaction syncing - potentially allows reducing of cs_main locks
* | | | | | Merge #7070: Move maxTxFee out of mempoolWladimir J. van der Laan2016-02-041-6/+6
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | fad6244 ATMP: make nAbsurdFee const (MarcoFalke) fa762d0 [wallet.h] Remove main.h include (MarcoFalke) fa79db2 Move maxTxFee out of mempool (MarcoFalke)
| * | | | | ATMP: make nAbsurdFee constMarcoFalke2016-02-031-2/+2
| | | | | |
| * | | | | Move maxTxFee out of mempoolMarcoFalke2016-02-021-5/+5
| | |/ / / | |/| | | | | | | | | | | | | Also, remove default values in CMerkleTx::AcceptToMemoryPool()
* | | | | Merge #7225: Eliminate unnecessary call to CheckBlockWladimir J. van der Laan2016-02-031-6/+0
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | dbb89dc Eliminate unnecessary call to CheckBlock (Suhas Daftuar)
| * | | | | Eliminate unnecessary call to CheckBlockSuhas Daftuar2016-02-011-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ProcessNewBlock would return failure early if CheckBlock failed, before calling AcceptBlock. AcceptBlock also calls CheckBlock, and upon failure would update mapBlockIndex to indicate that a block was failed. By returning early in ProcessNewBlock, we were not marking blocks that fail a check in CheckBlock as permanently failed, and thus would continue to re-request and reprocess them.