Matt Corallo
180586fd44
Call AcceptBlock with the block's shared_ptr instead of CBlock&
2017-01-04 15:56:08 -05:00
Matt Corallo
8baaba653e
[qa] Avoid race in preciousblock test.
...
If node 0 is sufficiently fast to announce its block to node 1,
node 1 might already have the block by the time the
node_sync_via_rpc loop gets around to node 1, resulting in the
submitblock result "duplicate-inconclusive" as node 1 has the block,
but prefers an alternate chain.
2017-01-04 15:56:08 -05:00
Matt Corallo
9a0b2f4c5b
[qa] Make compact blocks test construction using fetch methods
2017-01-04 15:56:08 -05:00
Matt Corallo
80175472d1
Make CBlockIndex*es in net_processing const
2017-01-04 15:56:08 -05:00
Russell Yanofsky
dd44ea39bb
Check FRESH validity in CCoinsViewCache::BatchWrite
2017-01-04 14:56:17 -05:00
Pieter Wuille
7dac1e5e9e
Merge #9107 : Safer modify new coins
...
b50cd7a
Fix dangerous condition in ModifyNewCoins. (Alex Morcos)
2017-01-04 11:56:17 -08:00
MarcoFalke
0fc1c31a87
Merge #9395 : Add test for -walletrejectlongchains
...
ffeb195
add test for -walletrejectlongchains (Alex Morcos)
2017-01-04 20:48:43 +01:00
Luke Dashjr
0388afe69d
Let autoconf detect presence of EVP_MD_CTX_new
...
Fixes LibreSSL compatibility
2017-01-04 18:37:37 +00:00
Alex Morcos
ffeb1956cb
add test for -walletrejectlongchains
2017-01-04 13:26:44 -05:00
Alex Morcos
daec955fd6
Introduce -blockmintxfee
2017-01-04 13:24:19 -05:00
Alex Morcos
44b64b933d
Fix edge case with stale fee estimates
2017-01-04 12:10:18 -05:00
Alex Morcos
78ae62d264
Add clarifying comments to fee estimation
2017-01-04 12:10:18 -05:00
Alex Morcos
5fe0f47aa7
Add extra logging to processBlock in fee estimation.
2017-01-04 12:10:18 -05:00
Alex Morcos
dc008c462f
Add IsCurrentForFeeEstimatation
...
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-04 12:10:17 -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
Alex Morcos
60ac00de85
Don't track transactions at all during IBD.
...
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-04 12:05:05 -05:00
Alex Morcos
4df44794c9
Remove extraneous LogPrint from fee estimation
...
Once priority estimation was removed, not all transactions in the mempool are tracked in the fee estimation mempool tracking. So there is no error if a transaction is not found for removal.
2017-01-04 12:03:44 -05:00
Pieter Wuille
ce370c1811
Mark the minconf parameter to move as ignored
2017-01-04 08:48:21 -08:00
Alex Morcos
b50cd7a67e
Fix dangerous condition in ModifyNewCoins.
...
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.
2017-01-04 11:20:42 -05:00
Wladimir J. van der Laan
123ea73624
Merge #9457 : [qt] Select more files for translation
...
facf3e7
[qt] `make translate` (MarcoFalke)
fae26e8
[qt] Add more sources to translate (MarcoFalke)
2017-01-04 16:41:29 +01:00
Cory Fields
56212e20ac
net: set message deserialization version when it's actually time to deserialize
...
We'll soon no longer have access to vRecvMsg, and this is more intuitive anyway.
2017-01-04 10:10:35 -05:00
Cory Fields
0e973d970a
net: remove redundant max sendbuffer size check
...
This is left-over from before there was proper accounting. Hitting 2x the
sendbuffer size should not be possible.
2017-01-04 10:10:35 -05:00
Cory Fields
60425870d7
net: wait until the node is destroyed to delete its recv buffer
...
when vRecvMsg becomes a private buffer, it won't make sense to allow other
threads to mess with it anymore.
2017-01-04 09:29:14 -05:00
Cory Fields
f6315e07f9
net: only disconnect if fDisconnect has been set
...
These conditions are problematic to check without locking, and we shouldn't be
relying on the refcount to disconnect.
2017-01-04 09:29:14 -05:00
Cory Fields
5b4a8ac6d6
net: make GetReceiveFloodSize public
...
This will be needed so that the message processor can cork incoming messages
2017-01-04 09:29:14 -05:00
Cory Fields
e5bcd9c84f
net: make vRecvMsg a list so that we can use splice()
2017-01-04 09:29:14 -05:00
Cory Fields
53ad9a133a
net: fix typo causing the wrong receive buffer size
...
Surprisingly this hasn't been causing me any issues while testing, probably
because it requires lots of large blocks to be flying around.
Send/Recv corks need tests!
2017-01-04 09:29:14 -05:00
MarcoFalke
df1ab5b4d6
Merge #9470 : qt: Set (count) placeholder in sendcoinsdialog to notranslate
...
388ea19
qt: Set (count) placeholder in sendcoinsdialog to notranslate (Wladimir J. van der Laan)
2017-01-04 15:19:00 +01:00
fanquake
8217bd1d4c
[depends] libevent 2.1.7rc
2017-01-04 22:00:26 +08:00
Wladimir J. van der Laan
388ea19bf2
qt: Set (count) placeholder in sendcoinsdialog to notranslate
2017-01-04 14:37:53 +01:00
MarcoFalke
5bc3b6cede
Merge #9467 : [Trivial] [Doc] Install Protobuf v3 on OS X
...
35ee63c
[Doc] Install Protobuf v3 on OS X (fanquake)
2017-01-04 13:45:38 +01:00
MarcoFalke
c2ea1e6561
Merge #9401 : Make rpcauth help message clearer, add example in example .conf
...
0513c70
Make rpcauth help message clearer, add example in example .conf (Gregory Sanders)
2017-01-04 13:00:12 +01:00
Wladimir J. van der Laan
d65a13b773
Merge #9396 : Updated listsinceblock rpc documentation
...
3f67972
updated listsinceblock rpc docs (accraze)
2017-01-04 12:47:56 +01: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
Wladimir J. van der Laan
d9ae1cefa0
Merge #9289 : net: drop boost::thread_group
...
67ee4ec
net: misc header cleanups (Cory Fields)
8b3159e
net: make proxy receives interruptible (Cory Fields)
5cb0fce
net: remove thread_interrupted catch (Cory Fields)
d3d7056
net: make net processing interruptible (Cory Fields)
0985052
net: make net interruptible (Cory Fields)
799df91
net: add CThreadInterrupt and InterruptibleSleep (Cory Fields)
7325b15
net: a few small cleanups before replacing boost threads (Cory Fields)
2017-01-04 12:21:53 +01:00
MarcoFalke
facf3e7608
[qt] make translate
2017-01-04 12:13:03 +01:00
MarcoFalke
fae26e8dfc
[qt] Add more sources to translate
2017-01-04 12:12:43 +01:00
Wladimir J. van der Laan
c0ddd32bf6
Merge #9450 : Increment MIT licence copyright header year on files modified in 2016
...
27765b6
Increment MIT Licence copyright header year on files modified in 2016 (isle2983)
2017-01-04 12:09:05 +01:00
Karl-Johan Alm
05a55a639b
Added EVENT_CFLAGS to test makefile to explicitly include libevent headers.
2017-01-04 18:16:55 +09:00
fanquake
35ee63c565
[Doc] Install Protobuf v3 on OS X
2017-01-04 17:08:04 +08:00
Wladimir J. van der Laan
649cf5fe89
Merge #9462 : [qt] Do not translate tilde character
...
fab6c5f
[qt] Do not translate `~` (MarcoFalke)
2017-01-04 08:21:04 +01:00
Cory Fields
67ee4ec901
net: misc header cleanups
2017-01-03 17:56:21 -05:00
Cory Fields
8b3159ef0a
net: make proxy receives interruptible
2017-01-03 17:56:21 -05:00
Cory Fields
5cb0fcee81
net: remove thread_interrupted catch
...
This is now a std::thread, so there's no hope of catching a boost interruption
point.
2017-01-03 17:56:21 -05:00
Cory Fields
d3d7056d2a
net: make net processing interruptible
2017-01-03 17:56:20 -05:00
Cory Fields
0985052319
net: make net interruptible
...
Also now that net threads are interruptible, switch them to use std
threads/binds/mutexes/condvars.
2017-01-03 17:53:09 -05:00