aboutsummaryrefslogtreecommitdiff
path: root/src/validation.cpp
AgeCommit message (Collapse)Author
2017-01-04[MOVEONLY] Move progress estimation out of checkpointsPieter Wuille
2017-01-04Call AcceptBlock with the block's shared_ptr instead of CBlock&Matt Corallo
2017-01-04Make CBlockIndex*es in net_processing constMatt Corallo
2017-01-04Merge #9107: Safer modify new coinsPieter Wuille
b50cd7a Fix dangerous condition in ModifyNewCoins. (Alex Morcos)
2017-01-04Add IsCurrentForFeeEstimatationAlex Morcos
Make a more conservative notion of whether the node is caught up to the rest of the network and only count transactions as fee estimation data points if the node is caught up.
2017-01-04Always update fee estimates on new blocks.Alex Morcos
All decisions about whether the transactions are valid data points are made at the time the transaction arrives. Updating on blocks all the time will now cause stale fee estimates to decay quickly when we restart a node.
2017-01-04Remove member variable hadNoDependencies from CTxMemPoolEntryAlex Morcos
Fee estimation can just check its own mapMemPoolTxs to determine the same information. Note that now fee estimation for block processing must happen before those transactions are removed, but this shoudl be a speedup.
2017-01-04Don't track transactions at all during IBD.Alex Morcos
This was an oversight, where blocks and mempool tracking were ignored during IBD, but transactions that arrived during IBD but were included in blocks after IBD were not ignored.
2017-01-04Fix dangerous condition in ModifyNewCoins.Alex Morcos
We were marking coins FRESH before being sure they were not overwriting dirty undo data. This condition was never reached in existing code because undo data was always flushed before UpdateCoins was called with new transactions, but could have been exposed in an otherwise safe refactor. Clarify in the comments the assumptions made in ModifyNewCoins. Add ability to undo transactions to UpdateCoins unit test. Thanks to Russ Yanofsky for suggestion on how to make logic clearer and fixing up the ccoins_modify_new test cases.
2016-12-23Allow shutdown during LoadMempool, dump only when necessaryJonas Schnelli
2016-12-22Share unused mempool memory with coincachePieter Wuille
If the mempool is not completely full, treat the difference between the maximum size and the actual usage as available for the coin cache. This also changes the early flush trigger from (usage > 0.9 * space) to (usage > 0.9 * space && usage > space - 100MB). This means we're not permanently leaving 10% of the space unused when the space is large.
2016-12-21Make AcceptToMemoryPool take CTransactionRefPieter Wuille
2016-12-21Merge #8589: Inline CTxInWitness inside CTxInWladimir J. van der Laan
f6fb7ac Move CTxInWitness inside CTxIn (Pieter Wuille)
2016-12-19Merge #9236: Fix races for strMiscWarning and fLargeWork*Found, make QT ↵Wladimir J. van der Laan
runawayException use GetWarnings 749be01 Move GetWarnings() into its own file. (Gregory Maxwell) e3ba0ef Eliminate data races for strMiscWarning and fLargeWork*Found. (Gregory Maxwell) c63198f Make QT runawayException call GetWarnings instead of directly access strMiscWarning. (Gregory Maxwell)
2016-12-14Merge #9273: Remove unused CDiskBlockPos* argument from ProcessNewBlockWladimir J. van der Laan
a13fa4c Remove unused CDiskBlockPos* argument from ProcessNewBlock (Matt Corallo)
2016-12-14Do not run functions with necessary side-effects in assert()Gregory Maxwell
2016-12-09Merge #9240: Remove txConflictedPieter Wuille
a874ab5 remove internal tracking of mempool conflicts for reporting to wallet (Alex Morcos) bf663f8 remove external usage of mempool conflict tracking (Alex Morcos)
2016-12-07remove no longer needed check for premature v2 txsAlex Morcos
2016-12-05remove external usage of mempool conflict trackingAlex Morcos
2016-12-04Move CTxInWitness inside CTxInPieter Wuille
2016-12-05Merge #9014: Fix block-connection performance regressionWladimir J. van der Laan
dd0df81 Document ConnectBlock connectTrace postconditions (Matt Corallo) 2d6e561 Switch pblock in ProcessNewBlock to a shared_ptr (Matt Corallo) 2736c44 Make the optional pblock in ActivateBestChain a shared_ptr (Matt Corallo) ae4db44 Create a shared_ptr for the block we're connecting in ActivateBCS (Matt Corallo) fd9d890 Keep blocks as shared_ptrs, instead of copying txn in ConnectTip (Matt Corallo) 6fdd43b Add struct to track block-connect-time-generated info for callbacks (Matt Corallo)
2016-12-04Remove unused CDiskBlockPos* argument from ProcessNewBlockMatt Corallo
2016-12-04Document ConnectBlock connectTrace postconditionsMatt Corallo
2016-12-04Switch pblock in ProcessNewBlock to a shared_ptrMatt Corallo
This (finally) fixes a performance regression in b3b3c2a5623d5c942d2b3565cc2d833c65105555
2016-12-04Make the optional pblock in ActivateBestChain a shared_ptrMatt Corallo
2016-12-04Create a shared_ptr for the block we're connecting in ActivateBCSMatt Corallo
2016-12-04Keep blocks as shared_ptrs, instead of copying txn in ConnectTipMatt Corallo
2016-12-04Add struct to track block-connect-time-generated info for callbacksMatt Corallo
2016-12-03Move GetWarnings() into its own file.Gregory Maxwell
2016-12-03Eliminate data races for strMiscWarning and fLargeWork*Found.Gregory Maxwell
This moves all access to these datastructures through accessor functions and protects them with a lock.
2016-12-03Make QT runawayException call GetWarnings instead of directly access ↵Gregory Maxwell
strMiscWarning. This is a first step in avoiding racy accesses to strMiscWarning. The change required moving GetWarnings and related globals to util.
2016-12-02Make CTransaction actually immutablePieter Wuille
2016-12-02Switch GetTransaction to returning a CTransactionRefPieter Wuille
2016-12-02Rename the remaining main.{h,cpp} to validation.{h,cpp}Matt Corallo