Skip to content

backport: v0.26 bitcoin#27549, bitcoin#27425, bitcoin#23813, bitcoin#27892 - #67

Merged
DCG-Claude merged 4 commits into
developfrom
backport-0.26-b046-misc
Sep 23, 2026
Merged

DCG-Claude merged 4 commits into
developfrom
backport-0.26-b046-misc

Conversation

@DCG-Claude

@DCG-Claude DCG-Claude commented Sep 20, 2026 •

Copy link
Copy Markdown
Collaborator

Automated Bitcoin Core v0.26 backports, batch backport-0.26-b046-misc.

upstream commit gates notes
bitcoin#27549 2df79a67d3 pick:pass build:pass tests:pass mech:warn tree:pass verify:pass Backports bitcoin#27549 in full: the addrman fuzz target now picks an optional network (and an optional in_new flag) and
bitcoin#27425 ac38d42680 pick:pass build:pass tests:pass mech:warn tree:pass verify:pass Moves the remaining test randomness helpers (g_insecure_rand_ctx, Seed, SeedInsecureRand, SeedRand) from test/util/setup
bitcoin#23813 85dc207016 pick:pass build:pass tests:pass mech:warn tree:pass verify:pass Backports bitcoin#23813: adds the re-pruning note to the getblockfrompeer help text and extends rpc_getblockfrompeer.py
bitcoin#27892 746e548d38 pick:pass build:pass tests:pass mech:warn tree:pass verify:pass This backports bitcoin#27892 by replacing the TranslateArg overloads in src/util/translation.h with a lambda that retu
Provenance

Each commit passed: cherry-pick (adapted by an Opus lane only where conflicts existed), build, touched tests, a mechanical diff-of-diffs check (every upstream hunk landed; no added line without an upstream counterpart), and an independent Opus verification lane where anything was adapted. Gate rows and lane artifacts are in the backportsys DB.

@github-actions

Copy link
Copy Markdown

This pull request has conflicts, please rebase.

@DCG-Claude DCG-Claude changed the title backport: v0.26 bitcoin#26887, bitcoin#27549, bitcoin#27425, bitcoin#23813, bitcoin#27892 backport: v0.26 bitcoin#27549, bitcoin#27425, bitcoin#23813, bitcoin#27892 Sep 22, 2026
@DCG-Claude
DCG-Claude force-pushed the backport-0.26-b046-misc branch from b5f73de to 9561488 Compare September 22, 2026 05:21
@DCG-Claude

Copy link
Copy Markdown
Collaborator Author

Branch rewritten at 9561488e92 (4 backport(s)).


🤖 backportsys, on behalf of the Dash backport pipeline.

@DCG-Claude

Copy link
Copy Markdown
Collaborator Author

CI failed at 9561488 on thepastaclaw/dash: linux64_tsan-test / Test source

The quoted log ends at container/network cleanup and contains no failing test, assertion or ThreadSanitizer report, so it shows no evidence of a defect introduced here. None of the four commits touches threaded runtime code that linux64_tsan exercises: 27549 and 27425 are fuzz/test-harness only, 23813 is test plus docs, and 27892 is a pure bilingual_str formatting refactor that builds and passed the local gates. I read this as job/runner flakiness and suggest a rerun.


🤖 backportsys, on behalf of the Dash backport pipeline.

…in `Select()`, `Size()` and `GetAddr()`

35a2175 fuzz: addrman, add coverage for `network` field in `Select()`, `Size()` and `GetAddr()` (brunoerg)

Pull request description:

  This PR adds fuzz coverage for `network` field in `Select()`, `Size()` and `GetAddr()`, there was only call to them without passing a network.
  https://marcofalke.github.io/b-c-cov/fuzz.coverage/src/addrman.cpp.gcov.html

ACKs for top commit:
  amitiuttarwar:
    for the record, ACK 35a2175 - only small changes from the version (previously) proposed in 27213
  achow101:
    ACK 35a2175
  mzumsande:
    Code Review ACK 35a2175, haven't tested this yet, but I will let the fuzzer run for a while now.

Tree-SHA512: dddb8322298d6c373c8e68d57538470b11825a9a310a355828c351d5c0b19ff6779d024a800e3ea90126d0c050e86f71fd22cd23d1a306c784cef0f82c45e3ca

Dash adaptations:
- src/test/fuzz/addrman.cpp: Dash's AddrMan::GetAddr() takes an extra trailing `filtered` parameter not present upstream; upstream's `network` argument replaces `std::nullopt` in position 3 while the pre-existing `/*filtered=*/fuzzed_data_provider.ConsumeBool()` argument is retained (and its comment normalized to the `/*name=*/` style upstream uses on the lines it rewrote)
…ommon to util/random

1cd45d4 test: move random.h include header from setup_common.h to cpp (Jon Atack)
1b246fd test: move remaining random test util code from setup_common to random (jonatack)

Pull request description:

  and drop the `util/random` dependency on `util/setup_common`.  This improves code separation and allows `util/setup_common` to call `util/random` functions without creating a circular dependency, thereby addressing bitcoin#26940 (comment) by glozow (thanks!)

ACKs for top commit:
  MarcoFalke:
    lgtm ACK 1cd45d4 🌂

Tree-SHA512: 6ce63d9103ba9b04eebbd8ad02fe9aa79e356296533404034a1ae88e9b7ca0bc9a5c51fd754b71cf4e7b55b18bcd4d5474b2d588edee3851e3b3ce0e4d309a93

Dash adaptations:
- src/test/util/setup_common.h: upstream's hunk 1 context includes `#include <stdexcept>` + `#include <util/chaintype.h>` right after pubkey.h; Dash has no util/chaintype.h and already lists <stdexcept> in the C++-stdlib include block below, so only the intended `#include <random.h>` removal was applied
- src/test/util/setup_common.h: Dash's thread-safety doc comment on g_insecure_rand_ctx was a trimmed variant (no thread_local sentence); the moved copy now in test/util/random.h carries upstream's full wording, matching upstream's post-move state
- src/test/net_peer_connection_tests.cpp: added `#include <test/util/random.h>` — uses g_insecure_rand_ctx and got the declaration via setup_common.h; upstream's tree didn't need it at this commit because its <random.h>/setup_common.h include graph differed
- src/wallet/test/platformkeys_tests.cpp: Dash-only test using g_insecure_rand_ctx.rand256(); added `#include <test/util/random.h>` since setup_common.h no longer declares it

Replayed onto a newer base.

Dash adaptations:
- src/wallet/test/wallet_tests.cpp: kept the Dash-only #include <test/util/masternode.h> that the new base added at the same line upstream inserts <test/util/random.h>; both retained in alphabetical order
- src/test/net_peer_connection_tests.cpp: Dash-only call site not in the upstream commit; uses g_insecure_rand_ctx via setup_common.h, so it needs the new <test/util/random.h> include
- src/wallet/test/platformkeys_tests.cpp: Dash-only test file using InsecureRand helpers; given the same <test/util/random.h> include upstream added to its equivalents
- src/test/util/setup_common.h: Dash's copy of the g_insecure_rand_ctx doc comment had shorter wording than upstream's; the block moved to test/util/random.h uses upstream's full wording, matching the upstream destination text
- src/Makefile.test_util.include: test/util/random.cpp inserted after test/util/net.cpp, which in Dash follows the Dash-only test/util/masternode.cpp entry
fe329dc test: Add test for getblockfrompeer on pruned nodes (Fabian Jahr)
cd761e6 rpc: Add note on guarantees to getblockfrompeer (Fabian Jahr)

Pull request description:

  These are additions to `getblockfrompeer` that I already [suggested on the original PR](bitcoin#20295 (review)).

  The two commits do the following:
  1. Add a test for `getblockfrompeer` usage on pruned nodes. This is important because many use-cases for `getblockfrompeer` are in a context of a pruned node.
  2. Add some information on how long the users of pruned nodes can expect the block to be available after they have used the RPC. I think the behavior is not very intuitive for users and I would not be surprised if users expect the block to be available indefinitely.

ACKs for top commit:
  Sjors:
    re-utACK fe329dc
  MarcoFalke:
    review ACK fe329dc 🍉
  stratospher:
    ACK  fe329dc.
  brunoerg:
    re-ACK fe329dc

Tree-SHA512: a686bd8955d9c3baf365db384e497d6ee1aa9ce2fdb0733fe6150f7e3d94bae19d55bc1b347f1c9f619e749e18b41a52b9f8c0aa2042dd311a968a4b5d251fac
…tting, Fix ADL violation

fa8ef7d refactor: Avoid copy of bilingual_str when formatting, Fix ADL violation (MarcoFalke)

Pull request description:

  This refactor shouldn't change behavior, but may fix compile errors such as bitcoin#27862 (comment)

ACKs for top commit:
  achow101:
    ACK fa8ef7d
  ryanofsky:
    Code review ACK fa8ef7d. Looks great! Thanks for updating
  hebasto:
    ACK fa8ef7d, I have reviewed the code and it looks OK.

Tree-SHA512: 903019962f27b5432b8e3af052b472238ef68d3ee165148c9d2232bf290309075f9f17d8d06c9b5c7fddb89c1a9c3a4c09c6310af01e8561adc0244a30db0857
@DCG-Claude
DCG-Claude merged commit 06582cd into develop Sep 23, 2026
65 checks passed
@DCG-Claude

Copy link
Copy Markdown
Collaborator Author

merged as dashpay#7716

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant