This commit adds tests to ensure that old fee_estimates.dat files
are not read and that fee_estimates are periodically flushed to the
fee_estimates.dat file.
Additionaly it tests the -regtestonly option -acceptstalefeeestimates.
Github-Pull: #27622
Rebased-From: d2b39e09bc6a5982fc5cf4b538b7fdb0e3cae576
If -acceptstalefeeestimates option is passed stale fee estimates can now
be read when operating in regtest environments.
Additionally, this commit updates all declarations of the CBlockPolicyEstimator
class to include a the second constructor variable.
Github-Pull: #27622
Rebased-From: cf219f29f3c5b41070eaab9a549a476f01990f3a
Old fee estimates could cause transactions to become stuck in the
mempool. This commit prevents the node from using stale estimates
from an old file.
Github-Pull: #27622
Rebased-From: 3eb241a141defa564c94cb95c5bbaf4c5bd9682e
This should avoid a race where the kill is not done when spinning up the
new container. podman stop waits 10 seconds by default.
Github-Pull: #27844
Rebased-From: faaa62754e84417baa917f20db379db78146687d
66b2b109ebed522817716f73f9490d62d3d9af04 depends: xcb-proto 1.15.2 (fanquake)
Pull request description:
Resolves build failures under Python 3.12, i.e building on rawhide:
```bash
make[3]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/bitcoin/depends/work/staging/aarch64-unknown-linux-gnu/xcb_proto/1.14.1-4a91ac9dc41/bitcoin/depends/aarch64-unknown-linux-gnu/lib/python3.12/site-packages/xcbgen'
/usr/bin/install -c -m 644 __init__.py error.py expr.py align.py matcher.py state.py xtypes.py '/bitcoin/depends/work/staging/aarch64-unknown-linux-gnu/xcb_proto/1.14.1-4a91ac9dc41/bitcoin/depends/aarch64-unknown-linux-gnu/lib/python3.12/site-packages/xcbgen'
Traceback (most recent call last):
File "<string>", line 2, in <module>
ModuleNotFoundError: No module named 'imp'
make[3]: *** [Makefile:271: install-pkgpythonPYTHON] Error 1
```
`imp` was removed in 3.12: https://docs.python.org/3/library/imp.html.
Github-Pull: #28097
Rebased-From: 7cb88c8b46723d306b96953a6a60c90a4ab211e3
Also being backported for 25.x in #28047.
ACKs for top commit:
hebasto:
ACK 66b2b109ebed522817716f73f9490d62d3d9af04
Tree-SHA512: 5364c5ced3004bc08a9c8f96e2b3abae3e31b3f0e7b1d10f83ff997f19b314d4d14c2a780ed02e793771c23091f8f02137cf7f5404627f2bd218c8726ae3228f
89a5a416deac060fed8c21d4381c8f59da4f4187 doc: update release notes for 24.1 (fanquake)
b36dff9fa8b14f6894d901e4fd8d413cbcb73f08 doc: update manual pages for 24.1 (fanquake)
8af2d2f7628c15af20f566aa29abc228ed32f845 build: bump version to 24.1 final (fanquake)
Pull request description:
Final changes for `v24.1`.
PR for bitcoincore.org is here: https://github.com/bitcoin-core/bitcoincore.org/pull/968.
ACKs for top commit:
josibake:
ACK 89a5a416de
hebasto:
ACK 89a5a416deac060fed8c21d4381c8f59da4f4187, I have reviewed the code and it looks OK.
stickies-v:
ACK 89a5a416deac060fed8c21d4381c8f59da4f4187
Tree-SHA512: 6eb7d30790b50cfc7232cf7c69b5c8b1fbb943cc715d275ff4d8c2ade93d82bf2bc659b82a06b8453e2e0382e9d375aee2c71d0fee44285f9eb8a029980a29d3
a86b45cafaabd8eb4957b84a0d70484a597eacc7 qt: 24.1rc3 translations update (Hennadii Stepanov)
Pull request description:
This PR pulls the recent translations from the [Transifex.com](https://www.transifex.com/bitcoin/bitcoin) using the [`bitcoin-maintainer-tools/update-translations.py`](https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/main/update-translations.py) tool.
According to our [Release Process docs](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-every-release-candidate), it is supposed to be merged before `v24.1rc3` tagging.
Will keep this PR updated regularly until merging.
The Dutch translation `bitcoin_nl.ts` has been damaged, therefore its changes were rejected manually.
ACKs for top commit:
jarolrod:
ACK a86b45cafaabd8eb4957b84a0d70484a597eacc7
Tree-SHA512: 64bdd4b1d2ec6d925d9972081492d33ebbab6a19cde1c2e5d1022c89f58390618be843de5bec3344b92dda54192352c86ab1e354001f638f32d961a09500576f
If transactions are being added to the mempool at a rate faster than 7tx/s
(INVENTORY_BROADCAST_PER_SECOND) then peers' inventory_to_send queue can
become relatively large. If this happens, increase the number of txids
we include in an INV message (normally capped at 35) by 5 for each 1000
txids in the queue.
This will tend to clear a temporary excess out reasonably quickly; an
excess of 4000 invs to send will be cleared down to 1000 in about 30
minutes, while an excess of 20000 invs would be cleared down to 1000 in
about 60 minutes.
Github-Pull: #27610
Rebased-From: 5b3406094f2679dfb3763de4414257268565b943
We use CompareDepthAndScore to choose an order of txs to inv. Rather
than sorting txs that have been evicted from the mempool at the end
of the list, sort them at the beginning so they are removed from
the queue immediately.
Github-Pull: #27610
Rebased-From: 228e9201efb5574b1b96bb924de1d2e8dd1317f3
03a16a1da09f45721c799c719e48350dfe12ae88 doc: update release notes for 24.1rc2 (fanquake)
f344c66053f1f1c24c0dac3ecc9570bea5c7fa0a doc: update manual pages for v24.1rc2 (fanquake)
4451e899881f2ae6b46c13ff87618d45a6fa982f build: bump version to v24.1rc2 (fanquake)
Pull request description:
rc1 (tagged > a month ago) was mostly a no-op, due to lack of binaries. While some are up now, [albeit at the wrong URL](https://bitcoincore.org/bin/bitcoin-24.1rc1/), there seems no point continuing the rc1 cycle, when we already have additional changes backported (#27474), and we've also received no bug reports/feedback from anyone who did test.
So bump the version, and cut an rc2.
ACKs for top commit:
achow101:
ACK 03a16a1da09f45721c799c719e48350dfe12ae88
gruve-p:
ACK 03a16a1da0
hebasto:
ACK 03a16a1da09f45721c799c719e48350dfe12ae88, I have reviewed the code and it looks OK.
Tree-SHA512: f49072149ecabb02b034b1c4d7319a80f93a8c7a29a2b7ec27dff0c257742d08d48fbf266399ce71769cec992902b7d53fc26bb5ffc8681728dc8685cbba25d9
- clarify that there can be multiple warning messages
- specify the correct wallet action
- describe the use of newlines as delimiters
Github-Pull: #27279
Rebased-From: f73782a9032a462a71569e9424db9bf9eeababf3
`evhttp_uri_parse` can return a nullptr, for example when the URI
contains invalid characters (e.g. "%").
`GetQueryParameterFromUri` passes the output of `evhttp_uri_parse`
straight into `evhttp_uri_get_query`, which means that anyone calling
a REST endpoint in which query parameters are used (e.g. `rest_headers`)
can cause a segfault.
This bugfix is designed to be minimal and without additional behaviour change.
Github-Pull: #27468
Rebased-From: 11422cc5720c8d73a87600de8fe8abb156db80dc
Compiling bdb with clang-16 on aarch64 (hardware) currently fails:
```bash
make -C depends/ bdb CC=clang CXX=clang++
...
checking for mutexes... UNIX/fcntl
configure: WARNING: NO SHARED LATCH IMPLEMENTATION FOUND FOR THIS PLATFORM.
configure: error: Unable to find a mutex implementation
```
Looking at config.log we've got:
```bash
configure:18704: checking for mutexes
configure:18815: clang -o conftest -pipe -std=c11 -O2 -Wno-error=implicit-function-declaration -Wno-error=format-security -I/bitcoin/depends/aarch64-unknown-linux-gnu/include -D_GNU_SOURCE -D_REENTRANT -L/bitcoin/depends/aarch64-unknown-linux-gnu/lib conftest.c -lpthread >&5
conftest.c:45:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
main() {
^
int
conftest.c:50:2: warning: call to undeclared library function 'exit' with type 'void (int) __attribute__((noreturn))'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
exit (
^
conftest.c:50:2: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'
1 warning and 1 error generated.
```
Clang-16 changed `-Wimplicit-function-declaration` and `-Wimplicit-int`
warnings into errors, see:
https://releases.llvm.org/16.0.0/tools/clang/docs/ReleaseNotes.html#potentially-breaking-changes.
> The -Wimplicit-function-declaration and -Wimplicit-int warnings now
> default to an error in C99, C11, and C17. As of C2x, support for implicit
> function declarations and implicit int has been removed, and the
> warning options will have no effect. Specifying -Wimplicit-int in
> C89 mode will now issue warnings instead of being a noop.
Github-Pull: #27462
Rebased-From: f8b8458276983f8fc1e2a47c4d00c1e30633067d
932a609312cb7b72bf5f23112763ab933a54389c doc: add initial release notes for v24.1 (fanquake)
cc4e3158c9e7840151fe7b6209ba5f7ea5f103c3 doc: update manual pages for v24.1rc1 (fanquake)
787affb9ea04651a682acf8d09342d6e843fdd0f doc: update version in bips.md to v24.1 (fanquake)
5077e02263cf47749583f22dc2bc609878d8290a build: bump version to v24.1rc1 (fanquake)
Pull request description:
Bump the version number to v24.1rc1.
Regenerate the man pages.
Update the version number in bips.md.
Move the v24.0.1 release notes to doc/release-notes.
Add initial release notes for v24.1.
Merged changes to the 24.x branch since v24.0.1:
- https://github.com/bitcoin/bitcoin/pull/26457
- https://github.com/bitcoin/bitcoin/pull/26735
- https://github.com/bitcoin/bitcoin/pull/26878
- https://github.com/bitcoin/bitcoin/pull/26880
ACKs for top commit:
achow101:
ACK 932a609312cb7b72bf5f23112763ab933a54389c
Tree-SHA512: b90fd7c8f22c8fb096864e47cb79eaf5878524739a3b5c1d495c8c196b70d08c7b95fbfb1dfcdddf507bd8a72a5d133ecbe6ae898bbe70931f404afd0807b707
a2f8a839d9b071f9c90ed5e3db2d30f90993992d qt: 24.1rc1 translations update (Hennadii Stepanov)
Pull request description:
This PR pulls the recent translations from the [Transifex.com](https://www.transifex.com/bitcoin/bitcoin) using the [`bitcoin-maintainer-tools/update-translations.py`](https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/main/update-translations.py) tool.
According to our [Release Process docs](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-every-release-candidate), it is supposed to be merged before `v24.1rc1` tagging (#27247).
Will keep this PR updated regularly until merging.
The Dutch translation `bitcoin_nl.ts` has been damaged, therefore its changes were rejected manually.
ACKs for top commit:
stickies-v:
I'm not familiar with the translations process and I couldn't verify that `bitcoin_nl.ts` is damaged, but if this constitutes sufficient review then ACK a2f8a839d9b071f9c90ed5e3db2d30f90993992d
Tree-SHA512: d914d158c4a4b62a2c37040f5cc0602ef749a7bf658af0e364a0d2cb52b802a00863496751cf3db42d74e8950c49969ee9dd03c5c3fee79860113389f36ee483
784a754aa47ce10c6fd99c09cdfc76ee9bc91652 wallet, rpc: Update migratewallet help text for encrypted wallets (Andrew Chow)
debcfe313a22fddc2a6247c55f3c7893f6134c05 tests: Tests for migrating wallets by name, and providing passphrase (Andrew Chow)
ccc72fecd7287471bf8c3858a4e6c2ddadb64863 wallet: Be able to unlock the wallet for migration (Andrew Chow)
50dd8b13dfc070b550680617e76eff1c09af3a58 rpc: Allow users to specify wallet name for migratewallet (Andrew Chow)
648b06256da65b4513977e351aabf3e5c06ce060 wallet: Allow MigrateLegacyToDescriptor to take a wallet name (Andrew Chow)
ab3bd457cdb5c5ee2626081d703d675c2573f28a i2p: use consistent number of tunnels with i2pd and Java I2P (Vasil Dimov)
29cdf42226c0983076701552b351f08351dd54a5 i2p: lower the number of tunnels for transient sessions (Vasil Dimov)
5027e93b6a1e5a5c87b9450c60e2a4572eb32653 i2p: reuse created I2P sessions if not used (Vasil Dimov)
a62c541ae8a579d19b8fc55bbb922f0939ab6110 wallet: reuse change dest when recreating TX with avoidpartialspends (Matthew Zipkin)
64e7db6f4f256656f4d78a96b07e51f7d5c6d526 Zero out wallet master key upon lock (John Moffett)
b7e242ecb3aa0074aea753e5bc9f8d22674e8294 Correctly limit overview transaction list (John Moffett)
cff67180b3ba9ab53e01d44769059aa5559c01f7 depends: fix systemtap download URL (fanquake)
7cf73dfed5757819c0a5485ae05e8e1a57528a0e Add missing includes to fix gcc-13 compile error (MarcoFalke)
07397cdedeffb4da0aedd454d4539d65a0204291 addrdb: Only call Serialize() once (Martin Zumsande)
91f83dbeb197fc0fff574d9e29b4560b1d236bec hash: add HashedSourceWriter (Martin Zumsande)
5c824ac5e1e35f77e323319849b03ac9d8cf45d3 For feebump, ignore abandoned descendant spends (John Moffett)
428dcd51e6adab564ffb87ed678317924868572f wallet: Skip rescanning if wallet is more recent than tip (Andrew Chow)
cbcdafa471da3d1edd183143ae9d433627ef16dd test: wallet: check that labels are migrated to watchonly wallet (Sebastian Falbesoner)
342abfb3f4368fcdb67f3002c5558d4106d9bf83 wallet: fully migrate address book entries for watchonly/solvable wallets (Sebastian Falbesoner)
Pull request description:
Backports:
* https://github.com/bitcoin/bitcoin/pull/26595
* https://github.com/bitcoin/bitcoin/pull/26675
* https://github.com/bitcoin/bitcoin/pull/26679
* https://github.com/bitcoin/bitcoin/pull/26761
* https://github.com/bitcoin/bitcoin/pull/26837
* https://github.com/bitcoin/bitcoin/pull/26909
* https://github.com/bitcoin/bitcoin/pull/26924
* https://github.com/bitcoin/bitcoin/pull/26944
* https://github.com/bitcoin-core/gui/pull/704
* https://github.com/bitcoin/bitcoin/pull/27053
* https://github.com/bitcoin/bitcoin/pull/27080
ACKs for top commit:
instagibbs:
ACK 784a754aa4
achow101:
ACK 784a754aa47ce10c6fd99c09cdfc76ee9bc91652
hebasto:
ACK 784a754aa47ce10c6fd99c09cdfc76ee9bc91652, I've made backporting locally and got a diff between my branch and this PR as follows:
Tree-SHA512: 8ea84aa02d7907ff1e202e1302b441ce9ed2198bf383620ad40056a5d7e8ea88e1047abef0b92d85648016bf9b3195c974be3806ccebd85bef4f85c326869e43
Since migration reloads the wallet, the wallet will always be locked
unless the passphrase is given. migratewallet can now take the
passphrase in order to unlock the wallet for migration.
Github-Pull: #26595
Rebased-From: 7fd125b27d48e410509f3009e2eb9fa5cd6729dd
An overload of MigrateLegacyToDescriptor is added which takes the wallet
name. The original that took a wallet pointer is still available, it
just gets the name, closes the wallet, and calls the new overload.
Github-Pull: #26595
Reabsed-From: dbfa34540372033d95036a02b7025ddd33f540aa