{
 "number": 35072,
 "repo": "bitcoin/bitcoin",
 "url": "https://github.com/bitcoin/bitcoin/pull/35072",
 "title": "cmake: Remove optional definitions from `bitcoin-build-config.h`",
 "author": "hebasto",
 "author_association": "MEMBER",
 "created_at": "2026-04-14T17:33:08Z",
 "updated_at": "2026-08-26T00:34:52Z",
 "age_days": 155,
 "draft": true,
 "labels": [
  "Build system",
  "Needs rebase",
  "CI failed"
 ],
 "milestone": null,
 "base": "master",
 "head_sha": "04a1ea66868287fa2d9083ace62457175ee12c1c",
 "head_ref": "260414-sans-gui-config",
 "head_repo": "hebasto/bitcoin",
 "head_history": [
  {
   "t": "2026-04-19T15:51:23Z",
   "sha": "5fe2f57102e1f43543f2470dec0e27408df808a0"
  },
  {
   "t": "2026-04-19T17:16:02Z",
   "sha": "e1e6d0239523768cfccca698a738cfe0a47245a2"
  },
  {
   "t": "2026-04-24T14:27:06Z",
   "sha": "71c4aef7d038dd05e8bd1299a2ed520d6abf52f7"
  },
  {
   "t": "2026-04-24T14:37:11Z",
   "sha": "a75142abd9fd3de595afea801f8c5331ce64292e"
  },
  {
   "t": "2026-04-24T14:51:43Z",
   "sha": "138a4c583aad2559926abb7fea2adea9a3adb3b4"
  },
  {
   "t": "2026-05-28T14:13:12Z",
   "sha": "dc09b15722c1c5c71db00e2d614d9ec61d6511ae"
  },
  {
   "t": "2026-05-29T07:58:40Z",
   "sha": "04a1ea66868287fa2d9083ace62457175ee12c1c"
  }
 ],
 "additions": 12,
 "deletions": 61,
 "changed_files": 25,
 "commit_count": 5,
 "size_bucket": "S",
 "mergeable_state": "dirty",
 "bot": {
  "drahtbot": {
   "present": true,
   "reviews": {
    "concept_nack": [
     {
      "login": "fanquake",
      "url": "https://github.com/bitcoin/bitcoin/pull/35072#issuecomment-4508328315"
     }
    ],
    "stale_ack": [
     {
      "login": "BrandonOdiwuor",
      "url": "https://github.com/bitcoin/bitcoin/pull/35072#pullrequestreview-4127614626"
     }
    ]
   },
   "conflicts": [
    {
     "number": 35011,
     "title": "ci, iwyu: Fix warnings in `src/script` and treat them as errors",
     "author": "BrandonOdiwuor"
    },
    {
     "number": 33828,
     "title": "Check required interfaces before generating manpages",
     "author": "151henry151"
    }
   ]
  }
 },
 "acks_parsed": {
  "BrandonOdiwuor": {
   "kind": "ack",
   "hash": "9f65a7a4942c1addf3efed47a64a54b0889215bf",
   "t": "2026-04-17T09:31:32Z",
   "stale": true
  },
  "fanquake": {
   "kind": "concept_nack",
   "hash": null,
   "t": "2026-05-21T12:38:29Z",
   "stale": false
  }
 },
 "acks_tally": {
  "ack": 0,
  "stale_ack": 1,
  "concept_ack": 0,
  "approach_ack": 0,
  "nack": 0,
  "concept_nack": 1,
  "approach_nack": 0
 },
 "reviews": {
  "approved": 0,
  "changes_requested": 0,
  "distinct_reviewers": [
   "151henry151",
   "BrandonOdiwuor",
   "fanquake"
  ]
 },
 "signals": {
  "needs_rebase": true,
  "ci_failed": true,
  "mergeable_state": "dirty",
  "last_author_activity": "2026-05-29T07:58:40Z",
  "last_reviewer_activity": "2026-05-22T02:21:20Z",
  "last_reviewer": "151henry151",
  "author_silent_days": 111,
  "waiting_on_author_days": 0,
  "days_since_update": 22
 },
 "refs": {
  "mentioned": [
   25573,
   33828,
   35098
  ],
  "depends_on": [],
  "fixes": [],
  "linked_issues": [],
  "references": [
   {
    "number": 25573,
    "type": "pull",
    "state": "open",
    "merged": false,
    "merged_at": null,
    "title": "guix: produce a `-static-pie` bitcoind"
   },
   {
    "number": 33828,
    "type": "pull",
    "state": "open",
    "merged": false,
    "merged_at": null,
    "title": "Check required interfaces before generating manpages"
   },
   {
    "number": 35098,
    "type": "pull",
    "state": "closed",
    "merged": false,
    "merged_at": null,
    "title": "guix: Compile GUI separately from other binaries"
   }
  ],
  "conflicts": [
   35011,
   33828
  ]
 },
 "stack": {
  "shares_commits_with": [],
  "based_on": [],
  "base_for": []
 },
 "review_paths": [],
 "body": "On the master branch, modifying optional settings to reconfigure the build system triggers unnecessary rebuilds.\n\nFor example, consider the following workflow:\n```\ncmake -B build -DBUILD_TESTS=OFF\ncmake --build build\ncmake -B build -DBUILD_TESTS=OFF -DBUILD_GUI=ON\ncmake --build build\n```\n\nThe final command should only build `bitcoin-qt` and `bitcoin-gui`, but instead, it unnecessarily rebuilds other targets as well.\n\nThis occurs because optional definitions like `USE_DBUS` and `USE_QRCODE` are included in `bitcoin-build-config.h`. Modifying these settings alters the header, triggering a recompilation of every target that consumes it.\n\nThis PR resolves the issue. While beneficial on its own, it also serves as a necessary prerequisite for effectively addressing https://github.com/bitcoin/bitcoin/issues/29914.",
 "commits": [
  {
   "sha": "a4cdf7b1e0b775717270a25163575d3716ffedb3",
   "date": "2026-05-29T07:58:18Z",
   "message": "cmake: Move `USE_DBUS` to `bitcoinqt` target\n\nThis removes the `USE_DBUS` definition from `bitcoin-build-config.h`,\nreducing the dependency of non-GUI code on GUI-specific definitions."
  },
  {
   "sha": "716896100ffe81aeed82eb1428ffd7bb426b6977",
   "date": "2026-05-29T07:58:19Z",
   "message": "cmake: Move `USE_QRCODE` to `bitcoinqt` target\n\nThis removes the `USE_QRCODE` definition from `bitcoin-build-config.h`,\nreducing the dependency of non-GUI code on GUI-specific definitions.\n\nAdditionally, `QRencode::QRencode` is now linked only when wallet is\nenabled, because the `qrencode.h` header is used exclusively in\nwallet-specific code."
  },
  {
   "sha": "73ef841b6749aa88f0d41447aaaf4a6972778317",
   "date": "2026-05-29T07:58:19Z",
   "message": "cmake: Move `ENABLE_WALLET` to `bitcoinqt` and `test_bitcoin-qt` targets\n\nThis removes the `ENABLE_WALLET` definition from\n`bitcoin-build-config.h`, reducing the dependency of core code on the\noptional definitions."
  },
  {
   "sha": "afe538c4556421983690a2c4b8c58fa2d6a869a4",
   "date": "2026-05-29T07:58:19Z",
   "message": "cmake: Move `ENABLE_TRACING` to `USDT::headers` target\n\nThis removes the `ENABLE_TRACING` definition from\n`bitcoin-build-config.h`, reducing the dependency of core code on the\noptional definitions.\n\nAdditionally, the `FindUSDT` module is refactored to use\n`target_include_directories` instead of `set_target_properties`."
  },
  {
   "sha": "04a1ea66868287fa2d9083ace62457175ee12c1c",
   "date": "2026-05-29T07:58:19Z",
   "message": "cmake: Move `ENABLE_EXTERNAL_SIGNER` to `bitcoin_common` target\n\nThis removes the `ENABLE_EXTERNAL_SIGNER` definition from\n`bitcoin-build-config.h`, reducing the dependency of core code on the\noptional definitions."
  }
 ],
 "timeline": [
  {
   "t": "2026-04-17T09:31:32Z",
   "kind": "review",
   "who": "BrandonOdiwuor",
   "assoc": "CONTRIBUTOR",
   "state": "COMMENTED",
   "commit": "9f65a7a4942c1addf3efed47a64a54b0889215bf",
   "text": "Tested ACK 9f65a7a4942c1addf3efed47a64a54b0889215bf\n\nTested that only Qt-related targets are rebuilt when `BUILD_GUI=ON` is enabled. Non-GUI targets (`bitcoind`, `bitcoin-node`, `bitcoin`, `bitcoin_clientversion`, `bitcoin_util`, etc.) remain untouched.\n\nTested on **Ubuntu 24.04.4 LTS**\n\n```bash\ncmake -B build -DBUILD_TESTS=OFF\ncmake --build build\ncmake -B build -DBUILD_TESTS=OFF -DBUILD_GUI=ON\ncmake --build build\n```\n\n**Master** (before PR)\n\nRunning  `cmake --build build` after GUI is enabled\n\nPR at **9f65a7a4942c1addf3efed47a64a54b0889215bf**\n\nRunning  `cmake --build build` after GUI is enabled"
  },
  {
   "t": "2026-04-17T09:58:46Z",
   "kind": "comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "text": "[quoted text omitted]\n\nIt would be good to see the changes that require this. The same logic applies to other optional dependencies, so it'd be good to be clear about what should live in `build-config.h`, or shouldn't, and why this needs to be moved out."
  },
  {
   "t": "2026-04-19T15:51:23Z",
   "kind": "force_push",
   "who": "hebasto",
   "commit": "5fe2f57102e1f43543f2470dec0e27408df808a0"
  },
  {
   "t": "2026-04-19T17:16:02Z",
   "kind": "force_push",
   "who": "hebasto",
   "commit": "e1e6d0239523768cfccca698a738cfe0a47245a2"
  },
  {
   "t": "2026-04-24T14:27:06Z",
   "kind": "force_push",
   "who": "hebasto",
   "commit": "71c4aef7d038dd05e8bd1299a2ed520d6abf52f7"
  },
  {
   "t": "2026-04-24T14:37:11Z",
   "kind": "force_push",
   "who": "hebasto",
   "commit": "a75142abd9fd3de595afea801f8c5331ce64292e"
  },
  {
   "t": "2026-04-24T14:51:43Z",
   "kind": "force_push",
   "who": "hebasto",
   "commit": "138a4c583aad2559926abb7fea2adea9a3adb3b4"
  },
  {
   "t": "2026-04-24T15:24:24Z",
   "kind": "comment",
   "who": "hebasto",
   "assoc": "MEMBER",
   "text": "[quoted text omitted]\n\nReworked. The PR description has been updated."
  },
  {
   "t": "2026-04-27T13:16:03Z",
   "kind": "comment",
   "who": "hebasto",
   "assoc": "MEMBER",
   "text": "My Guix build:\n```\naarch64\ndfbe1dce053a80d7a0a50ba4bba644ec6c76e51e516b3ba45a627fbaec62afb8  guix-build-138a4c583aad/output/aarch64-linux-gnu/SHA256SUMS.part\nbf34fb34afe907028f26d630bfc11cd9de17467607a50ce502a02d8e6a0d92f3  guix-build-138a4c583aad/output/aarch64-linux-gnu/bitcoin-138a4c583aad-aarch64-linux-gnu-debug.tar.gz\nd577a9a5247e3d3036251b46e210cf68eec8d118f0a00c75fbc1b4b5d6b6e23d  guix-build-138a4c583aad/output/aarch64-linux-gnu/bitcoin-138a4c583aad-aarch64-linux-gnu.tar.gz\n26af8fa53cd0173dc70025d776871b19bb0a641b258441860ce249dbf6bbadea  guix-build-138a4c583aad/output/arm-linux-gnueabihf/SHA256SUMS.part\n364ae7ae55c5259b68494167baf7302fc5a3fc9a0276da11eeda9b83cab8a8c0  guix-build-138a4c583aad/output/arm-linux-gnueabihf/bitcoin-138a4c583aad-arm-linux-gnueabihf-debug.tar.gz\nd7352a9db151a401a60dfcc111680986965c4778b69eae03e4883630f8eda37e  guix-build-138a4c583aad/output/arm-linux-gnueabihf/bitcoin-138a4c583aad-arm-linux-gnueabihf.tar.gz\n12f51fc0b308e909f697ee4133b3298820004cfcc479949f4635655ca1e7601c  guix-build-138a4c583aad/output/arm64-apple-darwin/SHA256SUMS.part\nefc3697f06f232bb977db4b9fea9b638fb1f6a2fbe801e44a31c74b290069a14  guix-build-138a4c583aad/output/arm64-apple-darwin/bitcoin-138a4c583aad-arm64-apple-darwin-codesigning.tar.gz\n065c6cfbe4e794d3e925df5b682444facf69e86236ad83a8ce1743027f899a32  guix-build-138a4c583aad/output/arm64-apple-darwin/bitcoin-138a4c583aad-arm64-apple-darwin-unsigned.tar.gz\n97500452ef27dee71eb479bfbc98af4d2f660b45befbe515f357afbd2d1b3a8a  guix-build-138a4c583aad/output/arm64-apple-darwin/bitcoin-138a4c583aad-arm64-apple-darwin-unsigned.zip\nf121520263382057c5a75516e5a0512fc1ec9660298e4a406336499e689d3622  guix-build-138a4c583aad/output/dist-archive/bitcoin-138a4c583aad.tar.gz\n6acbb8095895b3d11da4d4f75e7e4cfdd4e9df9a6981fa54589b4fd9e07b953e  guix-build-138a4c583aad/output/powerpc64-linux-gnu/SHA256SUMS.part\na03c2a993951ddae7d5c5eed85e742a00d59ad94d97fb37045495c88455d9ccf  guix-build-138a4c583aad/output/powerpc64-linux-gnu/bitcoin-138a4c583aad-powerpc64-linux-gnu-debug.tar.gz\n8c6c7483d766ecb2d0527d6ff2fc7d05f724637c6123f040a38fec8a516b5b98  guix-build-138a4c583aad/output/powerpc64-linux-gnu/bitcoin-138a4c583aad-powerpc64-linux-gnu.tar.gz\n70ed4b27f83d778b5c8b4beb43d66f836ae10492fa8e7d34048cfa0e6b6352a5  guix-build-138a4c583aad/output/riscv64-linux-gnu/SHA256SUMS.part\n44c6b4477e7663c35d2fe9b1ec42f95928c1af4f09ff96f29be98fbc26596773  guix-build-138a4c583aad/output/riscv64-linux-gnu/bitcoin-138a4c583aad-riscv64-linux-gnu-debug.tar.gz\na7514afe11fb79c22b2cbf9427c7ed388bbce7d4cd5bd7533c4251eb89721846  guix-build-138a4c583aad/output/riscv64-linux-gnu/bitcoin-138a4c583aad-riscv64-linux-gnu.tar.gz\n1a1298335c3b0b44120d2754547c63e859a271d88801eecfff98940667350c25  guix-build-138a4c583aad/output/x86_64-apple-darwin/SHA256SUMS.part\nf0bb0471ff05437740cef69a8e41825439a9d90515902ba927ae954b14be87f5  guix-build-138a4c583aad/output/x86_64-apple-darwin/bitcoin-138a4c583aad-x86_64-apple-darwin-codesigning.tar.gz\n9dff5bf571461ae09483243206a855d01e15af25b65a2ae263a54248664b3acd  guix-build-138a4c583aad/output/x86_64-apple-darwin/bitcoin-138a4c583aad-x86_64-apple-darwin-unsigned.tar.gz\n34a9744ca9ac2c354eccaa2b38f7fc1d4aad74520f11cab4dece184469de1950  guix-build-138a4c583aad/output/x86_64-apple-darwin/bitcoin-138a4c583aad-x86_64-apple-darwin-unsigned.zip\n7b5e47ba1fb582ab62196e3ff0fd716c9431dd5559e894f3e8dc46f6a8d4d3ac  guix-build-138a4c583aad/output/x86_64-linux-gnu/SHA256SUMS.part\n062b141a71ea6993d2f00af71c8ece8d09d0e6ad40db68eb01810e1ae53ce81c  guix-build-138a4c583aad/output/x86_64-linux-gnu/bitcoin-138a4c583aad-x86_64-linux-gnu-debug.tar.gz\n36a46d92f23e3d239c00150b07b42c32df4cac1d472ffe499ea9038542aac46d  guix-build-138a4c583aad/output/x86_64-linux-gnu/bitcoin-138a4c583aad-x86_64-linux-gnu.tar.gz\n3f28b00ad498c69cbdd393392e87d3222322ee93a2388d2b0fc86d016679d94e  guix-build-138a4c583aad/output/x86_64-w64-mingw32/SHA256SUMS.part\n95ad64f35e3df8174a70263a44365027155bcb247d9dc8b0a9a1533c2d72f2a6  guix-build-138a4c583aad/output/x86_64-w64-mingw32/bitcoin-138a4c583aad-win64-codesigning.tar.gz\n14962162083957e50636c53e4522a56ae3c7059a37c52d8f20b04ae90be6b9b8  guix-build-138a4c583aad/output/x86_64-w64-mingw32/bitcoin-138a4c583aad-win64-debug.zip\n0cfe52b1e59178049b880d95a28175e69be65ab41cef9e4cbad031837de7d778  guix-build-138a4c583aad/output/x86_64-w64-mingw32/bitcoin-138a4c583aad-win64-setup-unsigned.exe\nedfa2a73a6bd1de70022292f6622acf8d6cf548c93b6fa3bc5a97c4b85183aa2  guix-build-138a4c583aad/output/x86_64-w64-mingw32/bitcoin-138a4c583aad-win64-unsigned.zip\n```"
  },
  {
   "t": "2026-04-29T21:31:07Z",
   "kind": "comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "text": "PR [#33828](https://github.com/bitcoin/bitcoin/pull/33828) has gen-manpages.py read build/src/bitcoin-build-config.h for a few macros (HAVE_SYSTEM, ENABLE_WALLET, WITH_ZMQ). As optional defines move out of that header: it would be nice to have a single source of truth for \u201cwhat was enabled\u201d for this kind of tooling, though combining sources (header where it still exists, CMakeCache.txt or similar otherwise) may be fine. That ties into the earlier thread here about what belongs in build-config.h vs elsewhere\u2014any guidance on what you\u2019d prefer for scripts like this?"
  },
  {
   "t": "2026-05-21T12:38:29Z",
   "kind": "comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "text": "Concept NACK\n\nThis change seems more like a side-effect of the approach taken in #35098 (where it's used to share objects between builds), rather than something that makes sense standalone; and I'm not sure about the approach in #35098, given it doesn't work for something like #25573.\n\n[quoted text omitted]\nI think the point of a (shared) config header, is to trigger rebuilds of modules that use it, when the header/config changes. If it's been determined that certain things shouldn't be in the config header, then it'd be good to explain the difference between what is being moved out here, and what is being left in, rather than just what is needed for #35098, or calling the rebuilding \"unnecessary\".\n\nAs pointed out [above](https://github.com/bitcoin/bitcoin/pull/35072#issuecomment-4347647984), it may also be useful to have a single point of \"truth\" of our configuration, and that would seem to get more complicated with the changes here."
  },
  {
   "t": "2026-05-22T02:21:20Z",
   "kind": "comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "text": "For scripts/tooling, it would be nice to agree on one canonical source for enabled features.\nIt would be straightforward to update `gen-manpages.py` to match whatever source maintainers prefer, such as `bitcoin-build-config.h`, `CMakeCache.txt`, or some other generated file."
  },
  {
   "t": "2026-05-28T14:13:12Z",
   "kind": "force_push",
   "who": "hebasto",
   "commit": "dc09b15722c1c5c71db00e2d614d9ec61d6511ae"
  },
  {
   "t": "2026-05-28T14:17:05Z",
   "kind": "comment",
   "who": "hebasto",
   "assoc": "MEMBER",
   "text": "[quoted text omitted]\n\nI still think that disentangling different parts of the build system is beneficial.\n\nConverting to a draft until the other concerns raised by reviewers are addressed."
  },
  {
   "t": "2026-05-29T07:58:40Z",
   "kind": "force_push",
   "who": "hebasto",
   "commit": "04a1ea66868287fa2d9083ace62457175ee12c1c"
  }
 ],
 "labels_log": [
  {
   "t": "2026-04-14T17:33:09Z",
   "action": "labeled",
   "label": "Build system",
   "who": "hebasto"
  },
  {
   "t": "2026-04-19T15:02:15Z",
   "action": "labeled",
   "label": "CI failed",
   "who": "DrahtBot"
  },
  {
   "t": "2026-04-19T18:03:58Z",
   "action": "unlabeled",
   "label": "CI failed",
   "who": "DrahtBot"
  },
  {
   "t": "2026-04-24T14:38:26Z",
   "action": "labeled",
   "label": "CI failed",
   "who": "DrahtBot"
  },
  {
   "t": "2026-04-24T16:03:12Z",
   "action": "unlabeled",
   "label": "CI failed",
   "who": "DrahtBot"
  },
  {
   "t": "2026-05-26T10:27:05Z",
   "action": "labeled",
   "label": "Needs rebase",
   "who": "DrahtBot"
  },
  {
   "t": "2026-05-28T15:18:16Z",
   "action": "unlabeled",
   "label": "Needs rebase",
   "who": "DrahtBot"
  },
  {
   "t": "2026-05-28T17:15:17Z",
   "action": "labeled",
   "label": "CI failed",
   "who": "DrahtBot"
  },
  {
   "t": "2026-05-29T11:32:06Z",
   "action": "labeled",
   "label": "Needs rebase",
   "who": "DrahtBot"
  }
 ],
 "state_log": [
  {
   "t": "2026-04-24T14:28:25Z",
   "kind": "renamed",
   "who": "hebasto",
   "from": "cmake: Remove GUI-specific definitions from `bitcoin-build-config.h`",
   "to": "cmake: Remove optional definitions from `bitcoin-build-config.h`"
  },
  {
   "t": "2026-05-28T14:17:02Z",
   "kind": "convert_to_draft",
   "who": "hebasto"
  }
 ],
 "text_chars": 9631,
 "text_tokens_estimate": 2407,
 "changed_paths": [
  "CMakeLists.txt",
  "cmake/bitcoin-build-config.h.in",
  "cmake/module/FindUSDT.cmake",
  "src/CMakeLists.txt",
  "src/common/run_command.cpp",
  "src/node/interfaces.cpp",
  "src/qt/CMakeLists.txt",
  "src/qt/bitcoin.h",
  "src/qt/bitcoingui.h",
  "src/qt/createwalletdialog.cpp",
  "src/qt/notificator.cpp",
  "src/qt/notificator.h",
  "src/qt/optionsmodel.cpp",
  "src/qt/qrimagewidget.cpp",
  "src/qt/receiverequestdialog.cpp",
  "src/qt/rpcconsole.h",
  "src/qt/test/CMakeLists.txt",
  "src/qt/test/test_main.cpp",
  "src/rpc/external_signer.cpp",
  "src/rpc/register.h",
  "src/test/system_tests.cpp",
  "src/util/trace.h",
  "src/wallet/rpc/addresses.cpp",
  "src/wallet/rpc/wallet.cpp",
  "src/wallet/walletdb.cpp"
 ],
 "files": [
  {
   "path": "CMakeLists.txt",
   "add": 0,
   "del": 2
  },
  {
   "path": "cmake/bitcoin-build-config.h.in",
   "add": 0,
   "del": 16
  },
  {
   "path": "cmake/module/FindUSDT.cmake",
   "add": 2,
   "del": 4
  },
  {
   "path": "src/CMakeLists.txt",
   "add": 3,
   "del": 0
  },
  {
   "path": "src/common/run_command.cpp",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/node/interfaces.cpp",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/qt/CMakeLists.txt",
   "add": 6,
   "del": 1
  },
  {
   "path": "src/qt/bitcoin.h",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/qt/bitcoingui.h",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/qt/createwalletdialog.cpp",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/qt/notificator.cpp",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/qt/notificator.h",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/qt/optionsmodel.cpp",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/qt/qrimagewidget.cpp",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/qt/receiverequestdialog.cpp",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/qt/rpcconsole.h",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/qt/test/CMakeLists.txt",
   "add": 1,
   "del": 0
  },
  {
   "path": "src/qt/test/test_main.cpp",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/rpc/external_signer.cpp",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/rpc/register.h",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/test/system_tests.cpp",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/util/trace.h",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/wallet/rpc/addresses.cpp",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/wallet/rpc/wallet.cpp",
   "add": 0,
   "del": 2
  },
  {
   "path": "src/wallet/walletdb.cpp",
   "add": 0,
   "del": 2
  }
 ],
 "test_lines": 5,
 "git": {
  "head": "04a1ea66868287fa2d9083ace62457175ee12c1c",
  "head_matches_backup": true,
  "base": "1ea532e590cdc16b86436a2bc4f92d74082307f9",
  "commits": [
   {
    "sha": "a4cdf7b1e0",
    "subject": "cmake: Move `USE_DBUS` to `bitcoinqt` target",
    "files": 5,
    "add": 1,
    "del": 8
   },
   {
    "sha": "716896100f",
    "subject": "cmake: Move `USE_QRCODE` to `bitcoinqt` target",
    "files": 5,
    "add": 4,
    "del": 9
   },
   {
    "sha": "73ef841b67",
    "subject": "cmake: Move `ENABLE_WALLET` to `bitcoinqt` and `test_bitcoin-qt` targets",
    "files": 8,
    "add": 2,
    "del": 13
   },
   {
    "sha": "afe538c455",
    "subject": "cmake: Move `ENABLE_TRACING` to `USDT::headers` target",
    "files": 3,
    "add": 2,
    "del": 10
   },
   {
    "sha": "04a1ea6686",
    "subject": "cmake: Move `ENABLE_EXTERNAL_SIGNER` to `bitcoin_common` target",
    "files": 11,
    "add": 3,
    "del": 21
   }
  ],
  "patch_truncated": false
 },
 "input_hash": "59e733737d7981b1",
 "extracted_at": "2026-09-17T16:15:31+00:00"
}