Commit graph

16956 commits

Author SHA1 Message Date
Wladimir J. van der Laan
2f84cf6654 tests: Correct testcase in script_tests.json for large number OP_EQUAL
Fix a test case that was passing correctly by accident, but not testing
the right thing. Reported by helo on IRC.
2017-05-15 17:10:32 +02:00
Suhas Daftuar
1530bfc72d Add logging to FinalizeNode() 2017-05-15 10:20:18 -04:00
Russell Yanofsky
4d2d6045a4 Fix importmulti failure to return rescan errors
An off-by-one-block bug in importmulti rescan logic could cause it to return
success in an edge case even when a rescan was not successful. The case where
this would happen is if there were multiple blocks in a row with the same
GetBlockTimeMax() value, and the last block was scanned successfully, but one
or more of the earlier blocks was not readable.
2017-05-15 09:11:03 -04:00
Wladimir J. van der Laan
41987aa92f
Merge #9494: Introduce an ArgsManager class encapsulating cs_args, mapArgs and mapMultiArgs
78da882 Util: Small improvements in gArgs usage (Jorge Timón)
5292245 Util: Put mapMultiArgs inside ArgsManager (Jorge Timón)
b3cbd55 scripted-diff: Util: Encapsulate mapMultiArgs behind gArgs (Jorge Timón)
f2957ce Util: Create ArgsManager class... (Jorge Timón)

Tree-SHA512: 7d58250da440ad0f41745f46ab6021d6ecbb292035cab3d86fb08ce6bd822df604ac31b3ded6fd6914f7cfd12ba531cbc06a76eb500f629627f47ae6ac8350a7
2017-05-15 07:39:25 +02:00
MarcoFalke
87abe20fc1
Merge #10253: [test] Add test for getnetworkhashps
de487b7 Tests: Add test for getnetworkhashps (Jimmy Song)

Tree-SHA512: b1418ad904618f639ffa34dd40906692aff1fdf1a0d13a9af00039e7a6a2b758091734b89c0c91e8d455da6b15a0e435a9a9ca97a41d97bf395b844c761ffa27
2017-05-14 12:43:40 +02:00
MarcoFalke
fac79e4d18 qa: Warn when specified test is not found 2017-05-14 12:39:02 +02:00
practicalswift
1b936f5926 Replace boost::function with std::function (C++11) 2017-05-13 17:59:09 +02:00
Andrew Chow
e3c9f2ddb1 Use a verbosity instead of two verbose parameters
Verbose is changed to an int. This can have values from 0-2 for each level of verbosity.
Verbosity level 2 has transaction details displayed in the results.
2017-05-12 11:58:42 -04:00
Gregory Sanders
091a9ae21c remove minimum total fee option 2017-05-11 22:28:46 -04:00
Wladimir J. van der Laan
94e52273f3
Merge #10308: [wallet] Securely erase potentially sensitive keys/values
6c914ac [wallet] Securely erase potentially sensitive keys/values (Thomas Snider)

Tree-SHA512: 071d88c4093108d4e4eced35a6ffcebe3f499798194f5b1be661ffa5b78b5f55311667f6d2a72758d85290f61f958381ee95d380b9045ca18e9e1875f0e686c8
2017-05-11 19:57:33 +02:00
Wladimir J. van der Laan
eb8263bdc9
Merge #10317: Remove unused Python imports
0c60c63 Remove unused Python imports (practicalswift)

Tree-SHA512: c7ae6a8ae2c751b771804960498bf270ab022c80fa9e1b39118d5986d890c8cdfc27a3cc24bf28c080d8088ddc11facd1f2881ba2c209cdd819675fda4689d83
2017-05-11 19:27:18 +02:00
Wladimir J. van der Laan
18c9debe60
Merge #10341: rpc/wallet: Workaround older UniValue which returns a std::string temporary for get_str
a637734 rpc/wallet: Workaround older UniValue which returns a std::string temporary for get_str (Luke Dashjr)

Tree-SHA512: 8f03f1d301f714f700bf64e259a1c986136fd1ac532f091aa97198a39c131290c320094f4fc38c774c8db4469a75437596b1d933300e4f04037abc158a252bad
2017-05-11 19:19:30 +02:00
Alex Morcos
65d484adf9 Output line to debug.log when IsInitialBlockDownload latches to false 2017-05-11 13:12:42 -04:00
Wladimir J. van der Laan
79aeff6e08
Merge #10328: Update contrib/debian to latest Ubuntu PPA upload.
91700aa Re-enable upnp support in contrib/debian (Matt Corallo)
c5071e1 Build with QT5 on Debian-based systems using contrib/debian (Matt Corallo)
a8e9286 Bump minimum boost version in contrib/debian (Matt Corallo)
9970219 Update contrib/debian to latest Ubuntu PPA upload. (Matt Corallo)

Tree-SHA512: ee4d3c5927a9cfb2794672eaca883c4af5df541383afbdbc6500714ee17518e78b58f509b2e9805bbc424ef97a5e64be0b9a977212c5002cb682f0569d28099b
2017-05-11 18:55:10 +02:00
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