aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-10-04[bench] Benchmark CTxMemPool::check()glozow
2021-10-01[refactor/bench] make mempool_stress bench reusable and parameterizableglozow
2021-10-01Merge bitcoin/bitcoin#23136: test: update fee rate assertion helper in the ↵MarcoFalke
functional test framework b658d7d5c5339739dc19bf961d84186469a818d5 test: update assert_fee_amount() in test_framework/util.py (Jon Atack) Pull request description: Follow-up to 42e1b5d9797b65 (#12486). - update call to `round()` with our utility function `satoshi_round()` to avoid intermittent test failures - rename `fee_per_kB` to `feerate_BTC_kvB` for precision - store division result in `feerate_BTC_vB` Possibly resolves #19418. ACKs for top commit: meshcollider: utACK b658d7d5c5339739dc19bf961d84186469a818d5 Tree-SHA512: f124ded98c913f98782dc047a85a05d3fdf5f0585041fa81129be562138f6261ec1bd9ee2af89729028277e75b591b0a7ad50244016c2b2fa935c6e400523183
2021-10-01Merge bitcoin/bitcoin#23142: Return false on corrupt tx rather than assertingW. J. van der Laan
0ab4c3b27265401c59e40adc494041927dc9dbe3 Return false on corrupt tx rather than asserting (Samuel Dobson) Pull request description: Takes up #19793 Rather than asserting, we log an error and return CORRUPT so that the user is informed. This type of error isn't critical so it isn't worth `assert`ing. ACKs for top commit: achow101: ACK 0ab4c3b27265401c59e40adc494041927dc9dbe3 laanwj: Code review ACK 0ab4c3b27265401c59e40adc494041927dc9dbe3 ryanofsky: Code review ACK 0ab4c3b27265401c59e40adc494041927dc9dbe3. There may be room for more improvements later like better error messages or easier recovery options, but changing from an assert to an error seems like a clear improvement, and this seems to avoid all the pitfalls of the last PR that tried this. Tree-SHA512: 4a1a412e7c473d176c4e09123b85f390a6b0ea195e78d28ebd50b13814b7852f8225a172511a2efb6affb555b11bd4e667c19eb8c78b060c5444b62f0fae5f7a
2021-10-01Merge bitcoin/bitcoin#22585: fuzz: add guide to fuzzing with Eclipser v1.xW. J. van der Laan
6e1150ea3b82d1ab557d4b74aa652b8d974876aa fuzz: add guide to fuzzing with Eclipser v1.x (Alex Groce) Pull request description: MarcoFalke and practicalswift here's an Eclipser guide, reconstructed from their documentation and my docker history getting it up and running. It might be good if someone confirmed it actually works for them in a fresh ubuntu 20.04. ACKs for top commit: practicalswift: ACK 6e1150ea3b82d1ab557d4b74aa652b8d974876aa Tree-SHA512: ca855932fd7a2c1d1005d572ab5fabc26f42d779f9baf279783f08a43dd72ec60f57239135d30c2a82781e593626fec2c96bb19fb91e1b777cef2d83a54eba35
2021-10-01Merge bitcoin/bitcoin#22340: p2p: Use legacy relaying to download blocks in ↵MarcoFalke
blocks-only mode 18c5b23a0f7adf9a08bcaa967ed800badf62d90a [test] Test that -blocksonly nodes still serve compact blocks. (Niklas Gögge) a79ad65fc2c31a2b1132a6aab389d0197a95c395 [test] Test that getdata(CMPCT) is still sent on regular low bandwidth connections. (Niklas Gögge) 5e231c116ba8165e9d8c795b85ca2833238aed54 [test] Test that -blocksonly nodes do not send getdata(CMPCT) on a low bandwidth connection. (Niklas Gögge) 5bf658745782eb571215d6c1e5fe3c655edb55b3 [test] Test that -blocksonly nodes do not request high bandwidth mode. (Niklas Gögge) 0dc8bf5b925ca876c0b1a100e426056d741aafde [net processing] Dont request compact blocks in blocks-only mode (Niklas Gögge) Pull request description: A blocks-only node does not participate in transaction relay to reduce its own bandwidth usage and therefore does not have a mempool. The use of compact blocks is not beneficial to such a node since it will always have to download full blocks. In both high- and low-bandwidth relaying the `cmpctblock` message is sent. This represent a bandwidth overhead for blocks-only nodes because the `cmpctblock` message is several times larger in the average case than the equivalent `headers` or `inv` announcement. ![compact blocks](https://raw.githubusercontent.com/bitcoin/bips/master/bip-0152/protocol-flow.png) >**Example:** >A block with 2000 txs results in a `cmpctblock` with 2000*6 bytes in short ids. This is several times larger than the equivalent 82 bytes for a `headers` message or 37 bytes for an `inv`. ## Approach This PR makes blocks-only nodes always use the legacy relaying to download new blocks. It does so by making blocks-only nodes never initiate a high-bandwidth block relay connection by disabling the sending of `sendcmpct(1)`. Additionally a blocks-only node will never request a compact block using `getdata(CMPCT)`. A blocks-only node will continue to serve compact blocks to its peers in both high- and low-bandwidth mode. ACKs for top commit: naumenkogs: ACK 18c5b23a0f7adf9a08bcaa967ed800badf62d90a rajarshimaitra: tACK https://github.com/bitcoin/bitcoin/pull/22340/commits/18c5b23a0f7adf9a08bcaa967ed800badf62d90a jnewbery: reACK 18c5b23a0f theStack: re-ACK 18c5b23a0f7adf9a08bcaa967ed800badf62d90a 🥛 Tree-SHA512: 0c78804aa397513d41f97fe314efb815efcd852d452dd903df9d4749280cd3faaa010fa9b51d7d5168b8a77e08c8ab0a491ecdbdb3202f2e9cd5137cddc74624
2021-10-01Merge bitcoin/bitcoin#23147: refactor: rename DBErrors::RESCAN_REQUIRED to ↵fanquake
NEED_RESCAN 8615507a4e510bc797b01c4bbe45dc1f91e0bfa0 scripted-diff: rename DBErrors::RESCAN_REQUIRED to NEED_RESCAN (Samuel Dobson) Pull request description: Suggested here as a trivial follow-up: https://github.com/bitcoin/bitcoin/pull/23123#discussion_r719709924 Makes RESCAN_REQUIRED consistent with NEED_REWRITE ACKs for top commit: achow101: ACK 8615507a4e510bc797b01c4bbe45dc1f91e0bfa0 jonatack: ACK 8615507a4e510bc797b01c4bbe45dc1f91e0bfa0 Tree-SHA512: 82d057c45e192cd6dd8a47675b52699e6cbc82272609a971e6e5d6796aad14a941a70e40d3913dbb611f79c8eadff8030c60ea6f203f2edc3720c0e78c166b97
2021-10-01scripted-diff: rename DBErrors::RESCAN_REQUIRED to NEED_RESCANSamuel Dobson
-BEGIN VERIFY SCRIPT- git grep -l 'RESCAN_REQUIRED' src | xargs sed -i 's/RESCAN_REQUIRED/NEED_RESCAN/g' -END VERIFY SCRIPT-
2021-09-30Merge bitcoin/bitcoin#23123: Remove `-rescan` startup parameterW. J. van der Laan
dc3ec74d67abc85e8f724648f93efdd097e6f783 Add rescan removal release note (Samuel Dobson) bccd1d942d971e70e7a0f4f5628e1b74b3ac15e0 Remove -rescan startup parameter (Samuel Dobson) f963b0fa8cdd5223feb828c5faf6c57bc4107c8a Corrupt wallet tx shouldn't trigger rescan of all wallets (Samuel Dobson) 6c006495ef07f163d0734ec35d3cd1589a4aae9d Remove outdated dummy wallet -salvagewallet arg (Samuel Dobson) Pull request description: Remove the `-rescan` startup parameter. Rescans can be run with the `rescanblockchain` RPC. Rescans are still done on wallet-load if needed due to corruption, for example. ACKs for top commit: achow101: ACK dc3ec74d67abc85e8f724648f93efdd097e6f783 laanwj: re-ACK dc3ec74d67abc85e8f724648f93efdd097e6f783 Tree-SHA512: 608360d0e7d73737fd3ef408b01b33d97a75eebccd70c6d1b47a32fecb99b9105b520b111b225beb10611c09aa840a2b6d2b6e6e54be5d0362829e757289de5c
2021-09-30test: update assert_fee_amount() in test_framework/util.pyJon Atack
- update call to round() with satoshi_round() to avoid intermittent test failures - rename fee_per_kB to feerate_BTC_kvB for precision - store division result in feerate_BTC_vB
2021-09-30Merge bitcoin-core/gui#342: wallet: Move wallets loading out from the main ↵Hennadii Stepanov
GUI thread 2fe69efbc607fdcc3657637d59a38cc5b4db2d05 qt, wallet: Drop no longer used WalletController::getOpenWallets() (Hennadii Stepanov) f6991cb906e9dad7ff76a51e2b654f798d5c2ba6 qt, wallet: Add LoadWalletsActivity class (Hennadii Stepanov) 4a024fc310f136ce62c733fb1174b3a80ea25d0a qt, wallet, refactor: Move connection to QObject::deleteLater to ctor (Hennadii Stepanov) f9b633eeab6e9ee405bba37573aed9aa83c51ea5 qt, wallet: Move activity progress dialog from data member to local (Hennadii Stepanov) Pull request description: This PR improves the GUI responsiveness during initial wallets loading at startup (especially ones that have tons of txs), and shows a standard progress dialog for long loading: ![DeepinScreenshot_select-area_20210522230626](https://user-images.githubusercontent.com/32963518/119239625-0b3a9380-bb53-11eb-9a54-34980d8a1194.png) Fixes #247. ACKs for top commit: ryanofsky: Code review ACK 2fe69efbc607fdcc3657637d59a38cc5b4db2d05. Just suggested changes since last review: squashing commits and dropping unused method (thanks!) shaavan: reACK 2fe69efbc607fdcc3657637d59a38cc5b4db2d05 promag: Code review ACK 2fe69efbc607fdcc3657637d59a38cc5b4db2d05. Tree-SHA512: 2ac3cb48886e0005fc36b3fd0c2b35abd557186be16db3145d753c34d94188e4f4ff14dc07fb0fb7558944f84498204a3988f8284fd56c6d85b47bc9081e71a6
2021-09-30Merge bitcoin/bitcoin#20457: util: Make Parse{Int,UInt}{32,64} use locale ↵W. J. van der Laan
independent std::from_chars(…) (C++17) instead of locale dependent strto{l,ll,ul,ull} 4747db876154ddd828c03d9eda10ecf8b25d8dc8 util: Introduce ToIntegral<T>(const std::string&) for locale independent parsing using std::from_chars(…) (C++17) (practicalswift) Pull request description: Make `Parse{Int,UInt}{32,64}` use locale independent `std::from_chars(…)` (C++17) instead of locale dependent `strto{l,ll,ul,ull}`. [About `std::from_chars`](https://en.cppreference.com/w/cpp/utility/from_chars): _"Unlike other parsing functions in C++ and C libraries, `std::from_chars` is locale-independent, non-allocating, and non-throwing."_ ACKs for top commit: laanwj: Code review ACK 4747db876154ddd828c03d9eda10ecf8b25d8dc8 Tree-SHA512: 40f2cd582bc19ddcf2c498eca3379167619eff6aa047bbac2f73b8fd8ecaefe5947c66700a189f83848751f9f8c05645e83afd4a44a1679062aee5440dba880a
2021-09-30Merge bitcoin/bitcoin#23104: log: Avoid breaking single log lines over ↵W. J. van der Laan
multiple lines in the log file 2222c04e1b9960030cb590c789a0d2375add4544 log: Adjust coin selection log string (MarcoFalke) fa6c1e850f3a96f884ba8a635b72d3abea1f4e56 test: Fix typos in tests (MarcoFalke) faeae2980fa2493391cdced20950a991e28cf47d log: Avoid broken DEBUG_LOCKORDER log (MarcoFalke) faffaa85cde32b621f598a8ea8dceae34f33f021 log: Avoid broken SELECTCOINS log (MarcoFalke) Pull request description: Follow up to commit d8b4b3077fd20c90b635eff1dd240bdad9725027 ACKs for top commit: laanwj: re-ACK 2222c04e1b9960030cb590c789a0d2375add4544 practicalswift: cr ACK 2222c04e1b9960030cb590c789a0d2375add4544 Tree-SHA512: e0daf76815a1b7c4898ceffedeaf7ede093223abf709874f9a0d78c8e41551c14e8b56d055c8fdf06ec698df64e67dfc168bbd8716131b23648d1d1294fa6636
2021-09-30Merge bitcoin/bitcoin#23082: build: improve gexauxval() detection, remove ↵W. J. van der Laan
getauxval() weak linking 4446ef0a549d567a88d82b606aa8c47f115673f9 build: remove support for weak linking getauxval() (fanquake) e56100c5b4daf2285dde9807bf654599aa19bd6b build: remove arm includes from getauxval() check (fanquake) Pull request description: It was [pointed out in #23030](https://github.com/bitcoin/bitcoin/pull/23030#issuecomment-922893367) that we might be able to get rid of our weak linking of [`getauxval()`](https://man7.org/linux/man-pages/man3/getauxval.3.html) (`HAVE_WEAK_GETAUXVAL`) entirely, with only Android being a potential holdout: > I wonder if it's time to get rid of HAVE_WEAK_GETAUXVAL. I think it's confusing. Either we build against a C library that has this functionality, or not. We don't do this weak linking thing for any other symbols and recently got rid of the other glibc backwards compatibility stuff. > Unless there is still a current platform that really needs it (Android?), I'd prefer to remove it from the build system, it has caused enough issues. After looking at Android further, it would seem that given we are moving to using `std::filesystem`, which [requires NDK version 22 and later](https://github.com/android/ndk/wiki/Changelog-r22), and `getauxval` has been available in the since [API version 18](https://developer.android.com/ndk/guides/cpu-features#features_using_libcs_getauxval3), that shouldn't really be an issue. Support for API levels < 19 will be dropped with the NDK 24 release, and according to [one website](https://apilevels.com/), supporting API level 18+ will cover ~99% of devices. Note that in the CI we currently build with NDK version 22 and API level 28. The other change in this PR is removing the include of headers for ARM intrinsics, from the check for strong `getauxval()` support in configure, as they shouldn't be needed. Including these headers also meant that the check would basically only succeed when building for ARM. This would be an issue if we remove weak linking, as we wouldn't detect `getauxval()` as supported on other platforms. Note that we also use `getauxval()` in our RNG when it's available. I've checked that with these changes we detect support for strong `getauxval()` on Alpine (muslibc). On Linux, previously we'd be detecting support for weak getauxval(), now we detect strong support. Note that we already require glibc 2.17, and `getauxval()` was introduced in `2.16`. This is an alternative / supersedes #23030. ACKs for top commit: laanwj: Code review and tested ACK 4446ef0a549d567a88d82b606aa8c47f115673f9 Tree-SHA512: 5f2a9e9cc2d63bddab73f0dcb169d4d6beda74622af82bc0439722f1189f81d052e2fc1eaf27056a7a606320d5ddc4c11075f0d051dd93d77c5e1c15337f354a
2021-09-30Merge bitcoin/bitcoin#23133: Update crc32c subtreefanquake
1d44513f9b34f2a59c794474752025430285a68b Squashed 'src/crc32c/' changes from b5ef9be675..0d624261ef (MarcoFalke) Pull request description: Only change is a warning fix for arm. ``` CXX crc32c/src/crc32c_libcrc32c_a-crc32c.o In file included from crc32c/src/crc32c.cc:11:0: crc32c/src/./crc32c_arm64_check.h: In function ‘bool crc32c::CanUseArm64Crc32()’: crc32c/src/./crc32c_arm64_check.h:43:37: warning: the address of ‘long unsigned int getauxval(long unsigned int)’ will never be NULL [-Waddress] unsigned long hwcap = (&getauxval != nullptr) ? getauxval(AT_HWCAP) : 0; ~~~~~~~~~~~^~~~~~~~~~ ACKs for top commit: laanwj: Code review ACK fac1c13ead8da2414acdd3202040f00a21435b8f fanquake: ACK fac1c13ead8da2414acdd3202040f00a21435b8f Tree-SHA512: 22a52caf67dd89092eff1f075fbf5c5d16bdca9146ba042ce5d3fcc10ce1485e950964089f8536c938ebe650676e03a789d3597fe45b19920fd2c5e72f1391ad
2021-09-30Merge bitcoin/bitcoin#23130: doc: Revert "Remove outdated comments" and ↵W. J. van der Laan
place comment correctly 8ff3743f5e99c693710bc446bfd595687156ca6b Revert "doc: Remove outdated comments" (Hennadii Stepanov) Pull request description: Unfortunately, in #23094 the assumption that #14336 makes comments outdated is wrong. As pointed in https://github.com/bitcoin/bitcoin/pull/23094#discussion_r717226839, the #14336 just moved the relevant code a few lines down. This PR reverts commit ee7891a0c412728cf8bec667f25263682a9baaaf, and moves the comments into the right place. I apologize about that. ACKs for top commit: MarcoFalke: cr ACK 8ff3743f5e99c693710bc446bfd595687156ca6b laanwj: ACK 8ff3743f5e99c693710bc446bfd595687156ca6b Tree-SHA512: 84aca627bb5b49c06fc172778f9b9407482c5a873ccbc3dc40167e6a8ad0bc60475d6a469c843b7b42712e35cf3fc2d3518923e791d5e0c59628e042acc72747
2021-09-30Merge bitcoin/bitcoin#23112: wallet: enable SQLite extended result codesW. J. van der Laan
90be29c5b52e68b5de8a3282cd83172fbf9acf1b wallet: enable SQLite extended result codes (Sebastian Falbesoner) Pull request description: With this change, we get more fine-grained error messages if something goes wrong in the course of communicating with the SQLite database. To pick some random examples, the error codes SQLITE_IOERR_NOMEM, SQLITE_IOERR_CORRUPTFS or SQLITE_IOERR_FSYNC are way more specific than just a plain SQLITE_IOERR, and the corresponding error messages generated by sqlite3_errstr() will hence give a better hint to the user (or also to the developers, if an error report is sent) what the cause for a failure is. See the SQLite documentation https://www.sqlite.org/c3ref/extended_result_codes.html https://www.sqlite.org/c3ref/c_abort_rollback.html > In its default configuration, SQLite API routines return one of 30 integer result codes. However, experience has shown that many of these result codes are too coarse-grained. They do not provide as much information about problems as programmers might like. In an effort to address this, newer versions of SQLite (version 3.3.8 2006-10-09 and later) include support for additional result codes that provide more detailed information about errors. ACKs for top commit: Sjors: utACK 90be29c achow101: ACK 90be29c5b52e68b5de8a3282cd83172fbf9acf1b laanwj: Code review ACK 90be29c5b52e68b5de8a3282cd83172fbf9acf1b Tree-SHA512: 2b7a60860c206f2b5f8ff9d4a7698efdee897c9ad024621b8fd165b841c20746d9780da3cf46aaf448a777e229a5b3cdf3a4792e8ef82cda9c5d46e354a9a598
2021-09-30Return false on corrupt tx rather than assertingSamuel Dobson
Co-authored-by: Russell Yanofsky <russ@yanofsky.org> Co-authored-by: Andrew Chow <achow101-github@achow101.com>
2021-09-30Merge bitcoin-core/gui#336: Do not exit and re-enter main event loop during ↵W. J. van der Laan
shutdown 451ca244db8bc71ffc3cc9982d025f144cc8f3bc qt, refactor: Drop intermediate BitcoinApplication::shutdownResult slot (Hennadii Stepanov) f3a17bbe5f7d23b6ecc20e363920492b50859dad qt: Do not exit and re-enter main event loop during shutdown (Hennadii Stepanov) b4e0d2c43181ad97c15b252e95181e2c3f6c1d2a qt, refactor: Allocate SendConfirmationDialog instances on heap (Hennadii Stepanov) 332dea2852d9c68f900ed1f0be99b6cea79c7457 qt, refactor: Keep HelpMessageDialog in the main event loop (Hennadii Stepanov) c8bae37a7a646badf8e79669bf06ac174e13cd6f qt, refactor: Keep PSBTOperationsDialog in the main event loop (Hennadii Stepanov) 7fa91e831227e556bd8a7ae3da64bd59d4f30d5f qt, refactor: Keep AskPassphraseDialog in the main event loop (Hennadii Stepanov) 6f6fde30e7601185a8f6052b3bf1770407fcc14b qt, refactor: Keep EditAddressDialog in the main event loop (Hennadii Stepanov) 59f7ba4fd7a9e4bc73d784ee74d5b777da9cc436 qt, refactor: Keep CoinControlDialog in the main event loop (Hennadii Stepanov) 7830cd0b35f315570d744f4d2719104c08b33ff1 qt, refactor: Keep OptionsDialog in the main event loop (Hennadii Stepanov) 13f618818dc57673ac0287ad8b28ceb450efb374 qt: Add GUIUtil::ShowModalDialogAndDeleteOnClose (Hennadii Stepanov) Pull request description: On master (1ef34ee25ed34b2b092f15bf3dca5c0508092829) during shutdown `QApplication` exits the main event loop, then re-enter again. This PR streamlines shutdown process by removing the need to interrupt the main event loop, that is required for #59. Also, blocking [`QDialog::exec()`](https://doc.qt.io/qt-5/qdialog.html#exec) calls are replaced with safer [`QDialog::show()`](https://doc.qt.io/qt-5/qwidget.html#show), except for `SendConfirmationDialog` as that change is not trivial (marked as TODO). The [`QDialog::open()`](https://doc.qt.io/qt-5/qdialog.html#open) was not used because the actual modality mode (application modal or window modal) of a dialog depends on whether it has a parent. This PR does not change behavior, and all touched dialogs are still application modal. As a follow up, a design research could suggest to make some dialogs window modal. NOTE for reviewers: quitting app while a dialog is open (e.g., via systray icon menu) must work fine. ACKs for top commit: laanwj: Code review and lighly tested ACK 451ca244db8bc71ffc3cc9982d025f144cc8f3bc promag: ACK 451ca244db8bc71ffc3cc9982d025f144cc8f3bc, just changed signal to `quitRequested`. Tree-SHA512: ef01ab6ed803b202e776019a4e1f592e816f7bc786e00574b25a0bf16be2374ddf9db21f0a26da08700df7ef0ab9e879550df46dcfe3b6d940f5ed02ca5f8447
2021-09-30Merge bitcoin-core/gui#439: Do not show unused widgets at startupHennadii Stepanov
489060dcaf45e66c9af4c94cd9376f3f225da18b qt: Do not show unused widgets at startup (Hennadii Stepanov) Pull request description: On master (8d83f9c1d19d9e701291b9906723dfb548d3dc5f), when starting without wallets the `labelWalletEncryptionIcon` and `labelWalletHDStatusIcon` widgets are not used but still visible as empty space: ![Screenshot from 2021-09-29 21-59-22](https://user-images.githubusercontent.com/32963518/135332107-f02db936-3c3a-436b-9e78-c5721df8852b.png) If one opens any wallet then closes it, the widget layout becomes densed: ![Screenshot from 2021-09-29 22-05-31](https://user-images.githubusercontent.com/32963518/135332650-83787bc4-fa8e-417e-8d53-a9fdb1c8bfc9.png) This PR makes widget layout densed at startup. Fixes #428. ACKs for top commit: jarolrod: ACK 489060dcaf45e66c9af4c94cd9376f3f225da18b promag: Code review ACK 489060dcaf45e66c9af4c94cd9376f3f225da18b. Tree-SHA512: bda7195225ecd203bb3269ebe7fc264aaf7f57b922deb83a04127584a5d6123950741fb431161523e84630927c2f617e85c085bbbe75ad8559da7b2947de1bdd
2021-09-30Merge bitcoin/bitcoin#23126: doc: update developer docs for subtree renamingfanquake
2b90eae33c0b368cc9b3939be224c36c45abd50d doc: update developer docs for subtree renaming (fanquake) Pull request description: Update the developer docs after the [recent subtree renaming](https://github.com/bitcoin/bitcoin/pull/22646#issuecomment-921154730). ACKs for top commit: hebasto: ACK 2b90eae33c0b368cc9b3939be224c36c45abd50d Tree-SHA512: ed0eec8db888e60595c07f4fad0a506673e4b10345fb2dd6d1a98d785da22bddf1fe8896aa52fd67f5e1688e3c91c6b642739e08646f1b920f50f0d35037d961
2021-09-30Add rescan removal release noteSamuel Dobson
2021-09-30Remove -rescan startup parameterSamuel Dobson
2021-09-30Corrupt wallet tx shouldn't trigger rescan of all walletsSamuel Dobson
2021-09-29qt: Do not show unused widgets at startupHennadii Stepanov
When starting without wallets the labelWalletEncryptionIcon and labelWalletHDStatusIcon widgets are not required.
2021-09-29log: Adjust coin selection log stringMarcoFalke
Replace the outdated function name with words from the English language. Logging the function name can be toggled with -logsourcelocations.
2021-09-29test: Fix typos in testsMarcoFalke
2021-09-29log: Avoid broken DEBUG_LOCKORDER logMarcoFalke
2021-09-29Merge bitcoin/bitcoin#23064: fuzz: Fix memory leak in system fuzz targetMarcoFalke
aaaa37abbab69fe1fdc2d332bbaf6ecce0c5cc00 fuzz: Fix memory leak in system fuzz target (MarcoFalke) Pull request description: Might fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36906 To test: ``` $ FUZZ=system valgrind --tool=massif ./src/test/fuzz/fuzz ../btc_qa_assets/fuzz_seed_corpus/system/ ^C $ massif-visualizer ./massif.out.952024 ``` ACKs for top commit: practicalswift: cr ACK aaaa37abbab69fe1fdc2d332bbaf6ecce0c5cc00 Tree-SHA512: 6aa47ea12ec76133ae326ed41c31414d7a418abe1f28b05f698e9bb5439bbe26b814c4827999b15b77b47608dbc71c9b35789d0b84e25f56928381d06d6460e5
2021-09-29Merge bitcoin-core/gui#436: Include vout when copying transaction ID from ↵Hennadii Stepanov
coin selection 10c6929d55ba9bc203bbadfb834537445dbd67ce Include vout when copying transaction ID from coin selection (Samuel Dobson) Pull request description: Fixes #432 I think it makes sense to just add the vout to the existing function because I can't imagine a situation where a user in the coin selection dialog would want just the transaction ID rather than the specific outpoint, and they can just delete it from the end anyway. ACKs for top commit: kristapsk: ACK 10c6929d55ba9bc203bbadfb834537445dbd67ce hebasto: ACK 10c6929d55ba9bc203bbadfb834537445dbd67ce, tested on Linux Mint 20.2 (Qt 5.12.8). shaavan: ACK 10c6929 Tree-SHA512: df4d132b6c2fd0b590594e91cf54f82c6c0f77ee9ca06296fb726bc3c52b9ae459ca3b50c48b2bf303ccafe832b6b4dba692a812f439991ca6d807ea0d8df934
2021-09-29qt, refactor: Drop intermediate BitcoinApplication::shutdownResult slotHennadii Stepanov
2021-09-29qt: Do not exit and re-enter main event loop during shutdownHennadii Stepanov
2021-09-29Merge bitcoin/bitcoin#23115: bloom: use Span instead of std::vector for ↵MarcoFalke
`insert` and `contains` a11da7541148b5bb8e293c0ee49b2856a6628099 bloom: cleanup includes (fanquake) f1ed1d3194d4160923f3b02fa1acffd805ab4428 bloom: use constexpr where appropriate (fanquake) 2ba4ddf31d27bebc144b3729479967b40bbe0b6a bloom: use Span instead of std::vector for `insert` and `contains` (William Casarin) Pull request description: This is #18985 rebased, with the most recent comments addressed. > We can avoid many unnecessary std::vector allocations by changing CBloomFilter to take Spans instead of std::vector's for the `insert` and `contains` operations. > CBloomFilter currently converts types such as CDataStream and uint256 to std::vector on `insert` and `contains`. This is unnecessary because CDataStreams and uint256 are already std::vectors internally. We just need a way to point to the right data within those types. Span gives us this ability. ACKs for top commit: sipa: Code review ACK a11da7541148b5bb8e293c0ee49b2856a6628099 laanwj: Code review ACK a11da7541148b5bb8e293c0ee49b2856a6628099 Tree-SHA512: ee9ba02c9588daa1ff51782d1953fd060839dd15aa85861b2633b6ff2398320188ddd00f01d0c99442224485364ede9f8322366de4239fc7831ebfa06bd34659
2021-09-29Update crc32c subtreeMarcoFalke
2021-09-29Squashed 'src/crc32c/' changes from b5ef9be675..0d624261efMarcoFalke
0d624261ef Merge bitcoin-core/crc32c#2: Merge upstream cac7ca830b Merge commit 'fa5ade41ee480003d9c5af6f43567ba22e4e17e6' into bitcoin-fork fa5ade41ee Fix compilation warnings on ARM64 with old GCC versions. (#52) db08d22129 Updated Travis-CI configuration. (#51) e31619a5b7 Fix GitHub links. (#50) 7fa4c263e8 Update Travis CI config. (#49) a3d9e6d1a4 Updated third_party/ and Travis CI config. (#48) git-subtree-dir: src/crc32c git-subtree-split: 0d624261ef83ab08c953c196540ed18f355add4c
2021-09-29Merge bitcoin/bitcoin#23124: Fix feature_segwit.py failure due to witnessMarcoFalke
b207971465f5c0dd2b1b663dcb8b74e0ac59b301 Fix feature_segwit failure due to witness (Samuel Dobson) Pull request description: Fixes #23116 The failure is due to sometimes spending segwit outputs, which add an additional 1 sigop in the witness, added to the 2 (*4) in the outputs. ACKs for top commit: brunoerg: tACK b207971465f5c0dd2b1b663dcb8b74e0ac59b301 Tree-SHA512: 7e3c09d162e6941a3028514e95ae3aab2a3f858e2f056229c5faff5e37ece897dc63e3f8c0e07fad9fc4621b74a6dee5ff777e910b2b009a41bb6e72a09217bd
2021-09-29fuzz: Fix memory leak in system fuzz targetMarcoFalke
2021-09-29Merge bitcoin-core/gui#430: Improvements to the open up transaction in ↵Hennadii Stepanov
third-party link action 2ccde2f9329d2685563b09ff0830f0d5916f57d5 qt: hyphenate usage of third-party modifier (Jarol Rodriguez) 8177578b296adb82fb8ab6c64cd76b832ebcc132 qt: ensure seperator when adding third-party transaction links (Jarol Rodriguez) a70a98075a0d258d41c1310553a2337538a1d80c qt: improve text for open third-party tx url action (Jarol Rodriguez) 9980f4aa5eaf3c0f62cf699d6a9c4677a1ea3365 qt, refactor: simplify third-party tx url action through overload (Jarol Rodriguez) Pull request description: [#4092](https://github.com/bitcoin/bitcoin/pull/4092) introduced the ability to open up a transaction in a block explorer. This improves the related code by simplifying the addition and connection of the action through an [overloaded](https://doc.qt.io/archives/qt-5.9/qmenu.html#addAction-5) `addAction` function and prepends action description text to the host, "Show in". The reason to add this text is to make it clear what the action does. It also creates a clearer mental correlation between a user doing the work to add the 3rd-party tx link and this new menu action popping up. This updates the setting text so that "third-party" is hyphenated. It should be hyphenated because it is being used as a modifier of both "URL" and "transaction URLs". Additionally, this fixes #431 by ensuring that the seperator will be added before creating action. Screenshots of visual changes: **Context menu actions** | master | pr | |--------------|--------| | <img width="248" alt="3pt-master" src="https://user-images.githubusercontent.com/23396902/134618354-00278ac6-5094-44ee-8ba7-fe648fdcb7d2.png"> | <img width="248" alt="3pt-pr" src="https://user-images.githubusercontent.com/23396902/134618364-ddb64269-e5ee-40af-a2a6-1922001b6f4e.png"> | **Setting text** (tooltip text containing usage of "third-party" is also properly hyphenated) | master | pr | |--------------|--------| | ![unnamed](https://user-images.githubusercontent.com/23396902/134854070-fb299ba5-3491-487f-b37f-c0cd96514353.png) | ![pr-hyphenate](https://user-images.githubusercontent.com/23396902/134854127-88630cc2-a178-4376-a569-f413f66eba0d.png) | ACKs for top commit: stratospher: tested ACK 2ccde2f. promag: Code view ACK 2ccde2f9329d2685563b09ff0830f0d5916f57d5. hebasto: ACK 2ccde2f9329d2685563b09ff0830f0d5916f57d5 Tree-SHA512: 8dfcd539a1d41c8abf3c8208d150d1480d4ef81a008de826299e8bad1dfa6e3c49dc76d041c5946fafcf0b033eebb9b9fbd3d49ba6d8af93dd388c488e92f143
2021-09-29Merge bitcoin-core/gui#416: Add RPC settingHennadii Stepanov
bd5c826a9630f41255497e0c9a0f1872b5ab78d5 gui: add RPC setting (Sjors Provoost) Pull request description: RPC access is disabled by default for the GUI. With the proliferation of third party desktop applications that use the Bitcoin Core RPC (e.g. Specter Desktop, Sparrow and Wasabi), this PR makes them slight easier to configure. It's no longer required to find and edit `bitcoin.conf` to add `server=1` to it. <img width="447" alt="Schermafbeelding 2021-09-02 om 14 25 58" src="https://user-images.githubusercontent.com/10217/131844201-be3b49a8-ae88-47e6-8992-e95ee6b70f69.png"> ACKs for top commit: hebasto: ACK bd5c826a9630f41255497e0c9a0f1872b5ab78d5, tested on Linux Mint 20.2 (Qt 5.12.8): shaavan: reACK bd5c826a9630f41255497e0c9a0f1872b5ab78d5 promag: Code review ACK bd5c826a9630f41255497e0c9a0f1872b5ab78d5. Just minor fixes to the .ui form since last review. Tree-SHA512: ab377e2358826096b499013bc3a864b7b63dff9859e96041e93ff0897d2319a35e8b3adcfb8df5f83274466c83d040d4ea18c546699421425c835e6f42562ae0
2021-09-29Merge bitcoin-core/gui#345: Connection Type Translator CommentsHennadii Stepanov
4832737c7dcc87afea5e1e88945ec311417aa876 qt: connection type translator comments (Jarol Rodriguez) Pull request description: This PR introduces Qt translator comments for `Connection Type` strings in `guiutil.cpp` as well as `rpcconsole.cpp`. This is an alternate implementation of the idea presented in the last three commits of #289. It is especially inspired by commit 842f4e834dfe5fd2786a5092f78ea28da1b36e4f. Per [Qt Dev Notes](https://github.com/bitcoin-core/bitcoin-devwiki/wiki/Developer-Notes-for-Qt-Code), it is better to not break up strings when not necessary. This way we preserve the full context for translators. ACKs for top commit: jonatack: Code review re-ACK 4832737c7dcc87afea5e1e88945ec311417aa876 per `git diff 371e2b9 4832737`, changes are translator comment edits since my review yesterday (thank you for updating) hebasto: ACK 4832737c7dcc87afea5e1e88945ec311417aa876 Tree-SHA512: 67e1741e10a2e30cde6d50d3293eec89f0b7641b34463865dc6909d2926cdcf33a7d8c1dc8055d2f85906ad2002cdaa594d37b184d16e2f06614b6c5ad00c982
2021-09-29Revert "doc: Remove outdated comments"Hennadii Stepanov
This reverts commit ee7891a0c412728cf8bec667f25263682a9baaaf, and moves the comments into the right place.
2021-09-29Merge bitcoin/bitcoin#23079: test: use MiniWallet for p2p_filter.pyMarcoFalke
cfdb6baa22b8eb526fcbe1e5131bf4a3fd0cd672 test: use MiniWallet for p2p_filter.py (Sebastian Falbesoner) 6fc2cd3f09d023b2e971dcdf8472956259f94c1d test: introduce helper to create random P2WPKH scriptPubKeys (Sebastian Falbesoner) aa26797f69e6ed10efcad9fb07be7f5b3b0ee513 test: MiniWallet: add `send_to` method to create arbitrary txouts (Sebastian Falbesoner) Pull request description: This PR enables one more of the non-wallet functional tests (p2p_filter.py) to be run even with the Bitcoin Core wallet disabled by using the MiniWallet instead, as proposed in #20078. For this purpose, a MiniWallet method `send_to` is introduced first, which allows to create arbitrary outputs (scriptPubKey/amount). Note that the implementation for this is already present in feature_rbf.py (recently added in PR #22998), i.e. it is simply moved to the MiniWallet interface. ACKs for top commit: laanwj: Code review ACK cfdb6baa22b8eb526fcbe1e5131bf4a3fd0cd672 Tree-SHA512: 13b063631f0d7af065b7757cfe8b47c9be6cb9850ac5db2968a2bba4f5a18cdc9f89173a9b03971545356225082042f5fdbe49d3036027d18e8b7eb042d04f5e
2021-09-29doc: update developer docs for subtree renamingfanquake
2021-09-29Merge bitcoin/bitcoin#23108: ci: Enable extended tests on native WindowsMarcoFalke
fa87230ec5c32df83b22c04c12d69c394e58fe4c ci: Enable extended tests on native Windows (MarcoFalke) Pull request description: ACKs for top commit: hebasto: ACK fa87230ec5c32df83b22c04c12d69c394e58fe4c Tree-SHA512: d1b15a572021462b52e900d91b89b6a9cb3451fc7d1aebf4272f856b78fa1382a170ef9b7fb54702ebe0b2e123e3b618375bcf99a390e57c2039cbab61fa9114
2021-09-29Merge bitcoin/bitcoin#23120: test: Remove unused and confusing main ↵MarcoFalke
parameter from script_util fa54efda9bc8f8f742dacbc3673516d88d9d601d test: pep-8 touched test (MarcoFalke) fa4676805910bfea5549f5b51460c8456bc8945c test: Remove unused and confusing main parameter from script_util (MarcoFalke) Pull request description: ACKs for top commit: fanquake: ACK fa54efda9bc8f8f742dacbc3673516d88d9d601d Tree-SHA512: 124e888e16c92bb24ab4d6f68a768d295500a48f8c6c0b4f069493effcd761f80be78dd93b31edbb529ebe4c8aaca764aaff48d1e3b23659dde722981dc787a5
2021-09-29Fix feature_segwit failure due to witnessSamuel Dobson
2021-09-29Remove outdated dummy wallet -salvagewallet argSamuel Dobson
2021-09-29bloom: cleanup includesfanquake
2021-09-29bloom: use constexpr where appropriatefanquake
2021-09-29bloom: use Span instead of std::vector for `insert` and `contains`William Casarin
We can avoid many unnecessary std::vector allocations by changing CBloomFilter to take Spans instead of std::vector's for the `insert` and `contains` operations. CBloomFilter currently converts types such as CDataStream and uint256 to std::vector on `insert` and `contains`. This is unnecessary because CDataStreams and uint256 are already std::vectors internally. We just need a way to point to the right data within those types. Span gives us this ability. Signed-off-by: William Casarin <jb55@jb55.com>