BC
← All projectsBitcoin Core

Bitcoin Core

The Bitcoin network's reference node and wallet implementation.

BitcoinSupply chainNormal
Repository coverage

2888 commits in the local evidence base

Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.

252security candidates604second-pass queue1133AI analyses
207commits · 30 days
501commits · 60 days
1527commits · 180 days
2882commits · 365 days
Backfill bands
Aug 5 → Feb 61351 seen45 candidatesComplete
Feb 6 → Jun 61033 seen63 candidatesComplete
Jun 6 → Jul 6281 seen11 candidatesComplete
Jul 6 → Aug 5207 seen5 candidatesComplete
Commit communication

Does the history explain itself?

Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.

70/100 average clarity
926Strong · 80–100
1188Adequate · 60–79
686Thin · 40–59
88Opaque · 0–39
6security candidates with opaque commit messaging
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Antoine Poinsot2248170
Ava Chow15649131064
MarcoFalke40921111074
Lőrinc1772184081
fanquake2271982057
Hennadii Stepanov2091456063
rkrux57944074
Sjors Provoost89825074
Sebastian Falbesoner33717073
David Gumberg55638072
Pieter Wuille95520066
Hodlinator66523076
Analysis record

Published AI watches

Last scanned 56 minutes ago

Informational 15 AI analysisMessage 93 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35895: refactor: Enable clang-tidy rule to reject anon namespace in header

This is a code cleanup change that turns on a static-analysis rule to prevent a specific C++ coding pattern (anonymous namespaces in header files) and updates two headers to comply. It does not change how Bitcoin Core behaves at runtime an…

No security-relevant code changeNo memory safety, cryptography, consensus, or network changesTooling-only refactor (clang-tidy configuration)
c4fbd3c7by merge-script+9−123 files
No security note in commit
Informational 15 AI analysisMessage 100 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35630: test: Add importdescriptors rpc error test coverage

This commit only adds new test cases to Bitcoin Core's functional test suite. It does not change any production wallet, node, or RPC code. The tests verify that the importdescriptors RPC reports errors in the right order, rejects bad times…

465196d0by merge-script+77−11 file
No security note in commit
Informational 15 AI analysisMessage 81 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35180: coins: group private cache helpers

This change is purely a code cleanup: it moves two internal helper functions of a Bitcoin Core cache class into the private section of the class and removes a duplicate 'private:' label. There is no change to what the code does, no bug fix…

c940fd75by merge-script+13−141 file
No security note in commit
Low 29 AI analysisMessage 81 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35582: rpc: reject null for optional parameters

This Bitcoin Core change tightens how three RPC commands (scantxoutset, scanblocks, deriveaddresses) handle the value null when it is passed for optional parameters. Previously, explicitly passing null could be treated differently from sim…

RPC parameter validation changeNull value handling changeAddition of explicit error checks for missing required contextual parameters
3db96eb5by merge-script+18−75 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: Enable misc-definitions-in-headers

This commit is a code cleanup: it turns on a clang-tidy style check called 'misc-definitions-in-headers' and suppresses that check around a large inline implementation block in a benchmark header. There is no change to Bitcoin's runtime be…

fa93132dby MarcoFalke+3−02 files
No security note in commit
Informational 15 AI analysisMessage 85 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: Enable clang-tidy rule to reject anon namespace in header

This commit only changes a linting configuration file for the project's code style checker. It enables a rule that prevents anonymous namespaces from being used in header files, which is a code-quality and build-hygiene practice. There is …

No security-relevant signals in the diff or commit message.Change is purely a static-analysis/linting configuration update.
fa5ca877by MarcoFalke+2−11 file
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: Use C++20 std::identity over IntIdentity

This commit is a straightforward code cleanup: it replaces a small custom helper named IntIdentity with the standard C++20 std::identity from the <functional> header. The behavior of the ConvertBits function is unchanged; only the implemen…

fafe5042by MarcoFalke+4−111 file
No security note in commit
Informational 15 AI analysisMessage 87 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

test: test the result order of a multiple import request is correct

This commit only adds a new automated test to Bitcoin Core. It checks that when a user asks the wallet to import multiple descriptors at once, the list of results comes back in the same order as the original request, including any error me…

3ac8b806by Pol Espinasa+40−01 file
No security note in commit
Informational 15 AI analysisMessage 87 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

test: test invalid or missing timestamp throws importdescriptors

This commit only adds new automated tests for the Bitcoin Core wallet's importdescriptors RPC. It checks that the command correctly rejects requests with a missing or invalid timestamp. No production wallet code is changed, so this cannot …

No changes to consensus, networking, wallet logic, or cryptographyOnly functional test code is modifiedAdded assertions are for expected error handling paths
e4732bf0by Pol Espinasa+28−11 file
No security note in commit
Informational 15 AI analysisMessage 80 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: Remove unused #include in common/system

This is a minor code cleanup that removes one unused header file include and swaps another for a more specific one. It does not change any program behavior or fix any security issue.

fa7304f3by MarcoFalke+1−22 files
No security note in commit
Informational 15 AI analysisMessage 50 · Thin
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

iwyu: Fix warnings in `src/consensus` and treat them as errors

This commit is a routine code cleanup: it adjusts which C++ header files are included in several consensus-related source files and turns on a stricter compiler hygiene check (Include What You Use, or IWYU) for the src/consensus directory.…

13b53f8bby Hennadii Stepanov+42−79 files
No security note in commit
Informational 15 AI analysisMessage 55 · Thin
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

fuzz: don't connman.ReceiveMsgFrom oversized msg

This is a small fix to a Bitcoin Core fuzz test (an automated internal testing harness), not to the live network code. The fuzzer was sometimes creating fake P2P messages larger than the real protocol allows and passing them into a test he…

Test-only fuzz harness hardeningOversized message guard added before ReceiveMsgFrom() in fuzz targetNo change to production P2P message acceptance logic
bb19f1daby Greg Sanders+5−01 file
No security note in commit
Informational 15 AI analysisMessage 97 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

ci: Temporarily remove riscv32 config from GHA matrix

This commit simply removes one failing test configuration (RISC-V 32-bit bare metal) from the project's GitHub Actions CI matrix because it was failing. It is a routine CI maintenance change with no security implications.

fa06ea42by MarcoFalke+0−61 file
No security note in commit
Low 47 AI analysisMessage 90 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

ci: verify cross-build SDK archives

This change adds checksum verification to the build system's downloads of Apple, FreeBSD, NetBSD, and OpenBSD software development kits (SDKs). Before this patch, those SDK archives were downloaded at build time and extracted without confi…

Adds cryptographic digest verification for downloaded SDK archivesRemoves unchecked extraction of remote SDK archives in CIHardens CI supply chain for macOS/BSD cross-builds
873550beby Lőrinc+25−126 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 80 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

ci: update NetBSD cross-build SDK

This is a routine maintenance update to Bitcoin Core's continuous integration (CI) system. It changes the version number of the NetBSD operating system used for cross-compilation testing from a release candidate (11.0_RC6) to the final rel…

2c87337eby Lőrinc+1−11 file
No security note in commit
Informational 15 AI analysisMessage 72 · Adequate
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

test: require `TryGetTotalRam()` detection

This commit only changes a test file and build configuration. It removes the option to skip a test when the system cannot detect total RAM, and instead requires the RAM detection to succeed. It does not change any production wallet, networ…

6a2de55aby Lőrinc+3−112 files
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

scripted-diff: use `MIN_DBCACHE_BYTES`

This commit is a simple automated rename of a constant from MIN_DB_CACHE to MIN_DBCACHE_BYTES across five files. The value stays the same (4 MiB), and no behavior changes. It is a code-cleanup/refactoring change with no security relevance.

7cfa21d6by Lőrinc+5−55 files
No security note in commit
Informational 20 AI analysisMessage 68 · Adequate
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

kernel: allow setting chainstate `dbcache`

This commit adds a new public API knob to the Bitcoin Core 'libbitcoinkernel' library so that programs using the kernel can choose how much memory to use for the chainstate database cache. It also enforces minimum and maximum size limits. …

New configurable cache-size API with explicit min/max validationReplaces hard-coded DEFAULT_KERNEL_CACHE with caller-supplied valueAdds unit tests for out-of-range rejection and 32-bit upper-bound rejection
8bd9f460by Lőrinc+41−14 files
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

kernel, node: colocate dbcache bounds

This commit is a small code cleanup: it moves two constants that define the minimum and maximum size of the database cache (dbcache) into a shared kernel header so that both the node and kernel code use the same limits. There is no change …

8aa21e11by Lőrinc+7−74 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

node, qt: inline `DEFAULT_DB_CACHE`

This is a small code cleanup change in Bitcoin Core. It removes a misleading alias named DEFAULT_DB_CACHE and replaces it with the underlying name DEFAULT_KERNEL_CACHE in a few places. The behavior of the program is unchanged; only the nam…

cd086c16by Lőrinc+5−74 files
No security note in commit
Repository ledger

Explore captured commits

Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.

AI review queueddoc: move release notes to wiki pre branch offby fanquake · 905c1a77 · Sep 8, 2025 · 24 filesMessage 68 · AdequateInformational 15Details
Commit message · fanquake

doc: move release notes to wiki pre branch off

See
https://github.com/bitcoin-core/bitcoin-devwiki/wiki/v30.0-Release-Notes-Draft.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
Why it was queued
documentation-only discountsecond-pass: unusually broad change
AI analysis · Informational 15/100

This commit only deletes release-note documentation files from the Bitcoin Core repository and moves them to the project's wiki. No program code, configuration defaults, or executable behavior was changed. It is purely a documentation housekeeping step before creating a new release branch.

AI review queuedci: test IPC on additional hostsby Sjors Provoost · a341e11a · Sep 5, 2025 · 5 filesMessage 90 · StrongInformational 15Details
Commit message · Sjors Provoost

ci: test IPC on additional hosts

Install pycapnp on all (active) CI hosts which have IPC enabled and
run the functional tests.

Except for previous_releases, which uses an older version of pip
that doesn't support --break-system-packages.

90/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only changes Bitcoin Core's continuous integration (CI) test scripts. It adds the Python pycapnp package to several CI environments so that inter-process communication (IPC) tests run on more platforms. There is no change to the Bitcoin software that users run, and no security vulnerability is present in the diff.

AI review queuedwallet: Add m_cached_from_me to cache "from me" statusby Ava Chow · 113a4228 · Sep 3, 2025 · 2 filesMessage 73 · AdequateInformational 19Details
Commit message · Ava Chow

wallet: Add m_cached_from_me to cache "from me" status

m_cached_from_me is used to track whether a transaction is "from me", i.e. has
any inputs which belong to the wallet. This is held in memory only in
the same way that a transaction's balances are.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 19/100

This commit adds a small in-memory cache to Bitcoin Core's wallet so it can remember whether a transaction spends coins that belong to the wallet, instead of recalculating that fact every time it is needed. It is a performance and code-clarity change, not a fix for a known security bug. There is no evidence in the commit or supplied references that this addresses an active vulnerability.

AI review queuedtest: Add a test for anchor outputs in the walletby Ava Chow · 609d265e · Sep 3, 2025 · 3 filesMessage 67 · AdequateInformational 15Details
Commit message · Ava Chow

test: Add a test for anchor outputs in the wallet

67/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only adds a new automated test for Bitcoin Core's wallet behavior regarding 'anchor outputs'—a special zero-value or tiny output type used in some transaction protocols. It does not change any production wallet, node, or consensus code. The test verifies that the wallet can detect anchor outputs during a blockchain rescan but cannot spend them. There is no security vulnerability here.

AI review queuedwallet: Throw an error in sendall if the tx size cannot be calculatedby Ava Chow · c40dc822 · Sep 3, 2025 · 1 fileMessage 50 · ThinLow 32Details
Commit message · Ava Chow

wallet: Throw an error in sendall if the tx size cannot be calculated

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 32/100

This commit changes the Bitcoin Core wallet's 'sendall' RPC command so that instead of relying on an internal assumption that every coin's size is known, it explicitly checks whether the final transaction size can be calculated and throws a clear error if it cannot. Previously, the code used a non-fatal assertion that could be skipped in release builds, potentially allowing the command to proceed with an invalid or unknown transaction size when the wallet contained descriptors it could not fully solve.

AI review queuedwallet: Determine IsFromMe by checking for TXOs of inputsby Ava Chow · 39a7dbdd · Sep 3, 2025 · 1 fileMessage 73 · AdequateLow 30Details
Commit message · Ava Chow

wallet: Determine IsFromMe by checking for TXOs of inputs

Instead of checking whether the total amount of inputs known by the
wallet is greater than 0, we should be checking for whether the input is
known by the wallet. This enables us to determine whether a transaction
spends an of output with an amount of 0, which is necessary for marking
0-value dust outputs as spent.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 30/100

This commit fixes a wallet accounting bug. Previously, Bitcoin Core's wallet decided whether a transaction came from the user by checking whether the total value of its inputs was greater than zero. That approach missed inputs that are worth exactly zero (so-called 'dust' outputs). After the change, the wallet checks each input individually to see if it is known to the wallet, so even zero-value outputs are correctly recognized as spent. This is mainly a correctness fix for tracking tiny outputs and could affect how transactions are labeled, but it does not appear to be a direct theft-of-funds vulnerability.

AI review queuedtest: Test wallet 'from me' status changeby Ava Chow · e76c2f7a · Sep 3, 2025 · 1 fileMessage 90 · StrongInformational 12Details
Commit message · Ava Chow

test: Test wallet 'from me' status change

If something is imported into the wallet, it can change the 'from me'
status of a transaction. This status is only visible through
gettransaction's "fee" field which is only shown for transactions that
are 'from me'.

90/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 12/100

This commit adds a new automated test to Bitcoin Core's test suite. It checks that when a private key or descriptor is imported into a wallet, transactions already known to the wallet can change their 'from me' status, which affects whether the gettransaction RPC shows a 'fee' field and 'send' category. The commit itself is only a test file change and does not modify production wallet code.

AI review queuedkernel: update headersync paramsby fanquake · 943de66b · Sep 2, 2025 · 2 filesMessage 35 · OpaqueInformational 15Details
Commit message · fanquake

kernel: update headersync params

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit updates the internal tuning numbers used by Bitcoin Core's header synchronization feature. It pushes the expected network date forward by about six months and raises the minimum chain-work header count to reflect blockchain growth. There is no security vulnerability here; it is routine maintenance to keep the DoS-protection parameters aligned with the current and projected state of the network.

AI review queuedkernel: update chainTxDataby fanquake · 66fb9624 · Sep 2, 2025 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · fanquake

kernel: update chainTxData

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit updates routine network statistics in Bitcoin Core's chain parameters. It refreshes the recorded time, total transaction count, and transaction rate for mainnet, testnet, signet, and regtest networks based on recent blockchain data. There is no security issue here—this is normal maintenance data that helps the software estimate sync progress and blockchain size.

AI review queuedp2p: add assertion for BlockTransactionsRequest indexesby frankomosh · 65a10fc3 · Sep 2, 2025 · 1 fileMessage 65 · AdequateLow 27Details
Commit message · frankomosh

p2p: add assertion for BlockTransactionsRequest indexes

Adds Assume() check in net_processing after deserialization and validate DifferenceFormatter Class invariant.

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
defensive validationsecond-pass: broader security terminology
AI analysis · Low 27/100

This commit adds a safety check in Bitcoin Core's network message handling for a specific message type (GETBLOCKTXN). After reading the message, it verifies that a list of transaction indexes is strictly increasing. This is a defensive coding change: it does not fix a known exploit, but adds an assertion to catch invariant violations that could theoretically lead to incorrect behavior or crashes in compact block reconstruction. The change is small and uses the non-fatal Assume() macro, meaning a violation in release builds may not necessarily stop execution.

AI review queuedfuzz: add a target for DifferenceFormatter Classby frankomosh · 58be359f · Sep 2, 2025 · 2 filesMessage 78 · AdequateInformational 15Details
Commit message · frankomosh

fuzz: add a target for DifferenceFormatter Class

Add fuzz test to verify that arbitrary input successfully deserialized
by DifferenceFormatter will maintain the sorted-without-duplicates invariant.

78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidencesecond-pass: broader security terminology
AI analysis · Informational 15/100

This commit adds a new automated fuzz test for a Bitcoin Core data-formatting helper called DifferenceFormatter. It does not change any production code, network behavior, or wallet logic. It only adds a test file and registers it in the build system. There is no security fix or vulnerability present in the diff.

AI review queuedfuzz: MockMempoolMinFee in wallet_feesby brunoerg · 5ded99a7 · Sep 1, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · brunoerg

fuzz: MockMempoolMinFee in wallet_fees

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
fuzzing or regression evidencesigning or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only changes a fuzz test file used for automated testing of Bitcoin Core's wallet fee logic. It adds a helper that simulates a higher minimum mempool fee during the test so the fuzzer can exercise more code paths. There is no change to production wallet or mempool code, and no security issue is present in the diff.

AI review queuedfuzz: create FeeEstimatorTestingSetup to set fee_estimatorby brunoerg · adf67eb2 · Sep 1, 2025 · 1 fileMessage 60 · AdequateInformational 15Details
Commit message · brunoerg

fuzz: create FeeEstimatorTestingSetup to set fee_estimator

60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
fuzzing or regression evidencesigning or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a small cleanup inside a fuzz test (automated randomized testing) for Bitcoin Core's wallet fee logic. It creates a dedicated test helper class so the fuzz harness can safely set and reset the fee estimator. There is no change to production code, no user-facing behavior change, and no security fix.

AI review queuedfuzz: mock CBlockPolicyEstimator in wallet_fuzzby brunoerg · ff10a37e · Sep 1, 2025 · 1 fileMessage 55 · ThinInformational 15Details
Commit message · brunoerg

fuzz: mock CBlockPolicyEstimator in wallet_fuzz

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
fuzzing or regression evidencesigning or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only changes a fuzz test file. It introduces a fake/mock version of Bitcoin Core's fee estimator so the wallet fuzz test can control its outputs. There is no change to production code, no user-facing behavior change, and no security fix or vulnerability.

AI review queuedwallet, refactor: Remove Legacy check and errorby pablomartin4btc · d3c5e473 · Aug 22, 2025 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · pablomartin4btc

wallet, refactor: Remove Legacy check and error

Remove dead code due to legacy wallet removal.

72/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Explains rationale or failure mode
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit removes a now-impossible error path in Bitcoin Core's wallet code. Legacy (non-descriptor) wallets have already been removed from the codebase, so the check that rejected adding descriptors to a legacy wallet was unreachable 'dead code.' The change replaces that check with an internal assertion, which only affects debug builds and only crashes the program if an invariant that should never happen is violated. There is no security vulnerability here.

AI review queueddoc: Remove wrong and redundant doxygen tagby MarcoFalke · 966666de · Aug 21, 2025 · 3 filesMessage 60 · AdequateInformational 15Details
Commit message · MarcoFalke

doc: Remove wrong and redundant doxygen tag

Remove it in feerate.

Fix it in the other places.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only fixes documentation comments in three source files. It corrects broken Doxygen tags (e.g., 'param@[in]' to '@param[in]'), removes redundant parameter descriptions, fixes a typo ('an specific' to 'a specific'), and clarifies a phrase. No executable code was changed, so it cannot affect program behavior or security.

AI review queuedtest: repeat block malleability test with relayable block over P2Pby Musa Haruna · d0e1bbad · Aug 21, 2025 · 1 fileMessage 95 · StrongInformational 15Details
Commit message · Musa Haruna

test: repeat block malleability test with relayable block over P2P

Adds a functional test that repeats the existing witness nonce size
malleability check using a block under MAX_BLOCK_WEIGHT so it can be
relayed over the P2P network, addressing the TODO in test_block_malleability.

Includes rejection check for 'bad-witness-nonce-size' and confirmation
that a corrected block is accepted.

95/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
second-pass: broader security terminology
AI analysis · Informational 15/100

This commit only adds a new functional test to Bitcoin Core. It does not change any production code, consensus rules, or network behavior. The test verifies that an invalid-but-relayable block with a malformed witness nonce is rejected over the peer-to-peer network, and that a corrected version is accepted. There is no security vulnerability being fixed here.

AI review queuedwallet: Remove ISMINE_USEDby Ava Chow · 009a69a6 · Aug 19, 2025 · 6 filesMessage 58 · ThinInformational 18Details
Commit message · Ava Chow

wallet: Remove ISMINE_USED

This isminetype is not a real isminetype as it is never returned by
IsMine. This is only used for isminefilters in one function, which can
be better represented with a bool parameter avoid_reuse.

58/100 · ThinMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 18/100

This is a small internal cleanup in Bitcoin Core's wallet code. It removes a special flag called ISMINE_USED that was only used to decide whether to count already-used addresses when calculating balances. The same behavior is now controlled by a simple true/false parameter called avoid_reuse. There is no direct security bug being fixed here; it is a refactoring change that makes the code easier to understand and maintain.

AI review queuedwallet: Remove COutput::spendable and AvailableCoinsListUnspentby Ava Chow · 6a7aa015 · Aug 19, 2025 · 10 filesMessage 73 · AdequateInformational 19Details
Commit message · Ava Chow

wallet: Remove COutput::spendable and AvailableCoinsListUnspent

In descriptor wallets, we consider all outputs to be spendable as we no
longer have mixed mine and watchonly in a wallet. As such,
COutput::spendable is meaningless and can be removed.

Furthermore, CoinFilterParams::only_spendable can be removed as that was
essentially checking for COutput::spendable.

Lastly, AvailableCoinsListUnspent can also be removed as the wrapper is
now only setting the feerate to std::nullopt which is trivial enough that
a dedicated wrapper is not needed.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 19/100

This commit cleans up the Bitcoin Core wallet code by removing an old 'spendable' flag that is no longer meaningful for modern descriptor wallets. For these wallets, every coin the wallet knows about is considered spendable, so the flag was redundant. The change also removes a small wrapper function and updates the listunspent RPC to always report 'spendable' as true. It is a code-simplification refactor, not a fix for an active security bug.

AI review queuedwallet: Remove isminetypeby Ava Chow · be776a14 · Aug 19, 2025 · 21 filesMessage 58 · ThinInformational 15Details
Commit message · Ava Chow

wallet: Remove isminetype

Since the only remaining isminetypes are ISMINE_NO and ISMINE_SPENDABLE,
this enum is now just a bool and can be removed. IsMine is changed to
return a bool and any usage of isminetypes and isminefilters are changed
to be the remaining ISMINE_SPENDABLE case.

58/100 · ThinMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: unusually broad changesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine internal code cleanup in Bitcoin Core's wallet module. It removes an old enum type called isminetype and replaces it with a simple true/false (bool) value, because the wallet no longer distinguishes between different kinds of 'mine' statuses—only 'mine' and 'not mine' remain. The change touches many files but does not alter what the wallet does; it only simplifies how the code expresses the same behavior.

AI review queuedinterfaces, gui: Remove is_mine output parameter from getAddressby Ava Chow · 620abe98 · Aug 19, 2025 · 5 filesMessage 65 · AdequateInformational 15Details
Commit message · Ava Chow

interfaces, gui: Remove is_mine output parameter from getAddress

The is_mine output parameter is never used by any callers.

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a simple code cleanup: it removes an unused 'is_mine' output parameter from a wallet address lookup function and updates all callers. There is no security-relevant change; the removed parameter was never used, and the remaining behavior is unchanged.

AI review queuedcmake: Drop python dependency for translateby Daniel Pfeifer · 3c4a109a · Aug 19, 2025 · 3 filesMessage 53 · ThinInformational 15Details
Commit message · Daniel Pfeifer

cmake: Drop python dependency for translate

Resolves #33146

53/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
second-pass: broader security terminology
AI analysis · Informational 15/100

This commit removes a Python helper script used during the build process and replaces it with equivalent logic written directly in CMake. It is a build-system cleanup that drops a Python dependency for generating translation string files. There is no indication this change fixes or introduces a security vulnerability.

AI review queuedfuzz: set mempool options in wallet_feesby brunoerg · 19273d07 · Aug 18, 2025 · 1 fileMessage 55 · ThinInformational 16Details
Commit message · brunoerg

fuzz: set mempool options in wallet_fees

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
fuzzing or regression evidencesigning or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 16/100

This commit changes a Bitcoin Core fuzz test (an automated test that feeds random data to a piece of code to find crashes or bugs). It removes a 'const' restriction so the test can create a fresh, configurable memory pool (mempool) for each fuzz run, and sets fee-related options from the fuzz input. It is a test-only change and does not alter the behavior of the actual Bitcoin node software that users run.

AI review queuedcmake: Drop dependency on sed for translate targetby Daniel Pfeifer · 05255d5d · Aug 18, 2025 · 2 filesMessage 50 · ThinInformational 15Details
Commit message · Daniel Pfeifer

cmake: Drop dependency on sed for translate target

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
second-pass: broader security terminology
AI analysis · Informational 15/100

This commit is a build-system cleanup. It replaces the use of the external 'sed' tool with built-in CMake commands when processing a translation file. There is no security-relevant change to Bitcoin's runtime behavior, networking, wallet handling, or consensus logic.

AI review queuedcmake: Introduce translate.cmake script for translate targetby Daniel Pfeifer · d5054bec · Aug 18, 2025 · 2 filesMessage 85 · StrongInformational 14Details
Commit message · Daniel Pfeifer

cmake: Introduce translate.cmake script for translate target

Using `file(GLOB)` in the generates step is discouraged because the
globbing result may be out of date when the target is built.
Performing the globbing in a script that is executed as the build
target means the result is always reproducable and the overhead
of globbing is only paid when used.

As a follow up, the dependency on `sed` may be removed by performing
the replacement with cmake. Also, the logic from extract_strings_qt.py
can be migrated to cmake.

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
Why it was queued
second-pass: broader security terminology
AI analysis · Informational 14/100

This commit is a routine build-system cleanup for Bitcoin Core's Qt GUI translation tooling. It moves the logic for finding translatable source files out of the CMake configuration step and into a separate script that runs only when developers explicitly build the 'translate' target. There is no change to how Bitcoin handles money, network messages, wallets, or private keys, and no security issue is evident.