{
 "number": 36167,
 "repo": "bitcoin/bitcoin",
 "url": "https://github.com/bitcoin/bitcoin/pull/36167",
 "title": "[RFC] Enable `-Wunused`",
 "author": "fanquake",
 "author_association": "MEMBER",
 "created_at": "2026-09-04T14:32:39Z",
 "updated_at": "2026-09-16T15:15:24Z",
 "age_days": 13,
 "draft": true,
 "labels": [
  "CI failed"
 ],
 "milestone": null,
 "base": "master",
 "head_sha": "b8a063d2a5e17186d0cfda00dc8e6bf08707403d",
 "head_ref": "enable_wunused",
 "head_repo": "fanquake/bitcoin",
 "head_history": [
  {
   "t": "2026-09-04T17:52:04Z",
   "sha": "cc8732c38a8726df8d6ec05fa14666334663f621"
  },
  {
   "t": "2026-09-07T13:26:30Z",
   "sha": "a04be30d0548b836fe26645c92161787b95fec7c"
  },
  {
   "t": "2026-09-09T10:08:24Z",
   "sha": "6e5eb69ff677513d44ee567f311db8afb2c5eb2b"
  },
  {
   "t": "2026-09-14T09:34:09Z",
   "sha": "f631553b0a694e513df4690da29e5cf95e4989aa"
  },
  {
   "t": "2026-09-16T09:36:08Z",
   "sha": "b8a063d2a5e17186d0cfda00dc8e6bf08707403d"
  }
 ],
 "additions": 594,
 "deletions": 577,
 "changed_files": 168,
 "commit_count": 7,
 "size_bucket": "XL",
 "mergeable_state": "unstable",
 "bot": {
  "drahtbot": {
   "present": true,
   "reviews": {},
   "conflicts": [
    {
     "number": 36244,
     "title": "validation, net: Process blocks asynchronously and reduce cs_main contention",
     "author": "w0xlt"
    },
    {
     "number": 36182,
     "title": "fees: return `block_policy` fee rate estimate when `mempool_policy` is not ready",
     "author": "ismaelsadeeq"
    },
    {
     "number": 36097,
     "title": "mining: replace interrupt methods with cancellation arguments",
     "author": "xyzconstant"
    },
    {
     "number": 35998,
     "title": "wallet: Handle or explicitly ignore `WalletBatch` write failures",
     "author": "achow101"
    },
    {
     "number": 35911,
     "title": "Warn on and add missing [[noreturn]]",
     "author": "fanquake"
    },
    {
     "number": 35906,
     "title": "First steps towards a stateless, side-effect free validation library",
     "author": "purpleKarrot"
    },
    {
     "number": 35760,
     "title": "wallet: make corrupted transaction records fail wallet loading instead of forcing a rescan",
     "author": "achow101"
    },
    {
     "number": 35752,
     "title": "wallet: make encryption state updates atomic",
     "author": "l0rinc"
    },
    {
     "number": 35744,
     "title": "coins: prevent DB resize from invalidating cursors",
     "author": "l0rinc"
    },
    {
     "number": 35716,
     "title": "wallet: Replace mapWallet and wtxOrdered with a boost::multi_index",
     "author": "achow101"
    },
    {
     "number": 35474,
     "title": "node: move index ownership to NodeContext",
     "author": "w0xlt"
    },
    {
     "number": 35322,
     "title": "logging: streamline Logger state and drop redundant methods",
     "author": "ryanofsky"
    },
    {
     "number": 35301,
     "title": "Silent Payments: Implement bip352 (take 2)",
     "author": "Eunovo"
    },
    {
     "number": 34520,
     "title": "refactor: Add [[nodiscard]] to functions returning bool+mutable ref",
     "author": "maflcko"
    },
    {
     "number": 34038,
     "title": "logging: replace -loglevel with -trace, expose trace logging via RPC",
     "author": "ajtowns"
    },
    {
     "number": 33324,
     "title": "blocks: add resumable reobfuscation for existing block files",
     "author": "l0rinc"
    },
    {
     "number": 32387,
     "title": "ipc: add windows support",
     "author": "ryanofsky"
    },
    {
     "number": 31507,
     "title": "build: Use clang-cl to build on Windows natively",
     "author": "hebasto"
    },
    {
     "number": 29409,
     "title": "multiprocess: Add capnp wrapper for Chain interface",
     "author": "ryanofsky"
    },
    {
     "number": 27865,
     "title": "wallet: Track no-longer-spendable TXOs separately",
     "author": "achow101"
    },
    {
     "number": 19461,
     "title": "multiprocess: Add bitcoin-gui -ipcconnect option",
     "author": "ryanofsky"
    },
    {
     "number": 19460,
     "title": "multiprocess: Add bitcoin-wallet -ipcconnect option",
     "author": "ryanofsky"
    },
    {
     "number": 10102,
     "title": "Multiprocess bitcoin",
     "author": "ryanofsky"
    }
   ]
  }
 },
 "acks_parsed": {},
 "acks_tally": {
  "ack": 0,
  "stale_ack": 0,
  "concept_ack": 0,
  "approach_ack": 0,
  "nack": 0,
  "concept_nack": 0,
  "approach_nack": 0
 },
 "reviews": {
  "approved": 0,
  "changes_requested": 0,
  "distinct_reviewers": [
   "maflcko"
  ]
 },
 "signals": {
  "needs_rebase": false,
  "ci_failed": true,
  "mergeable_state": "unstable",
  "last_author_activity": "2026-09-16T15:15:03Z",
  "last_reviewer_activity": "2026-09-16T10:46:48Z",
  "last_reviewer": "maflcko",
  "author_silent_days": 1,
  "waiting_on_author_days": 0,
  "days_since_update": 1
 },
 "refs": {
  "mentioned": [
   35852,
   36137,
   36275
  ],
  "depends_on": [],
  "fixes": [],
  "linked_issues": [],
  "references": [
   {
    "number": 36137,
    "type": "pull",
    "state": "closed",
    "merged": true,
    "merged_at": "2026-09-03",
    "title": "validation: use unused SetTargetBlockHash"
   },
   {
    "number": 35852,
    "type": "pull",
    "state": "closed",
    "merged": true,
    "merged_at": "2026-08-14",
    "title": "scripted-diff: Use inline const(expr) over static constexpr in headers"
   },
   {
    "number": 36275,
    "type": "pull",
    "state": "open",
    "merged": false,
    "merged_at": null,
    "title": "build: enable `-Wunused-const-variable`"
   }
  ],
  "conflicts": [
   36244,
   36182,
   36097,
   35998,
   35911,
   35906,
   35760,
   35752,
   35744,
   35716,
   35474,
   35322,
   35301,
   34520,
   34038,
   33324,
   32387,
   31507,
   29409,
   27865,
   19461,
   19460,
   10102
  ]
 },
 "stack": {
  "shares_commits_with": [],
  "based_on": [],
  "base_for": []
 },
 "review_paths": [
  "src/policy/fees/mempool_estimator.h"
 ],
 "body": "We've had a handful of dead code removal PRs over the last month or two:\n\n* https://github.com/bitcoin/bitcoin/pull/35679\n* https://github.com/bitcoin/bitcoin/pull/35910\n* https://github.com/bitcoin/bitcoin/pull/35914\n* https://github.com/bitcoin/bitcoin/pull/35971\n* https://github.com/bitcoin/bitcoin/pull/36009\n* https://github.com/bitcoin/bitcoin/pull/36012\n* https://github.com/bitcoin/bitcoin/pull/36103\n* https://github.com/bitcoin/bitcoin/pull/36127\n\nAlso well as an instance of what was thought to be dead code, but it'd actually just been forgotten to be used: #36137.\n\nIt could be beneficial to get `-Wunused` & related flags enabled, to catch dead/unused code in CI.\n\nA number of changes here need to go to subtrees:\n* https://github.com/bitcoin-core/minisketch/pull/104\n* https://github.com/bitcoin-core/libmultiprocess/pull/362\n* https://github.com/bitcoin-core/leveldb-subtree/pull/65\n\nEnabling some of these flags may also help enforce other stuff, like `inline constexpr` usage (#35852). i.e:\n```bash\n  /home/runner/work/_temp/src/leveldb/db/dbformat.h:67:29: error: 'leveldb::kMaxSequenceNumber' defined but not used [-Werror=unused-const-variable=]\n     67 | static const SequenceNumber kMaxSequenceNumber = ((0x1ull << 56) - 1);\n        |                             ^~~~~~~~~~~~~~~~~~\n```\nThose changes have been split out into #36275.",
 "commits": [
  {
   "sha": "f6acba8ec9c2906786e2fe7d9f68ea7d4d507934",
   "date": "2026-09-16T09:35:59Z",
   "message": "[[nomerge]] leveldb: unused changes"
  },
  {
   "sha": "4483dfbf62336b441353edc1d41804a6bd577c25",
   "date": "2026-09-16T09:36:00Z",
   "message": "[[nomerge]] minisketch: unused changes"
  },
  {
   "sha": "1655d46b3d21d4a01b4adb96114b6dfe6463ffd5",
   "date": "2026-09-16T09:36:00Z",
   "message": "[[nomerge]] libmultiprocess changes"
  },
  {
   "sha": "2cd810da517f96489fadee4bcba56ee210d1e6e7",
   "date": "2026-09-16T09:36:00Z",
   "message": "[[nomerge]] crc32c changes"
  },
  {
   "sha": "dc94835ce8c706ed996e11b1ab2767b2de1a00c5",
   "date": "2026-09-16T09:36:00Z",
   "message": "refactor: fix -Wunused issues"
  },
  {
   "sha": "0ef8b05cfabaf833e0debd4c1981202e6b24fe42",
   "date": "2026-09-16T09:36:01Z",
   "message": "build: add -Wunused and friends"
  },
  {
   "sha": "b8a063d2a5e17186d0cfda00dc8e6bf08707403d",
   "date": "2026-09-16T09:36:01Z",
   "message": "refactor: inline constexpr\n\nIn file included from /home/runner/work/_temp/src/init/common.cpp:11:\n/home/runner/work/_temp/src/logging.h:66:24: error: \u2018BCLog::RATELIMIT_MAX_BYTES\u2019 defined but not used [-Werror=unused-const-variable=]\n   66 |     constexpr uint64_t RATELIMIT_MAX_BYTES{1_MiB}; // maximum number of bytes per source location that can be logged within the RATELIMIT_WINDOW\n      |                        ^~~~~~~~~~~~~~~~~~~\ncc1plus: all warnings being treated as errors"
  }
 ],
 "timeline": [
  {
   "t": "2026-09-04T17:52:04Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "cc8732c38a8726df8d6ec05fa14666334663f621"
  },
  {
   "t": "2026-09-07T13:26:30Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "a04be30d0548b836fe26645c92161787b95fec7c"
  },
  {
   "t": "2026-09-09T10:08:24Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "6e5eb69ff677513d44ee567f311db8afb2c5eb2b"
  },
  {
   "t": "2026-09-14T09:34:09Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "f631553b0a694e513df4690da29e5cf95e4989aa"
  },
  {
   "t": "2026-09-16T09:36:08Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "b8a063d2a5e17186d0cfda00dc8e6bf08707403d"
  },
  {
   "t": "2026-09-16T10:46:48Z",
   "kind": "review_comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "path": "src/policy/fees/mempool_estimator.h",
   "commit": "b8a063d2a5e17186d0cfda00dc8e6bf08707403d",
   "in_reply_to": null,
   "text": "Nice, but I think those should:\n\n* use the C++11 narrowing-check init `double ...{0.75};\n* Maybe be split up into a separate pull from the unused parameter warnings\n\nHaven't tried this, but what about just a small pull to add:\n\n```\ntry_append_cxx_flags(\"-Wunused-macros\" TARGET warn_interface SKIP_LINK)\ntry_append_cxx_flags(\"-Wunused-const-variable=2\" TARGET warn_interface SKIP_LINK)\ntry_append_cxx_flags(\"-Wunused-member-function\" TARGET warn_interface SKIP_LINK)\ntry_append_cxx_flags(\"-Wunused-template\" TARGET warn_interface SKIP_LINK)\netc...whatever...\n```\n\nAnd leave the `-Wno-unused-parameter` as-is for now?\n\nThose should catch most of the issues mentioned in OP (except for the unused parameter ones)?"
  },
  {
   "t": "2026-09-16T15:15:03Z",
   "kind": "review_comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "path": "src/policy/fees/mempool_estimator.h",
   "commit": "b8a063d2a5e17186d0cfda00dc8e6bf08707403d",
   "in_reply_to": 4025132623,
   "text": "Split a portion out into #36275."
  }
 ],
 "labels_log": [
  {
   "t": "2026-09-04T15:54:44Z",
   "action": "labeled",
   "label": "CI failed",
   "who": "DrahtBot"
  }
 ],
 "state_log": [],
 "text_chars": 2812,
 "text_tokens_estimate": 703,
 "changed_paths": [
  "CMakeLists.txt",
  "src/addresstype.cpp",
  "src/bitcoin-chainstate.cpp",
  "src/bitcoin-cli.cpp",
  "src/cluster_linearize.h",
  "src/core_memusage.h",
  "src/crc32c/src/crc32c_internal.h",
  "src/crypto/ripemd160.cpp",
  "src/crypto/sha1.cpp",
  "src/crypto/sha256.cpp",
  "src/deploymentstatus.h",
  "src/dummywallet.cpp",
  "src/index/base.h",
  "src/init.cpp",
  "src/init/bitcoin-qt.cpp",
  "src/init/bitcoin-wallet.cpp",
  "src/init/bitcoind.cpp",
  "src/interfaces/chain.h",
  "src/interfaces/init.h",
  "src/interfaces/node.h",
  "src/ipc/capnp/common-types.h",
  "src/ipc/libmultiprocess/include/mp/proxy-types.h",
  "src/ipc/libmultiprocess/include/mp/type-chrono.h",
  "src/ipc/libmultiprocess/include/mp/type-context.h",
  "src/ipc/libmultiprocess/include/mp/type-data.h",
  "src/ipc/libmultiprocess/include/mp/type-interface.h",
  "src/ipc/libmultiprocess/include/mp/type-message.h",
  "src/ipc/libmultiprocess/include/mp/type-number.h",
  "src/ipc/libmultiprocess/include/mp/type-string.h",
  "src/ipc/libmultiprocess/include/mp/type-struct.h",
  "src/ipc/libmultiprocess/include/mp/type-threadmap.h",
  "src/ipc/libmultiprocess/include/mp/type-vector.h",
  "src/ipc/libmultiprocess/test/mp/test/foo-types.h",
  "src/kernel/bitcoinkernel.cpp",
  "src/kernel/bitcoinkernel_wrapper.h",
  "src/kernel/coinstats.cpp",
  "src/kernel/notifications_interface.h",
  "src/key_io.cpp",
  "src/leveldb/db/db_impl.cc",
  "src/leveldb/db/dbformat.h",
  "src/leveldb/db/log_format.h",
  "src/leveldb/db/table_cache.cc",
  "src/leveldb/db/version_set.cc",
  "src/leveldb/helpers/memenv/memenv.cc",
  "src/leveldb/include/leveldb/db.h",
  "src/leveldb/table/format.h",
  "src/leveldb/table/iterator.cc",
  "src/leveldb/table/table.cc",
  "src/leveldb/util/crc32c.h",
  "src/leveldb/util/env.cc",
  "src/leveldb/util/env_posix.cc",
  "src/leveldb/util/env_windows.cc",
  "src/logging.h",
  "src/memusage.h",
  "src/minisketch/src/fields/clmul_1byte.cpp",
  "src/minisketch/src/fields/clmul_2bytes.cpp",
  "src/minisketch/src/fields/clmul_3bytes.cpp",
  "src/minisketch/src/fields/clmul_4bytes.cpp",
  "src/minisketch/src/fields/clmul_5bytes.cpp",
  "src/minisketch/src/fields/clmul_6bytes.cpp",
  "src/minisketch/src/fields/clmul_7bytes.cpp",
  "src/minisketch/src/fields/clmul_8bytes.cpp",
  "src/minisketch/src/fields/generic_1byte.cpp",
  "src/minisketch/src/fields/generic_2bytes.cpp",
  "src/minisketch/src/fields/generic_3bytes.cpp",
  "src/minisketch/src/fields/generic_4bytes.cpp",
  "src/minisketch/src/fields/generic_5bytes.cpp",
  "src/minisketch/src/fields/generic_6bytes.cpp",
  "src/minisketch/src/fields/generic_7bytes.cpp",
  "src/minisketch/src/fields/generic_8bytes.cpp",
  "src/minisketch/src/int_utils.h",
  "src/minisketch/src/lintrans.h",
  "src/net_processing.cpp",
  "src/netbase.cpp",
  "src/node/eviction.cpp",
  "src/node/interfaces.cpp",
  "src/noui.cpp",
  "src/policy/fees/mempool_estimator.h",
  "src/qt/addresstablemodel.cpp",
  "src/qt/bitcoinamountfield.cpp",
  "src/qt/bitcoingui.cpp",
  "src/qt/guiutil.cpp",
  "src/qt/notificator.cpp",
  "src/qt/optionsdialog.cpp",
  "src/qt/optionsmodel.cpp",
  "src/qt/overviewpage.cpp",
  "src/qt/psbtoperationsdialog.cpp",
  "src/qt/qvaluecombobox.cpp",
  "src/qt/receivecoinsdialog.cpp",
  "src/qt/recentrequeststablemodel.cpp",
  "src/qt/rpcconsole.cpp",
  "src/qt/sendcoinsdialog.cpp",
  "src/qt/splashscreen.cpp",
  "src/qt/test/rpcnestedtests.cpp",
  "src/qt/transactionrecord.cpp",
  "src/random.cpp",
  "src/rpc/blockchain.cpp",
  "src/rpc/external_signer.cpp",
  "src/rpc/fees.cpp",
  "src/rpc/mempool.cpp",
  "src/rpc/mining.cpp",
  "src/rpc/net.cpp",
  "src/rpc/node.cpp",
  "src/rpc/output_script.cpp",
  "src/rpc/rawtransaction.cpp",
  "src/rpc/server.cpp",
  "src/rpc/signmessage.cpp",
  "src/rpc/txoutproof.cpp",
  "src/rpc/util.cpp",
  "src/script/descriptor.cpp",
  "src/script/interpreter.h",
  "src/script/sign.cpp",
  "src/script/signingprovider.h",
  "src/serialize.h",
  "src/sync.h",
  "src/test/allocator_tests.cpp",
  "src/test/blockfilter_index_tests.cpp",
  "src/test/checkqueue_tests.cpp",
  "src/test/fuzz/crypto_diff_fuzz_chacha20.cpp",
  "src/test/fuzz/miniscript.cpp",
  "src/test/fuzz/package_eval.cpp",
  "src/test/fuzz/partially_downloaded_block.cpp",
  "src/test/fuzz/signature_checker.cpp",
  "src/test/fuzz/tx_pool.cpp",
  "src/test/fuzz/util.cpp",
  "src/test/fuzz/util/net.cpp",
  "src/test/httpserver_tests.cpp",
  "src/test/kernel/test_kernel.cpp",
  "src/test/miniscript_tests.cpp",
  "src/test/net_tests.cpp",
  "src/test/pcp_tests.cpp",
  "src/test/span_tests.cpp",
  "src/test/util/chainstate.h",
  "src/test/util/net.cpp",
  "src/test/util/setup_common.cpp",
  "src/test/validation_block_tests.cpp",
  "src/test/validation_chainstatemanager_tests.cpp",
  "src/test/validationinterface_tests.cpp",
  "src/torcontrol.cpp",
  "src/txgraph.cpp",
  "src/univalue/test/object.cpp",
  "src/univalue/test/unitester.cpp",
  "src/util/fs_helpers.cpp",
  "src/validationinterface.h",
  "src/wallet/db.h",
  "src/wallet/migrate.cpp",
  "src/wallet/migrate.h",
  "src/wallet/rpc/addresses.cpp",
  "src/wallet/rpc/backup.cpp",
  "src/wallet/rpc/coins.cpp",
  "src/wallet/rpc/encrypt.cpp",
  "src/wallet/rpc/signmessage.cpp",
  "src/wallet/rpc/spend.cpp",
  "src/wallet/rpc/transactions.cpp",
  "src/wallet/rpc/wallet.cpp",
  "src/wallet/scriptpubkeyman.cpp",
  "src/wallet/scriptpubkeyman.h",
  "src/wallet/sqlite.cpp",
  "src/wallet/test/fuzz/fees.cpp",
  "src/wallet/test/util.h",
  "src/wallet/test/wallet_tests.cpp",
  "src/wallet/test/walletload_tests.cpp",
  "src/wallet/transaction.h",
  "src/wallet/wallet.cpp",
  "src/wallet/walletdb.cpp",
  "src/zmq/zmqabstractnotifier.cpp",
  "src/zmq/zmqnotificationinterface.cpp",
  "src/zmq/zmqrpc.cpp"
 ],
 "files": [
  {
   "path": "CMakeLists.txt",
   "add": 2,
   "del": 7
  },
  {
   "path": "src/addresstype.cpp",
   "add": 8,
   "del": 8
  },
  {
   "path": "src/bitcoin-chainstate.cpp",
   "add": 3,
   "del": 3
  },
  {
   "path": "src/bitcoin-cli.cpp",
   "add": 4,
   "del": 4
  },
  {
   "path": "src/cluster_linearize.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/core_memusage.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/crc32c/src/crc32c_internal.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/crypto/ripemd160.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/crypto/sha1.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/crypto/sha256.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/deploymentstatus.h",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/dummywallet.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/index/base.h",
   "add": 4,
   "del": 4
  },
  {
   "path": "src/init.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/init/bitcoin-qt.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/init/bitcoin-wallet.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/init/bitcoind.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/interfaces/chain.h",
   "add": 5,
   "del": 5
  },
  {
   "path": "src/interfaces/init.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/interfaces/node.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/ipc/capnp/common-types.h",
   "add": 6,
   "del": 6
  },
  {
   "path": "src/ipc/libmultiprocess/include/mp/proxy-types.h",
   "add": 5,
   "del": 5
  },
  {
   "path": "src/ipc/libmultiprocess/include/mp/type-chrono.h",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/ipc/libmultiprocess/include/mp/type-context.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/ipc/libmultiprocess/include/mp/type-data.h",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/ipc/libmultiprocess/include/mp/type-interface.h",
   "add": 5,
   "del": 5
  },
  {
   "path": "src/ipc/libmultiprocess/include/mp/type-message.h",
   "add": 3,
   "del": 3
  },
  {
   "path": "src/ipc/libmultiprocess/include/mp/type-number.h",
   "add": 12,
   "del": 12
  },
  {
   "path": "src/ipc/libmultiprocess/include/mp/type-string.h",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/ipc/libmultiprocess/include/mp/type-struct.h",
   "add": 14,
   "del": 14
  },
  {
   "path": "src/ipc/libmultiprocess/include/mp/type-threadmap.h",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/ipc/libmultiprocess/include/mp/type-vector.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/ipc/libmultiprocess/test/mp/test/foo-types.h",
   "add": 6,
   "del": 6
  },
  {
   "path": "src/kernel/bitcoinkernel.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/kernel/bitcoinkernel_wrapper.h",
   "add": 12,
   "del": 12
  },
  {
   "path": "src/kernel/coinstats.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/kernel/notifications_interface.h",
   "add": 7,
   "del": 7
  },
  {
   "path": "src/key_io.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/leveldb/db/db_impl.cc",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/leveldb/db/dbformat.h",
   "add": 8,
   "del": 8
  },
  {
   "path": "src/leveldb/db/log_format.h",
   "add": 3,
   "del": 3
  },
  {
   "path": "src/leveldb/db/table_cache.cc",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/leveldb/db/version_set.cc",
   "add": 3,
   "del": 3
  },
  {
   "path": "src/leveldb/helpers/memenv/memenv.cc",
   "add": 5,
   "del": 5
  },
  {
   "path": "src/leveldb/include/leveldb/db.h",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/leveldb/table/format.h",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/leveldb/table/iterator.cc",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/leveldb/table/table.cc",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/leveldb/util/crc32c.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/leveldb/util/env.cc",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/leveldb/util/env_posix.cc",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/leveldb/util/env_windows.cc",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/logging.h",
   "add": 5,
   "del": 5
  },
  {
   "path": "src/memusage.h",
   "add": 15,
   "del": 15
  },
  {
   "path": "src/minisketch/src/fields/clmul_1byte.cpp",
   "add": 3,
   "del": 2
  },
  {
   "path": "src/minisketch/src/fields/clmul_2bytes.cpp",
   "add": 3,
   "del": 2
  },
  {
   "path": "src/minisketch/src/fields/clmul_3bytes.cpp",
   "add": 3,
   "del": 2
  },
  {
   "path": "src/minisketch/src/fields/clmul_4bytes.cpp",
   "add": 3,
   "del": 2
  },
  {
   "path": "src/minisketch/src/fields/clmul_5bytes.cpp",
   "add": 3,
   "del": 2
  },
  {
   "path": "src/minisketch/src/fields/clmul_6bytes.cpp",
   "add": 3,
   "del": 2
  },
  {
   "path": "src/minisketch/src/fields/clmul_7bytes.cpp",
   "add": 3,
   "del": 2
  },
  {
   "path": "src/minisketch/src/fields/clmul_8bytes.cpp",
   "add": 3,
   "del": 2
  },
  {
   "path": "src/minisketch/src/fields/generic_1byte.cpp",
   "add": 2,
   "del": 1
  },
  {
   "path": "src/minisketch/src/fields/generic_2bytes.cpp",
   "add": 2,
   "del": 1
  },
  {
   "path": "src/minisketch/src/fields/generic_3bytes.cpp",
   "add": 2,
   "del": 1
  },
  {
   "path": "src/minisketch/src/fields/generic_4bytes.cpp",
   "add": 2,
   "del": 1
  },
  {
   "path": "src/minisketch/src/fields/generic_5bytes.cpp",
   "add": 2,
   "del": 1
  },
  {
   "path": "src/minisketch/src/fields/generic_6bytes.cpp",
   "add": 2,
   "del": 1
  },
  {
   "path": "src/minisketch/src/fields/generic_7bytes.cpp",
   "add": 2,
   "del": 1
  },
  {
   "path": "src/minisketch/src/fields/generic_8bytes.cpp",
   "add": 2,
   "del": 1
  },
  {
   "path": "src/minisketch/src/int_utils.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/minisketch/src/lintrans.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/net_processing.cpp",
   "add": 3,
   "del": 3
  },
  {
   "path": "src/netbase.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/node/eviction.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/node/interfaces.cpp",
   "add": 3,
   "del": 3
  },
  {
   "path": "src/noui.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/policy/fees/mempool_estimator.h",
   "add": 4,
   "del": 4
  },
  {
   "path": "src/qt/addresstablemodel.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/qt/bitcoinamountfield.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/qt/bitcoingui.cpp",
   "add": 3,
   "del": 3
  },
  {
   "path": "src/qt/guiutil.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/qt/notificator.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/qt/optionsdialog.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/qt/optionsmodel.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/qt/overviewpage.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/qt/psbtoperationsdialog.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/qt/qvaluecombobox.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/qt/receivecoinsdialog.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/qt/recentrequeststablemodel.cpp",
   "add": 6,
   "del": 0
  },
  {
   "path": "src/qt/rpcconsole.cpp",
   "add": 4,
   "del": 4
  },
  {
   "path": "src/qt/sendcoinsdialog.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/qt/splashscreen.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/qt/test/rpcnestedtests.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/qt/transactionrecord.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/random.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/rpc/blockchain.cpp",
   "add": 25,
   "del": 25
  },
  {
   "path": "src/rpc/external_signer.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/rpc/fees.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/rpc/mempool.cpp",
   "add": 11,
   "del": 11
  },
  {
   "path": "src/rpc/mining.cpp",
   "add": 8,
   "del": 8
  },
  {
   "path": "src/rpc/net.cpp",
   "add": 13,
   "del": 13
  },
  {
   "path": "src/rpc/node.cpp",
   "add": 7,
   "del": 7
  },
  {
   "path": "src/rpc/output_script.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/rpc/rawtransaction.cpp",
   "add": 13,
   "del": 13
  },
  {
   "path": "src/rpc/server.cpp",
   "add": 4,
   "del": 4
  },
  {
   "path": "src/rpc/signmessage.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/rpc/txoutproof.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/rpc/util.cpp",
   "add": 5,
   "del": 5
  },
  {
   "path": "src/script/descriptor.cpp",
   "add": 12,
   "del": 12
  },
  {
   "path": "src/script/interpreter.h",
   "add": 4,
   "del": 4
  },
  {
   "path": "src/script/sign.cpp",
   "add": 10,
   "del": 10
  },
  {
   "path": "src/script/signingprovider.h",
   "add": 12,
   "del": 12
  },
  {
   "path": "src/serialize.h",
   "add": 4,
   "del": 4
  },
  {
   "path": "src/sync.h",
   "add": 5,
   "del": 5
  },
  {
   "path": "src/test/allocator_tests.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/test/blockfilter_index_tests.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/checkqueue_tests.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/fuzz/crypto_diff_fuzz_chacha20.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/fuzz/miniscript.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/fuzz/package_eval.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/test/fuzz/partially_downloaded_block.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/fuzz/signature_checker.cpp",
   "add": 4,
   "del": 4
  },
  {
   "path": "src/test/fuzz/tx_pool.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/fuzz/util.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/fuzz/util/net.cpp",
   "add": 3,
   "del": 3
  },
  {
   "path": "src/test/httpserver_tests.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/test/kernel/test_kernel.cpp",
   "add": 5,
   "del": 5
  },
  {
   "path": "src/test/miniscript_tests.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/net_tests.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/pcp_tests.cpp",
   "add": 4,
   "del": 4
  },
  {
   "path": "src/test/span_tests.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/util/chainstate.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/util/net.cpp",
   "add": 6,
   "del": 6
  },
  {
   "path": "src/test/util/setup_common.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/validation_block_tests.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/test/validation_chainstatemanager_tests.cpp",
   "add": 4,
   "del": 4
  },
  {
   "path": "src/test/validationinterface_tests.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/torcontrol.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/txgraph.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/univalue/test/object.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/univalue/test/unitester.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/util/fs_helpers.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/validationinterface.h",
   "add": 9,
   "del": 9
  },
  {
   "path": "src/wallet/db.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/wallet/migrate.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/wallet/migrate.h",
   "add": 3,
   "del": 3
  },
  {
   "path": "src/wallet/rpc/addresses.cpp",
   "add": 14,
   "del": 14
  },
  {
   "path": "src/wallet/rpc/backup.cpp",
   "add": 6,
   "del": 6
  },
  {
   "path": "src/wallet/rpc/coins.cpp",
   "add": 6,
   "del": 6
  },
  {
   "path": "src/wallet/rpc/encrypt.cpp",
   "add": 4,
   "del": 4
  },
  {
   "path": "src/wallet/rpc/signmessage.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/wallet/rpc/spend.cpp",
   "add": 7,
   "del": 7
  },
  {
   "path": "src/wallet/rpc/transactions.cpp",
   "add": 9,
   "del": 9
  },
  {
   "path": "src/wallet/rpc/wallet.cpp",
   "add": 11,
   "del": 11
  },
  {
   "path": "src/wallet/scriptpubkeyman.cpp",
   "add": 5,
   "del": 5
  },
  {
   "path": "src/wallet/scriptpubkeyman.h",
   "add": 18,
   "del": 18
  },
  {
   "path": "src/wallet/sqlite.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/wallet/test/fuzz/fees.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/wallet/test/util.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/wallet/test/wallet_tests.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/wallet/test/walletload_tests.cpp",
   "add": 7,
   "del": 7
  },
  {
   "path": "src/wallet/transaction.h",
   "add": 3,
   "del": 3
  },
  {
   "path": "src/wallet/wallet.cpp",
   "add": 4,
   "del": 4
  },
  {
   "path": "src/wallet/walletdb.cpp",
   "add": 16,
   "del": 16
  },
  {
   "path": "src/zmq/zmqabstractnotifier.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/zmq/zmqnotificationinterface.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/zmq/zmqrpc.cpp",
   "add": 1,
   "del": 1
  }
 ],
 "test_lines": 116,
 "git": {
  "head": "b8a063d2a5e17186d0cfda00dc8e6bf08707403d",
  "head_matches_backup": true,
  "base": "7dedc4545a495ab6725a2a36cec2b6a1a9bf8dbf",
  "commits": [
   {
    "sha": "f6acba8ec9",
    "subject": "[[nomerge]] leveldb: unused changes",
    "files": 14,
    "add": 32,
    "del": 32
   },
   {
    "sha": "4483dfbf62",
    "subject": "[[nomerge]] minisketch: unused changes",
    "files": 18,
    "add": 42,
    "del": 26
   },
   {
    "sha": "1655d46b3d",
    "subject": "[[nomerge]] libmultiprocess changes",
    "files": 12,
    "add": 55,
    "del": 55
   },
   {
    "sha": "2cd810da51",
    "subject": "[[nomerge]] crc32c changes",
    "files": 1,
    "add": 1,
    "del": 1
   },
   {
    "sha": "dc94835ce8",
    "subject": "refactor: fix -Wunused issues",
    "files": 120,
    "add": 453,
    "del": 447
   },
   {
    "sha": "0ef8b05cfa",
    "subject": "build: add -Wunused and friends",
    "files": 1,
    "add": 2,
    "del": 7
   },
   {
    "sha": "b8a063d2a5",
    "subject": "refactor: inline constexpr",
    "files": 2,
    "add": 9,
    "del": 9
   }
  ],
  "patch_truncated": true
 },
 "input_hash": "3bd21a910fb530d4",
 "extracted_at": "2026-09-17T16:15:31+00:00"
}