Skip to content

backport: Merge bitcoin#28523, 26638, 28976, (scripted-diff) 27822#7358

Draft
vijaydasmp wants to merge 4 commits into
dashpay:developfrom
vijaydasmp:June_2026_4
Draft

backport: Merge bitcoin#28523, 26638, 28976, (scripted-diff) 27822#7358
vijaydasmp wants to merge 4 commits into
dashpay:developfrom
vijaydasmp:June_2026_4

Conversation

@vijaydasmp

Copy link
Copy Markdown

bitcoin backports

@github-actions

github-actions Bot commented Jun 12, 2026

Copy link
Copy Markdown

⚠️ Potential Merge Conflicts Detected

This PR has potential conflicts with the following open PRs:

Please coordinate with the authors of these PRs to avoid merge conflicts.

@vijaydasmp vijaydasmp changed the title backport: Merge bitcoin#28523 backport: Merge bitcoin#28523, 26638, 28976, 26289 Jun 13, 2026
achow101 and others added 3 commits June 14, 2026 07:28
…n table entries

352d5eb test: getrawaddrman RPC (0xb10c)
da384a2 rpc: getrawaddrman for addrman entries (0xb10c)

Pull request description:

  Inspired by `getaddrmaninfo` (bitcoin#27511), this adds a hidden/test-only `getrawaddrman` RPC. The RPC returns information on all addresses in the address manager new and tried tables. Addrman table contents can be used in tests and during development.

  The RPC result encodes the `bucket` and `position`, the internal location of addresses in the tables, in the address object's string key. This allows users to choose to consume or to ignore the location information. If the internals of the address manager implementation change, the location encoding might change too.

  ```
  getrawaddrman

  EXPERIMENTAL warning: this call may be changed in future releases.

  Returns information on all address manager entries for the new and tried tables.

  Result:
  {                                  (json object)
    "table" : {                      (json object) buckets with addresses in the address manager table ( new, tried )
      "bucket/position" : {          (json object) the location in the address manager table (<bucket>/<position>)
        "address" : "str",           (string) The address of the node
        "port" : n,                  (numeric) The port number of the node
        "network" : "str",           (string) The network (ipv4, ipv6, onion, i2p, cjdns) of the address
        "services" : n,              (numeric) The services offered by the node
        "time" : xxx,                (numeric) The UNIX epoch time when the node was last seen
        "source" : "str",            (string) The address that relayed the address to us
        "source_network" : "str"     (string) The network (ipv4, ipv6, onion, i2p, cjdns) of the source address
      },
      ...
    },
    ...
  }

  Examples:
  > bitcoin-cli getrawaddrman
  > curl --user myusername --data-binary '{"jsonrpc": "1.0", "id": "curltest", "method": "getrawaddrman", "params": []}' -H 'content-type: text/plain;' http://127.0.0.1:8332/
  ```

ACKs for top commit:
  willcl-ark:
    reACK 352d5eb
  amitiuttarwar:
    reACK 352d5eb
  stratospher:
    reACK 352d5eb.
  achow101:
    ACK 352d5eb

Tree-SHA512: cc462666b5c709617c66b0e3e9a17c4c81e9e295f91bdd9572492d1cb6466fc9b6d48ee805ebe82f9f16010798370effe5c8f4db15065b8c7c0d8637675d615e
17554ef test: prefer sqlite for wallet tests (S3RK)
8e0faba test: make wallet_migration.py pass with both wallet flags (S3RK)

Pull request description:

  Fixes bitcoin#26511

ACKs for top commit:
  MarcoFalke:
    review ACK 17554ef
  achow101:
    ACK 17554ef

Tree-SHA512: 97cae275998f07032feffe1b533d4747b8ff03c3c1fb830af69ee38cadb75fd58532956f66f79c0d275b00620ce53b0b5240f885e4f29b8bd4d0b6e6cbc683fa
c11c404 tests: Test migration of blank wallets (Andrew Chow)
563b2a6 wallet: Better error message when missing LegacySPKM during migration (Andrew Chow)
b1d2c77 wallet: Check for descriptors flag before migration (Andrew Chow)
8c127ff wallet: Skip key and script migration for blank wallets (Andrew Chow)

Pull request description:

  Blank wallets (wallets without any keys are scripts) are being detected as already being descriptor wallets even though they are not. This is because the check for whether a wallet is already a descriptor wallet uses the presence of a `LegacyScriptPubKeyMan` which is only setup when keys or scripts are found. This PR resolves this issue by checking for the descriptor wallet flag instead and subsequently skipping the keys and scripts part of migration for blank wallets.

  Fixes the issue mentioned in bitcoin#28868 (comment)

ACKs for top commit:
  furszy:
    reACK c11c404. CI failure is unrelated.
  ryanofsky:
    Code review ACK c11c404

Tree-SHA512: 2466fdf1542eb8489c841253191f85dc88365493f0bb3395b67dee3e43709a9993c68b9d7623657b54b779adbe68fc81962d60efef4802c5d461f154167af7f4
@vijaydasmp vijaydasmp force-pushed the June_2026_4 branch 2 times, most recently from 236ba33 to 9d9ed5a Compare June 14, 2026 04:33
@vijaydasmp vijaydasmp changed the title backport: Merge bitcoin#28523, 26638, 28976, 26289 backport: Merge bitcoin#28523, 26638, 28976, (scripted-diff) 27822 Jun 14, 2026
…alue::pushKVEnd

-BEGIN VERIFY SCRIPT-
s() { git grep -l "$1" src | xargs sed -i "s/$1/$2/g"; }

s '__pushKV' 'pushKVEnd'
s '_EraseTx' 'EraseTxNoLock'
s '_Other' 'Other'
-END VERIFY SCRIPT-
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.

3 participants