aboutsummaryrefslogtreecommitdiff
path: root/src/txmempool.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Bugfix: PrioritiseTransaction updates the mempool tx counterSuhas Daftuar2017-05-061-0/+1
| | |/ | |/| | | | | | | | | | The mempool's nTransactionsUpdated is used by getblocktemplate to trigger new invocations of CreateNewBlock().
* / | Track failures in fee estimation.Alex Morcos2017-05-101-1/+1
|/ / | | | | | | | | | | Start tracking transactions which fail to confirm within the target and are then evicted or otherwise leave mempool. Fix slight error in unit test.
* | Read and Write fee estimate file directly from CBlockPolicyEstimatorAlex Morcos2017-04-101-34/+0
| |
* | Call estimate(Smart)Fee directly from CBlockPolicyEstimatorAlex Morcos2017-04-101-9/+0
| |
* | Give CBlockPolicyEstimator it's own lockAlex Morcos2017-04-101-4/+0
| |
* | Make feeEstimator its own global instance of CBlockPolicyEstimatorAlex Morcos2017-04-101-12/+5
|/
* Bugfix: ancestor modifed fees were incorrect for descendantsSuhas Daftuar2017-04-031-0/+7
| | | | | | If prioritisetransaction was called for a tx with in-mempool descendants, the modified ancestor fee values for those descendants was incorrect.
* Change LogAcceptCategory to use uint32_t rather than sets of strings.Gregory Maxwell2017-04-011-3/+4
| | | | | | | | | | | | | | | | | 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.
* Fix parameter naming inconsistencies between .h and .cpp filespracticalswift2017-03-191-1/+1
| | | | | | | | | | | | | | | | | | | | 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);
* Merge #9548: Remove min reasonable feeWladimir J. van der Laan2017-03-071-2/+2
|\ | | | | | | | | | | | | | | 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
| * Remove unnecessary min fee argument in CTxMemPool constructorAlex Morcos2017-01-171-1/+1
| |
| * CBlockPolicyEstimator now uses hard coded minimum bucket feerateAlex Morcos2017-01-171-1/+1
| |
* | [cleanup] Remove coin age priority completely.Alex Morcos2017-03-031-17/+2
| | | | | | | | Remove GetPriority and ComputePriority. Remove internal machinery for tracking priority in CTxMemPoolEntry.
* | [rpc] Remove priorityDelta from prioritisetransactionAlex Morcos2017-03-031-15/+13
| | | | | | | | 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.
* | [cleanup] Remove estimatePriority and estimateSmartPriorityAlex Morcos2017-02-271-10/+0
| | | | | | | | Unused everywhere now except one test.
* | Removed redundant parameter from mempool.PrioritiseTransactiongubatron2017-02-211-2/+2
| | | | | | | | (Also made the `const uint256 hash` parameter a `const uint256& hash` as suggested by @sdaftuar)
* | [Trivial] Update comments referencing main.cppCryptAxe2017-02-161-1/+1
| |
* | Merge #9578: Add missing mempool lock for CalculateMemPoolAncestorsPieter Wuille2017-02-051-0/+2
|\ \ | | | | | | | | | 003cd60 Add missing mempool lock for CalculateMemPoolAncestors (Matt Corallo)
| * | Add missing mempool lock for CalculateMemPoolAncestorsMatt Corallo2017-01-201-0/+2
| |/
* | Refactor: Remove using namespace <xxx> from src/*.cpp.Karl-Johan Alm2017-01-271-5/+3
| |
* | mempool: add notification for added/removed entriesWladimir J. van der Laan2017-01-231-10/+13
|/ | | | | | | | | | | | 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.
* Merge #9380: Separate different uses of minimum feesWladimir J. van der Laan2017-01-161-4/+3
|\ | | | | | | | | | | eb30d1a Introduce -dustrelayfee (Alex Morcos) 7b1add3 Introduce -incrementalrelayfee (Alex Morcos) daec955 Introduce -blockmintxfee (Alex Morcos)
| * Introduce -incrementalrelayfeeAlex Morcos2017-01-161-4/+3
| |
* | Fix use-after-free in CTxMemPool::removeConflicts()Suhas Daftuar2017-01-101-1/+1
| |
* | Pass pointers to existing CTxMemPoolEntries to fee estimationAlex Morcos2017-01-041-2/+2
| |
* | Always update fee estimates on new blocks.Alex Morcos2017-01-041-3/+2
| | | | | | | | 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.
* | rename bool to validFeeEstimateAlex Morcos2017-01-041-4/+4
| |
* | Remove member variable hadNoDependencies from CTxMemPoolEntryAlex Morcos2017-01-041-4/+4
|/ | | | 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.
* Merge #9288: Fix a bug if the min fee is 0 for FeeFilterRounderWladimir J. van der Laan2017-01-041-1/+1
|\ | | | | | | | | 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)
| * Avoid rollingMinimumFeeRate never being able to decay below halfAlex Morcos2016-12-081-1/+1
| |
* | Merge #9283: A few more CTransactionRef optimizationsWladimir J. van der Laan2017-01-041-5/+5
|\ \ | | | | | | | | | | | | | | | | | | 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)
| * | Make AcceptToMemoryPool take CTransactionRefPieter Wuille2016-12-211-5/+5
| | |
* | | Increment MIT Licence copyright header year on files modified in 2016isle29832016-12-311-1/+1
|/ / | | | | | | | | | | Edited via: $ contrib/devtools/copyright_header.py update .
* | Merge #9262: Prefer coins that have fewer ancestors, sanity check txn before ↵Wladimir J. van der Laan2016-12-201-0/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * | reduce number of lookups in TransactionWithinChainLimitGregory Sanders2016-12-191-3/+3
| | |
| * | SelectCoinsMinConf: Prefer coins with fewer ancestorsGregory Sanders2016-12-131-0/+7
| | |
* | | remove internal tracking of mempool conflicts for reporting to walletAlex Morcos2016-12-051-8/+3
| | |
* | | remove external usage of mempool conflict trackingAlex Morcos2016-12-051-2/+2
| |/ |/|
* | Rename the remaining main.{h,cpp} to validation.{h,cpp}Matt Corallo2016-12-021-1/+1
|/
* Introduce convenience type CTransactionRefPieter Wuille2016-11-191-7/+7
|
* Make CBlock::vtx a vector of shared_ptr<CTransaction>Pieter Wuille2016-11-191-7/+7
|
* Remove priority estimationAlex Morcos2016-11-071-3/+2
|
* Add feedelta to TxMempoolInfoPieter Wuille2016-10-301-2/+6
|
* Return shared_ptr<CTransaction> from mempool removesPieter Wuille2016-10-211-4/+4
|
* Make removed and conflicted arguments optional to removePieter Wuille2016-10-211-5/+7
|
* Bypass removeRecursive in removeForReorgPieter Wuille2016-10-211-7/+8
|
* Kill insecure_random and associated global stateWladimir J. van der Laan2016-10-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are only a few uses of `insecure_random` outside the tests. This PR replaces uses of insecure_random (and its accompanying global state) in the core code with an FastRandomContext that is automatically seeded on creation. This is meant to be used for inner loops. The FastRandomContext can be in the outer scope, or the class itself, then rand32() is used inside the loop. Useful e.g. for pushing addresses in CNode or the fee rounding, or randomization for coin selection. As a context is created per purpose, thus it gets rid of cross-thread unprotected shared usage of a single set of globals, this should also get rid of the potential race conditions. - I'd say TxMempool::check is not called enough to warrant using a special fast random context, this is switched to GetRand() (open for discussion...) - The use of `insecure_rand` in ConnectThroughProxy has been replaced by an atomic integer counter. The only goal here is to have a different credentials pair for each connection to go on a different Tor circuit, it does not need to be random nor unpredictable. - To avoid having a FastRandomContext on every CNode, the context is passed into PushAddress as appropriate. There remains an insecure_random for test usage in `test_random.h`.
* Use cmpctblock type 2 for segwit-enabled transferPieter Wuille2016-10-041-1/+1
| | | | | Contains version negotiation logic by Matt Corallo and bugfixes by Suhas Daftuar.
* Do not shadow variablesPavel Janík2016-09-271-4/+4
|
* Remove unused variablesMarcoFalke2016-08-251-1/+0
|