AI Slop Code Risk Monitor

bitcoin/bitcoin

SlopCodeMonitor badge for bitcoin/bitcoin Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Bitcoin Core integration/staging tree

3.4 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for bitcoin/bitcoin, a C++ project with 90,554 GitHub stars. SynthScan examined 877,165 lines of code across 2487 source files, recording 2450 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 3.4 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

3.4
Adjusted Signal
3.4
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
90.6K
Stars
C++
Language
877.2K
Lines of Code
2.5K
Files
2.5K
Pattern Hits
2026-10-31
Scan Date
0.01
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 13.6/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 2315 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.3/100 · LOW

Are imports declared and package/API names verified? 19 finding(s).

Agent Over-Engineering Ratio 5.3/100 · LOW

Are wrappers, guards, and repeated structures necessary? 719 finding(s).

PR Review Velocity Impact 15.5/100 · LOW

Which changes need focused human review? 2450 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 36MEDIUM 161LOW 2253

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 2450 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Over-Commented Block1460 hits · 1458 pts
SeverityFileLineSnippetContext
LOWtest/lint/lint-locale-dependence.py1#!/usr/bin/env python3COMMENT
LOWtest/lint/lint-locale-dependence.py21#COMMENT
LOWtest/lint/test_runner/src/util.rs1// Copyright (c) The Bitcoin Core developersCOMMENT
LOWtest/functional/mempool_packages.py241 # Check that the txs are returned to the mempool, and that transaction ordering isCOMMENT
LOWtest/functional/wallet_fundrawtransaction.py1141 # 5. Explicit add_inputs=true, no preset inputs (same as (1) but with an explicit set):COMMENT
LOWtest/functional/wallet_migration.py1281 wallet = self.create_legacy_wallet("invalid_p2wsh")COMMENT
LOWtest/functional/mempool_package_limits.py1#!/usr/bin/env python3COMMENT
LOWtest/functional/feature_taproot.py121import hashlibCOMMENT
LOWtest/functional/feature_taproot.py141# The get(ctx, name) function can evaluate a name, and cache its result in the context.COMMENT
LOWtest/functional/feature_taproot.py381# The default context object.COMMENT
LOWtest/functional/feature_taproot.py441 "codesepnum": -1,COMMENT
LOWtest/functional/feature_taproot.py701 # Test with signature with bit flipped.COMMENT
LOWtest/functional/feature_taproot.py1081 # Test that a stack size of 1000 elements is permitted, but 1001 isn't.COMMENT
LOWtest/functional/wallet_groups.py81 self.log.info("Test avoiding partial spends if warranted, even if avoidpartialspends is disabled")COMMENT
LOWtest/functional/p2p_compactblocks_blocksonly.py81 # 1 -> high bandwidthCOMMENT
LOWtest/functional/test_runner.py501 # in the ALL_SCRIPTS list. Accept names with or without a .py extension.COMMENT
LOWtest/functional/feature_pruning.py381 self.log.info("Check that we haven't started pruning yet because we're below PruneAfterHeight")COMMENT
LOWtest/functional/feature_pruning.py401 #COMMENT
LOWtest/functional/feature_pruning.py421 # \ \COMMENT
LOWtest/functional/feature_pruning.py441 # *...**(1320)COMMENT
LOWtest/functional/rpc_decodescript.py121 # OP_NOP2 is also known as OP_CHECKLOCKTIMEVERIFY.COMMENT
LOWtest/functional/interface_http.py741 dl_start_size = self.node.debug_log_size(encoding="utf-8")COMMENT
LOWtest/functional/feature_bind_port_discover.py21COMMENT
LOWtest/functional/feature_block.py741 self.send_blocks([b48, b48p], success=True) # Reorg to the longer chainCOMMENT
LOWtest/functional/feature_block.py761 # Result: FailsCOMMENT
LOWtest/functional/feature_block.py921 # care whether the bloated block is accepted or rejected; it only cares that the second block is accepted.COMMENT
LOWtest/functional/feature_block.py1001 self.move_tip(65)COMMENT
LOWtest/functional/feature_block.py1081 #COMMENT
LOWtest/functional/wallet_balance.py101 assert_raises_rpc_error(-32, "dummy first argument must be excluded or set to \"*\"", self.nodes[1].getbalance, COMMENT
LOWtest/functional/wallet_balance.py121 # The balance is indeed "trusted" and "confirmed" insofar as removingCOMMENT
LOWtest/functional/feature_cltv.py41 tx.vin[0].nSequence = nsequenceCOMMENT
LOWtest/functional/test_framework/util.py561 f.write("shrinkdebugfile=0\n")COMMENT
LOWtest/functional/test_framework/script_util.py41 assert_equal,COMMENT
LOWtest/functional/test_framework/netutil.py21COMMENT
LOWtest/functional/test_framework/socks5.py101 self.auth = False # Support authenticationCOMMENT
LOWtest/functional/test_framework/authproxy.py1# Copyright (c) 2011 Jeff GarzikCOMMENT
LOWtest/functional/test_framework/test_framework.py361COMMENT
LOWtest/functional/test_framework/script.py901COMMENT
LOWtest/functional/test_framework/test_node.py281 # potentially interfere with our attempt to authenticateCOMMENT
LOWtest/functional/test_framework/test_node.py381 if self.version_is_at_least(190000) and wait_for_import:COMMENT
LOWtest/functional/test_framework/test_node.py801 # Wait for the node to send us the version and verackCOMMENT
LOWcontrib/tracing/log_raw_p2p_msgs.py1#!/usr/bin/env python3COMMENT
LOWcontrib/tracing/log_raw_p2p_msgs.py21# VM's stack is limited to 512 bytes, and we can't allocate more than about 32kbCOMMENT
LOWcontrib/tracing/log_raw_p2p_msgs.py41program = """COMMENT
LOWcontrib/tracing/p2p_monitor.py1#!/usr/bin/env python3COMMENT
LOWcontrib/qos/tc.sh1#!/usr/bin/env bashCOMMENT
LOWcontrib/qos/tc.sh41COMMENT
LOWcontrib/asmap/asmap.py161 # of failure the default instruction's argument is returned. It is followed by anCOMMENT
LOWcontrib/linearize/example-linearize.cfg21COMMENT
LOWcontrib/verify-commits/gpg.sh1#!/bin/shCOMMENT
LOWcontrib/devtools/headerssync-params.py21MINCHAINWORK_HEADERS = 966143COMMENT
LOWcontrib/devtools/headerssync-params.py41# Explanation:COMMENT
LOWcontrib/devtools/headerssync-params.py61# - When redownloading, headers are fed through a per-peer queue that holds {bufsize} headers,COMMENT
LOWcontrib/devtools/headerssync-params.py81# threshold, we will consume per-peer memory that is sufficient to store {n/period}COMMENT
LOWcontrib/devtools/headerssync-params.py161 max_rate = NoneCOMMENT
LOWcontrib/guix/symbol-check.py21# Ubuntu 20.04 (Focal) EOL: 2030. https://wiki.ubuntu.com/ReleaseTeamCOMMENT
LOWcontrib/guix/libexec/setup.sh1#!/usr/bin/env bashCOMMENT
LOWcontrib/guix/libexec/codesign.sh1#!/usr/bin/env bashCOMMENT
LOWcontrib/guix/libexec/prelude.bash81}COMMENT
LOW.github/workflows/ci.yml61 # Moreover, pull requests that contain a merge commitCOMMENT
1400 more matches not shown…
Hyper-Verbose Identifiers599 hits · 601 pts
SeverityFileLineSnippetContext
LOWtest/lint/lint-includes.py104def find_quote_syntax_inclusions():CODE
LOWtest/lint/lint-locale-dependence.py212def find_locale_dependent_function_uses():CODE
LOWtest/lint/lint-files.py123def check_all_file_permissions(files) -> int:CODE
LOWtest/lint/lint-files.py168def check_shebang_file_permissions(files_meta) -> int:CODE
LOWtest/lint/check-doc.py27def lint_missing_argument_documentation():CODE
LOWtest/lint/check-doc.py46def lint_missing_hidden_wallet_args():CODE
LOWtest/fuzz/test_runner.py206def transform_process_message_target(targets, src_dir):CODE
LOWtest/functional/p2p_connection_limits.py29 def create_blocks_only_version(self):CODE
LOWtest/functional/p2p_connection_limits.py37 def create_no_services_blocks_only_version(self):CODE
LOWtest/functional/rpc_signer.py36 def skip_test_if_missing_module(self):CODE
LOWtest/functional/tool_bitcoin_chainstate.py27 def skip_test_if_missing_module(self):CODE
LOWtest/functional/wallet_backwards_compatibility.py56 def skip_test_if_missing_module(self):CODE
LOWtest/functional/wallet_backwards_compatibility.py170 def test_ignore_legacy_during_startup(self, legacy_nodes, node_master):CODE
LOWtest/functional/wallet_backwards_compatibility.py202 def test_downgrade_preserves_witness_variants(self, node_master, node_miner, node_old):CODE
LOWtest/functional/wallet_listreceivedby.py23 def skip_test_if_missing_module(self):CODE
LOWtest/functional/wallet_startup.py29 def skip_test_if_missing_module(self):CODE
LOWtest/functional/wallet_startup.py47 def test_load_unwritable_wallet(self, node):CODE
LOWtest/functional/wallet_startup.py97 def test_startup_warning_log_injection(self, node):CODE
LOWtest/functional/wallet_change_address.py28 def skip_test_if_missing_module(self):CODE
LOWtest/functional/wallet_sendmany.py12 def skip_test_if_missing_module(self):CODE
LOWtest/functional/wallet_sendmany.py19 def test_sffo_repeated_address(self):CODE
LOWtest/functional/wallet_keypool_topup.py30 def skip_test_if_missing_module(self):CODE
LOWtest/functional/wallet_reorgsrestore.py31 def skip_test_if_missing_module(self):CODE
LOWtest/functional/wallet_reorgsrestore.py34 def test_coinbase_automatic_abandon_during_startup(self):CODE
LOWtest/functional/wallet_reorgsrestore.py93 def test_reorg_handling_during_unclean_shutdown(self):CODE
LOWtest/functional/mempool_limit.py37 def test_mid_package_eviction_success(self):CODE
LOWtest/functional/mempool_limit.py130 def test_mid_package_replacement(self):CODE
LOWtest/functional/interface_ipc.py28 def skip_test_if_missing_module(self):CODE
LOWtest/functional/interface_ipc.py56 def run_rpc_invalid_json_test(self):CODE
LOWtest/functional/interface_ipc.py88 def run_deprecated_mining_test(self):CODE
LOWtest/functional/interface_ipc.py103 def run_unclean_disconnect_test(self):CODE
LOWtest/functional/wallet_exported_watchonly.py31 def skip_test_if_missing_module(self):CODE
LOWtest/functional/wallet_exported_watchonly.py96 def test_export_with_address_book(self):CODE
LOWtest/functional/wallet_exported_watchonly.py120 def test_export_with_txs_and_locked_coins(self):CODE
LOWtest/functional/wallet_exported_watchonly.py162 def test_export_imported_descriptors(self):CODE
LOWtest/functional/wallet_assumeutxo.py28 def skip_test_if_missing_module(self):CODE
LOWtest/functional/wallet_assumeutxo.py69 def complete_background_validation(self, node):CODE
LOWtest/functional/wallet_assumeutxo.py79 def test_backup_during_background_sync_pruned_node(self, n3, dump_output, expected_error_message):CODE
LOWtest/functional/wallet_assumeutxo.py92 def test_restore_wallet_pruneheight(self, n3):CODE
LOWtest/functional/wallet_gethdkeys.py23 def skip_test_if_missing_module(self):CODE
LOWtest/functional/mempool_datacarrier.py37 def test_null_data_transaction(self, node: TestNode, data, success: bool) -> None:CODE
LOWtest/functional/rpc_help.py69 def test_client_conversion_table(self):CODE
LOWtest/functional/rpc_help.py100 def test_client_string_conversion_table(self):CODE
LOWtest/functional/wallet_orphanedreward.py16 def skip_test_if_missing_module(self):CODE
LOWtest/functional/wallet_musig.py30 def skip_test_if_missing_module(self):CODE
LOWtest/functional/wallet_musig.py34 def create_wallets_and_keys_from_pattern(self, pat):CODE
LOWtest/functional/wallet_musig.py71 def construct_and_import_musig_descriptor_in_wallets(self, pat, wallets, keys, only_one_musig_wallet=False):CODE
LOWtest/functional/wallet_musig.py125 def assert_musig_aggregate_in_script(self, signer_data, pattern, psbtin):CODE
LOWtest/functional/p2p_leak_tx.py67 def test_notfound_on_replaced_tx(self):CODE
LOWtest/functional/p2p_leak_tx.py100 def test_notfound_on_unannounced_tx(self):CODE
LOWtest/functional/wallet_anchor.py31 def skip_test_if_missing_module(self):CODE
LOWtest/functional/wallet_simulaterawtx.py22 def skip_test_if_missing_module(self):CODE
LOWtest/functional/feature_notifications.py224 def large_work_invalid_chain_warning_in_alert_file(self):CODE
LOWtest/functional/feature_maxuploadtarget.py55 def assert_uploadtarget_state(self, *, target_reached, serve_historical_blocks):CODE
LOWtest/functional/p2p_handshake.py49 def test_desirable_service_flags(self, node, service_flag_tests, desirable_service_flags, expect_disconnect):CODE
LOWtest/functional/wallet_basic.py37 def skip_test_if_missing_module(self):CODE
LOWtest/functional/p2p_invalid_messages.py103 def test_duplicate_version_msg(self):CODE
LOW⚡test/functional/p2p_invalid_messages.py272 def test_oversized_getdata_msg(self):CODE
LOW⚡test/functional/p2p_invalid_messages.py276 def test_oversized_headers_msg(self):CODE
LOW⚡test/functional/p2p_invalid_messages.py280 def test_invalid_pow_headers_msg(self):CODE
539 more matches not shown…
Self-Referential Comments98 hits · 304 pts
SeverityFileLineSnippetContext
MEDIUM⚡test/functional/wallet_backwards_compatibility.py288 # Create a number of wallets and open them in older versions:COMMENT
MEDIUM⚡test/functional/wallet_backwards_compatibility.py297 # Create a confirmed transaction, receiving coinsCOMMENT
MEDIUM⚡test/functional/wallet_backwards_compatibility.py302 # Create a conflicting transaction using RBFCOMMENT
MEDIUMtest/functional/wallet_listreceivedby.py182 # Create a new label named "mynewlabel" that has a 0 balanceCOMMENT
MEDIUMtest/functional/wallet_reorgsrestore.py48 # Create a new block in node0, coinbase going to wallet0COMMENT
MEDIUMtest/functional/wallet_reorgsrestore.py172 # Create a conflicted tx broadcast on node0 chain and conflicting tx broadcast on node1 chain. Both spend from tCOMMENT
MEDIUMtest/functional/mempool_limit.py89 # Create a child spending everything with an insane fee, bumping the package above mempool_entry_minrateCOMMENT
MEDIUMtest/functional/mempool_limit.py173 # Create a child spending everything, CPFPing the low-feerate parent.COMMENT
MEDIUMtest/functional/wallet_assumeutxo.py129 # Create a wallet that we will create a backup for later (at snapshot height)COMMENT
MEDIUMtest/functional/wallet_anchor.py37 # Create an anchor output, and spend itCOMMENT
MEDIUMtest/functional/wallet_basic.py208 # Create a couple of transactions to send them to node2, submit them throughCOMMENT
MEDIUMtest/functional/feature_assumevalid.py92 # Create the first block with a coinbase output to our keyCOMMENT
MEDIUMtest/functional/feature_assumevalid.py112 # Create a transaction spending the coinbase output with an invalid (null) signatureCOMMENT
MEDIUMtest/functional/rpc_packages.py451 # Create a transaction chain such as only the parent gets accepted (by making the child'sCOMMENT
MEDIUMtest/functional/wallet_rescan_unconfirmed.py46 # Create an unconfirmed child transaction from the parent tx, sending allCOMMENT
MEDIUMtest/functional/wallet_bumpfee.py211 # Create a tx with two outputs. recipient and change.COMMENT
MEDIUMtest/functional/wallet_bumpfee.py381 # Create a transaction with segwit output, then create an RBF transactionCOMMENT
MEDIUMtest/functional/wallet_bumpfee.py615 # Create a wallet with private keys that can sign PSBTsCOMMENT
MEDIUMtest/functional/interface_rest.py176 # Create a transaction, check that it's found with /checkmempool, butCOMMENT
MEDIUMtest/functional/wallet_listsinceblock.py420 # Create a watchonly wallet tracking two multisig descriptors.COMMENT
MEDIUMtest/functional/wallet_listsinceblock.py458 # Create a UTxO paying to one of our change addresses.COMMENT
MEDIUMtest/functional/wallet_fundrawtransaction.py1501 # Create a replacement tx to 'final_tx1' that has 1 BTC target instead of 0.1.COMMENT
MEDIUMtest/functional/feature_bip68_sequence.py220 # Create a mempool tx.COMMENT
MEDIUMtest/functional/feature_bip68_sequence.py235 # Create a spend of the 0th output of orig_tx with a sequence lockCOMMENT
MEDIUMtest/functional/p2p_compactblocks.py522 # Create a chain of transactions from given utxo, and add to a new block.COMMENT
MEDIUMtest/functional/wallet_migration.py1332 # Create a wsh(sh(pkh())) - P2SH inside of P2WSH is invalidCOMMENT
MEDIUMtest/functional/wallet_migration.py1342 # Create a wsh(wsh(pkh())) - P2WSH inside of P2WSH is invalidCOMMENT
MEDIUMtest/functional/mempool_updatefromblock.py77 # Create a new transaction.COMMENT
MEDIUMtest/functional/feature_taproot.py1347 # Create a list of scripts which will be built into a taptreeCOMMENT
MEDIUMtest/functional/mempool_persist.py109 # Create a tx and prioritise but don't submit until after the restart.COMMENT
MEDIUMtest/functional/feature_segwit.py237 # Create a 3-tx chain: tx1 (non-segwit input, paying to a segwit output) ->COMMENT
MEDIUMtest/functional/wallet_abandonconflict.py81 #Create a child tx spending AB1 and CCOMMENT
MEDIUMtest/functional/wallet_abandonconflict.py90 # Create a child tx spending ABC2COMMENT
MEDIUMtest/functional/wallet_abandonconflict.py174 # Create a double spend of AB1 by spending again from only A's 10 outputCOMMENT
MEDIUMtest/functional/feature_utxo_set_hash.py36 # Create a spending transaction and mine a block which includes itCOMMENT
MEDIUMtest/functional/rpc_psbt.py1171 # Create a psbt spending outputs from nodes 1 and 2COMMENT
MEDIUMtest/functional/rpc_psbt.py1379 # Create a PSBT. None of the inputs are filled initiallyCOMMENT
MEDIUMtest/functional/rpc_signrawtransactionwithkey.py77 # Create a new P2SH-P2WSH 1-of-1 multisig address:COMMENT
MEDIUMtest/functional/feature_assumeutxo.py268 # Create an alternative chain of 2 new blocks, forking off the main chain at the block before the snapshot blockCOMMENT
MEDIUMtest/functional/feature_assumeutxo.py427 # Create a stale block that forks off the main chain before the snapshot.COMMENT
MEDIUMtest/functional/p2p_1p1c_network.py106 # Create the transactions.COMMENT
MEDIUMtest/functional/p2p_invalid_block.py120 # Create a block that spends the output of a tx in a previous block.COMMENT
MEDIUMtest/functional/feature_config_args.py191 # Create a temporary directory that will be treated as the default dataCOMMENT
MEDIUMtest/functional/feature_config_args.py480 # Create a temporary directory that will be treated as the default dataCOMMENT
MEDIUMtest/functional/feature_config_args.py579 # Create the directory and ensure the config file now worksCOMMENT
MEDIUMtest/functional/rpc_net.py104 # Create a few getpeerinfo last_block/last_transaction values.COMMENT
MEDIUMtest/functional/p2p_segwit.py311 # Create a transaction that spends the coinbaseCOMMENT
MEDIUMtest/functional/p2p_segwit.py627 # Create the same output as tx3, but by replacing txCOMMENT
MEDIUMtest/functional/p2p_segwit.py894 # Create a P2WSH transaction.COMMENT
MEDIUMtest/functional/p2p_segwit.py1149 # Create a transaction that splits our utxo into many outputsCOMMENT
MEDIUMtest/functional/p2p_segwit.py1616 # Create a slight bias for producing more utxosCOMMENT
MEDIUMtest/functional/p2p_segwit.py1718 # Create a p2sh output -- this is so we can pass the standardnessCOMMENT
MEDIUMtest/functional/p2p_segwit.py2015 # Create a Segwit output from the latest UTXOCOMMENT
MEDIUMtest/functional/p2p_segwit.py2024 # Create a Segwit transactionCOMMENT
MEDIUMtest/functional/wallet_listtransactions.py304 # Create a script path spend and relay it. With only one variant known itCOMMENT
MEDIUMtest/functional/mempool_cluster.py131 # Create a package from the second to last transaction.COMMENT
MEDIUMtest/functional/mempool_cluster.py198 # Create a chain of transactionsCOMMENT
MEDIUMtest/functional/mempool_cluster.py258 # Create a transaction spending from all clusters that exceeds the cluster size limit.COMMENT
MEDIUMtest/functional/p2p_private_broadcast.py111 # Create a Python P2P listening node and instruct the SOCKS5 proxy toCOMMENT
MEDIUMtest/functional/wallet_avoidreuse.py123 # Create a wallet with avoid reuse, and test that disabling it afterwards persistsCOMMENT
38 more matches not shown…
Decorative Section Separators44 hits · 159 pts
SeverityFileLineSnippetContext
MEDIUMCMakeLists.txt26#=============================COMMENT
MEDIUMCMakeLists.txt28#=============================COMMENT
MEDIUMCMakeLists.txt69#=============================COMMENT
MEDIUMCMakeLists.txt71#=============================COMMENT
MEDIUMCMakeLists.txt98#=============================COMMENT
MEDIUMCMakeLists.txt100#=============================COMMENT
MEDIUMCMakeLists.txt154#=============================COMMENT
MEDIUMCMakeLists.txt156#=============================COMMENT
MEDIUMCMakeLists.txt168#=============================COMMENT
MEDIUMCMakeLists.txt170#=============================COMMENT
MEDIUM⚡CMakeLists.txt202#=============================COMMENT
MEDIUM⚡CMakeLists.txt204#=============================COMMENT
MEDIUM⚡CMakeLists.txt213#=============================COMMENT
MEDIUM⚡CMakeLists.txt215#=============================COMMENT
MEDIUMtest/functional/wallet_conflicts.py67 # ----------------COMMENT
MEDIUMtest/functional/feature_assumeutxo.py720 # -----------------------------COMMENT
MEDIUMsrc/CMakeLists.txt10#=============================COMMENT
MEDIUMsrc/CMakeLists.txt12#=============================COMMENT
MEDIUMsrc/secp256k1/CMakeLists.txt3#=============================COMMENT
MEDIUMsrc/secp256k1/CMakeLists.txt5#=============================COMMENT
MEDIUM⚡src/secp256k1/CMakeLists.txt28#=============================COMMENT
MEDIUM⚡src/secp256k1/CMakeLists.txt30#=============================COMMENT
MEDIUM⚡src/secp256k1/CMakeLists.txt34#=============================COMMENT
MEDIUM⚡src/secp256k1/CMakeLists.txt36#=============================COMMENT
MEDIUM⚡src/minisketch/CMakeLists.txt3#=============================COMMENT
MEDIUM⚡src/minisketch/CMakeLists.txt5#=============================COMMENT
MEDIUM⚡src/minisketch/CMakeLists.txt13# ============================================================COMMENT
MEDIUM⚡src/minisketch/CMakeLists.txt15# ============================================================COMMENT
MEDIUMsrc/minisketch/CMakeLists.txt34#=============================COMMENT
MEDIUMsrc/minisketch/CMakeLists.txt36#=============================COMMENT
MEDIUMsrc/minisketch/CMakeLists.txt49#=============================COMMENT
MEDIUMsrc/minisketch/CMakeLists.txt51#=============================COMMENT
MEDIUMsrc/minisketch/CMakeLists.txt83#=============================COMMENT
MEDIUMsrc/minisketch/CMakeLists.txt85#=============================COMMENT
MEDIUMsrc/minisketch/CMakeLists.txt96#=============================COMMENT
MEDIUMsrc/minisketch/CMakeLists.txt98#=============================COMMENT
MEDIUMsrc/minisketch/CMakeLists.txt115#=============================COMMENT
MEDIUMsrc/minisketch/CMakeLists.txt117#=============================COMMENT
MEDIUM⚡src/node/mini_miner.cpp336 // ┌─────────────────┐COMMENT
MEDIUM⚡src/node/mini_miner.cpp343 // └──────▲───▲──────┘ P2_ASFR: 2.47 s/vBCOMMENT
MEDIUM⚡src/node/mini_miner.cpp345 // ┌───────────────┐ │ │ ┌──────────────┐COMMENT
MEDIUM⚡src/node/mini_miner.cpp352 // └───────────▲───┘ └───▲──────────┘COMMENT
MEDIUM⚡src/node/mini_miner.cpp354 // │ ┌───────────┐ │COMMENT
MEDIUM⚡src/node/mini_miner.cpp361 // └───────────┘COMMENT
Empty Error Handlers22 hits · 110 pts
SeverityFileLineSnippetContext
HIGHtest/functional/interface_ipc.py22except ModuleNotFoundError:CODE
HIGHtest/functional/wallet_descriptor.py9except ImportError:CODE
HIGHtest/functional/interface_usdt_validation.py16except ImportError:CODE
HIGHtest/functional/tool_utxo_to_sqlite.py11except ImportError:CODE
HIGHtest/functional/interface_usdt_coinselection.py13except ImportError:CODE
HIGHtest/functional/interface_usdt_mempool.py16except ImportError:CODE
HIGHtest/functional/test_runner.py621except OSError:CODE
HIGHtest/functional/feature_reindex_readonly.py75except Exception:CODE
HIGHtest/functional/rpc_blockchain.py551except (ConnectionError, http.client.BadStatusLine):CODE
HIGHtest/functional/interface_zmq.py40except ImportError:CODE
HIGHtest/functional/interface_http.py415except NETWORK_ERRORS:CODE
HIGHtest/functional/interface_usdt_net.py15except ImportError:CODE
HIGHtest/functional/interface_ipc_mining.py55except ModuleNotFoundError:CODE
HIGHtest/functional/interface_usdt_utxocache.py14except ImportError:CODE
HIGHtest/functional/feature_utxo_abort_on_error.py104except Exception:CODE
HIGHtest/functional/test_framework/util.py630except OSError:CODE
HIGHtest/functional/test_framework/ipc_util.py23except ModuleNotFoundError:CODE
HIGHtest/functional/test_framework/netutil.py59except FileNotFoundError:CODE
HIGHtest/functional/test_framework/socks5.py243except OSError:CODE
HIGHtest/functional/test_framework/wallet.py162except StopIteration:CODE
HIGHtest/functional/test_framework/test_node.py461except ValueError: # cookie file not found and no rpcuser or rpcpassword; bitcoind is still startingCODE
HIGHcontrib/signet/getcoins.py63except IndexError:CODE
Deep Nesting96 hits · 96 pts
SeverityFileLineSnippetContext
LOWtest/download_utils.py12CODE
LOWtest/get_previous_releases.py134CODE
LOWtest/lint/lint-files.py123CODE
LOWtest/lint/lint-files.py168CODE
LOWtest/functional/combine_logs.py103CODE
LOWtest/functional/combine_logs.py145CODE
LOWtest/functional/wallet_backwards_compatibility.py96CODE
LOWtest/functional/wallet_backwards_compatibility.py272CODE
LOWtest/functional/wallet_keypool_topup.py33CODE
LOWtest/functional/wallet_gethdkeys.py78CODE
LOWtest/functional/wallet_gethdkeys.py132CODE
LOWtest/functional/rpc_help.py21CODE
LOWtest/functional/wallet_musig.py34CODE
LOWtest/functional/wallet_musig.py125CODE
LOWtest/functional/p2p_v2_misbehaving.py104CODE
LOWtest/functional/p2p_v2_misbehaving.py159CODE
LOWtest/functional/wallet_address_types.py97CODE
LOWtest/functional/wallet_address_types.py156CODE
LOWtest/functional/wallet_address_types.py223CODE
LOWtest/functional/wallet_fundrawtransaction.py66CODE
LOWtest/functional/feature_bip68_sequence.py129CODE
LOWtest/functional/mempool_updatefromblock.py33CODE
LOWtest/functional/feature_taproot.py514CODE
LOWtest/functional/feature_taproot.py680CODE
LOWtest/functional/feature_taproot.py1460CODE
LOWtest/functional/feature_taproot.py1661CODE
LOWtest/functional/feature_taproot.py1782CODE
LOWtest/functional/feature_utxo_set_hash.py22CODE
LOWtest/functional/wallet_transactiontime_rescan.py31CODE
LOWtest/functional/rpc_psbt.py881CODE
LOWtest/functional/interface_bitcoin_cli.py44CODE
LOWtest/functional/p2p_private_broadcast.py63CODE
LOWtest/functional/p2p_private_broadcast.py234CODE
LOWtest/functional/p2p_private_broadcast.py71CODE
LOWtest/functional/p2p_private_broadcast.py285CODE
LOWtest/functional/interface_usdt_coinselection.py139CODE
LOWtest/functional/wallet_send.py40CODE
LOWtest/functional/test_runner.py426CODE
LOWtest/functional/test_runner.py608CODE
LOWtest/functional/test_runner.py781CODE
LOWtest/functional/p2p_tx_download.py451CODE
LOWtest/functional/wallet_taproot.py173CODE
LOWtest/functional/feature_reindex_readonly.py22CODE
LOWtest/functional/p2p_disconnect_ban.py19CODE
LOWtest/functional/interface_zmq.py138CODE
LOWtest/functional/interface_zmq.py456CODE
LOWtest/functional/feature_torcontrol.py60CODE
LOWtest/functional/feature_torcontrol.py86CODE
LOWtest/functional/p2p_sendheaders.py271CODE
LOWtest/functional/test_framework/v2_p2p.py178CODE
LOWtest/functional/test_framework/p2p.py265CODE
LOWtest/functional/test_framework/p2p.py326CODE
LOWtest/functional/test_framework/util.py427CODE
LOWtest/functional/test_framework/util.py612CODE
LOWtest/functional/test_framework/key.py292CODE
LOWtest/functional/test_framework/key.py324CODE
LOWtest/functional/test_framework/socks5.py53CODE
LOWtest/functional/test_framework/socks5.py140CODE
LOWtest/functional/test_framework/messages.py353CODE
LOWtest/functional/test_framework/messages.py384CODE
36 more matches not shown…
Excessive Try-Catch Wrapping42 hits · 50 pts
SeverityFileLineSnippetContext
LOWtest/download_utils.py58 except Exception as e:CODE
LOWtest/download_utils.py64 except Exception as e2:CODE
LOWtest/get_previous_releases.py161 except Exception as e:CODE
LOWtest/get_previous_releases.py167 except Exception as e2:CODE
LOWtest/get_previous_releases.py199 except Exception as e:CODE
LOWtest/functional/feature_dbcrash.py87 except Exception:CODE
LOWtest/functional/feature_dbcrash.py111 except Exception as e:CODE
LOWtest/functional/feature_dbcrash.py171 except Exception:CODE
LOWtest/functional/tool_utils.py78 except Exception as e:CODE
LOWtest/functional/tool_utils.py83 except Exception as e:CODE
LOWtest/functional/feature_reindex_readonly.py58 except Exception:CODE
LOWtest/functional/feature_reindex_readonly.py75 except Exception:CODE
LOWtest/functional/tool_bitcoin.py60 except Exception as e:CODE
LOWtest/functional/rpc_preciousblock.py20 except Exception:CODE
LOWtest/functional/feature_utxo_abort_on_error.py104 except Exception:CODE
LOWtest/functional/test_framework/p2p.py383 except Exception as e:CODE
LOWtest/functional/test_framework/p2p.py532 except Exception:CODE
LOWtest/functional/test_framework/util.py125 except Exception as e:CODE
LOWtest/functional/test_framework/util.py191 except Exception as e:CODE
LOWtest/functional/test_framework/util.py200 except Exception as e:CODE
MEDIUMtest/functional/test_framework/util.py116def assert_raises_message(exc, message, fun, *args, **kwds):CODE
MEDIUMtest/functional/test_framework/util.py197def assert_is_hex_string(string):CODE
LOWtest/functional/test_framework/netutil.py219 except Exception:CODE
LOWtest/functional/test_framework/socks5.py228 except Exception as e:CODE
LOWtest/functional/test_framework/socks5.py267 except Exception as e:CODE
MEDIUMtest/functional/test_framework/socks5.py263def try_join_daemon_thread(thread, timeout=0) -> bool:CODE
LOWci/lint.py19 except Exception as e:CODE
LOWci/test/02_run_container.py20 except Exception as e:CODE
MEDIUMci/test/02_run_container.py127 print(f"Error: Directory '{os.environ['CCACHE_DIR']}' must be created in advance.")CODE
LOWcontrib/signet/getcoins.py145except Exception:CODE
LOWcontrib/message-capture/message-capture-parser.py148 except Exception:CODE
MEDIUMcontrib/utxo-tools/utxo_to_sqlite.py123 print(f"Error: provided input file '{args.infile}' doesn't exist.")CODE
MEDIUMcontrib/utxo-tools/utxo_to_sqlite.py127 print(f"Error: provided output file '{args.outfile}' already exists.")CODE
MEDIUMcontrib/utxo-tools/utxo_to_sqlite.py148 print(f"Error: provided input file '{args.infile}' is not an UTXO dump.")CODE
MEDIUMcontrib/utxo-tools/utxo_to_sqlite.py151 print(f"Error: provided input file '{args.infile}' has unknown UTXO dump version {version} "CODE
LOWcontrib/guix/security-check.py41 except Exception:CODE
LOWcontrib/verify-binaries/test.py19 except Exception:CODE
LOWcontrib/verify-binaries/test.py34 except Exception:CODE
LOWcontrib/verify-binaries/verify.py448 except Exception as e:CODE
LOW.github/ci-windows.py23 except Exception as e:CODE
LOW.github/ci-test-each-commit-exec.py16 except Exception as e:CODE
LOW.github/ci-windows-cross.py23 except Exception as e:CODE
Cross-Language Confusion8 hits · 42 pts
SeverityFileLineSnippetContext
HIGHtest/functional/feature_assumevalid.py112 # Create a transaction spending the coinbase output with an invalid (null) signatureCOMMENT
HIGHtest/functional/interface_usdt_coinselection.py63 coin_selection_events.push(&data, 0);CODE
HIGHtest/functional/interface_usdt_coinselection.py77 coin_selection_events.push(&data, 0);CODE
HIGHtest/functional/interface_usdt_coinselection.py88 coin_selection_events.push(&data, 0);CODE
HIGHtest/functional/interface_usdt_coinselection.py103 coin_selection_events.push(&data, 0);CODE
HIGHtest/functional/interface_http.py371 assert b'{"result":"high-hash","error":null}\n' in response1CODE
HIGHci/test/02_run_container.py207 f"echo 'Windows cross compiler:' && \"$CXX\" -v && exec bash {shlex.quote(test_script)}",CODE
HIGH.github/ci-windows.py53 f'"{comspec}" /s /c ""{vsdevcmd}" -arch=x64 -no_logo && set"',CODE
AI Slop Vocabulary18 hits · 42 pts
SeverityFileLineSnippetContext
MEDIUMtest/functional/p2p_v2_misbehaving.py180 # Make a passing connection for more robust disconnection checking.COMMENT
LOWtest/functional/rpc_createmultisig.py64 expected_ms_script = keys_to_multisig_script(keys, k=nkeys) # simply use n-of-nCODE
MEDIUMtest/functional/wallet_migration.py1292 # In order to get the wsh(pkh()) into only mapScripts and not setWatchOnly, we need to utilizeCOMMENT
LOWtest/functional/rpc_psbt.py753 # The decodepsbt RPC is stateless and independent of any settings, we can always just call it on the first nodeCOMMENT
LOWtest/functional/mining_basic.py527 # We know the header for this invalid block, so should just return early without error:COMMENT
LOWtest/functional/mempool_package_rbf.py75 # coins (to create conflicts), and perhaps giving them the same fee, we might accidentally just create the same COMMENT
LOWtest/functional/mempool_truc.py319 # tx_0fee_parent is our transaction "B"; just create it.COMMENT
LOWtest/functional/mining_prioritisetransaction.py341 # This is a less than 1000-byte transaction, so just set the feeCOMMENT
LOWtest/functional/test_framework/test_node.py137 # For those callers that need more flexibility, they can just set the args property directly.COMMENT
MEDIUMtest/functional/test_framework/test_node.py397 # The wait is done here to make tests as robust as possibleCOMMENT
LOWcontrib/devtools/gen-manpages.py91 # Copyright is the same for all binaries, so just use the first.COMMENT
MEDIUMcontrib/guix/libexec/setup.sh16# time-machine to a commit which includes the aforementioned change, we canCOMMENT
MEDIUMcontrib/guix/libexec/codesign.sh16# time-machine to a commit which includes the aforementioned change, we canCOMMENT
MEDIUMsrc/protocol.h347 // unauthenticated advertisements, so your code must be robust againstCOMMENT
MEDIUMsrc/validation.cpp1447 // N.B. this doesn't take into account CPFPs. Chunk-aware validation may be more robust.COMMENT
MEDIUMsrc/net.cpp3868 // We also should be robust to those attacks which may not require scraping *full* victim's AddrManCOMMENT
MEDIUMsrc/test/key_io_tests.cpp122// Goal: check that base58 parsing code is robust against a variety of corrupted dataCOMMENT
MEDIUMsrc/policy/truc_policy.h19// RBF abilities more robust. A transaction with version=3 is treated as TRUC.COMMENT
Cross-File Repetition6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHtest/functional/tool_bitcoin_chainstate.py0use the pregenerated, deterministic chain up to height 199.STRING
HIGHtest/functional/wallet_assumeutxo.py0use the pregenerated, deterministic chain up to height 199.STRING
HIGHtest/functional/feature_assumeutxo.py0use the pregenerated, deterministic chain up to height 199.STRING
HIGHtest/functional/tool_bitcoin_chainstate.py0start with the nodes disconnected so that one can generate a snapshot including blocks the other hasn't yet seen.STRING
HIGHtest/functional/wallet_assumeutxo.py0start with the nodes disconnected so that one can generate a snapshot including blocks the other hasn't yet seen.STRING
HIGHtest/functional/feature_assumeutxo.py0start with the nodes disconnected so that one can generate a snapshot including blocks the other hasn't yet seen.STRING
Overly Generic Function Names17 hits · 22 pts
SeverityFileLineSnippetContext
LOWtest/functional/p2p_orphan_handling.py95 def test_function():CODE
LOWtest/functional/p2p_sendheaders.py150 def test_function():CODE
LOW⚡test/functional/p2p_sendheaders.py178 def test_function():CODE
LOW⚡test/functional/p2p_sendheaders.py192 def test_function():CODE
LOW⚡test/functional/test_framework/p2p.py610 def test_function():CODE
LOW⚡test/functional/test_framework/p2p.py618 def test_function():CODE
LOW⚡test/functional/test_framework/p2p.py624 def test_function():CODE
LOW⚡test/functional/test_framework/p2p.py630 def test_function():CODE
LOW⚡test/functional/test_framework/p2p.py637 def test_function():CODE
LOW⚡test/functional/test_framework/p2p.py645 def test_function():CODE
LOW⚡test/functional/test_framework/p2p.py651 def test_function():CODE
LOW⚡test/functional/test_framework/p2p.py660 def test_function():CODE
LOWtest/functional/test_framework/p2p.py672 def test_function():CODE
LOWtest/functional/test_framework/p2p.py684 def test_function():CODE
LOWtest/functional/test_framework/p2p.py699 def test_function():CODE
LOWtest/functional/test_framework/p2p.py707 def test_function():CODE
LOWtest/functional/test_framework/p2p.py731 def test_function():CODE
Redundant / Tautological Comments11 hits · 16 pts
SeverityFileLineSnippetContext
LOWtest/lint/lint-includes.py136 # Check if code includes .cpp-filesCOMMENT
LOWtest/lint/lint-includes.py155 # Check if Boost dependencies are no longer usedCOMMENT
LOWtest/functional/example_test.py85 # Set setup_clean_chain to True to skip this and start from the GenesisCOMMENT
LOWtest/functional/interface_rest.py400 # Check if the 3 tx show up in the new blockCOMMENT
LOWtest/functional/rpc_invalidateblock.py107 # Check if it's possible for an ancestor (with block data) to be the chain tipCOMMENT
LOWtest/functional/mempool_accept.py190 tx.vin[0].prevout.n = 1 # Set vout to 1, to spend the other outpoint (49 coins) of the in-chain-tx we want to dCODE
LOWtest/functional/wallet_txn_doublespend.py51 # Assign coins to foo and bar addresses:COMMENT
LOWtest/functional/feature_fee_estimation.py405 # Verify if the string "Flushed fee estimates to block_policy_estimates.dat." is present in the debug log file.COMMENT
LOWtest/functional/test_framework/util.py347 # Set paths to bitcoin core binaries allowing overrides with environmentCOMMENT
LOWtest/functional/test_framework/test_node.py153 self.args.append("-lang=nl_NL") # Set language to try to trigger translation bugsCODE
LOWcontrib/signet/getcoins.py148# Display the output as per the returned status codeCOMMENT
Structural Annotation Overuse6 hits · 9 pts
SeverityFileLineSnippetContext
LOWcontrib/macdeploy/README.md13### Step 1: Obtaining `Xcode.app`COMMENT
LOWcontrib/macdeploy/README.md45### Step 2: Generating the SDK tarball from `Xcode.app`COMMENT
LOWcontrib/linearize/README.md4## Step 1: Download hash listCOMMENT
LOWcontrib/linearize/README.md25## Step 2: Copy local block dataCOMMENT
LOWcontrib/guix/README.md333### Step 1: Authorize the signing keysCOMMENT
LOWcontrib/guix/README.md386### Step 2: Specify the substitute serversCOMMENT
Fake / Example Data5 hits · 6 pts
SeverityFileLineSnippetContext
LOWsrc/crypto/sha256.cpp493 "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do "CODE
LOWsrc/crypto/sha256.cpp493 "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do "CODE
LOW⚡src/test/script_tests.cpp1191 CKey dummy_key;CODE
LOW⚡src/test/script_tests.cpp1192 dummy_key.MakeNewKey(/*fCompressed=*/true);CODE
LOW⚡src/test/script_tests.cpp1193 const CPubKey dummy_pubkey{dummy_key.GetPubKey()};CODE
Unused Imports6 hits · 6 pts
SeverityFileLineSnippetContext
LOWtest/functional/test_framework/test_framework.py994CODE
LOWtest/functional/test_framework/test_framework.py1008CODE
LOWtest/functional/test_framework/test_framework.py1015CODE
LOWcontrib/devtools/clang-format-diff.py24CODE
LOWcontrib/devtools/clang-format-diff.py24CODE
LOWcontrib/devtools/clang-format-diff.py24CODE
Slop Phrases2 hits · 4 pts
SeverityFileLineSnippetContext
LOWsrc/netbase.cpp868 /* Don't forget to update doc/p2p-bad-ports.md if you change this list. */COMMENT
MEDIUMsrc/secp256k1/examples/silentpayments.c80 * the label tweak when a match is found. This is for demonstration purposesCOMMENT
Verbosity Indicators3 hits · 4 pts
SeverityFileLineSnippetContext
LOWsrc/cluster_linearize.h1027 * This variable stores the tiebreak of the current best candidate. */COMMENT
LOWsrc/script/sign.cpp790 // Note we need to check if the result stack is empty before, because it might be used even if the ScriptCOMMENT
LOWsrc/secp256k1/include/secp256k1_preallocated.h29 * The purpose of this function is to determine how much memory must be providedCOMMENT
AI Structural Patterns4 hits · 4 pts
SeverityFileLineSnippetContext
LOWtest/functional/feature_taproot.py514CODE
LOWtest/functional/wallet_send.py40CODE
LOWtest/functional/test_framework/wallet.py295CODE
LOWtest/functional/test_framework/test_node.py97CODE
Modern Structural Boilerplate2 hits · 2 pts
SeverityFileLineSnippetContext
LOWcontrib/asmap/asmap.py310 def update_multi(self, entries: list[tuple[list[bool], int]]) -> None:CODE
LOWcontrib/asmap/asmap.py316 def _set_trie(self, trie) -> None:CODE
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWcontrib/devtools/circular-dependencies.py42# TODO: implement support for multiple include directoriesCOMMENT