fb9baded74 doc: integrate release notes from #16639 (fanquake)
Pull request description:
This uses the wording from the release-notes currently [in master](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes.md#wallet).
ACKs for top commit:
laanwj:
ACK fb9baded74
Tree-SHA512: 1a8938c01cba2605ad3d8f6219499d118bf944ff354858e10e4ba55ea0dfd212f3104f38e21cb57e6dc891480775c972a4156f91a7572acc579e89fce35c912d
0e7c7465bf wallet: Fix -maxtxfee check by moving it to CWallet::CreateTransaction (João Barbosa)
e9adb96f88 [wallet] abort when attempting to fund a transaction above maxtxfee (Sjors Provoost)
Pull request description:
Backport #16257.
Cherry-picked from the 0.18 backport in #16414, but without the [wip] messages and without the last commit (which adds a test in a file that didn't exist in 0.17).
ACKs for top commit:
laanwj:
ACK 0e7c7465bf
Tree-SHA512: a0fd603518487854be0b3815f34a8dabd2ed258850c032b08894a7c55cb135df5d3c103f76c5294e8065fec6d610e064acf01d24c77f02eaf996698a1e45d512
Translations for 0.17 have been closed. Pick up the last version
from transifex for 0.17.2.
Tree-SHA512: 3bc3d55fa5b4a5d0f73481cdf0470ac766c153ab0535f60a36780c63acbec56656850a94fb6e02dbca4485b2ef7c5130cd9c58109a4b72870221b91b372be9a3
b30b7134a2 [0.17.2] Fix translations (GChuf)
Pull request description:
Delete bitcoin_si.ts because it was in another language
Fix 3 bitcoin_fr.ts translations
ACKs for top commit:
laanwj:
ACK b30b7134a2
Tree-SHA512: dbc2ec20637b557732dcb58f715b3151f9eec723fab991f9b6c6b79b8ad6e864f5d9d4aa05b8184d769e02b6cf6edc485daf4e6d6f94d4e90c6dd43cfd06a8eb
0bd04c5dd4 doc: update release notes for 0.17.2 (fanquake)
6b42df88ce qt: 0.17.2 translation update (fanquake)
c56c9ad721 doc: update manpages for 0.17.2 (fanquake)
b4472f502c build: bump version to 0.17.2 (fanquake)
Pull request description:
Initial preparations for a 0.17.2 release. Needs a look over by laanwj (especially translations). Also need to check that everyone that should be included in the release notes has been included.
#15445 is the last open [0.17.2 milestone](https://github.com/bitcoin/bitcoin/issues?q=is%3Aopen+is%3Apr+milestone%3A0.17.2) tagged PR. I'm not sure that it's a requirement though.
ACKs for top commit:
laanwj:
ACK 0bd04c5dd4
Tree-SHA512: b9017b2372f13188b69d90b3c08ce24abefff55afcbdadd405e47de4c1ba33add90b14222e773f5baa661027703a5285c30a463ff76f35a9b83e0d029f65bdbc
FundTransaction calls GetMinimumFee which, when the fee rate is absurdly high, quietly reduced the fee to -maxtxfee. Becaue an absurdly high fee rate is usually the result of a fat finger, aborting seems safer behavior.
Github-Pull: #16257
Rebased-From: 806b0052c3
b5a4abeca2 Add test for GCC bug 90348 (Pieter Wuille)
05fb9f7fbb build with -fstack-reuse=none (MarcoFalke)
Pull request description:
Backports:
* [build with -fstack-reuse=none](https://github.com/bitcoin/bitcoin/pull/15983)
* [Add test for GCC bug 90348](https://github.com/bitcoin/bitcoin/pull/15985)
b5a4abeca2 has been modified to replace the `setup_common.h` with `test_bitcoin.h` include.
ACKs for commit b5a4ab:
Empact:
ACK b5a4abeca2 by review of the linked PRs, the GCC bug and option, and visual inspection/comparison of the ported code
laanwj:
Code review + relevancy for backport ACK b5a4abeca2
Tree-SHA512: cdfdc6e2f208e8dc6a8a86cd7a7ed0f2a6f96604a0663efc970f580f693c1975353341fa8434b23de3cb681e03c6918e3342178752ed595d16a0ec50db913266
fe95f84542 qa: Test .walletlock file is closed (João Barbosa)
2e9e904a5d wallet: Close wallet env lock file (João Barbosa)
22cdb6cf59 wallet: Close dbenv error file db.log (João Barbosa)
f20513bd71 Tests: add unit tests for GetWalletEnv (Pierre Rochard)
85c6263ddb Trivial: add doxygen-compatible comments relating to BerkeleyEnvironment (Pierre Rochard)
f22d02f537 Free BerkeleyEnvironment instances when not in use (Russell Yanofsky)
0a9af2d4cb wallet: Create IsDatabaseLoaded function (Chun Kuan Lee)
7751ea37b6 Refactor: Move m_db pointers into BerkeleyDatabase (Russell Yanofsky)
caf1146b13 wallet: Add trailing wallet.dat when detecting duplicate wallet if it's a directory. (Chun Kuan Lee)
34da2b7c76 tests: add test case for loading copied wallet twice (Chun Kuan Lee)
8965b6ab47 wallet: Fix duplicate fileid (Chun Kuan Lee)
16e5759455 wallet: Refactor to use WalletLocation (João Barbosa)
21693ff0b7 wallet: Add WalletLocation utility class (João Barbosa)
1c98a758d0 No longer shutdown after encrypting the wallet (Andrew Chow)
435df68c62 Move BerkeleyEnvironment deletion from internal method to callsite (Andrew Chow)
048fda2a66 After encrypting the wallet, reload the database environment (Andrew Chow)
f455979eb1 Add function to close all Db's and reload the databae environment (Andrew Chow)
Pull request description:
This PR backports the following pull requests:
- #12493 [wallet] Reopen CDBEnv after encryption instead of shutting down
- #14350 Add WalletLocation class
- #14320 [bugfix] wallet: Fix duplicate fileid detection
- #14552 wallet: detecting duplicate wallet by comparing the db filename.
- #11911 Free BerkeleyEnvironment instances when not in use
- #15297 wallet: Releases dangling files on BerkeleyEnvironment::Close
Tree-SHA512: 52d759bc4f140ca96e39b37746cc20e786741b08ddc658a87ea77fbcfbb481f1c7b75aba4fc57ca9bca8ca7154e535da1fdd650fd114873655cd85c490c79f14
Instead of adding BerkeleyEnvironment objects permanently to the g_dbenvs map,
use reference counted shared pointers and remove map entries when the last
BerkeleyEnvironment reference goes out of scope.
This change was requested by Matt Corallo <git@bluematt.me> and makes code that
sets up mock databases cleaner. The mock database environment will now go out
of scope and be reset on destruction so there is no need to call
BerkeleyEnvironment::Reset() during wallet construction to clear out prior
state.
This change does affect bitcoin behavior slightly. On startup, instead of same
wallet environments staying open throughout VerifyWallets() and OpenWallets()
calls, VerifyWallets() will open and close an environment once for each wallet,
and OpenWallets() will create its own environment(s) later.
Github-Pull: #11911
Rebased-From: f1f4bb7
This is a refactoring change that doesn't affect behavior. The motivation
behind the change is give BerkeleyEnvironment objects access to
BerkeleyDatabase objects so it will be possible to simplify the duplicate
wallet check and more reliably avoid opening the same databases twice.
Github-Pull: #14552
Rebased-From: c456fbd
Since the database environment is flushed, closed, and reopened during
EncryptWallet, there is no need to shut down the software anymore.
Github-Pull: #12493
Rebased-From: c1dde3a
Calls ReloadDbEnv after encrypting the wallet so that the database
environment is flushed, closed, and reopened to prevent unencrypted
keys from being saved on disk.
Github-Pull: #12493
Rebased-From: d7637c5
Adds a ReloadDbEnv function to BerkeleyEnvironment in order to close all Db
instances, closes the environment, resets it, and then reopens
the BerkeleyEnvironment.
Also adds a ReloadDbEnv function to BerkeleyDatabase that calls
BerkeleyEnvironment's ReloadDbEnv.
Github-Pull: #12493
Rebased-From: 5d296ac
807add9f5d [0.17] [Doc] Backport release note about PSBT doc (David A. Harding)
Pull request description:
#15314 removes a release note from master for a doc that is backported to 0.17. This adds the note to the 0.17 branch. The only difference in the text is that the `master` in the URL has been changed to `0.17`.
Tree-SHA512: b81af561ad6cf608e3b957d7c50fe6d9b0818cfbd16313599d6dadb4b60e9e3345fef949c4e2ed16cdecfd62201e3e099907f1510e4d16a9f33625163c84c5a2
0cd9ad208c rpc: Make unloadwallet wait for complete wallet unload (João Barbosa)
Pull request description:
#14941 makes `unloadwallet` a synchronous call meaning that it waits for the wallet to fully unload/delete.
Tree-SHA512: df7a490306ee2cca399129a4ebfba4b19b65fe67d1657ec3518352fe453327cb347010f94cf7fe4a60aeb51c928cb9ad6b24c40123fd0b9dc0aab5920a59f48d
c42f4177ce Remove errant past from walletcreatefundedpsbt for nLocktime replaceability (Gregory Sanders)
Pull request description:
Backports #15213 to the 0.17 branch.
Tree-SHA512: f676e0b510b3ae76bf2ae46c7be289837a6d0152972c551ad6a837aab57ec74ee529c309163c8b7e3df446c2f30f148e920702dc31504cc239f99ad4a4607114
59dd855d2d gui: Fix for Incorrect application name when passing -regtest (Ben Carman)
Pull request description:
Changes the application name to `Bitcoin-Qt-regtest` when instead of `Bitcoin-Qt-testnet`
Fixes#15079
Tree-SHA512: 96a8ee5b1906e81f087b3523a59b0d66a9ac0d0cfeb3b48c0762bcac6048c4c17998fc2bf83cff866aacd24f1860c578a2d93baa61e8c2638d265b30f8c2470a
27beb83222 qt: All tray menu actions call showNormalIfMinimized (João Barbosa)
c470bbd19d qt: Use GUIUtil::bringToFront where possible (João Barbosa)
ac73c7d433 qt: Add GUIUtil::bringToFront (João Barbosa)
0c2fb87dc1 Remove obj_c for macOS Dock icon menu (Hennadii Stepanov)
90347141bd Use Qt signal for macOS Dock icon click event (Hennadii Stepanov)
4d4bc37df9 Remove obj_c for macOS Dock icon setting (Hennadii Stepanov)
d2ed162ce0 Clean systray icon menu for -disablewallet mode (Hennadii Stepanov)
298dc15686 gui: Favor macOS show / hide action in dock menu (João Barbosa)
Pull request description:
Backport #14123#14133#14383 and #14597 to 0.17 branch to fix https://github.com/bitcoin/bitcoin/issues/13606#issuecomment-449846983.
Tree-SHA512: 543c80e7e2130870e801e0c9a69b06b9eea27c288478fc5dddeb662f7f3ec5b56b30916e5a9a629fced3fffcb8be77e2cd155e75cfd0a4392299add9730840f4