Wladimir J. van der Laan
acd9957b72
Merge #9208 : Improve DisconnectTip performance
...
c1235e3
Add RecursiveDynamicUsage overload for std::shared_ptr (Russell Yanofsky)
71f1903
Store disconnected block transactions outside mempool during reorg (Suhas Daftuar)
9decd64
[qa] Relax assumptions on mempool behavior during reorg (Suhas Daftuar)
Tree-SHA512: c160ad853a5cd060d0307af7606a0c77907497ed7033c9599b95e73d83f68fdfcd4214bd8a83db1c5b7a58022722b9de1ed2e6ea2e02f38a7b6c717f079dd0c6
2017-05-30 18:43:03 +02:00
Wladimir J. van der Laan
ea6fde3f1d
Merge #8329 : Consensus: MOVEONLY: Move functions for tx verification
...
618d07f
MOVEONLY: tx functions to consensus/tx_verify.o (Jorge Timón)
Tree-SHA512: 63fa2777c070a344dbfe61974526a770d962e049881c6f371b0034b1682c1e6e24f47454f01ee35ded20ade34488e023d4467a05369662906b99a73bb5de8497
2017-05-18 21:01:49 +02:00
Pieter Wuille
bee3529971
Merge #10196 : Bugfix: PrioritiseTransaction updates the mempool tx counter
...
6c2e25c
[qa] Test prioritise_transaction / getblocktemplate interaction (Suhas Daftuar)
acc2e4b
Bugfix: PrioritiseTransaction updates the mempool tx counter (Suhas Daftuar)
Tree-SHA512: dcf834df52d84d5eb86acb847c3f28d3cffd1f78f3092b8ff8913c2c400675a071c48a19cd852fdbaac1582aa1dba23433e0e16055831ef2a5e76dde91199941
2017-05-17 13:25:22 -07:00
Alex Morcos
c7447ec303
Track failures in fee estimation.
...
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-10 11:45:27 -04:00
Suhas Daftuar
acc2e4bc96
Bugfix: PrioritiseTransaction updates the mempool tx counter
...
The mempool's nTransactionsUpdated is used by getblocktemplate
to trigger new invocations of CreateNewBlock().
2017-05-06 05:27:21 -04:00
Russell Yanofsky
c1235e3f2d
Add RecursiveDynamicUsage overload for std::shared_ptr
...
This simplifies a few usage expressions.
2017-05-04 16:50:52 -04:00
Alex Morcos
5ba81e54e0
Read and Write fee estimate file directly from CBlockPolicyEstimator
2017-04-10 13:56:50 -04:00
Alex Morcos
14e10aa842
Call estimate(Smart)Fee directly from CBlockPolicyEstimator
2017-04-10 13:56:50 -04:00
Alex Morcos
dbb9e3699b
Give CBlockPolicyEstimator it's own lock
2017-04-10 13:51:51 -04:00
Alex Morcos
ae7327b832
Make feeEstimator its own global instance of CBlockPolicyEstimator
2017-04-10 13:51:51 -04:00
Jorge Timón
618d07faa2
MOVEONLY: tx functions to consensus/tx_verify.o
...
Functions related to transaction verification.
2017-04-06 23:36:46 +02:00
Suhas Daftuar
9bef02e365
Bugfix: ancestor modifed fees were incorrect for descendants
...
If prioritisetransaction was called for a tx with in-mempool
descendants, the modified ancestor fee values for those descendants was
incorrect.
2017-04-03 15:50:15 -04:00
Gregory Maxwell
6b3bb3d9ba
Change LogAcceptCategory to use uint32_t rather than sets of strings.
...
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-04-01 18:53:29 +00:00
practicalswift
97b8213674
Fix parameter naming inconsistencies between .h and .cpp files
...
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-19 16:14:29 +01:00
Wladimir J. van der Laan
47510ad3dd
Merge #9548 : Remove min reasonable fee
...
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-07 19:49:00 +01:00
Alex Morcos
359e8a03d1
[cleanup] Remove coin age priority completely.
...
Remove GetPriority and ComputePriority. Remove internal machinery for tracking priority in CTxMemPoolEntry.
2017-03-03 16:50:20 -05:00
Alex Morcos
f9b9371c60
[rpc] Remove priorityDelta from prioritisetransaction
...
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-03-03 16:50:19 -05:00
Alex Morcos
fe282acd76
[cleanup] Remove estimatePriority and estimateSmartPriority
...
Unused everywhere now except one test.
2017-02-27 11:23:51 -05:00
gubatron
eaea2bbb41
Removed redundant parameter from mempool.PrioritiseTransaction
...
(Also made the `const uint256 hash` parameter a `const uint256& hash` as suggested by @sdaftuar)
2017-02-21 20:44:23 -07:00
CryptAxe
00e623d0b8
[Trivial] Update comments referencing main.cpp
2017-02-16 13:52:38 +01:00
Pieter Wuille
923dc447ea
Merge #9578 : Add missing mempool lock for CalculateMemPoolAncestors
...
003cd60
Add missing mempool lock for CalculateMemPoolAncestors (Matt Corallo)
2017-02-05 12:08:08 -08:00
Karl-Johan Alm
b7b48c8bbd
Refactor: Remove using namespace <xxx> from src/*.cpp.
2017-01-27 18:13:20 +09:00
Wladimir J. van der Laan
ff25c32392
mempool: add notification for added/removed entries
...
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-23 15:43:22 -05:00
Matt Corallo
003cd60cc3
Add missing mempool lock for CalculateMemPoolAncestors
2017-01-20 18:11:24 -05:00
Alex Morcos
ad82cb06ce
Remove unnecessary min fee argument in CTxMemPool constructor
2017-01-17 13:21:35 -05:00
Alex Morcos
2a7b56cc0e
CBlockPolicyEstimator now uses hard coded minimum bucket feerate
2017-01-17 13:21:31 -05:00
Wladimir J. van der Laan
dd98f04538
Merge #9380 : Separate different uses of minimum fees
...
eb30d1a
Introduce -dustrelayfee (Alex Morcos)
7b1add3
Introduce -incrementalrelayfee (Alex Morcos)
daec955
Introduce -blockmintxfee (Alex Morcos)
2017-01-16 19:33:08 +01:00
Alex Morcos
7b1add3c28
Introduce -incrementalrelayfee
2017-01-16 08:39:03 -05:00
Suhas Daftuar
fe7e593b24
Fix use-after-free in CTxMemPool::removeConflicts()
2017-01-10 15:21:21 -05:00
Alex Morcos
ebafdcabb1
Pass pointers to existing CTxMemPoolEntries to fee estimation
2017-01-04 12:09:34 -05:00
Alex Morcos
d825838e64
Always update fee estimates on new blocks.
...
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-04 12:09:34 -05:00
Alex Morcos
6f06b268c1
rename bool to validFeeEstimate
2017-01-04 12:09:33 -05:00
Alex Morcos
84f7ab08d2
Remove member variable hadNoDependencies from CTxMemPoolEntry
...
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-04 12:09:33 -05:00
Wladimir J. van der Laan
1ce7ede2a9
Merge #9288 : Fix a bug if the min fee is 0 for FeeFilterRounder
...
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-04 12:33:56 +01:00
Wladimir J. van der Laan
869781c51c
Merge #9283 : A few more CTransactionRef optimizations
...
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)
2017-01-04 12:23:10 +01:00
isle2983
27765b6403
Increment MIT Licence copyright header year on files modified in 2016
...
Edited via:
$ contrib/devtools/copyright_header.py update .
2016-12-31 11:01:21 -07:00
Pieter Wuille
c44e4c467c
Make AcceptToMemoryPool take CTransactionRef
2016-12-21 18:18:23 -08:00
Wladimir J. van der Laan
5a70572049
Merge #9262 : Prefer coins that have fewer ancestors, sanity check txn before 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-20 13:27:08 +01:00
Gregory Sanders
cee16123f5
reduce number of lookups in TransactionWithinChainLimit
2016-12-19 20:51:34 -05:00
Gregory Sanders
0b2294a980
SelectCoinsMinConf: Prefer coins with fewer ancestors
2016-12-13 09:41:04 -05:00
Alex Morcos
f8d43b8081
Avoid rollingMinimumFeeRate never being able to decay below half
2016-12-08 15:40:14 -05:00
Alex Morcos
a874ab5ccf
remove internal tracking of mempool conflicts for reporting to wallet
2016-12-05 13:41:25 -05:00
Alex Morcos
bf663f8e93
remove external usage of mempool conflict tracking
2016-12-05 13:41:25 -05:00
Matt Corallo
76faa3cdfe
Rename the remaining main.{h,cpp} to validation.{h,cpp}
2016-12-02 09:42:51 -08:00
Pieter Wuille
b4e4ba475a
Introduce convenience type CTransactionRef
2016-11-19 17:53:23 -08:00
Pieter Wuille
1662b437b3
Make CBlock::vtx a vector of shared_ptr<CTransaction>
2016-11-19 17:51:09 -08:00
Alex Morcos
b2322e0fc6
Remove priority estimation
2016-11-07 13:22:34 +01:00
Pieter Wuille
c3efb58622
Add feedelta to TxMempoolInfo
2016-10-30 23:12:09 -07:00
Pieter Wuille
4100499db4
Return shared_ptr<CTransaction> from mempool removes
2016-10-21 19:22:43 -07:00
Pieter Wuille
51f278329d
Make removed and conflicted arguments optional to remove
2016-10-21 19:22:43 -07:00