Alex Morcos
42f5ce4093
Try to reduce change output to make needed fee in CreateTransaction
...
Once we've picked coins and dummy-signed the transaction to calculate fee, if we don't have sufficient fee, then try to meet the fee by reducing change before resorting to picking new coins.
2017-01-06 10:12:05 -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
Pieter Wuille
c252685aa5
Merge #8610 : Share unused mempool memory with coincache
...
ba3cecf
Share unused mempool memory with coincache (Pieter Wuille)
2017-01-05 13:52:24 -08:00
Pieter Wuille
a7d55c9338
Merge #9465 : [Wallet] Do not perform ECDSA signing in the fee calculation inner loop.
...
b3d7b1c
Wallet: Do not perform ECDSA in the fee calculation inner loop. (Gregory Maxwell)
2017-01-05 13:37:03 -08:00
Jonas Schnelli
fd7d8c7b35
Merge #9413 : [CoinControl] Allow non-wallet owned change addresses
...
54f8026
[CoinControl] Allow non-wallet owned change addresses (Jonas Schnelli)
2017-01-05 21:00:06 +01:00
Wladimir J. van der Laan
a72f76ca3d
Merge #9312 : Increase mempool expiry time to 2 weeks
...
5f0e27f
Increase mempool expiry time to 2 weeks (Alex Morcos)
2017-01-05 20:32:57 +01:00
Gregory Maxwell
b3d7b1cbe7
Wallet: Do not perform ECDSA in the fee calculation inner loop.
...
Performing signing in the inner loop has terrible performance
when many passes through are needed to complete the selection.
Signing before the algorithm is complete also gets in the way
of correctly setting the fee (e.g. preventing over-payment when
the fee required goes down on the final selection.)
Use of the dummy might overpay on the signatures by a couple bytes
in uncommon cases where the signatures' DER encoding is smaller
than the dummy: Who cares?
2017-01-05 18:15:01 +00: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
MarcoFalke
4cfd57d2e3
Merge #9281 : Refactor: Remove using namespace <xxx> from bench/ & test/ sources
...
73f4119
Refactoring: Removed using namespace <xxx> from bench/ and test/ source files. (Karl-Johan Alm)
2017-01-05 11:32:05 +01:00
Wladimir J. van der Laan
406f35d99d
Merge #9373 : Linearize script update (hash byte reversal and Python 3 support)
...
3c8f63b
Make linearize scripts Python 3-compatible. (Doug)
d5aa198
Allow linearization scripts to support hash byte reversal (Doug)
2017-01-05 11:19:35 +01:00
Wladimir J. van der Laan
cfe41d7a60
Merge #9387 : [Refactor] RAII of libevent stuff using unique ptrs with deleters
...
05a55a6
Added EVENT_CFLAGS to test makefile to explicitly include libevent headers. (Karl-Johan Alm)
280a559
Added some simple tests for the RAII-style events. (Karl-Johan Alm)
7f7f102
Switched bitcoin-cli.cpp to use RAII unique pointers with deleters. (Karl-Johan Alm)
e5534d2
Added std::unique_ptr<> wrappers with deleters for libevent modules. (Karl-Johan Alm)
2017-01-05 11:11:17 +01:00
Wladimir J. van der Laan
c4b7d4f79c
Merge #9417 : Do not evaluate hidden LogPrint arguments
...
407cdd6
Do not evaluate hidden LogPrint arguments (Pieter Wuille)
2017-01-05 10:49:00 +01:00
Wladimir J. van der Laan
48d7e0d5e4
Merge #9474 : Mark the minconf parameter to move as ignored
...
ce370c1
Mark the minconf parameter to move as ignored (Pieter Wuille)
2017-01-05 10:29:26 +01:00
Wladimir J. van der Laan
7014506415
Merge #9475 : Let autoconf detect presence of EVP_MD_CTX_new
...
0388afe
Let autoconf detect presence of EVP_MD_CTX_new (Luke Dashjr)
2017-01-05 10:28:47 +01:00
Doug
3c8f63ba7c
Make linearize scripts Python 3-compatible.
2017-01-05 00:46:30 -08:00
Doug
d5aa19813c
Allow linearization scripts to support hash byte reversal
...
Currently, the linearization scripts require input hashes to be in one endian form. Add support for byte reversal.
2017-01-05 00:46:29 -08: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
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
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
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