35562 Commits

Author SHA1 Message Date
Hennadii Stepanov
43596499b2
ci: Switch to amd64 container in "ARM" task
Tee `arm_container` does not support 32-bit mode anymore.
See: https://github.com/bitcoin/bitcoin/issues/27879

Github-Pull: #27886
Rebased-From: 016fe6d8280768917081894dfca233c2f06e78d9
2023-10-02 16:49:14 +01:00
MarcoFalke
805f98b79a
ci: Nuke Android APK task, Use credits for tsan
Github-Pull: #27834
Rebased-From: fa22538e481fa2c4f0b5d6f91166335e60b67fe9
2023-10-02 13:05:51 +01:00
ismaelsadeeq
cb5512da23
test: ensure old fee_estimate.dat not read on restart and flushed
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
2023-09-26 16:26:55 +01:00
ismaelsadeeq
01f8ee48ef
tx fees, policy: read stale fee estimates with a regtest-only option
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
2023-09-26 16:26:55 +01:00
ismaelsadeeq
1c98029b39
tx fees, policy: do not read estimates of old fee_estimates.dat
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
2023-09-26 16:26:55 +01:00
ismaelsadeeq
77979e0172
tx fees, policy: periodically flush fee estimates to fee_estimates.dat
This reduces chances of having old estimates in fee_estimates.dat.

Github-Pull: #27622
Rebased-From: 5b886f2b436eaa8c2b7de58dc4644dc6223040da
2023-09-26 16:26:55 +01:00
Pieter Wuille
67b6d99aea
Do not use std::vector = {} to release memory
Github-Pull: #28452
Rebased-From: 3fcd7fc7ff563bdc0e2bba66b4cbe72d898c876e
2023-09-26 16:26:55 +01:00
MarcoFalke
defdc15023
ci: Use podman stop over podman kill
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
2023-09-26 16:26:55 +01:00
MarcoFalke
7f1357de51
ci: Use podman for persistent workers
Github-Pull: #27777
Rebased-From: fa123077bc3f39aa0969d883e2d799a054cd4543
2023-09-26 16:25:05 +01:00
MarcoFalke
0db69a3d50
ci: Prune dangling images on RESTART_CI_DOCKER_BEFORE_RUN
Github-Pull: #27777
Rebased-From: fa9c65a74cf18e9c75cd3472112d5197532ac2f2
2023-09-26 16:24:41 +01:00
fanquake
0df8f98d65
Merge bitcoin/bitcoin#28410: [24.x] depends: xcb-proto 1.15.2
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
2023-09-05 15:39:58 +01:00
fanquake
66b2b109eb
depends: xcb-proto 1.15.2
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
2023-09-05 12:42:16 +01:00
Andrew Chow
a537cb0b87
Merge bitcoin/bitcoin#27755: [24.x] rpc: Fix invalid bech32 handling
c2e9214effe9abecae6f81cb10158f9661065da3 rpc: Fix invalid bech32 handling (MarcoFalke)

Pull request description:

  Backports https://github.com/bitcoin/bitcoin/pull/27727 to 24.x. Not a clean cherry-pick.

ACKs for top commit:
  achow101:
    ACK c2e9214effe9abecae6f81cb10158f9661065da3
  stickies-v:
    ACK c2e9214effe9abecae6f81cb10158f9661065da3

Tree-SHA512: 8fd5b4c0016e9f30061e327b5f75320e4ed27b1a7b61eafabefe87d351ab13c970e969ea85b2f4cab44c1b0f28214ee7c5b85e3e0549345b57f1fa724e3c814c
2023-06-01 17:43:07 -04:00
MarcoFalke
c2e9214eff
rpc: Fix invalid bech32 handling
Github-Pull: #27727
Rebased-From: eeee55f9288740747b6e8d806ce8177fd92635cf
2023-05-25 15:13:32 +01:00
fanquake
3116ccd790
Merge bitcoin/bitcoin#27660: [24.1] Final Changes
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
v24.1
2023-05-16 10:27:30 +01:00
fanquake
89a5a416de
doc: update release notes for 24.1 2023-05-15 10:23:08 +01:00
fanquake
b36dff9fa8
doc: update manual pages for 24.1 2023-05-15 10:21:28 +01:00
fanquake
8af2d2f762
build: bump version to 24.1 final 2023-05-15 10:17:53 +01:00
fanquake
16ab124e5f
Merge bitcoin/bitcoin#27627: [24.x] qt: 24.1rc3 translations update
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
v24.1rc3
2023-05-11 16:19:58 +01:00
Andrew Chow
ac5b9f37de
Merge bitcoin/bitcoin#27614: [24.1] Backports for rc3
97f5e28830dfa5786cdc5df62e245e03fa393e19 doc: update release notes for 24.1rc3 (fanquake)
7e9c7ae810994bddd83b53ff5804b02345e4bc2f doc: update manual pages for v24.1rc3 (fanquake)
abb9fa0c81107b4db792ee10b93aed618a42684e build: bump version to v24.1rc3 (fanquake)
128da6e41fc2acc5bd1f4e2bddf2953f2fa62a68 net_processing: Boost inv trickle rate (Anthony Towns)
a9a861af2b4b1c0a17b8abda34cb741170e12d7d txmempool: have CompareDepthAndScore sort missing txs first (Anthony Towns)
ec7cd33c9c70af5903bf5dbf1056d42868de6f43 p2p: Avoid prematurely clearing download state for other peers (Suhas Daftuar)

Pull request description:

  Backports for rc3. Currently:
  * https://github.com/bitcoin/bitcoin/pull/27608
  * https://github.com/bitcoin/bitcoin/pull/27610

ACKs for top commit:
  josibake:
    ACK 97f5e28830
  dergoegge:
    ACK 97f5e28830dfa5786cdc5df62e245e03fa393e19
  achow101:
    ACK 97f5e28830dfa5786cdc5df62e245e03fa393e19
  glozow:
    ACK 97f5e28830dfa5786cdc5df62e245e03fa393e19
  brunoerg:
    ACK 97f5e28830dfa5786cdc5df62e245e03fa393e19
  hebasto:
    ACK 97f5e28830dfa5786cdc5df62e245e03fa393e19, commits were backported locally, got zero diff.

Tree-SHA512: 09572285ed1e8169d7e77d12ec438586dab54c86064de85d0e743564e601686f884bf74f2bf8ed1be73bddcd7db6da4277c6dd6b9732e7eca383e108f8f37d58
2023-05-11 10:57:23 -04:00
Hennadii Stepanov
a86b45cafa
qt: 24.1rc3 translations update 2023-05-11 15:38:27 +01:00
fanquake
97f5e28830
doc: update release notes for 24.1rc3 2023-05-11 14:24:20 +01:00
fanquake
7e9c7ae810
doc: update manual pages for v24.1rc3 2023-05-11 14:24:20 +01:00
fanquake
abb9fa0c81
build: bump version to v24.1rc3 2023-05-11 14:24:19 +01:00
Anthony Towns
128da6e41f
net_processing: Boost inv trickle rate
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
2023-05-11 14:24:19 +01:00
Anthony Towns
a9a861af2b
txmempool: have CompareDepthAndScore sort missing txs first
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
2023-05-11 14:24:19 +01:00
Suhas Daftuar
ec7cd33c9c
p2p: Avoid prematurely clearing download state for other peers
Github-Pull: #27608
Rebased-From: 52e52071e01f4e98d87a47e1d5f3c5c3cc6dbaf4
2023-05-11 14:23:45 +01:00
fanquake
36c15d7d5c
Merge bitcoin/bitcoin#27486: [24.1] Bump version to 24.1rc2
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
v24.1rc2
2023-04-19 09:19:49 +01:00
fanquake
03a16a1da0
doc: update release notes for 24.1rc2 2023-04-18 15:42:30 +01:00
fanquake
f344c66053
doc: update manual pages for v24.1rc2 2023-04-18 15:36:28 +01:00
fanquake
4451e89988
build: bump version to v24.1rc2 2023-04-18 15:31:44 +01:00
fanquake
15a24781d0
Merge bitcoin/bitcoin#27474: [24.x] Additional backports for 24.1
dc711fbd32653b09e196f72942106114a32353f4 doc: update 24.1 release notes (fanquake)
fc8c1a8deb80913ff353c878f494c9eaf28061c0 doc: fix/improve warning helps in {create,load,unload,restore}wallet (Jon Atack)
3a26b19df25ca99a9a58ae5398f6f423ac074368 bugfix: rest: avoid segfault for invalid URI (pablomartin4btc)
c40b1da2fd64bb10f120f85966b44f0d2bb315f8 depends: fix compiling bdb with clang-16 on aarch64 (fanquake)
0bac52d5cfaf1a3beb99b780ed7446e2faba877f Don't return OutputType::UNKNOWN in ParseOutputType (Pttn)

Pull request description:

  Backports:
  * https://github.com/bitcoin/bitcoin/pull/27279 (only f73782a9032a462a71569e9424db9bf9eeababf3)
  * https://github.com/bitcoin/bitcoin/pull/27462
  * https://github.com/bitcoin/bitcoin/pull/27468
  * https://github.com/bitcoin/bitcoin/pull/27473

ACKs for top commit:
  stickies-v:
    ACK dc711fbd32653b09e196f72942106114a32353f4
  hebasto:
    re-ACK dc711fbd32653b09e196f72942106114a32353f4
  jonatack:
    ACK dc711fbd32653b09e196f72942106114a32353f4

Tree-SHA512: 72c673be82689e3c3a1c2564a1fdd6afe0b357b7aa8bec9524fe6999804fbccf310da0b074e647af14b753e5e695024e268fe4f69aa58747f541f7f429ebede6
2023-04-18 15:28:33 +01:00
fanquake
dc711fbd32
doc: update 24.1 release notes 2023-04-18 12:14:05 +01:00
Jon Atack
fc8c1a8deb
doc: fix/improve warning helps in {create,load,unload,restore}wallet
- 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
2023-04-18 12:12:49 +01:00
pablomartin4btc
3a26b19df2
bugfix: rest: avoid segfault for invalid URI
`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
2023-04-18 11:43:59 +01:00
fanquake
c40b1da2fd
depends: fix compiling bdb with clang-16 on aarch64
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
2023-04-18 09:29:55 +01:00
Pttn
0bac52d5cf
Don't return OutputType::UNKNOWN in ParseOutputType
Fixes https://github.com/bitcoin/bitcoin/issues/27472

Signed-off-by: Pttn <28868425+Pttn@users.noreply.github.com>

Github-Pull: #27473
Rebased-From: 0d6383fda04a99726654945a737bbb1369e0e44a
2023-04-17 15:09:27 +01:00
fanquake
9e05de1d70
Merge bitcoin/bitcoin#27247: [24.x] Bump version to v24.1rc1
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
v24.1rc1
2023-03-13 15:47:43 +01:00
fanquake
47c4903923
Merge bitcoin/bitcoin#27251: [24.x] qt: 24.1rc1 translations update
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
2023-03-13 15:33:20 +01:00
Hennadii Stepanov
a2f8a839d9
qt: 24.1rc1 translations update 2023-03-13 10:00:47 +00:00
fanquake
932a609312
doc: add initial release notes for v24.1
Move historical 24.0.1 to doc/release-notes.
2023-03-12 17:21:49 +01:00
fanquake
cc4e3158c9
doc: update manual pages for v24.1rc1 2023-03-12 16:55:21 +01:00
fanquake
787affb9ea
doc: update version in bips.md to v24.1 2023-03-12 16:50:51 +01:00
fanquake
5077e02263
build: bump version to v24.1rc1 2023-03-12 16:50:46 +01:00
glozow
c8c85ca16e
Merge bitcoin/bitcoin#26878: [24.x] Backports
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
2023-02-27 18:09:31 +00:00
Andrew Chow
784a754aa4
wallet, rpc: Update migratewallet help text for encrypted wallets
Github-Pull: #26595
Rebased-From: 9486509be65f09174a0cb50a337cac58a0c09de4
2023-02-27 14:15:15 +00:00
Andrew Chow
debcfe313a
tests: Tests for migrating wallets by name, and providing passphrase
Github-Pull: #26595
Rebased-From: aaf02b5721a8b5d3d9280dc3146fa5e44ea671b6
2023-02-27 14:14:46 +00:00
Andrew Chow
ccc72fecd7
wallet: Be able to unlock the wallet for migration
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
2023-02-27 14:14:14 +00:00
Andrew Chow
50dd8b13df
rpc: Allow users to specify wallet name for migratewallet
Github-Pull: #26595
Rebased-From: 6bdbc5ff590de18dfb47c31190baad879f68fef7
2023-02-27 14:13:46 +00:00
Andrew Chow
648b06256d
wallet: Allow MigrateLegacyToDescriptor to take a wallet name
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
2023-02-27 14:13:13 +00:00