This mostly backports various commits that fix(ed) bugs and issues.
However, it also includes two patches for qt that only fix minor issues, as well as some doc patches.
This mostly backports various commits that fix(ed) bugs and issues.
However, it also includes two patches for qt that only fix minor issues, as well as some doc patches.
Github-Pull: #11017
Rebased-From: 03bc719a85cb4928cb4b43d0bc4142f72cb01b23
Uninitialized data potentially used in `rpc/blockchain.cpp`:
```
static UniValue BIP9SoftForkDesc(const Consensus::Params& consensusParams, Consensus::DeploymentPos id)
{
...
const ThresholdState thresholdState = VersionBitsTipState(consensusParams, id);
...
if (THRESHOLD_STARTED == thresholdState)
{
UniValue statsUV(UniValue::VOBJ);
BIP9Stats statsStruct = VersionBitsTipStatistics(consensusParams, id);
statsUV.push_back(Pair("period", statsStruct.period));
statsUV.push_back(Pair("threshold", statsStruct.threshold));
statsUV.push_back(Pair("elapsed", statsStruct.elapsed));
statsUV.push_back(Pair("count", statsStruct.count));
statsUV.push_back(Pair("possible", statsStruct.possible));
rv.push_back(Pair("statistics", statsUV));
}
...
return rv;
}
```
Github-Pull: #10957
Rebased-From: 3eb53b867153c957529484b5338d27e69de027c1
Use POSIX rename atomicity at the `bitcoind` side to create a working
cookie atomically:
- Write `.cookie.tmp`, close file
- Rename `.cookie.tmp` to `.cookie`
This avoids clients reading invalid/partial cookies as in #11129.
Github-Pull: #11131
Rebased-From: 82dd7195e1fb943f9cd45a48188f9678219c0206
CWallet::MarkConflicted may acquire the cs_main lock after
CWalletDB::LoadWallet acquires the cs_wallet lock during wallet initialization.
(CWalletDB::LoadWallet calls ReadKeyValue which calls CWallet::LoadToWallet
which calls CWallet::MarkConflicted). This is the opposite order that cs_main
and cs_wallet locks are acquired in the rest of the code, and so leads to
POTENTIAL DEADLOCK DETECTED errors if bitcoin is built with -DDEBUG_LOCKORDER.
This commit changes CWallet::LoadWallet (which calls CWalletDB::LoadWallet) to
acquire both locks in the standard order. It also fixes some tests that were
acquiring wallet and main locks out of order and failed with the new locking in
CWallet::LoadWallet.
Error was reported by Luke Dashjr <luke-jr@utopios.org> in
https://botbot.me/freenode/bitcoin-core-dev/msg/90244330/
Github-Pull: #11126
Rebased-From: de9a1db2ed14e0c75ffd82dc031f7ad30c56d195
Github-Pull: #11198
Rebased-From: 14ccd4d8d1847d64903224562ad3c7eb795b3781
(cherry picked from commit c41224dfd51c896341bbf2fa23e160bf5ffe27c3)
Github-Pull: #11247
Rebased-From: a1ea1cfbd8d4fc976f0ab2423d395e03ded6eedd
Github-Pull: #11237
Rebased-From: 3b69a08c53c2ef738f32c270fdacf1e4ed5a4c97
The first argument of estimatesmartfee was renamed from nblocks to
conf_target in 06bcdb8da64502a64df03f3c89fbc6ccb72cd349. Update the
client-side table as well.
Github-Pull: #11267
Rebased-From: 24697c40ee6739b812259140042d426c81179977
Github-Pull: #11267
Rebased-From: 5acd82de9ad6df8cab922da66d49b8ff2bd35439
Removes the extraneous custom fee radio group and its single radio
button. The radio button is replaced with a label that has the
radio button's text.
Github-Pull: #11334
Rebased-From: e53fa4a1ca58ef46416c4a96542722601fb75c5a
Fixes 3141
Github-Pull: #11015
Rebased-From: 7b137acedd5e2ff3fe5395a927c546a528b0cac6
Github-Pull: #11335
Rebased-From: 13baf7217bf8394ae02efc376208ae86eac4d0f6
Github-Pull: #11377
Rebased-From: 28d4542a0ac77a30a242d0568e580a5b437f53fa
In an abundance of caution this restores "Bitcoin Developers" to the COPYING file in
case there were contributors before that point in time that would object to the
current label. It's harmless and more pedantically correct.
[Change extracted from the Bitcoin-abc repository, commit message by gmaxwell]
Signed-off-by: Gregory Maxwell <greg@xiph.org>
Github-Pull: #11318
Rebased-From: d552ed678c2632bafeab695c639f5fe185dc9853
171@@ -169,4 +172,4 @@ void ModalOverlay::closeClicked()
172 {
173 showHide(true);
174 userClosed = true;
175-}
176+}
Replace witness-stripped wallet transactions with full transactions;
this can happen when upgrading from a pre-segwit wallet to a segwit-
aware wallet.
Github-Pull: #11225
Rebased-From: d01a9682b126a5f83c7311e652e6e62f2c2e1d20
Github-Pull: #11252
Rebased-From: b86a42077a134888c53bfd406b87bf0a39c78264
Writes the GUI settings to `guisettings.bak` in the data directory
before wiping them. This can be used to retroactively troubleshoot
issues (e.g. #11262) where `-resetguisettings` solves the problem.
Github-Pull: #11338
Rebased-From: 723aa1b8752c1d6c6c0a76059c532ebe2f406fc1
This should fix all the non-dependancy issues for termux builds.
See Github issue #11388.
Github-Pull: #11440
Rebased-From: 96c2ce9d343147608c197bc2333138b82141340f
Prevent arbitrary files from being overwritten. There have been reports
that users have overwritten wallet files this way. It may also avoid
other security issues.
Fixes #9934. Adds mention to release notes and adds a test.
Github-Pull: #9937
Rebased-From: 0cd9273fd959c6742574259d026039f7da0309a2
Github-Pull: #11437
Rebased-From: 4f890ba6bc8caba5394c7a5388d7f07959ced78b
Make the SOCKS code more consistent, and document the constants used.
Github-Pull: #11397
Rebased-From: 22f816ef4dd57785627d801c247714cace7fc5b5
Github-Pull: #11437
Rebased-From: 696ce46306e40f48dc4b2d7010812d564a43289d
Fixes #11462. Updated documentation for importprivkey function to use the correct name for the first argument.
Also updates a call to importprivkey to use named args in functional test.
Github-Pull: #11465
Rebased-From: aa57590d7c5eab1df5443e8ac9ed53ad0db46c02
Github-Pull: #11483
Rebased-From: a44a215177ab55b4a3b36a7980c313e908e2dd18