BC
← All projectsBitcoin Core

Bitcoin Core

The Bitcoin network's reference node and wallet implementation.

BitcoinSupply chainNormal
Repository coverage

2876 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 candidates603second-pass queue809AI analyses
210commits · 30 days
491commits · 60 days
1521commits · 180 days
2876commits · 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
915Strong · 80–100
1187Adequate · 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 Poinsot2246170
Ava Chow15649125064
MarcoFalke4062181074
Lőrinc1772149081
fanquake2271939057
Hennadii Stepanov2081437063
rkrux57944074
Sjors Provoost89817074
Sebastian Falbesoner33714073
David Gumberg55637072
Pieter Wuille95514066
Hodlinator66518076
Analysis record

Published AI watches

Last scanned 54 minutes ago

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 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 68 · Adequate
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

ci, iwyu: Enforce warning-free `src/common`

This is a routine code cleanup commit. It adjusts which C++ header files are included in the `src/common` part of Bitcoin Core so that an automated tool called Include What You Use (IWYU) reports no warnings. It also tells the continuous i…

50145f62by Hennadii Stepanov+75−3822 files
No security note in commit
Informational 20 AI analysisMessage 73 · Adequate
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

wallet: Remove meaningless bool fallback in FundTransaction

This commit removes an old backward-compatibility feature in Bitcoin Core's wallet RPC command `fundrawtransaction`. Previously, callers could pass a plain `true` or `false` as the second argument, which was silently ignored. Now, passing …

Removal of a no-op backward-compatibility code path that silently accepted arbitrary boolean valuesStricter RPC input validation: bare booleans now rejected with a JSON type errorNo memory safety, cryptographic, or consensus changes observed
fa7fe798by MarcoFalke+60−652 files
No security note in commit
Informational 15 AI analysisMessage 35 · Opaque
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

guix: consolidate config flags

This commit is a housekeeping change to Bitcoin Core's Guix build scripts. It only reorders and consolidates CMake configuration flags, and adds a couple of disabled test/build options. There is no change to the actual Bitcoin software cod…

683ae4c5by fanquake+16−146 files
No security note in commit
Informational 17 AI analysisMessage 45 · Thin
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

gui: Menu action for exporting a watchonly wallet

This commit adds a new menu item in the Bitcoin Core desktop wallet that lets users export a 'watch-only' copy of their wallet. A watch-only wallet can see transactions and balances but cannot spend funds. The change only wires up an exist…

No security-relevant signals detected in the diffNew GUI feature exposing existing wallet export functionalityAction is disabled for wallets with private keys disabled
cb51f97fby Ava Chow+30−04 files
No security note in commit
Informational 15 AI analysisMessage 28 · Opaque
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

add release notes

This commit only adds a short release note describing a new wallet-migration user-interface option. There is no code change, no bug fix, and no security-related content in the diff.

4cea5957by Pol Espinasa+5−01 file
No security note in commit
Informational 19 AI analysisMessage 50 · Thin
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

gui: Adds option to not load the wallet after migration

This commit adds a user-facing checkbox in the Bitcoin Core desktop wallet that lets someone choose whether to automatically load a wallet after migrating it from an older format. Previously the wallet was always loaded. The change is a us…

No security-relevant signal: change is a feature/usability additionNo memory safety, cryptographic, consensus, or network changesNo privilege boundary crossed
492a715dby Pol Espinasa+20−104 files
No security note in commit
Informational 15 AI analysisMessage 100 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: Make all `const static` class members `constexpr`

This commit is a code cleanup that changes many internal class constants from 'static const' to 'static constexpr'. In modern C++, constexpr constants are automatically inlined and avoid certain linker errors when used in specific ways. Th…

05c35c40by rustaceanrob+38−4024 files
No security note in commit
Informational 15 AI analysisMessage 83 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

fuzz: populate wallet TXO index in wallet_create_transaction

This is a fix to a Bitcoin Core fuzz test (an automated testing harness), not to the main wallet code that real users run. The test was inserting fake wallet transactions in a way that skipped updating an internal index called m_txos. Beca…

Test-only change in fuzz harnessFixes internal test-state consistency, not production wallet behaviorNo validation, consensus, or P2P networking changes
1eac6a72by frankomosh+1−01 file
No security note in commit
Informational 15 AI analysisMessage 83 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

scripted-diff: Use long form of shell options in Guix scripts

This commit is a purely cosmetic change in Bitcoin Core's Guix build scripts. It replaces the short shell command 'set -e' with its long-form equivalent 'set -o errexit'. Both forms do exactly the same thing: they make the script exit imme…

2cb3bfa8by Hennadii Stepanov+6−66 files
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

guix: Add copyright headers to Guix scripts

This commit only adds or updates copyright and license header comments at the top of several helper scripts used for Bitcoin Core's Guix build process. It does not change any executable code, logic, or behavior. There is no security risk.

711eb10fby Hennadii Stepanov+20−27 files
No security note in commit
Low 28 AI analysisMessage 96 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Squashed 'src/secp256k1/' changes from bd0287d650..d2d04864ef

This commit updates the secp256k1 cryptographic library inside Bitcoin Core to a newer version. The main change is adding support for a new optional feature called 'Silent Payments' (BIP352), which is a privacy-enhancing way to receive Bit…

New cryptographic module added (Silent Payments / BIP352)Field-element equality check magnitude bound corrected from 31 to 30X-only public key even-Y invariant enforced in extrakeys module
a33f2405by fanquake+13939−13434 files
No security note in commit
Informational 13 AI analysisMessage 81 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

ipc, refactor: Update mp::g_thread_context references

This is a small internal code cleanup in Bitcoin Core's inter-process communication (IPC) code. It replaces direct references to a global thread-local variable with a helper function so the code works around a compiler bug in Windows MinGW…

No security-relevant code change identifiedRefactor only: replaces direct global variable access with inline wrapperCommit message describes motivation as compiler compatibility, not security
d3d74e70by Ryan Ofsky+12−53 files
No security note in commit
Informational 15 AI analysisMessage 90 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

scripted-diff: Use C.UTF-8 locale in Guix scripts

This commit is a routine cleanup that changes the locale setting in Bitcoin Core's Guix build scripts from the old ASCII-only 'C' locale to the modern 'C.UTF-8' locale. It is not a security fix and does not change any behavior that could b…

8916f796by Hennadii Stepanov+15−1515 files
No security note in commit
Informational 19 AI analysisMessage 68 · Adequate
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

p2p: Assume v2transport for addresses from seeds

This change makes Bitcoin Core assume that hard-coded and DNS seed nodes support the newer BIP324 encrypted transport (v2) when first connecting. If the guess is wrong, the software falls back to the older v1 protocol automatically. It is …

Adds NODE_P2P_V2 to assumed service flags for seed-derived addressesFallback to v1 transport exists if the v2 assumption is wrongNo input validation, memory safety, or cryptographic changes
cf0f2aeaby Martin Zumsande+10−22 files
No security note in commit
Informational 16 AI analysisMessage 75 · Adequate
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

qt, test: Enable tests on macOS with `minimal` QPA plugin

This commit removes workarounds that skipped three Bitcoin Core Qt test suites on macOS when using the 'minimal' Qt platform plugin. The previous commit fixed the underlying crash cause, so these tests can now run. It is a test-infrastruct…

No security-relevant code change in the diff itselfReferences a prior crash fix, but this commit only removes test skipsNo input handling, cryptography, networking, consensus, or wallet logic modified
fd59d68cby Hennadii Stepanov+0−343 files
No security note in commit
Informational 15 AI analysisMessage 85 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: simplify adding SipHash-1-3-UJ

This is a code cleanup (refactor) that moves the internal SipHash mixing steps into shared helper methods. It does not change how Bitcoin hashes data, how many rounds are run, or any user-visible behavior. There is no security bug being fi…

25bfca06by Lőrinc+74−1222 files
No security note in commit
Informational 21 AI analysisMessage 68 · Adequate
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

crypto: add generic SipHash-1-3-UJ

This commit adds a new, weaker variant of the SipHash algorithm inside Bitcoin Core's cryptography module. It is explicitly designed for low-security uses such as internal hash tables, not for protecting funds or network messages. The code…

New weaker cryptographic primitive added (SipHash-1-3 vs. standard SipHash-2-4)Explicit unpadded input design removes length-commitment paddingJumbo 256-bit blocks increase attacker control within a single round
c2d7931bby Pieter Wuille+103−02 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 queuedtest: slow down rescaning processby Pol Espinasa · 9e62e4b1 · Jun 25, 2026 · 1 fileMessage 67 · AdequateInformational 15Details
Commit message · Pol Espinasa

test: slow down rescaning process

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 changes a test file. It adds code to generate extra blocks during a wallet rescan test so the rescanning process takes longer. There is no change to production Bitcoin Core code, no security fix, and no vulnerability.

Lower-prioritydoc: add release notes for #33671 (getbalances nonmempool field)by Pablo Martin · 9b2ef817 · Jun 25, 2026 · 1 fileMessage 58 · ThinTriage 0Details
Commit message · Pablo Martin

doc: add release notes for #33671 (getbalances nonmempool field)

58/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
documentation-only discount
AI review queuedwallet: Drop mapValue from CWalletTxby Ava Chow · a2b0bfcd · Jun 24, 2026 · 6 filesMessage 68 · AdequateInformational 19Details
Commit message · Ava Chow

wallet: Drop mapValue from CWalletTx

It doesn't make sense to be storing relevant metadata variables inside
of a string map in CWalletTx. All of the fields have been pulled out
into separate members, so there is no need for mapValue to stick around.

68/100 · AdequateMessage clarity
✓ 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 is a routine internal cleanup in Bitcoin Core's wallet code. It removes an old string-to-string metadata map called mapValue from wallet transactions and replaces it with direct typed fields. The change keeps the same data on disk and in RPC output, just organized differently. There is no indication this fixes a security bug or introduces a new vulnerability.

AI review queuedwallet: Throw if unknown entry is found in mapValueby Ava Chow · cb99864c · Jun 24, 2026 · 1 fileMessage 85 · StrongLow 31Details
Commit message · Ava Chow

wallet: Throw if unknown entry is found in mapValue

We know what entries are expected to be found in mapValue. If we
encounter one that is not recognized, then we should throw and refuse to
load the wallet in order to avoid losing user data once mapValue is no
longer used.

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
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 31/100

This Bitcoin Core wallet patch makes the wallet stricter when reading old transaction metadata. Previously, unknown entries in a wallet's internal 'mapValue' data store were silently ignored. Now the wallet will refuse to load if it sees an entry it does not recognize, and it also removes two obsolete fields ('fromaccount' and 'spent') before checking. The goal is to prevent accidental loss of user data when older wallet formats are loaded in newer software, not to fix an active remote attack.

AI review queuedwallet: Make CWalletTx "replaces_txid" and "replaced_by_txid" member variablesby Ava Chow · 98d5cdae · Jun 24, 2026 · 5 filesMessage 73 · AdequateInformational 20Details
Commit message · Ava Chow

wallet: Make CWalletTx "replaces_txid" and "replaced_by_txid" member variables

Instead of storing "replaces_txid" and "replaced_by_txid" as strings inside of
mapValue, store these expliclty as members of CWalletTx.

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 20/100

This commit is a small internal cleanup in Bitcoin Core's wallet code. It moves two pieces of transaction metadata—'replaces_txid' and 'replaced_by_txid'—from a loose string-based key/value map into properly typed member variables of the CWalletTx class. The values are still saved to and loaded from the wallet database in the same way, so there is no user-visible behavior change. It is a refactoring change, not a security fix.

AI review queuedwallet: Make CWalletTx "comment" and "to" member variablesby Ava Chow · 7ef8a6ef · Jun 24, 2026 · 8 filesMessage 65 · AdequateInformational 19Details
Commit message · Ava Chow

wallet: Make CWalletTx "comment" and "to" member variables

Instead of storing "comment" and "to" inside of mapValue, store these
expliclty as members of CWalletTx.

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 19/100

This commit is a straightforward internal cleanup in Bitcoin Core's wallet code. It moves two optional user-provided text fields, 'comment' and 'to', out of a generic key/value map and into explicit named member variables on the wallet transaction object. The change does not alter what data is stored or how users interact with it; it only makes the code clearer and less error-prone. There is no indication this fixes a security vulnerability.

AI review queuedwallet: Make CWalletTx "from" and "message" member variablesby Ava Chow · 2155e913 · Jun 24, 2026 · 6 filesMessage 65 · AdequateInformational 18Details
Commit message · Ava Chow

wallet: Make CWalletTx "from" and "message" member variables

Instead of storing "from" and "message" inside of mapValue, store these
explicitly as members of CWalletTx.

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 18/100

This is a small code cleanup in Bitcoin Core's wallet. It moves two very old, rarely-used pieces of transaction metadata—'from' and 'message'—out of a generic key/value map and into explicit named fields. The change preserves the same data and behavior, just makes the code clearer. It is not a security fix and does not appear to introduce a meaningful vulnerability.

AI review queuedwallet: Pass comment and comment_to to CommitTransactionby Ava Chow · 00abb174 · Jun 24, 2026 · 3 filesMessage 73 · AdequateInformational 15Details
Commit message · Ava Chow

wallet: Pass comment and comment_to to CommitTransaction

Instead of passing these by setting them in mapValue, pass them directly
to CommitTransaction.

This is preparation for removing mapValue.

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 15/100

This is a routine internal code cleanup in Bitcoin Core's wallet. It changes how optional user comments (like a note on a payment) are passed through the code, moving them from a generic key-value map to explicit function parameters. The actual behavior—storing the comments with the transaction—remains the same. There is no security issue visible in this change.

AI review queuedwallet: Drop mapValue from CommitTransactionby Ava Chow · c6ba98dc · Jun 24, 2026 · 8 filesMessage 68 · AdequateInformational 18Details
Commit message · Ava Chow

wallet: Drop mapValue from CommitTransaction

The values previously passed in mapValue are now parameters to
CommitTransaction so there is no need for mapValue to be passed.

68/100 · AdequateMessage clarity
✓ 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 18/100

This is a routine internal code cleanup in Bitcoin Core's wallet. It removes an old way of passing extra transaction details (called mapValue) and replaces it with explicit named parameters. The change does not alter what the wallet records or how transactions are broadcast; it only makes the code easier to maintain. There is no indication of a security bug being fixed.

AI review queuedwallet: Pass replaces_txid to CommitTransaction outside of mapValueby Ava Chow · 1a219a37 · Jun 24, 2026 · 3 filesMessage 73 · AdequateInformational 15Details
Commit message · Ava Chow

wallet: Pass replaces_txid to CommitTransaction outside of mapValue

Instead of updating mapValue with the "replaces_txid" value and passing
the updated mapValue to CommitTransaction, pass the replaces_txid
directly to CommitTransaction which updates mapValue as necessary.

This is prepration for removing mapValue.

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 15/100

This is a small internal code cleanup in Bitcoin Core's wallet. It changes how a transaction ID is passed when a user bumps a transaction fee, moving the value from a general metadata map into a dedicated function parameter. There is no security bug being fixed here and no user-facing behavior change.

Lower-prioritycoins: drop stale cursor null checksby Lőrinc · 72db4acc · Jun 24, 2026 · 2 filesMessage 68 · AdequateTriage 0Details
Commit message · Lőrinc

coins: drop stale cursor null checks

`CCoinsViewDB::Cursor()` now owns cursor iteration and constructs the cursor directly.

Drop the leftover handling for the old generic nullable cursor contract from DB cursor call sites.

Co-authored-by: sedited <seb.kung@gmail.com>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Lower-prioritycoins: pass UTXO stats view by referenceby Lőrinc · 3d2f2d8d · Jun 24, 2026 · 6 filesMessage 68 · AdequateTriage 0Details
Commit message · Lőrinc

coins: pass UTXO stats view by reference

The UTXO stats helpers require a non-null coins DB view after cursor users were narrowed to `CCoinsViewDB`.

Use references for the DB view in the UTXO stats helpers and for local DB-view/block-manager variables at call sites, so the path no longer spells a nullable contract.

Co-authored-by: sedited <seb.kung@gmail.com>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Lower-prioritycoins: drop cursor from base viewby Lőrinc · 35aedb28 · Jun 24, 2026 · 3 filesMessage 78 · AdequateTriage 5Details
Commit message · Lőrinc

coins: drop cursor from base view

`CCoinsView` does not need to expose cursor iteration now that the few cursor users take `CCoinsViewDB` directly.
Keep `Cursor()` on `CCoinsViewDB`, where iteration is supported, and remove the empty, forwarding, and throwing base-view overrides.

This also removes the coins_view fuzz target probe that only asserted the unsupported `CCoinsViewCache::Cursor()` throw path.

Co-authored-by: sedited <seb.kung@gmail.com>

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 evidence
Lower-prioritycoins: pass DB view to cursor usersby Lőrinc · c6fbe2f6 · Jun 24, 2026 · 4 filesMessage 78 · AdequateTriage 5Details
Commit message · Lőrinc

coins: pass DB view to cursor users

Cursor iteration is only supported by the coins database view.

Pass `CCoinsViewDB` pointers to UTXO stats code and use the concrete DB pointer in the coins_view fuzz target before removing the abstract hook.

Co-authored-by: sedited <seb.kung@gmail.com>

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 evidence
Lower-prioritylogging: More fully remove libevent log categoryby Ryan Ofsky · 3765b428 · Jun 24, 2026 · 5 filesMessage 68 · AdequateTriage 0Details
Commit message · Ryan Ofsky

logging: More fully remove libevent log category

Libevent log category was partially removed in 39e9099da59, and this
commit extends that with the following changes:

- Stops showing libevent in the list of supported log categories in
`bitcoind -help` and `bitcoin-cli help logging` output.

- Stops returning `"libevent": false` in `logging` RPC output.

It's not good to treat libevent as a supported log category when it
can't be enabled and trying to enable it results in warnings.

There's also no need to define an unused LIBEVENT constant value and
keep more complicated logic for dealing with deprecated log categories,
so this change also simplifies code internally.

Co-authored-by: David Gumberg <davidzgumberg@gmail.com>
Co-authored-by: l0rinc <pap.lorinc@gmail.com>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Lower-priorityfuzz: compact coins view db during fuzzingby Lőrinc · 703a671f · Jun 23, 2026 · 1 fileMessage 78 · AdequateTriage 5Details
Commit message · Lőrinc

fuzz: compact coins view db during fuzzing

Exercise `CCoinsViewDB::CompactFullAsync()` from the `coins_view_db` fuzz target so the new chainstate compaction wrapper can run concurrently with ordinary coins view operations.

The fuzz operation only schedules compaction, matching production; outstanding work is waited for by the `CCoinsViewDB` destructor at the end of the fuzz input.

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 evidence
Lower-priorityrefactor: rename async coin compactionby Lőrinc · 0868c85f · Jun 23, 2026 · 4 filesMessage 80 · StrongTriage 0Details
Commit message · Lőrinc

refactor: rename async coin compaction

Rename the `CCoinsViewDB` async compaction wrapper to `CompactFullAsync()` so it is distinct from the blocking `CDBWrapper::CompactFull()` primitive it calls.

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Lower-priorityfuzz: share a single mocked steady clock across FuzzedSock instancesby Hao Xu · 6fa41322 · Jun 23, 2026 · 11 filesMessage 95 · StrongTriage 5Details
Commit message · Hao Xu

fuzz: share a single mocked steady clock across FuzzedSock instances

Each FuzzedSock used to own its mocked steady clock and call
MockableSteadyClock::SetMockTime() directly. Hold the clock by reference
to an externally provided FakeSteadyClock instead, so that several
FuzzedSock instances sharing a test case (e.g. one per peer, or one
created via Accept()) advance a single mocked clock, and the mocking goes
through the FakeSteadyClock RAII helper that resets mocktime on
destruction.

FakeSteadyClock is a LimitOne type, so each fuzz target constructs one
instance per iteration and passes it to ConsumeSock / ConsumeNode / the
FuzzedSock constructor.

95/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidence
AI review queuedtest: use ExtendedPrivateKey in wallet_taproot.pyby rkrux · 8791c476 · Jun 23, 2026 · 1 fileMessage 67 · AdequateInformational 15Details
Commit message · rkrux

test: use ExtendedPrivateKey in wallet_taproot.py

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 is a cleanup of a Bitcoin Core test file. It replaces a hard-coded list of test keys with a helper that generates fresh random keys during the test. There is no change to the actual Bitcoin node software, no fix for a vulnerability, and no security-relevant behavior change.

AI review queuedtest: use ExtendedPrivateKey in wallet_createwallet.pyby rkrux · 4100fac2 · Jun 23, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · rkrux

test: use ExtendedPrivateKey in wallet_createwallet.py

72/100 · AdequateMessage clarity
✓ Specific, 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 is a minor test-only cleanup. It replaces a hardcoded example private key in a Bitcoin Core functional test with a freshly generated one using a test helper. There is no change to production wallet code, no security fix, and no vulnerability.

AI review queuedtest: use ExtendedPrivateKey in wallet_keypool.pyby rkrux · 2ab6e590 · Jun 23, 2026 · 1 fileMessage 67 · AdequateInformational 15Details
Commit message · rkrux

test: use ExtendedPrivateKey in wallet_keypool.py

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 changes a single test file. It replaces hard-coded example private keys in a test script with freshly generated random keys produced by a helper class. There is no change to the actual Bitcoin Core wallet or node software, and no security vulnerability is introduced or fixed.

AI review queuedtest: use ExtendedPrivateKey in wallet_listdescriptors.pyby rkrux · 89ceafaf · Jun 23, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · rkrux

test: use ExtendedPrivateKey in wallet_listdescriptors.py

72/100 · AdequateMessage clarity
✓ Specific, 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 changes a test file. It replaces hard-coded example Bitcoin keys with freshly generated random keys during automated testing. There is no change to the actual Bitcoin Core wallet software that users run, so it cannot affect real funds or network security.

AI review queuedtest: use ExtendedPrivateKey in wallet_fundrawtransaction.pyby rkrux · 9e201187 · Jun 23, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · rkrux

test: use ExtendedPrivateKey in wallet_fundrawtransaction.py

72/100 · AdequateMessage clarity
✓ Specific, 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 is a minor test-only cleanup. It replaces a hardcoded example private key in a test script with a freshly generated random one. There is no change to the actual Bitcoin Core software that users run, and no security vulnerability is being fixed or introduced.

AI review queuedtest: use ExtendedPrivateKey in wallet_send.pyby rkrux · bbfffcab · Jun 23, 2026 · 1 fileMessage 67 · AdequateInformational 15Details
Commit message · rkrux

test: use ExtendedPrivateKey in wallet_send.py

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 changes only a test file. It replaces a hard-coded Bitcoin testnet extended private key with a freshly generated one using a test helper. There is no change to production wallet code, no bug fix, and no security-relevant behavior change.

AI review queuedtest: use ExtendedPrivateKey in wallet_descriptor.pyby rkrux · 06af0cdd · Jun 23, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · rkrux

test: use ExtendedPrivateKey in wallet_descriptor.py

72/100 · AdequateMessage clarity
✓ Specific, 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 is a minor test-only change in Bitcoin Core. It replaces a hard-coded test private key with a freshly generated one for use in an automated functional test. There is no change to production wallet code, no security fix, and no vulnerability.