Skip to content

backport: Merge bitcoin/bitcoin#28136, 27581, 18919, 25634, 25284, 27829 - #7121

Merged
PastaPastaPasta merged 4 commits into
dashpay:developfrom
vijaydasmp:Feb_2026_01
Mar 31, 2026
Merged

backport: Merge bitcoin/bitcoin#28136, 27581, 18919, 25634, 25284, 27829#7121
PastaPastaPasta merged 4 commits into
dashpay:developfrom
vijaydasmp:Feb_2026_01

Conversation

@vijaydasmp

Copy link
Copy Markdown

Backports

@github-actions

github-actionsBot commented Jan 31, 2026

Copy link
Copy Markdown

✅ No Merge Conflicts Detected

This PR currently has no conflicts with other open PRs.

@vijaydasmp
vijaydasmpforce-pushed the Feb_2026_01 branch 11 times, most recently from 782715c to 5332bceCompareFebruary 4, 2026 13:56
@github-actions

Copy link
Copy Markdown

This pull request has conflicts, please rebase.

@github-actions

Copy link
Copy Markdown

This pull request has conflicts, please rebase.

@vijaydasmpvijaydasmp changed the title backport: Merge bitcoin/bitcoin#28136, 27581, 18919, 25634, 25284, 24957backport: Merge bitcoin/bitcoin#28136, 27581, 18919, 25634, 25284, 27829Feb 26, 2026
fanquakeand others added 4 commits February 26, 2026 17:09
fa20f89 test: Add gettransaction test for "coin-join" tx (MarcoFalke)
Pull request description:
ACKs for top commit:
furszy:
utACK fa20f89
Tree-SHA512: 6e92455ef478d6bf2c544910402be9046698ded66f1f68d5fe5b989aafc20ba0537d362331e0e653595bca553166f6197fe548bdd0bcf295743775b8afb663a1
3ea54e5 net: Add continuous ASMap health check logging (Fabian Jahr)
28d7e55 test: Add tests for unfiltered GetAddr usage (Fabian Jahr)
b8843d3 fuzz: Let fuzzers use filter options in GetAddr/GetAddresses (Fabian Jahr)
e16f420 net: Optionally include terrible addresses in GetAddr results (Fabian Jahr)
Pull request description:
There are certain statistics we can collect by running all our known clearnet addresses against the ASMap file. This could show issues with a maliciously manipulated file or with an old file that has decayed with time.
This is just a proof of concept for now. My idea currently is to run the analysis once per day and print the results to logs if an ASMap file is used.
ACKs for top commit:
achow101:
ACK 3ea54e5
mzumsande:
ACK 3ea54e5
brunoerg:
crACK 3ea54e5
Tree-SHA512: 777acbfac43cc43ce4a0a3612434e4ddbc65f59ae8ffc9e24f21de09011bccb297f0599cbaa82bcf40ef68e5af582c4e98556379db7ceff7d9f97574a1cf8e09
…,cpp} to rpc/net.cpp
bbb68ff refactor: drop protocol.h include header in rpc/util.h (Jon Atack)
1dd62c5 refactor: move GetServicesNames from rpc/util.{h,cpp} to rpc/net.cpp (Jon Atack)
Pull request description:
Move `GetServicesNames()` from `rpc/util` to `rpc/net.cpp`, as it is only called from that compilation unit and there is no reason for other ones to need it.
Remove the `protocol.h` include in `rpc/util.h`, as it was only needed for `GetServicesNames()`, drop an unneeded forward declaration (the other IWYU suggestions would require more extensive changes in other files), and add 3 already-missing include headers in other translation units that are needed to compile without `protocol.h` in `rpc/util.h`, as `protocol.h` includes `netaddress.h`, which in turn includes `util/strencodings.h`.
ACKs for top commit:
kevkevinpal:
lgtm ACK [bbb68ff](bitcoin@bbb68ff)
ns-xvrn:
ACK bbb68ff
achow101:
ACK bbb68ff
Tree-SHA512: fcbe195874dd4aa9e86548685b6b28595a2c46f9869b79b6e2b3835f76b49cab4bef6a59c8ad6428063a41b7bb6f687229b06ea614fbd103e0531104af7de55d
27b168b Update help text for spend and rawtransaction rpcs (Michael Tidwell)
Pull request description:
The "data" field without outputs was marked as "required" in the help docs when using bitcoin-cli. This field when left off worked as an intended optional OP_RETURN. closesbitcoin#27828.
Motivation: It is hard to understand that "data" is actually optional for commands like `createpsbt` and `walletcreatefundedpsbt`.
ACKs for top commit:
achow101:
ACK 27b168b
Sjors:
tACK 27b168b
Tree-SHA512: 235e7ed4af69880880c04015b3f7de72c8f31ae035485c4c64c483e282948f3ea3f1eef16f15e260a1aaf21114150713516ba6a99967ccad9ecd91ff67cb0450
@vijaydasmp
vijaydasmp marked this pull request as ready for review February 27, 2026 02:19
@coderabbitai

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8c0f42a and b39ec50.

📒 Files selected for processing (20)
  • src/addrman.cpp
  • src/addrman.h
  • src/addrman_impl.h
  • src/httprpc.cpp
  • src/net.cpp
  • src/net.h
  • src/netgroup.cpp
  • src/netgroup.h
  • src/rest.cpp
  • src/rpc/mempool.cpp
  • src/rpc/net.cpp
  • src/rpc/rawtransaction.cpp
  • src/rpc/util.cpp
  • src/rpc/util.h
  • src/test/addrman_tests.cpp
  • src/test/fuzz/addrman.cpp
  • src/test/fuzz/connman.cpp
  • src/wallet/rpc/spend.cpp
  • test/functional/feature_asmap.py
  • test/functional/wallet_listtransactions.py
💤 Files with no reviewable changes (2)
  • src/rpc/util.cpp
  • src/rpc/util.h

Walkthrough

This pull request introduces a filtered parameter to address retrieval methods across the address manager and network connection interfaces, enabling callers to optionally disable filtering of "terrible" addresses. It adds ASMap health check functionality that validates ASMap effectiveness by collecting and analyzing address-to-ASN mappings during startup. The PR also relocates the GetServicesNames helper function from rpc/util to rpc/net to consolidate service-related RPC utilities. Additional changes include RPC documentation refinements, new include directives, and test cases validating unfiltered address retrieval and ASMap health check behavior.

Sequence Diagram(s)

sequenceDiagram
participant Startup as Startup Process
participant Connman as CConnman
participant AddrMan as AddrMan
participant NetGroup as NetGroupManager
participant Log as Debug Log
Startup->>Connman: Initialize (if ASMap enabled)
Connman->>Connman: Schedule ASMapHealthCheck
Connman->>Connman: ASMapHealthCheck()
Connman->>AddrMan: GetAddresses(IPv4, filtered=false)
AddrMan-->>Connman: addresses (including terrible)
Connman->>AddrMan: GetAddresses(IPv6, filtered=false)
AddrMan-->>Connman: addresses (including terrible)
Connman->>NetGroup: ASMapHealthCheck(clearnet_addrs)
NetGroup->>NetGroup: Map each address to ASN
NetGroup->>NetGroup: Count unmapped, collect ASNs
NetGroup->>Log: Log health summary
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 11.11% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check❓ InconclusiveThe description 'Backports' is very minimal and generic, using a non-descriptive term that conveys no meaningful information about which specific changes or features are being backported or what their purposes are.Expand the description to identify key changes being backported, such as ASMap health checks, address filtering logic, and RPC refactoring, to give reviewers context.
✅ Passed checks (1 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly references specific Bitcoin upstream PRs (#28136, 27581, 18919, 25634, 25284, 27829) being backported, which matches the diverse changes across address management, ASMap health checks, RPC refactoring, and test additions.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@vijaydasmp

vijaydasmp commented Mar 9, 2026

Copy link
Copy Markdown
Author

Hello @knst@UdjinM6 , requesting review

@UdjinM6UdjinM6 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK b39ec50

@thepastaclaw

thepastaclaw commented Mar 30, 2026

Copy link
Copy Markdown

Review Gate

Commit: b39ec50f

  • Debounce: 46270m ago (need 30m)

  • CI checks: check(s) failed

  • CodeRabbit review: comment found

  • Run review now (check to override)

@PastaPastaPasta
PastaPastaPasta merged commit 8fefedb into dashpay:developMar 31, 2026
43 of 44 checks passed
@UdjinM6UdjinM6 added this to the 24 milestone Mar 31, 2026
Sign up for freeto 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.

6 participants

@vijaydasmp@thepastaclaw@UdjinM6@PastaPastaPasta@fanquake@achow101