Commit graph

13977 commits

Author SHA1 Message Date
Jonas Schnelli
a38783747b
Make sure we re-check the conditions of a feebump during commit 2017-05-11 15:27:06 +02:00
Jonas Schnelli
9b9ca538cd
Only update the transactionrecord if the fee bump has been commited 2017-05-11 15:27:05 +02:00
Jonas Schnelli
6ed4368f12
Make sure we use nTxConfirmTarget during Qt fee bumps 2017-05-11 15:27:05 +02:00
Jonas Schnelli
be08fc39d0
Make sure we always update the table row after a bumpfee call 2017-05-11 15:27:05 +02:00
Jonas Schnelli
2678d3dc63
Show old-fee, increase a new-fee in Qt fee bumper confirmation dialog 2017-05-11 15:27:05 +02:00
Jonas Schnelli
2ec911f60d
Add cs_wallet lock assertion to SignTransaction() 2017-05-11 15:27:05 +02:00
Jonas Schnelli
fbf385cc83
[Qt] simple fee bumper with user verification 2017-05-11 15:27:04 +02:00
Wladimir J. van der Laan
7f2b9e0868
Merge #10381: Shadowing warnings are not enabled by default, update doc accordingly
f203ecc Shadowing is not enabled by default, update doc accordingly. (Pavel Janík)

Tree-SHA512: a7170827caa9d35457356808445ef2387fd2edde72fb76c6241cfd5decad218558b307d223e86bb66041576b638f90f6efa8a46ea6208d43da275a993617c997
2017-05-11 07:18:18 +02:00
John Newbery
761392db3a [logging] log system time and mock time 2017-05-10 15:49:00 -04:00
Pavel Janík
f203ecc621 Shadowing is not enabled by default, update doc accordingly. 2017-05-10 19:48:24 +02:00
Alex Morcos
2d2e17052c Comments and improved documentation 2017-05-10 11:48:46 -04:00
Alex Morcos
ef589f8d40 minor cleanup: remove unnecessary variable 2017-05-10 11:47:45 -04:00
Alex Morcos
3ee76d6de5 Introduce a scale factor
For the per confirmation number tracking of data, introduce a scale factor so that in the longer horizones confirmations are bucketed together at a resolution of the scale.  (instead of 1008 individual data points for each fee bucket, have 42 data points each covering 24 different confirmation values.. (1-24), (25-48), etc.. )
2017-05-10 11:47:45 -04:00
Alex Morcos
5f1f0c6490 Historical block span
Store in fee estimate file the block span for which we were tracking estimates, so we know what targets we can successfully evaluate with the data in the file. When restarting use either this historical block span to set valid range of targets until our current span of tracking estimates is just as long.
2017-05-10 11:47:45 -04:00
Alex Morcos
aa19b8ea44 Clean up fee estimate debug printing 2017-05-10 11:47:45 -04:00
Alex Morcos
10f7cbd247 Track first recorded height
Track the first time we seen txs in a block that we have been tracking in our mempool. Used to evaluate validity of fee estimates for different targets.
2017-05-10 11:47:44 -04:00
Alex Morcos
3810e976d6 Rewrite estimateSmartFee
Change the logic of estimateSmartFee to check a 60% threshold at half the target, a 85% threshold at the target and a 95% threshold at double the target. Always check the shortest time horizon possible and ensure that estimates are monotonically decreasing.  Add a conservative mode, which makes sure that the 95% threshold is also met at longer time horizons as well.
2017-05-10 11:47:44 -04: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
Alex Morcos
4186d3fdfd Expose estimaterawfee
Track information the ranges of fee rates that were used to calculate the fee estimates (the last range of fee rates in which the data points met the threshold and the first to fail) and provide an RPC call to return this information.
2017-05-10 11:45:26 -04:00
Alex Morcos
2681153af3 minor refactor: explicitly track start of new bucket range and don't update curNearBucket on final loop. 2017-05-10 11:45:26 -04:00
Alex Morcos
1ba43cc0ec Make EstimateMedianVal smarter about small failures.
Instead of stopping if it encounters a "sufficient" number of transactions which don't meet the threshold for being confirmed within the target, it keeps looking to add more transactions to see if there is a temporary blip in the data.  This allows a smaller number of required data points.
2017-05-10 11:45:26 -04:00
Alex Morcos
d3e30bca1b Refactor to update moving average on fly 2017-05-10 11:45:26 -04:00
Alex Morcos
e5007bae35 Change parameters for fee estimation and estimates on all 3 time horizons.
Make feerate buckets smaller (5% instead of 10%) and make the 3 different horizons have half lifes of 3 hours, 1 day and 1 week respectively.
2017-05-10 11:45:26 -04:00
Wladimir J. van der Laan
a26280bc14
Merge #10325: 0.15.0 Depends Updates
355c116 [depends] dbus 1.10.18 (fanquake)
a8d7474 [depends] ccache 3.3.4 (fanquake)
daeb767 [depends] libevent 2.1.8-stable (fanquake)
d78269a [depends] Boost 1.64.0 (fanquake)
7d92c6f [depends] Latest config.guess and config.sub (fanquake)

Tree-SHA512: c63cdffabb1f57b7efd71c85f845c30ce00cda56f6d665f935674f3324563a7364f3bc30c105a1ee1064f1d24eb7345d7e44791cd471094dcc5e20f307fec4cb
2017-05-10 17:16:35 +02:00
Simone Madeo
4f3782ed67 [doc] Removing comments about dirty entries on txmempool 2017-05-10 10:33:38 +01:00
Jimmy Song
d4668f35ab [test] Add test for getmemoryinfo
Checks memory before and after a transaction that requires a private key.
Each time, 32 bytes of memory for a private key should be used.
Tested in wallet.py instead of its own file to save testing time.
2017-05-09 14:48:10 -07:00
MarcoFalke
4b766fcdd4
Merge #10371: [tests] Clean up addrman_tests.cpp
a80f295 [tests] Clean up addrman_tests.cpp (Jimmy Song)

Tree-SHA512: c745ebb0b8867e8abacfab62561a883ee5219176951e9ad4821fdc1e6152c9548663824ad624bfce1294760284fc6bd2a598749d66e62af55f39c59a1ea357ce
2017-05-09 23:23:53 +02:00
John Newbery
3ba2c08980 [tests] fix disconnect_ban intermittency 2017-05-09 17:20:24 -04:00
MarcoFalke
f6241b3e42
Merge #10361: qa: disablewallet: Check that wallet is really disabled
fa7396d qa: disablewallet: Check that wallet is really disabled (MarcoFalke)

Tree-SHA512: 8c999ae0763fad389ba06f23cca3f589edaaf6dabd29ea8493413eee574ef2c1d49a69cb1158d8b28254cf922277a86b45747e50f44ebc9b0545297c3987289d
2017-05-09 23:15:18 +02:00
MarcoFalke
7ee5236048
Merge #10365: [tests] increase timeouts in sendheaders test
56befa0 [tests] increase timeouts in sendheaders test (John Newbery)
b0bfa23 [tests] Make wait_until timeout 60 seconds by default (John Newbery)

Tree-SHA512: ca68ad91a7cabb0673f230631a9f2196a4a394cf7cea7a266b3dad3923f7887d2a192ceedd68f7a4a06d105a7d13870e75e971193b93476f8d72b34639d7c3d1
2017-05-09 23:03:51 +02:00
Jimmy Song
a80f295666 [tests] Clean up addrman_tests.cpp
Cleanup request from #10287.
Change "Test #:" comments to "Test:"
Change BOOST_CHECK(... = ...) to BOOST_CHECK_EQUAL(..., ...)
Remove three unnecessary if statements
2017-05-09 13:59:49 -07:00
Jorge Timón
78da882edd
Util: Small improvements in gArgs usage
- Don't check gArgs.IsArgSet() is greater than 0
- Remove unneeded calls and local variables
2017-05-09 21:37:34 +02:00
Jorge Timón
52922456b8
Util: Put mapMultiArgs inside ArgsManager
- Set ArgsManager::mapMultiArgs in ArgsManager::SoftSetArg, ForceSetArg, SoftSetBoolArg
2017-05-09 21:37:29 +02:00
Jorge Timón
b3cbd554d9
scripted-diff: Util: Encapsulate mapMultiArgs behind gArgs
-BEGIN VERIFY SCRIPT-
sed -i 's/mapMultiArgs.count(/gArgs.IsArgSet(/g' ./src/*.h ./src/*.cpp ./src/*/*.h ./src/*/*.cpp ./src/*/*/*.h ./src/*/*/*.cpp ;
sed -i 's/mapMultiArgs.at("/gArgs.GetArgs("/g' ./src/*.h ./src/*.cpp ./src/*/*.h ./src/*/*.cpp ./src/*/*/*.h ./src/*/*/*.cpp ;
-END VERIFY SCRIPT-
2017-05-09 21:29:05 +02:00
Jorge Timón
f2957ce6cd
Util: Create ArgsManager class...
- Introduce ArgsManager::GetArgs()
- Adapt util_tests.cpp to ArgsManager
2017-05-09 21:29:02 +02:00
Pieter Wuille
daf3e7def7
Merge #10338: Maintain state across GetStrongRandBytes calls
97477c5 Maintain state across GetStrongRandBytes calls (Pieter Wuille)

Tree-SHA512: 77e9b1f3c6eeb0c2a3e0c64358150767222ff0b7120ccd5f4ae0276cea0e4fa275c1b757e3f20be07dc0b4ef07f70ab0b70112080c8d3d0cb6ed703db8a59168
2017-05-09 10:24:45 -07:00
Pieter Wuille
bc64b5aa0f
Merge #10322: Use hardware timestamps in RNG seeding
2c0a6f1 Use sanity check timestamps as entropy (Pieter Wuille)
33f853d Test that GetPerformanceCounter() increments (Pieter Wuille)
f544094 Use hardware timestamps in RNG seeding (Pieter Wuille)

Tree-SHA512: ea96ff56d425b5dc693b4dd35c8aa64ba20a01b9bd7d2d65298ece623f434e8cfa190f9c0f9b76df8aa496547bfa64533eb751edec8401d09bd5ee3478928a59
2017-05-09 10:12:41 -07:00
John Newbery
56befa03ac [tests] increase timeouts in sendheaders test 2017-05-09 09:06:26 -04:00
John Newbery
b0bfa233a1 [tests] Make wait_until timeout 60 seconds by default 2017-05-09 08:55:13 -04:00
MarcoFalke
776ba233e9
Merge #10287: [tests] Update Unit Test for addrman.h/addrman.cpp
ed36de5 [tests] Update Unit Test for addrman.h/addrman.cpp (Jimmy Song)

Tree-SHA512: e7c08c19e227c34c230900e14a176b2290022b78b0ece387452e673662491c11f26249cbf1711235276c07a964c339e27b4cda9a2730ded5c0e23a650e0d72db
2017-05-09 12:59:01 +02:00
Wladimir J. van der Laan
c973cc5a43
Merge #8855: Use a proper factory for creating chainparams
c1082a7 Chainparams: Use the factory for pow tests (Jorge Timón)
2351a06 Chainparams: Get rid of CChainParams& Params(std::string) (Jorge Timón)
f87f362 Chainparams: Use a regular factory for creating chainparams (Jorge Timón)

Tree-SHA512: 359c8a2a1bc9d02db7856d02810240ada28048ac088f878b575597a7255cdb0ffdd1a647085ee67a34c6a7e7ed9e6cfdb61240cf6e75139619b640dbb096072c
2017-05-09 10:31:45 +02:00
Wladimir J. van der Laan
08a7316c14
Merge #9279: Consensus: Move CFeeRate out of libconsensus
381a46e Consensus: Policy: MOVEONLY: Move CFeeRate out of the consensus module (Jorge Timón)
330bb5a Consensus: Minimal way to move dust out of consensus (Jorge Timón)

Tree-SHA512: 19a2ea8169afd5a9d3f940d8974e34cfaead153e3ff3068ac82fccdb8694d19d9b45938904ec9e8cd095bd5ca3a0080364da29372f6aaf56b11a6c2ccd6c7a4d
2017-05-09 09:19:50 +02:00
Spencer Lievens
012fa9b99d Add OSX keystroke to clear RPCConsole
Currently only Ctrl-L is mentioned in help, but, (⌘)-L functions on OSX and isn't mentioned.
2017-05-08 21:39:34 +02:00
MarcoFalke
fa7396d6d9 qa: disablewallet: Check that wallet is really disabled 2017-05-08 21:05:40 +02:00
MarcoFalke
6a796b2b53
Merge #10342: [tests] Improve mempool_persist test
329ac3b [tests] use wait_until in mempool_persist.py (John Newbery)

Tree-SHA512: 3f5fe3dcdb5da3b10a41f7b88d29c15b79c02fbb037914b4342b77428f2afe8b342f6adacb28a9eb5549aa156cd146175389bd61909a20df3fecb88361c4779f
2017-05-08 20:14:36 +02:00
John Newbery
329ac3bab1 [tests] use wait_until in mempool_persist.py 2017-05-08 14:00:40 -04:00
MarcoFalke
23d78c4dd0
Merge #10352: test: Add elapsed time to RPC tracing
20187e4 test: Add elapsed time to RPC tracing (Wladimir J. van der Laan)

Tree-SHA512: f271acedd14020cf911711577f6dd940850fa84d2577618af06a2247c940fcc5b339a86c1c7a179899c556d217a6c967c785fb311bba43a9b6073cbe470b6737
2017-05-08 19:32:34 +02:00
MarcoFalke
f4b15e2de9
Merge #10310: [doc] Add hint about getmempoolentry to getrawmempool help.
3a0a5bc [doc] Add hint about getmempoolentry to getrawmempool help. (Karl-Johan Alm)

Tree-SHA512: 8327d7d7ad93296525fbf95b7a824e3525bde84653999f125afd845823eb39e3a03cd39725962ed949aa2b9ad207ecad6d287294fa321ff1a4d7fbd5a4b8560b
2017-05-08 19:28:58 +02:00
Pieter Wuille
3f57c55dba
Merge #10351: removed unused code in INV message
c707ca8 removed unused code in INV message (Greg Griffith)

Tree-SHA512: 8152e9bfb7e1e8a321e7c05ea46826b3ecea6fa5e176727a9c944db170cb134ba1adfa0251bece9683a68d52266291bca58240929337aba6328b915931e60eb9
2017-05-07 22:01:51 -07:00
MarcoFalke
fff72de5bf
Merge #10171: [tests] Add node methods to test framework
4550049 Reorganize BitcoinTestFramework class (John Newbery)
b7dd44c Add start and stop node methods to BitcoinTestFramework (John Newbery)
b111324 move initialize_chain() and initialize_chain_clean() to be methods of BitcoinTestFramework (John Newbery)

Tree-SHA512: 17e541aea8ca4c0d1189701499384e26239e2d5905de8adb0f042d3cf4c0bbed79fcaad61d563e1743bf4c62ad4915cebb4714783db839d9c53dfbbedcae6e9a
2017-05-07 15:13:53 +02:00