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
Simone Madeo
4f3782ed67
[doc] Removing comments about dirty entries on txmempool
2017-05-10 10:33:38 +01: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
Jorge Timón
381a46e38f
Consensus: Policy: MOVEONLY: Move CFeeRate out of the consensus module
...
...from amount.o to policy/feerate.o
Policy, because it moves policy code to the policy directory (common module)
2017-05-03 18:00:13 +02: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
ae7327b832
Make feeEstimator its own global instance of CBlockPolicyEstimator
2017-04-10 13:51:51 -04: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
Wladimir J. van der Laan
30ff3a2fc9
Merge #9602 : Remove coin age priority and free transactions - implementation
...
b421e6d
Update example bitcoin.conf (Alex Morcos)
7d4e950
Allow setting minrelaytxfee to 0 (Alex Morcos)
359e8a0
[cleanup] Remove coin age priority completely. (Alex Morcos)
f9b9371
[rpc] Remove priorityDelta from prioritisetransaction (Alex Morcos)
49be7e1
[rpc] Remove priority information from mempool RPC calls (Alex Morcos)
0315888
[test] Remove priority from tests (Alex Morcos)
f838005
No longer allow "free" transactions (Alex Morcos)
ad727f4
[rpc] sendrawtransaction no longer bypasses minRelayTxFee (Alex Morcos)
fe282ac
[cleanup] Remove estimatePriority and estimateSmartPriority (Alex Morcos)
400b151
[debug] Change -printpriority option (Alex Morcos)
272b25a
[mining] Remove -blockprioritysize. (Alex Morcos)
12839cd
[rpc] Remove estimatepriority and estimatesmartpriority. (Alex Morcos)
ddf58c7
wallet: Remove sendfree (MarcoFalke)
Tree-SHA512: a9a4499405923ce794ef18f9e334dbbd59dfc73a3dc2df6f85cc9c62af6f353ec2eed9c2d5e58e904f918d0d7ab738f403dd4939d9bc2276136864fe63710782
2017-03-07 19:30:23 +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
f838005444
No longer allow "free" transactions
...
Remove -limitfreerelay and always enforce minRelayTxFee in the mempool (except from disconnected blocks)
Remove -relaypriority, the option was only used for the ability to allow free transactions to be relayed regardless of their priority. Both notions no longer apply.
2017-03-03 16:50:19 -05:00
Wladimir J. van der Laan
c322fa472e
Merge #9732 : [Trivial] Remove nonsense #undef foreach
...
467df39
Remove nonsense #undef foreach (John Newbery)
Tree-SHA512: b8c3c6654eb8a9e5008a1923bee46f7ef9f8216c8f4f1b4662d82c26410ca8d8afe41e24e48a3e2e8b2a25c81c33795a4073dabfe357caf0aa820519d4fffc71
2017-02-28 12:29:43 +01:00
Alex Morcos
fe282acd76
[cleanup] Remove estimatePriority and estimateSmartPriority
...
Unused everywhere now except one test.
2017-02-27 11:23:51 -05:00
Alex Morcos
272b25a6a9
[mining] Remove -blockprioritysize.
...
Remove ability of mining code to fill part of a block with transactions sorted by coin age.
2017-02-27 11:23:50 -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
John Newbery
467df390f0
Remove nonsense #undef foreach
...
This commit removes a preprocessor #undef for a macro that was never
defined. Should make no difference to compiled code.
2017-02-09 14:00:02 -05:00
practicalswift
cc16d99f1d
[trivial] Fix typos in comments
2017-01-27 21:22:35 +01: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
Alex Morcos
ad82cb06ce
Remove unnecessary min fee argument in CTxMemPool constructor
2017-01-17 13:21:35 -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
Pieter Wuille
f646275b90
Merge #9138 : Improve fee estimation
...
44b64b9
Fix edge case with stale fee estimates (Alex Morcos)
78ae62d
Add clarifying comments to fee estimation (Alex Morcos)
5fe0f47
Add extra logging to processBlock in fee estimation. (Alex Morcos)
dc008c4
Add IsCurrentForFeeEstimatation (Alex Morcos)
ebafdca
Pass pointers to existing CTxMemPoolEntries to fee estimation (Alex Morcos)
d825838
Always update fee estimates on new blocks. (Alex Morcos)
6f06b26
rename bool to validFeeEstimate (Alex Morcos)
84f7ab0
Remove member variable hadNoDependencies from CTxMemPoolEntry (Alex Morcos)
60ac00d
Don't track transactions at all during IBD. (Alex Morcos)
4df4479
Remove extraneous LogPrint from fee estimation (Alex Morcos)
2017-01-05 14:22:19 -08:00
Wladimir J. van der Laan
ce43630d1e
Merge #8747 : [rpc] Fix transaction size comments and RPC help text.
...
d29505d
Fix transaction size comments. Size now refers to virtual size as defined in BIP141. (jonnynewbs)
2017-01-05 12:06:42 +01: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
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
0b2294a980
SelectCoinsMinConf: Prefer coins with fewer ancestors
2016-12-13 09:41:04 -05:00
jonnynewbs
d29505db22
Fix transaction size comments. Size now refers to virtual size as defined in BIP141.
2016-12-08 17:03:57 +00: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
fsb4000
15fa95d7e5
Fix some typos
2016-11-28 16:16:37 +07: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
Pieter Wuille
c3efb58622
Add feedelta to TxMempoolInfo
2016-10-30 23:12:09 -07:00
Pieter Wuille
0334430b39
Add some missing includes
2016-10-21 19:22:43 -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
Wladimir J. van der Laan
5eaaa83ac1
Kill insecure_random and associated global state
...
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`.
2016-10-17 13:08:35 +02:00
Pieter Wuille
6aa28abf53
Use cmpctblock type 2 for segwit-enabled transfer
...
Contains version negotiation logic by Matt Corallo and bugfixes by
Suhas Daftuar.
2016-10-04 19:10:41 +02:00
jonnynewbs
c14ffd524b
[trivial] fix mempool comment (outdated by BIP125)
2016-09-26 08:52:52 -04:00
Suhas Daftuar
2c06bae39e
Rename "block cost" to "block weight"
2016-07-18 13:28:26 -04:00
Pieter Wuille
2b1f6f9ccf
BIP141: Other consensus critical limits, and BIP145
...
Includes changes by Suhas Daftuar, Luke-jr, and mruddy.
2016-06-22 15:43:00 +02:00
Matt Corallo
811902649d
Provide a flat list of txid/terators to txn in CTxMemPool
2016-06-19 23:06:55 -07:00
Pieter Wuille
288d85ddf2
Get rid of CTxMempool::lookup() entirely
2016-06-07 13:44:56 +02:00