aboutsummaryrefslogtreecommitdiff
path: root/src/txmempool.cpp
AgeCommit message (Collapse)Author
2017-06-01Switch CCoinsView and chainstate db from per-txid to per-txoutPieter Wuille
This patch makes several related changes: * Changes the CCoinsView virtual methods (GetCoins, HaveCoins, ...) to be COutPoint/Coin-based rather than txid/CCoins-based. * Changes the chainstate db to a new incompatible format that is also COutPoint/Coin based. * Implements reconstruction code for hash_serialized_2. * Adapts the coins_tests unit tests (thanks to Russell Yanofsky). A side effect of the new CCoinsView model is that we can no longer use the (unreliable) test for transaction outputs in the UTXO set to determine whether we already have a particular transaction.
2017-06-01Replace CCoins-based CTxMemPool::pruneSpent with isSpentPieter Wuille
2017-05-18Merge #8329: Consensus: MOVEONLY: Move functions for tx verificationWladimir J. van der Laan
618d07f MOVEONLY: tx functions to consensus/tx_verify.o (Jorge Timón) Tree-SHA512: 63fa2777c070a344dbfe61974526a770d962e049881c6f371b0034b1682c1e6e24f47454f01ee35ded20ade34488e023d4467a05369662906b99a73bb5de8497
2017-05-17Merge #10196: Bugfix: PrioritiseTransaction updates the mempool tx counterPieter Wuille
6c2e25c [qa] Test prioritise_transaction / getblocktemplate interaction (Suhas Daftuar) acc2e4b Bugfix: PrioritiseTransaction updates the mempool tx counter (Suhas Daftuar) Tree-SHA512: dcf834df52d84d5eb86acb847c3f28d3cffd1f78f3092b8ff8913c2c400675a071c48a19cd852fdbaac1582aa1dba23433e0e16055831ef2a5e76dde91199941
2017-05-10Track failures in fee estimation.Alex Morcos
Start tracking transactions which fail to confirm within the target and are then evicted or otherwise leave mempool. Fix slight error in unit test.
2017-05-06Bugfix: PrioritiseTransaction updates the mempool tx counterSuhas Daftuar
The mempool's nTransactionsUpdated is used by getblocktemplate to trigger new invocations of CreateNewBlock().
2017-04-10Read and Write fee estimate file directly from CBlockPolicyEstimatorAlex Morcos
2017-04-10Call estimate(Smart)Fee directly from CBlockPolicyEstimatorAlex Morcos
2017-04-10Give CBlockPolicyEstimator it's own lockAlex Morcos
2017-04-10Make feeEstimator its own global instance of CBlockPolicyEstimatorAlex Morcos
2017-04-06MOVEONLY: tx functions to consensus/tx_verify.oJorge Timón
Functions related to transaction verification.
2017-04-03Bugfix: ancestor modifed fees were incorrect for descendantsSuhas Daftuar
If prioritisetransaction was called for a tx with in-mempool descendants, the modified ancestor fee values for those descendants was incorrect.
2017-04-01Change LogAcceptCategory to use uint32_t rather than sets of strings.Gregory Maxwell
This changes the logging categories to boolean flags instead of strings. This simplifies the acceptance testing by avoiding accessing a scoped static thread local pointer to a thread local set of strings. It eliminates the only use of boost::thread_specific_ptr outside of lockorder debugging. This change allows log entries to be directed to multiple categories and makes it easy to change the logging flags at runtime (e.g. via an RPC, though that isn't done by this commit.) It also eliminates the fDebug global. Configuration of unknown logging categories now produces a warning.
2017-03-19Fix parameter naming inconsistencies between .h and .cpp filespracticalswift
Inconsistencies prior to this commit: * serializeFlags vs serialFlags src/core_io.h:std::string EncodeHexTx(const CTransaction& tx, const int serializeFlags = 0); src/core_write.cpp:std::string EncodeHexTx(const CTransaction& tx, const int serialFlags) * statusOut vs outStatus src/rpc/server.h:bool RPCIsInWarmup(std::string *statusOut); src/rpc/server.cpp:bool RPCIsInWarmup(std::string *outStatus) * hashesToUpdate vs vHashesToUpdate src/txmempool.h: void UpdateTransactionsFromBlock(const std::vector<uint256> &hashesToUpdate); src/txmempool.cpp:void CTxMemPool::UpdateTransactionsFromBlock(const std::vector<uint256> &vHashesToUpdate) * nPruneUpToHeight vs nManualPruneHeight src/validation.h:void PruneBlockFilesManual(int nPruneUpToHeight); src/validation.cpp:void PruneBlockFilesManual(int nManualPruneHeight);
2017-03-07Merge #9548: Remove min reasonable feeWladimir J. van der Laan
ad82cb0 Remove unnecessary min fee argument in CTxMemPool constructor (Alex Morcos) 2a7b56c CBlockPolicyEstimator now uses hard coded minimum bucket feerate (Alex Morcos) ac9d3d2 Change fee estimation bucket limit variable names (Alex Morcos) Tree-SHA512: 6e3bc7df3497ed60c7620845d222063e33a0238020f5c3316e61e0eff758078588ea8dd51196ceb59aa561ba106f8cdae62cebe521adb3247108bb49f15252d6
2017-03-03[cleanup] Remove coin age priority completely.Alex Morcos
Remove GetPriority and ComputePriority. Remove internal machinery for tracking priority in CTxMemPoolEntry.
2017-03-03[rpc] Remove priorityDelta from prioritisetransactionAlex Morcos
This a breaking API change to the prioritisetransaction RPC call which previously required exactly three arguments and now requires exactly two (hash and feeDelta). The function prioritiseTransaction is also updated.
2017-02-27[cleanup] Remove estimatePriority and estimateSmartPriorityAlex Morcos
Unused everywhere now except one test.
2017-02-21Removed redundant parameter from mempool.PrioritiseTransactiongubatron
(Also made the `const uint256 hash` parameter a `const uint256& hash` as suggested by @sdaftuar)
2017-02-16[Trivial] Update comments referencing main.cppCryptAxe
2017-02-05Merge #9578: Add missing mempool lock for CalculateMemPoolAncestorsPieter Wuille
003cd60 Add missing mempool lock for CalculateMemPoolAncestors (Matt Corallo)
2017-01-27Refactor: Remove using namespace <xxx> from src/*.cpp.Karl-Johan Alm
2017-01-23mempool: add notification for added/removed entriesWladimir J. van der Laan
Add notification signals to make it possible to subscribe to mempool changes: - NotifyEntryAdded(CTransactionRef)> - NotifyEntryRemoved(CTransactionRef, MemPoolRemovalReason)> Also add a mempool removal reason enumeration, which is passed to the removed notification based on why the transaction was removed from the mempool.
2017-01-20Add missing mempool lock for CalculateMemPoolAncestorsMatt Corallo
2017-01-17Remove unnecessary min fee argument in CTxMemPool constructorAlex Morcos
2017-01-17CBlockPolicyEstimator now uses hard coded minimum bucket feerateAlex Morcos
2017-01-16Merge #9380: Separate different uses of minimum feesWladimir J. van der Laan
eb30d1a Introduce -dustrelayfee (Alex Morcos) 7b1add3 Introduce -incrementalrelayfee (Alex Morcos) daec955 Introduce -blockmintxfee (Alex Morcos)
2017-01-16Introduce -incrementalrelayfeeAlex Morcos
2017-01-10Fix use-after-free in CTxMemPool::removeConflicts()Suhas Daftuar
2017-01-04Pass pointers to existing CTxMemPoolEntries to fee estimationAlex Morcos
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-04rename bool to validFeeEstimateAlex Morcos
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-04Merge #9288: Fix a bug if the min fee is 0 for FeeFilterRounderWladimir J. van der Laan
f8d43b8 Avoid rollingMinimumFeeRate never being able to decay below half (Alex Morcos) eab8e1b fix a bug if the min fee is 0 for FeeFilterRounder (Alex Morcos)
2017-01-04Merge #9283: A few more CTransactionRef optimizationsWladimir J. van der Laan
91335ba Remove unused MakeTransactionRef overloads (Pieter Wuille) 6713f0f Make FillBlock consume txn_available to avoid shared_ptr copies (Pieter Wuille) 62607d7 Convert COrphanTx to keep a CTransactionRef (Pieter Wuille) c44e4c4 Make AcceptToMemoryPool take CTransactionRef (Pieter Wuille)
2016-12-31Increment MIT Licence copyright header year on files modified in 2016isle2983
Edited via: $ contrib/devtools/copyright_header.py update .
2016-12-21Make AcceptToMemoryPool take CTransactionRefPieter Wuille
2016-12-20Merge #9262: Prefer coins that have fewer ancestors, sanity check txn before ↵Wladimir J. van der Laan
ATMP cee1612 reduce number of lookups in TransactionWithinChainLimit (Gregory Sanders) af9bedb Test for fix of txn chaining in wallet (Gregory Sanders) 5882c09 CreateTransaction: Don't return success with too-many-ancestor txn (Gregory Sanders) 0b2294a SelectCoinsMinConf: Prefer coins with fewer ancestors (Gregory Sanders)
2016-12-19reduce number of lookups in TransactionWithinChainLimitGregory Sanders
2016-12-13SelectCoinsMinConf: Prefer coins with fewer ancestorsGregory Sanders
2016-12-08Avoid rollingMinimumFeeRate never being able to decay below halfAlex Morcos
2016-12-05remove internal tracking of mempool conflicts for reporting to walletAlex Morcos
2016-12-05remove external usage of mempool conflict trackingAlex Morcos
2016-12-02Rename the remaining main.{h,cpp} to validation.{h,cpp}Matt Corallo
2016-11-19Introduce convenience type CTransactionRefPieter Wuille
2016-11-19Make CBlock::vtx a vector of shared_ptr<CTransaction>Pieter Wuille
2016-11-07Remove priority estimationAlex Morcos
2016-10-30Add feedelta to TxMempoolInfoPieter Wuille
2016-10-21Return shared_ptr<CTransaction> from mempool removesPieter Wuille
2016-10-21Make removed and conflicted arguments optional to removePieter Wuille