aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-01-30gui: Add transactionClicked and coinsSent signals to WalletViewJoão Barbosa
2020-01-15Merge #17843: wallet: Reset reused transactions cacheSamuel Dobson
6fc554f591d8ea1681b8bb25aa12da8d4f023f66 wallet: Reset reused transactions cache (Fabian Jahr) Pull request description: Fixes #17603 (together with #17824) `getbalances` is using the cache within `GetAvailableCredit` under certain conditions [here](https://github.com/bitcoin/bitcoin/blob/35fff5be60e853455abc24713481544e91adfedb/src/wallet/wallet.cpp#L1826). For a wallet with `avoid_reuse` activated this can lead to inconsistent reporting of `used` transactions/balances between `getbalances` and `listunspent` as pointed out in #17603. When an address is reused before the first transaction is spending from this address, the cache is not updated even after the transaction is sent. This means the remaining outputs at the reused address are not showing up as `used` in `getbalances`. With this change, any newly incoming transaction belonging to the wallet marks all the other outputs at the same address as dirty. ACKs for top commit: kallewoof: Code review re-ACK 6fc554f591d8ea1681b8bb25aa12da8d4f023f66 promag: ACK 6fc554f591d8ea1681b8bb25aa12da8d4f023f66. achow101: Re-ACK 6fc554f591d8ea1681b8bb25aa12da8d4f023f66 meshcollider: Code review ACK 6fc554f591d8ea1681b8bb25aa12da8d4f023f66 Tree-SHA512: c4cad2c752176d16d77b4a4202291d20baddf9f27250896a40274d74a6945e0f6b34be04c2f9b1b2e756d3ac669b794969df8f82a98e0b16f10e92f276649ea2
2020-01-15Merge #17923: refactor: Use PACKAGE_NAME in GUI modal overlay and bitcoin-walletfanquake
5855cc564fd456463e6d335830526675626923c6 bitcoin-wallet: Use PACKAGE_NAME in usage help (Luke Dashjr) 7f5db163a4ebc607d441e2457af10942be511d2c GUI: Use PACKAGE_NAME in modal overlay (Luke Dashjr) Pull request description: ACKs for top commit: hebasto: ACK 5855cc564fd456463e6d335830526675626923c6, checked with fanquake: ACK 5855cc564fd456463e6d335830526675626923c6 - checked `bitcoin-wallet` and a `--disable-wallet` `bitcoin-qt`. Tree-SHA512: 3526eb122bfdbc63349d12251f17ffa20c7f3754af4ac9c554e6d36bb14b351f31c413c30401bb3d6e0e6200b72614dfc8475489b1f742b0423bd83fba758b94
2020-01-15Merge #17891: scripted-diff: Replace CCriticalSection with RecursiveMutexfanquake
e09c701e0110350f78366fb837308c086b6503c0 scripted-diff: Bump copyright of files changed in 2020 (MarcoFalke) 6cbe6209646db8914b87bf6edbc18c6031a16f1e scripted-diff: Replace CCriticalSection with RecursiveMutex (MarcoFalke) Pull request description: `RecursiveMutex` better clarifies that the mutex is recursive, see also the standard library naming: https://en.cppreference.com/w/cpp/thread/recursive_mutex For that reason, and to avoid different people asking me the same question repeatedly (e.g. https://github.com/bitcoin/bitcoin/pull/15932#pullrequestreview-339175124 ), remove the outdated alias `CCriticalSection` with a scripted-diff ACKs for top commit: Empact: ACK https://github.com/bitcoin/bitcoin/pull/17891/commits/e09c701e0110350f78366fb837308c086b6503c0 diff and scripts look correct promag: ACK e09c701e0110350f78366fb837308c086b6503c0 practicalswift: ACK e09c701e0110350f78366fb837308c086b6503c0 -- scripted diff looks correct Tree-SHA512: 4bd7b5de1befdcf91dc8f43c127a1fee49679e06895a43216f160344a395c8e426dc68d529fbd2d5e1c215625a5a392dc415b1bce4127316aae7ecf98030c855
2020-01-15scripted-diff: Bump copyright of files changed in 2020MarcoFalke
-BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT-
2020-01-15scripted-diff: Replace CCriticalSection with RecursiveMutexMarcoFalke
-BEGIN VERIFY SCRIPT- # Delete outdated alias for RecursiveMutex sed -i -e '/CCriticalSection/d' ./src/sync.h # Replace use of outdated alias with RecursiveMutex sed -i -e 's/CCriticalSection/RecursiveMutex/g' $(git grep -l CCriticalSection) -END VERIFY SCRIPT-
2020-01-14bitcoin-wallet: Use PACKAGE_NAME in usage helpLuke Dashjr
2020-01-14GUI: Use PACKAGE_NAME in modal overlayLuke Dashjr
2020-01-14Merge #17873: doc: Add to Doxygen documentation guidelinesfanquake
c902c4c0c6a26de8cb69a469503bf4a0bd73903c doc: Add to Doxygen documentation guidelines (Jon Layton) Pull request description: Completes the up-for-grabs PR #16948. Changes can be tested here: [doc/developer-notes.md](https://github.com/jonatack/bitcoin/blob/doxygen-developer-notes-improvements/doc/developer-notes.md) Co-authored-by: Jon Layton <me@jonl.io> ACKs for top commit: fanquake: ACK c902c4c0c6a26de8cb69a469503bf4a0bd73903c - quick read, checked the new links work. laanwj: ACK c902c4c0c6a26de8cb69a469503bf4a0bd73903c Tree-SHA512: 3b4cebba23061ad5243b2288c2006bf8527e74c689223825f96a44014875d15b2ab6ff54b8aa342ca657a14cf6ce3ab7d6e25bea5befd91162bc2645a74ddb7e
2020-01-14Merge #17906: gui: Set CConnman byte counters earlier to avoid uninitialized ↵fanquake
reads 8313fa8e8112e429e104b7e7fd48e5e6e359b82e gui: Set CConnman byte counters earlier to avoid uninitialized reads (Russell Yanofsky) Pull request description: Initialize CConnman byte counters during construction, so GetTotalBytesRecv() and GetTotalBytesSent() methods don't return garbage before Start() is called. Change shouldn't have any effect outside of the GUI. It just fixes a race condition during a qt test that was observed on travis: https://travis-ci.org/bitcoin/bitcoin/jobs/634989685 ACKs for top commit: MarcoFalke: ACK 8313fa8e8112e429e104b7e7fd48e5e6e359b82e promag: ACK 8313fa8e8112e429e104b7e7fd48e5e6e359b82e. Tree-SHA512: 97c246da4e28e6e0b48f685b840f96746ad75c4b157a692201c6c4702db328a88ead8507d8e1b4e608aa1882513174ec60cf3977c31b7a9d76678cc9f49b45f8
2020-01-13wallet: Reset reused transactions cacheFabian Jahr
If a destination is reused we mark the cache of the other transactions going to that destination dirty so they are not accidentally reported as trusted when the cache is hit.
2020-01-13Merge #16945: refactor: introduce CChainState::GetCoinsCacheSizeStateWladimir J. van der Laan
02b9511d6bace5711e454d2b685b2fee0d65e341 tests: add tests for GetCoinsCacheSizeState (James O'Beirne) b17e91d842724d2888a179a73585cc4c2ef1dc21 refactoring: introduce CChainState::GetCoinsCacheSizeState (James O'Beirne) Pull request description: This is part of the [assumeutxo project](https://github.com/bitcoin/bitcoin/projects/11): Parent PR: #15606 Issue: #15605 Specification: https://github.com/jamesob/assumeutxo-docs/tree/master/proposal --- This pulls out the routine for detection of how full the coins cache is from FlushStateToDisk. We use this logic independently when deciding when to flush the coins cache during UTXO snapshot activation ([see here](https://github.com/bitcoin/bitcoin/pull/15606/commits/231fb5f17e3bb8ce3323c559ef6f9b3aaa066543#diff-24efdb00bfbe56b140fb006b562cc70bR5275)). ACKs for top commit: ariard: Code review ACK 02b9511. ryanofsky: Code review ACK 02b9511d6bace5711e454d2b685b2fee0d65e341. Just rebase, new COIN_SIZE comment, and new test message since last review Tree-SHA512: 8bdd78bf68a4a5d33a776e73fcc2857f050d6d102caa4997ed19ca25468c1358e6e728199d61b423033c02e6bc8f00a1d9da52cf17a2d37d70860fca9237ea7c
2020-01-13Merge #17910: build: remove double LIBBITCOIN_SERVER linkingWladimir J. van der Laan
831e1220bc151b1016412359775406b34cb8f52c build: remove double LIBBITCOIN_SERVER linking (fanquake) Pull request description: Seems that this is no longer required. Have tested building on macOS and Debian. ACKs for top commit: promag: ACK 831e1220bc151b1016412359775406b34cb8f52c. practicalswift: ACK 831e1220bc151b1016412359775406b34cb8f52c laanwj: ACK 831e1220bc151b1016412359775406b34cb8f52c Tree-SHA512: d226d9fa0292189fae7e2af14781a511c3633f1352324f19ae642e941d06c34e2abf8b1df97d2330d76dba6024a93d8d341e02cc4882d7066f97e82585631fe1
2020-01-12build: remove double LIBBITCOIN_SERVER linkingfanquake
2020-01-11Merge #17907: doc: Fix improper Doxygen inline commentsfanquake
498cdbb42616bc1e6c44492c907678b4dce41870 Fix improper Doxygen inline comments (Ben Woosley) Pull request description: The proper syntax is `//!<` http://www.doxygen.nl/manual/docblocks.html#memberdoc Identified via `-Wdocumentation`: ``` In file included from ./util/system.h:26: ./util/settings.h:74:41: error: not a Doxygen trailing comment [-Werror,-Wdocumentation] const SettingsValue* begin() const; //<! Pointer to first non-negated value. ^~~~ ///< ./util/settings.h:75:41: error: not a Doxygen trailing comment [-Werror,-Wdocumentation] const SettingsValue* end() const; //<! Pointer to end of values. ^~~~ ///< ./util/settings.h:76:41: error: not a Doxygen trailing comment [-Werror,-Wdocumentation] bool empty() const; //<! True if there are any non-negated values. ^~~~ ///< ./util/settings.h:77:41: error: not a Doxygen trailing comment [-Werror,-Wdocumentation] bool last_negated() const; //<! True if the last value is negated. ^~~~ ///< ./util/settings.h:78:41: error: not a Doxygen trailing comment [-Werror,-Wdocumentation] size_t negated() const; //<! Number of negated values. ^~~~ ///< ``` ACKs for top commit: fanquake: ACK 498cdbb42616bc1e6c44492c907678b4dce41870 Tree-SHA512: 2851fc1cbbcf700d198d82ce4923b2ef4a700f8ce19dff431ecf24f4e6fecda9fed1b4b4d148f3c1adfb6b0c6bff5d5315ee01bbcd855eb3d83e1a69b0c98893
2020-01-10Fix improper Doxygen inline commentsBen Woosley
The proper syntax is "//!<" http://www.doxygen.nl/manual/docblocks.html#memberdoc
2020-01-11Merge #17893: qa: Fix double-negative arg testfanquake
8b2f471a1bff753cc4df29805ef38c3623f64f6e qa: Fix double-negative arg test (Hennadii Stepanov) Pull request description: Commit 67518f7cc61bf59ddfa0fd7c8dbbdec3653b9556 tests do not catch that a pointer is returned instead of a value. This PR makes test to not accept trailing characters after 0. From [IRC](http://www.erisian.com.au/bitcoin-core-dev/log-2020-01-07.html#l-358): > \<hebasto\> ryanofsky: hmm, why test/functional/feature_config_args.py passed on 67518f7cc61bf59ddfa0fd7c8dbbdec3653b9556 ? > \<hebasto\> I see now: test is broken. > \<ryanofsky\> test should be unaffected by that change, do you see a break somewhere? > \<hebasto\> yes: "-connect=0x7fff50369968" != "-connect=0" > ... > \<ryanofsky\> Oh I see how that would happen, it should not be a problem in the current PR. > \<hebasto\> going to submit a pr to fix test > \<ryanofsky\> in the commit you mentioned, value is a pointer to a string, and it was printing the pointer address instead of the string on: LogPrintf("Warning: parsed potentially confusing double-negative -%s=%s\n", key, value); > \<hebasto\> correct > \<ryanofsky\> oh I see, test could be fixed to more robust and not accept trailing characters after 0 ACKs for top commit: ryanofsky: Code review ACK 8b2f471a1bff753cc4df29805ef38c3623f64f6e. I don't know how you found this but it's a nice catch! This change should make the test more reliable. Tree-SHA512: 454b3d4415771d353a2da766f6ae6e0bfae7bdf485aaa7bfdd323595282356eeaf3f40e556b39f753bc35f578cbe9684368887eef2d63c5d7f0d7d9fa971697a
2020-01-11Merge #17899: msvc: Ignore msvc linker warning and update to msvc build ↵fanquake
instructions. 0874a109da5463699199cf732b974635b97643dd Ignore msvc linker warning and update to msvc build instructions. (Aaron Clauson) Pull request description: - Update Visual Studio instructions. - Remove x64 platform conditional from bitcoin-qt project configuration. - Set use native environment toolset to fix linker warning. - Ignore linker warning about precompiled type information missing for test_bitcoin_qt. ACKs for top commit: fanquake: ACK 0874a109da5463699199cf732b974635b97643dd - tested building `bitcoind` and `bitcoin-qt`. Didn't open anything in Visual Studio. Tree-SHA512: 83a4e4dfb8a52b024feadbf06bb1bf87993b6ebcb2a1b7dc3e2385815400f0beffc43591408b4abc8b6ffa406ce066c0af5028e7f53c707dca88ea5bba18346c
2020-01-10gui: Set CConnman byte counters earlier to avoid uninitialized readsRussell Yanofsky
Initialize CConnman byte counters during construction, so GetTotalBytesRecv() and GetTotalBytesSent() methods don't return garbage before Start() is called. Change shouldn't have any effect outside of the GUI. It just fixes a race condition during a qt test that was observed on travis: https://travis-ci.org/bitcoin/bitcoin/jobs/634989685
2020-01-09Merge #16688: log: Add validation interface loggingWladimir J. van der Laan
f9abf4ab6d3d3e4d4b7e90723020b5422a141a6f Add logging for CValidationInterface events (Jeffrey Czyz) 6edebacb2191373e76d79a4972d6192300976096 Refactor FormatStateMessage for clarity (Jeffrey Czyz) 72f3227c83810936e7a334304e5fd7c6dab8e91b Format CValidationState properly in all cases (Jeffrey Czyz) 428ac70095253225f64462ee15c595644747f376 Add VALIDATION to BCLog::LogFlags (Jeffrey Czyz) Pull request description: Add logging of `CValidationInterface` callbacks using a new `VALIDATIONINTERFACE` log flag (see #12994). A separate flag is desirable as the logging can be noisy and thus may need to be disabled without affecting other logging. This could help debug issues where there may be race conditions at play, such as #12978. ACKs for top commit: jnewbery: ACK f9abf4ab6d3d3e4d4b7e90723020b5422a141a6f hebasto: ACK f9abf4ab6d3d3e4d4b7e90723020b5422a141a6f ariard: ACK f9abf4a, only changes since 0cadb12 are replacing log indication `VALIDATIONINTERFACE` by `VALIDATION` and avoiding a forward declaration with a new include ryanofsky: Code review ACK f9abf4ab6d3d3e4d4b7e90723020b5422a141a6f. Just suggested changes since last review (thanks!) Tree-SHA512: 3e0f6e2c8951cf46fbad3ff440971d95d526df2a52a2e4d6452a82785c63d53accfdabae66b0b30e2fe0b00737f8d5cb717edbad1460b63acb11a72c8f5d4236
2020-01-09Ignore msvc linker warning and update to msvc build instructions.Aaron Clauson
- Update Visual Studio instructions. - Remove x64 platform conditional from bitcoin-qt project configuration. - Set use native environment toolset to fix linker warning. - Ignore linker warning about precompiled type information missing for test_bitcoin_qt.
2020-01-08Merge #16963: wallet: Fix unique_ptr usage in boost::signals2Wladimir J. van der Laan
6d6a7a8403ae923f189812edebdd95761de0e7f2 gui: Fix duplicate wallet showing up (João Barbosa) 81ea66c30e2953dee24d5b127c28daa0d9452a28 Drop signal CClientUIInterface::LoadWallet (Russell Yanofsky) Pull request description: This PR includes 2 fixes: - prevent GUI LoadWallet handlers from crashing on startup when multiple handlers are attached, because the first handler takes ownership of the wallet unique pointer. Now every handler will receive its own unique pointer; - prevent showing a wallet twice in the GUI on startup due to a race with `loadwallet`. Fixes #16937 ACKs for top commit: fjahr: code review ACK 6d6a7a8403ae923f189812edebdd95761de0e7f2 ryanofsky: Code review ACK 6d6a7a8403ae923f189812edebdd95761de0e7f2. No changes since last ACK other than rebase due to #17070 kallewoof: Code review ACK 6d6a7a8403ae923f189812edebdd95761de0e7f2 Tree-SHA512: 7f0658c9011f81dfa176a094c2263448ee1d14fda7dc94e8b55ee9c8b81538bd2d1e4bf8a8dbfcd029ebfc9feb6d3cda9dee3f911122df0a4b1e0ca75f653ba4
2020-01-08Merge #17445: zmq: Fix due to invalid argument and multiple notifiersWladimir J. van der Laan
3e730bf90aaf53c41ff3a778f6aac15d163d1c0c zmq: Fix due to invalid argument and multiple notifiers (João Barbosa) Pull request description: ZMQ initialization is interrupted if any notifier fails, and in that case all notifiers are destroyed. The notifier shutdown assumes that the initialization had occurred. This is not valid when there are multiple notifiers and any except the last fails to initialize. Can be tested by running test/functional/interface_zmq.py from this branch with bitcoind from master. Closes #17185. ACKs for top commit: laanwj: Code review ACK 3e730bf90aaf53c41ff3a778f6aac15d163d1c0c, thanks for adding a test Tree-SHA512: 5da710e97dcbaa94896d019e75162d470f6d381ee07c60e5b3e9db93d11e8f7ca9bf2c509efa4486199e88c96c3e720cc96b4e35b62725d4c7db8e8e9bf6e09d
2020-01-08Merge #17696: qt: Force set nPruneSize in QSettings after the intro dialogfanquake
af112ab62895b145660f4cd7ff842e9cfea2a530 qt: Rename SetPrune() to InitializePruneSetting() (Hennadii Stepanov) b0bfbe50282877a1eee87118902901a280d6656d refactor: Drop `bool force' parameter (Hennadii Stepanov) 68c9bbe9bc91f882404556998666b1b5acea60e4 qt: Force set nPruneSize in QSettings after intro (Hennadii Stepanov) a82bd8fa5708c16d1db3edc4e82d70788eb5af19 util: Replace magics with DEFAULT_PRUNE_TARGET_GB (Hennadii Stepanov) Pull request description: On master (5622d8f3156a293e61d0964c33d4b21d8c9fd5e0), having `QSettings` set already ``` $ grep nPruneSize ~/.config/Bitcoin/Bitcoin-Qt-testnet.conf nPruneSize=6 ``` enabling prune option in the intro dialog ``` $ ./src/qt/bitcoin-qt -choosedatadir -testnet ``` ![DeepinScreenshot_select-area_20191208120425](https://user-images.githubusercontent.com/32963518/70388183-eed68580-19b6-11ea-9aa1-f9ad9aaa68a6.png) has no effect: ``` $ grep Prune ~/.bitcoin/testnet3/debug.log 2019-12-08T10:04:41Z Prune configured to target 5722 MiB on disk for block and undo files. ``` --- With this PR: ``` $ grep Prune ~/.bitcoin/testnet3/debug.log 2019-12-08T10:20:35Z Prune configured to target 1907 MiB on disk for block and undo files. ``` This PR has been split of #17453 (the first two commits) as it fixes an orthogonal bug. Refs: - https://github.com/bitcoin/bitcoin/pull/17453#discussion_r345424240 - https://github.com/bitcoin/bitcoin/pull/17453#discussion_r350960201 ACKs for top commit: Sjors: Code review re-ACK af112ab62895b145660f4cd7ff842e9cfea2a530 ryanofsky: Code review ACK af112ab62895b145660f4cd7ff842e9cfea2a530. Just suggested changes since last review (thanks!) promag: Tested ACK af112ab62895b145660f4cd7ff842e9cfea2a530. Latest suggestions and changes look good to me. Tree-SHA512: 8ddad34b30dcc2cdcad6678ba8a0b36fa176e4e3465862ef6eee9be0f98d8146705138c9c7995dd8c0990af41078ca743fef1a90ed9240081f052f32ddec72b9
2020-01-08Merge #16975: test: Show debug log on unit test failureWladimir J. van der Laan
fa37e0a68bea65979f9f8f2e5258fe608acf2bdf test: Show debug log on unit test failure (MarcoFalke) Pull request description: Often, it is hard to debug unit test failures without the debug log. Especially when the failure happens remotely (e.g. on a ci system). Fix that by printing the log on failure. ACKs for top commit: jamesob: ACK fa37e0a68bea65979f9f8f2e5258fe608acf2bdf ([`jamesob/ackr/16975.1.MarcoFalke.test_show_debug_log_on_u`](https://github.com/jamesob/bitcoin/tree/ackr/16975.1.MarcoFalke.test_show_debug_log_on_u)) Tree-SHA512: 2ca4150c4ae3d4ad47e03b5e5e70da2baffec928ddef1fdf53a3ebc061f14aee249205387cb1b12ef6d4eb55711ef0080c0b41d9d18000b5da124ca80299793b
2020-01-08Merge #17880: build: add -Wdate-time to Werror flagsWladimir J. van der Laan
b0a254019c3bc8a353c1304ee65a55cfb3d4ecac build: add Wdate-time to Werror flags (fanquake) Pull request description: `-Wdate-time` Warn when macros __TIME__, __DATE__ or __TIMESTAMP__ are encountered as they might prevent bit-wise-identical reproducible compilations. This is supported by [GCC](https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html) and [Clang](https://clang.llvm.org/docs/DiagnosticsReference.html#wdate-time). Example output: ```bash CXX bitcoind-bitcoind.o bitcoind.cpp:48:20: warning: expansion of date or time macro is not reproducible [-Wdate-time] printf("%s\n", __TIMESTAMP__); ^ bitcoind.cpp:49:20: warning: expansion of date or time macro is not reproducible [-Wdate-time] printf("%s\n", __TIME__); ^ bitcoind.cpp:50:20: warning: expansion of date or time macro is not reproducible [-Wdate-time] printf("%s\n", __DATE__); ^ 3 warnings generated. ``` ACKs for top commit: practicalswift: ACK b0a254019c3bc8a353c1304ee65a55cfb3d4ecac -- diff looks correct and guarding against potential non-reproducibility is good :) promag: Tested ACK b0a254019c3bc8a353c1304ee65a55cfb3d4ecac on macos with clang. Already had `--enable-werror`, added a wild `printf("%s\n", __TIMESTAMP__)` and got the following error: laanwj: ACK b0a254019c3bc8a353c1304ee65a55cfb3d4ecac hebasto: ACK b0a254019c3bc8a353c1304ee65a55cfb3d4ecac Tree-SHA512: b3a0b426e06dcd0c0baa94118c31158760b9690a8d0a15b5a2d544cb0879522e02817e134ef7346c707de09719818fc7e4bad1b3ad6b2dfe5e3c4169cdf5cb0d
2020-01-08Merge #17826: qt: Log Qt related infoWladimir J. van der Laan
a004673c54d4c015775e0baced21f3fa961bf754 qt: Add LogQtInfo() function (Hennadii Stepanov) Pull request description: This PR adds some info to `debug.log` I found useful for testing (e.g., on Wayland) and debugging issues like #17153: ``` $ ./src/qt/bitcoin-qt -printtoconsole | head -n 6 2020-01-04T14:57:40Z [main] Bitcoin Core version v0.19.99.0-0df287f4e (release build) 2020-01-04T14:57:40Z [main] InitParameterInteraction: parameter interaction: -externalip set -> setting -discover=0 2020-01-04T14:57:40Z [main] Qt 5.9.5 (dynamic), plugin=xcb (dynamic) 2020-01-04T14:57:40Z [main] System: Linux Mint 19.3, x86_64-little_endian-lp64 2020-01-04T14:57:40Z [main] Screen: HDMI-1 1600x1200, pixel ratio=1.0 2020-01-04T14:57:40Z [main] Assuming ancestors of block 00000000000000b7ab6ce61eb6d571003fbe5fe892da4c9b740c49a07542462d have valid signatures. ``` ACKs for top commit: laanwj: ACK a004673c54d4c015775e0baced21f3fa961bf754 Tree-SHA512: 496bcfd4870a2730eab92b96b3e74989a7904b21369c372b6d4368f4ca2c141e2fdc1348a1fdd18cb68bb144dcea01d3023bb782f9d030e330c187f6a5a1a082
2020-01-08Merge #17886: Restore English translation optionWladimir J. van der Laan
63bf06afc387a9aba7e9933d7970ff88da26dc29 Restore English translation option (Andrew Chow) Pull request description: It was [reported on Bitcointalk](https://bitcointalk.org/index.php?topic=5204167.msg53540137#msg53540137) that the normal English language option was lost in 0.19. This PR restores it. For some reason it was removed during the last periodic translation update. ACKs for top commit: laanwj: ACK 63bf06afc387a9aba7e9933d7970ff88da26dc29 Tree-SHA512: 94c7c7407f69e8df91fbbd8f8c5e3e8e031d308b72d775a00bcee564f2762a92f65c140029ce805faccdb767a25c0e222a396708c6ce29a5882bab939a45b772
2020-01-08qa: Fix double-negative arg testHennadii Stepanov
2020-01-08Merge #17452: test: update fuzz directory in .gitignorefanquake
77ef48d53263deaf89290c1cbadb6d90e688575d gitignore: ignore fuzz binaries, remove test_bitcoin_fuzzy (Jon Atack) Pull request description: The fuzzing gitignores haven't been updated since a4153e2 in 2016 that added an initial simple fuzzing framework. This commit: - removes `src/test/test_bitcoin_fuzzy` which is no longer used in favor of `src/test/fuzz` - ignores the `src/test/fuzz` directory, then un-ignores files in it with an extension, to de-clutter the git status from all the generated binary files. Co-authored-by: Karl-Johan Alm <karljohan-alm@garage.co.jp> ACKs for top commit: practicalswift: ACK 77ef48d53263deaf89290c1cbadb6d90e688575d MarcoFalke: ACK 77ef48d53263deaf89290c1cbadb6d90e688575d Tree-SHA512: 1fef4fbe88ded1ecf039205ace0da2abbaabcaae6ac6674eb29f84ae2f2fc560c1341e75e664cc2e243aca5767253756dba73b90ef32c7dd07c7c638abe6daf0
2020-01-08Merge #17677: Activate watchonly wallet behavior for LegacySPKM onlySamuel Dobson
e1e1442f3eadc1d139380e71c1b60b86d8d6bdee Activate no-privkey -> ISMINE_WATCH_ONLY behavior for LegacySPKM only (Gregory Sanders) Pull request description: Slight cleanup following https://github.com/bitcoin/bitcoin/pull/16944 This should allow future scriptpubkeymans to transparently work, since the current plan is to have ismine always be spendable. ACKs for top commit: achow101: ACK e1e1442f3eadc1d139380e71c1b60b86d8d6bdee Sjors: Code review ACK e1e1442f3eadc1d139380e71c1b60b86d8d6bdee meshcollider: Code review ACK e1e1442f3eadc1d139380e71c1b60b86d8d6bdee Tree-SHA512: c0a86587d33b8b1646494a5cb0bf8681ee4a88e6913918157746943a0996b501903e0e6ee954cf04154c1e0faee0cbb375c74ca789f46ba9244eb5296632b042
2020-01-08Merge #17578: rpc: simplify getaddressinfo labels, deprecate previous behaviorSamuel Dobson
8925df86c4df16b1070343fef8e4d238f3cc3bd1 doc: update release notes (Jon Atack) 8bb405bbadf11391ccba7b334b4cfe66dc85b390 test: getaddressinfo labels purpose deprecation test (Jon Atack) 60aba1f2f11529add115d963d05599130288ae28 rpc: simplify getaddressinfo labels, deprecate previous behavior (Jon Atack) 7851f14ccf2bcd1e9b2ad48e5e08881be06d9d21 rpc: incorporate review feedback from PR 17283 (Jon Atack) Pull request description: This PR builds on #17283 (now merged) and is followed by #17585. It modifies the value returned by rpc getaddressinfo `labels` to an array of label name strings and deprecates the previous behavior of returning an array of JSON hash structures containing label `name` and address `purpose` key/value pairs. before ``` "labels": [ { "name": "DOUBLE SPEND", "purpose": "receive" } ``` after ``` "labels": [ "DOUBLE SPEND" ] ``` The deprecated behavior can be re-enabled by starting bitcoind with `-deprecatedrpc=labelspurpose`. For context, see: - https://github.com/bitcoin/bitcoin/pull/17283#issuecomment-554458001 - http://www.erisian.com.au/bitcoin-core-dev/log-2019-12-13.html#l-425 (lines 425-427) - http://www.erisian.com.au/bitcoin-core-dev/log-2019-11-22.html#l-622 Reviewers: This PR may be tested manually by building, then running bitcoind with and without the `-deprecatedrpc=labelspurpose` flag while verifying the rpc getaddressinfo help text and `labels` output. Next steps: deprecate the rpc getaddressinfo `label` field (EDIT: done in #17585) and add support for multiple labels per address. This PR will unblock those. ACKs for top commit: jnewbery: reACK 8925df8 promag: Code review ACK 8925df86c4df16b1070343fef8e4d238f3cc3bd1. meshcollider: Code review ACK 8925df86c4df16b1070343fef8e4d238f3cc3bd1 Tree-SHA512: c2b717209996da32b6484de7bb8800e7048410f9ce6afdb3e02a6866bd4a8f2c730f905fca27b10b877b91cf407f546e69e8c4feb9cd934325a6c71c166bd438
2020-01-08qt: Rename SetPrune() to InitializePruneSetting()Hennadii Stepanov
This function now resets the prune size and is only called after the intro sequence.
2020-01-08refactor: Drop `bool force' parameterHennadii Stepanov
2020-01-08qt: Force set nPruneSize in QSettings after introHennadii Stepanov
If QSettings is set already, it is required to force set nPruneSize after the intro dialog.
2020-01-08Merge #16373: bumpfee: Return PSBT when wallet has privkeys disabledSamuel Dobson
091a876664af4427db670ea8244d713b1b840048 Test watchonly wallet bumpfee with PSBT return (Gregory Sanders) e9b4f9419cc778b5164708991a55014abef6c5f9 bumpfee: Return PSBT when wallet has privkeys disabled (Gregory Sanders) 75a5e478b631d3d0821d003300c4eae3c8433973 Change bumpfee to use watch-only funds for legacy watchonly wallets (Gregory Sanders) Pull request description: The main use-case here is for using with watch-only wallets with PSBT-signing cold wallets of all kinds. ACKs for top commit: achow101: ACK 091a876664af4427db670ea8244d713b1b840048 Sjors: Tested ACK 091a876664af4427db670ea8244d713b1b840048 meshcollider: utACK 091a876664af4427db670ea8244d713b1b840048 Tree-SHA512: f7cf663e1af0b029e5c99eac88c5fdc3bc9e9a3841da8a608e8a9957e9bcf6a78864b8c2706fcaf78a480ffe11badd80c4fad29f97c0bb929e0470fafda5c22e
2020-01-08Merge #17621: IsUsedDestination should count any known single-key addressSamuel Dobson
09502452bbbe21bb974f1de8cf53196373921ab9 IsUsedDestination should count any known single-key address (Gregory Sanders) Pull request description: This plugs the privacy leak detailed at https://github.com/bitcoin/bitcoin/issues/17605, at least for the single-key case. ACKs for top commit: meshcollider: Code Review ACK 09502452bbbe21bb974f1de8cf53196373921ab9 Tree-SHA512: e1d68281675f05072b3087171cba1df9416a69c9ccf70c72e8555e55eadda2d0fd339e5a894e3a3438ff94b9e3827fb19b8b701faade70c08756b19ff157ee0c
2020-01-06Restore English translation optionAndrew Chow
2020-01-06Merge #17857: scripts: fix symbol-check & security-check argument passingfanquake
71af793512100ee7d508c3fb815af47925fe80ba scripts: fix check-symbols & check-security argument passing (fanquake) Pull request description: The first argument in `bin_PROGRAMS` (`bitcoind`) was being silently consumed and never passed into the [`security-check.py`](https://github.com/bitcoin/bitcoin/blob/master/contrib/devtools/security-check.py) or [`symbol-check.py`](https://github.com/bitcoin/bitcoin/blob/master/contrib/devtools/symbol-check.py) scripts. This seems to have been the case since the scripts were added to the makefile in https://github.com/bitcoin/bitcoin/commit/f3d3eaf78eb51238d799d8f20a585550d1567719. Example of the behavior: ```python # touch a, touch b, touch c # python3 args.py < a b c import sys if __name__ == '__main__': print(sys.argv) # ['args.py', 'b', 'c'] # if you add some lines to "a", # you'll see them here.. for line in sys.stdin: print(line) ``` ACKs for top commit: laanwj: ACK 71af793512100ee7d508c3fb815af47925fe80ba Tree-SHA512: 9d0b975a11f66fd87a76654d210808000a629c9cce4c760f71e8a2bcb4e99b9109419f2306db67cf9b12c28e40b96ae722b7c9b4569b2b8bacd469fb99db30c3
2020-01-06build: add Wdate-time to Werror flagsfanquake
-Wdate-time Warn when macros __TIME__, __DATE__ or __TIMESTAMP__ are encountered as they might prevent bit-wise-identical reproducible compilations. This is supported by GCC and Clang. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html https://clang.llvm.org/docs/DiagnosticsReference.html#wdate-time
2020-01-05qt: Add LogQtInfo() functionHennadii Stepanov
2020-01-05doc: Add to Doxygen documentation guidelinesJon Layton
and update the table of contents. Co-authored-by: Jon Layton <me@jonl.io>
2020-01-05Merge #17393: doc: Added regtest config for linearize scriptfanquake
582e66b6e75d58033987a7b0474226cfdd724ce0 doc: Added regtest config for linearize script (Gr0kchain) Pull request description: Updated the example-linearize.cfg file to include support for the regtest chain network config which is used by the ./linearize-data.py Problem: Without the regtest magic, genesis hash and path config, the `linearize-data.py` script cannot generate a bootstrap.dat file. Example: ./linearize-data.py ./linearize.cfg Read 102 hashes Genesis block not found in hashlist Solution: Added netmagic, genesis and input example parameters to file. Resolution 1. Starting bitcoind in regtest mode 2. bitcoin-cli generatetoaddress 101 $(bitcoin-cli getnewaddress) 3. ./linearize-hashes.py ./linearize.cfg > ./hashlist.txt 4. ./linearize-data.py ./linearize.cfg ``` $ ./linearize-data.py ./linearize.cfg Read 102 hashes Input file /Users/gr0kchain/.bitcoin/regtest/blocks/blk00000.dat Output file /Users/gr0kchain/Downloads/bootstrap.dat Done (102 blocks written) ``` ACKs for top commit: fanquake: ACK 582e66b6e75d58033987a7b0474226cfdd724ce0 Tree-SHA512: 699e92e740e68e2e5190ba37538efbbe3e4d4e725ebd6af704a0cf5517683b691754f7ea097bf840845d2b53b793c63258d406e9bd37922db810cf58bed053c3
2020-01-05Merge #17869: refactor: Remove unused defines in qt/bitcoinunits.hfanquake
7754d7ab1e4f1918fcc31396cd3e7507f936477f refactor: Remove unused defines in bitcoinunits.h (Hennadii Stepanov) Pull request description: In `bitcoinunits.h` some `#define`s introduced in #4167 are unused now. ACKs for top commit: emilengler: ACK 7754d7ab1e4f1918fcc31396cd3e7507f936477f fanquake: ACK 7754d7ab1e4f1918fcc31396cd3e7507f936477f promag: ACK 7754d7ab1e4f1918fcc31396cd3e7507f936477f. Tree-SHA512: 688836a434d87530f99c309d8af60f63cdfdcfe583c9297636fbbed0f16a3dc0920d4249457303c00a83dc82d28edd8a99aab0b191c7ffbbd38c5d9fc8ee0df1
2020-01-04Merge #17850: Serialization improvements (minimal initial commits)Wladimir J. van der Laan
9250a087d2f450f37342010aea0a5d583eea508b Convert addrdb/addrman to new serialization (Pieter Wuille) ca33451535dc29f64d37c49af8b22142d7716d0d Introduce new serialization macros without casts (Pieter Wuille) Pull request description: This is a minimal subset of #10785 that still does *something*. It adds a new saner serialization macro, which can be used in parallel with the old one. Then the addrdb code is converted to use this new macro. I'll add follow-up PRs that add more functionality + converting of other modules as things get merged. ACKs for top commit: jamesob: ACK 9250a087d2f450f37342010aea0a5d583eea508b ([`jamesob/ackr/17850.1.sipa.serialization_improvemen`](https://github.com/jamesob/bitcoin/tree/ackr/17850.1.sipa.serialization_improvemen)) kallewoof: ACK 9250a087d2f450f37342010aea0a5d583eea508b laanwj: code review ACK 9250a087d2f450f37342010aea0a5d583eea508b Tree-SHA512: d4f58c7f85d8ada7543ee43159be57d320746abe003af11395508d280d339fac7faa198e707d1a689fb0a775fc36b3945178c3ae1c0cf9ffe685773c6ddc10c1
2020-01-04refactor: Remove unused defines in bitcoinunits.hHennadii Stepanov
2020-01-04Merge #17817: build: Add default configure cache file to .gitignorefanquake
0661a3c4a6ac7e9aa24812dcd1c3ca9053248aff build: Add default configure cache to .gitignore (Hennadii Stepanov) Pull request description: Ref: [Autoconf - 7.4.2 Cache Files](https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/autoconf.html#Cache-Files) ACKs for top commit: fanquake: ACK 0661a3c4a6ac7e9aa24812dcd1c3ca9053248aff - sure; going to merge this. However lets not start adding every file that might occur from using any autoconf option to our .gitignore.. Tree-SHA512: 8be8fdd7fda35ae190c1613e5b3ac4860d6f9ec08f06b66b1278be26e11a1616ec781e0b88d0761690c99600b4de2306c01dd9798f9143531ddacb373e3fc677
2020-01-04Merge #17688: doc: Add "ci" prefix to CONTRIBUTING.mdfanquake
19267cbc82c1a09b37a0266b7bd930e9a62d1288 doc: Add ci prefix to CONTRIBUTING.md (Hennadii Stepanov) Pull request description: It seems our maintainers like `ci` prefix for commits and PRs: ``` git log | grep 'ci:' ``` and ![Screenshot from 2019-12-07 11-49-51](https://user-images.githubusercontent.com/32963518/70372457-ec592a80-18e7-11ea-9320-73412a1ccd25.png) So let's document it. ACKs for top commit: fanquake: ACK 19267cbc82c1a09b37a0266b7bd930e9a62d1288 - this looks ok Tree-SHA512: ef467513f9562f51d0471c5cc900336caab4e9494299bcd2c9cc9e1b296536a86467807d71b8d7100a5c78715174cf58b6ecfe6c3bd958060c15eba4fba7067f
2020-01-03IsUsedDestination should count any known single-key addressGregory Sanders
2020-01-03Merge #17851: tests: Add std::to_string to list of locale dependent functionsMarcoFalke
1f0adb3dac461b3f24f2a98b736d972e9713d67e tests: Add std::to_string to list of locale dependent functions (practicalswift) Pull request description: Add `std::to_string` to list of locale dependent functions: > `std::to_string` relies on the current locale for formatting purposes […] Context https://github.com/bitcoin/bitcoin/pull/17808#issuecomment-570329665 ACKs for top commit: hebasto: ACK 1f0adb3dac461b3f24f2a98b736d972e9713d67e, I have reviewed the code and it looks OK, I agree it can be merged. Tree-SHA512: 4cd6f567f5931dd166cdb9b065a939fb0bc02c93de18a9501655d98caf18b7c4d81f1881ea900dcdf2ec103d3ab1bdc9c68d3257b76dd2468a59e74d278b0d8d