AI Slop Code RIsk Monitor

spesmilo/electrum

Electrum Bitcoin Wallet

19.9 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for spesmilo/electrum, a Python project with 8,611 GitHub stars. SynthScan examined 189,449 lines of code across 521 source files, recording 3252 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 19.9 (Elevated 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.

19.9
Adjusted Signal
19.9
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
8.6K
Stars
Python
Language
189.4K
Lines of Code
521
Files
3.3K
Pattern Hits
2026-10-12
Scan Date
0.25
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 37.1/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 20.2/100 · LOW

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

Agent Over-Engineering Ratio 47.6/100 · MEDIUM

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

PR Review Velocity Impact 66.9/100 · HIGH

Which changes need focused human review? 3252 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 14HIGH 116MEDIUM 117LOW 3005

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 3252 distinct pattern matches across 21 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.

Hyper-Verbose Identifiers1357 hits · 1269 pts
SeverityFileLineSnippetContext
LOWtests/test_onion_message.py65 def test_path_pubkeys_blinded_path_appended(self):CODE
LOWtests/test_onion_message.py114 def test_onion_message_payload_size(self):CODE
LOW⚡tests/test_onion_message.py148 def test_decode_onion_message_packet(self):CODE
LOW⚡tests/test_onion_message.py154 def test_decode_onion_message(self):CODE
LOW⚡tests/test_onion_message.py164 def test_decrypt_onion_message(self):CODE
LOWtests/test_onion_message.py223 def prepare_blinded_path_bob_to_dave(self):CODE
LOWtests/test_onion_message.py235 def test_create_onionmessage_to_blinded_path_via_alice(self):CODE
LOWtests/test_onion_message.py283 async def wait_one_htlc_switch_iteration(self, *args):CODE
LOWtests/test_onion_message.py476 def my_on_onion_message_received_unsolicited(*args, **kwargs):CODE
LOWtests/test_onion_message.py495 async def test_get_blinded_paths_to_me_payment(self):CODE
LOWtests/test_onion_message.py533 async def test_create_route_to_introduction_point(self):CODE
LOWtests/test_wizard.py159 def _create_xpub_keystore_wallet(self, *, wallet_type: str = 'standard', xpub):CODE
LOWtests/test_wizard.py174 def _sanity_checks_after_disabling_keystore(CODE
LOWtests/test_wizard.py216 async def test_haveseed_ext_electrum(self):CODE
LOWtests/test_wizard.py247 async def test_haveseed_electrum__mismatching_seed(self):CODE
LOWtests/test_wizard.py274 async def test_haveseed_electrum_oldseed(self):CODE
LOWtests/test_wizard.py465 def _set_password_and_check_address(CODE
LOWtests/test_wizard.py492 async def test_set_password_and_encrypt_file(self):CODE
LOWtests/test_wizard.py514 async def test_set_password_but_dont_encrypt_file(self):CODE
LOWtests/test_wizard.py536 async def test_create_standard_wallet_createseed(self):CODE
LOWtests/test_wizard.py555 async def test_create_standard_wallet_createseed_passphrase(self):CODE
LOWtests/test_wizard.py581 async def test_create_standard_wallet_haveseed_electrum_oldseed(self):CODE
LOWtests/test_wizard.py600 async def test_create_standard_wallet_haveseed_electrum_oldseed_in_hex_format(self):CODE
LOWtests/test_wizard.py619 async def test_create_standard_wallet_haveseed_electrum_oldseed_passphrase(self):CODE
LOWtests/test_wizard.py643 async def test_create_standard_wallet_haveseed_electrum(self):CODE
LOWtests/test_wizard.py657 async def test_create_standard_wallet_haveseed_electrum_passphrase(self):CODE
LOWtests/test_wizard.py675 async def test_create_standard_wallet_have_master_key(self):CODE
LOWtests/test_wizard.py957 async def test_create_standard_wallet_trezor(self):CODE
LOWtests/test_wizard.py1174 async def test_create_imported_wallet_from_addresses(self):CODE
LOWtests/test_wizard.py1198 async def test_create_imported_wallet_from_addresses__invalid_input(self):CODE
LOWtests/test_wizard.py1214 async def test_create_imported_wallet_from_wif_keys(self):CODE
LOWtests/test_wizard.py1233 async def test_create_imported_wallet_from_wif_keys__unsupported_type(self):CODE
LOW⚡tests/regtest.py67 def test_redeem_received_htlcs(self):CODE
LOW⚡tests/regtest.py70 def test_redeem_offered_htlcs(self):CODE
LOW⚡tests/regtest.py73 def test_breach_with_unspent_htlc(self):CODE
LOW⚡tests/regtest.py76 def test_breach_with_spent_htlc(self):CODE
LOW⚡tests/regtest.py79 def test_lnwatcher_waits_until_fees_go_down(self):CODE
LOW⚡tests/regtest.py98 def test_swapserver_success_forward(self):CODE
LOW⚡tests/regtest.py101 def test_swapserver_success_reverse(self):CODE
LOW⚡tests/regtest.py104 def test_swapserver_forceclose(self):CODE
LOW⚡tests/test_transaction.py107 def test_tx_update_signatures(self):CODE
LOW⚡tests/test_transaction.py116 def test_tx_setting_locktime_invalidates_ser_cache(self):CODE
LOW⚡tests/test_transaction.py122 def test_tx_setting_version_invalidates_ser_cache(self):CODE
LOW⚡tests/test_transaction.py128 def test_tx_deserialize_for_signed_network_tx(self):CODE
LOW⚡tests/test_transaction.py1099 def test_check_sighash_types_sighash_all(self):CODE
LOW⚡tests/test_transaction.py1107 def test_check_sighash_types_sighash_none(self):CODE
LOW⚡tests/test_transaction.py1115 def test_check_sighash_types_sighash_single(self):CODE
LOW⚡tests/test_transaction.py1124 def test_check_sighash_types_sighash_all_anyonecanpay(self):CODE
LOW⚡tests/test_transaction.py1133 def test_check_sighash_types_sighash_none_anyonecanpay(self):CODE
LOW⚡tests/test_transaction.py1141 def test_check_sighash_types_sighash_single_anyonecanpay(self):CODE
LOWtests/test_transaction.py89 def test_match_against_script_template(self):CODE
LOWtests/test_transaction.py155 def test_estimated_output_size(self):CODE
LOWtests/test_transaction.py198 def test_convert_raw_tx_to_hex(self):CODE
LOWtests/test_transaction.py206 def test_get_address_from_output_script(self):CODE
LOWtests/test_transaction.py239 def test_tx_serialize_methods_for_psbt(self):CODE
LOWtests/test_transaction.py251 def test_tx_serialize_methods_for_network_tx(self):CODE
LOWtests/test_transaction.py260 def test_tx_serialize_methods_for_psbt_that_is_ready_to_be_finalized(self):CODE
LOWtests/test_transaction.py418 def test_txid_negative_version_num(self):CODE
LOWtests/test_transaction.py429 def test_txid_invalid_op_return(self):CODE
LOWtests/test_transaction.py1152 def test_taproot_keypath_spending(self):CODE
1297 more matches not shown…
Unused Imports765 hits · 668 pts
SeverityFileLineSnippetContext
LOWsetup.py9CODE
LOWsetup.py10CODE
LOWsetup.py13CODE
LOWtests/test_onion_message.py5CODE
LOWtests/test_onion_message.py16CODE
LOWtests/test_onion_message.py24CODE
LOWtests/test_x509.py1CODE
LOWtests/test_wizard.py5CODE
LOWtests/regtest.py1CODE
LOWtests/test_lnwallet.py13CODE
LOWtests/test_lnwallet.py17CODE
LOWtests/test_storage_upgrade.py1CODE
LOWtests/test_storage_upgrade.py2CODE
LOWtests/test_storage_upgrade.py3CODE
LOWtests/test_storage_upgrade.py6CODE
LOWtests/test_storage_upgrade.py9CODE
LOWtests/test_storage_upgrade.py10CODE
LOWtests/test_storage_upgrade.py14CODE
LOWtests/test_storage_upgrade.py15CODE
LOWtests/test_storage_upgrade.py17CODE
LOWtests/test_lnrouter.py5CODE
LOWtests/test_lnrouter.py9CODE
LOWtests/test_lnrouter.py18CODE
LOWtests/test_bolt11.py5CODE
LOWtests/test_bolt11.py14CODE
LOWtests/test_bolt11.py16CODE
LOWtests/test_lnpeer.py3CODE
LOWtests/test_lnpeer.py5CODE
LOWtests/test_lnpeer.py7CODE
LOWtests/test_lnpeer.py8CODE
LOWtests/test_lnpeer.py10CODE
LOWtests/test_lnpeer.py11CODE
LOWtests/test_lnpeer.py12CODE
LOWtests/test_lnpeer.py14CODE
LOWtests/test_lnpeer.py14CODE
LOWtests/test_lnpeer.py14CODE
LOWtests/test_lnpeer.py14CODE
LOWtests/test_lnpeer.py14CODE
LOWtests/test_lnpeer.py19CODE
LOWtests/test_lnpeer.py19CODE
LOWtests/test_lnpeer.py20CODE
LOWtests/test_lnpeer.py27CODE
LOWtests/test_lnpeer.py28CODE
LOWtests/test_lnpeer.py29CODE
LOWtests/test_lnpeer.py29CODE
LOWtests/test_lnpeer.py30CODE
LOWtests/test_lnpeer.py31CODE
LOWtests/test_lnpeer.py33CODE
LOWtests/test_lnpeer.py34CODE
LOWtests/test_lnpeer.py34CODE
LOWtests/test_lnpeer.py34CODE
LOWtests/test_lnpeer.py39CODE
LOWtests/test_lnpeer.py41CODE
LOWtests/test_lnpeer.py43CODE
LOWtests/test_lnpeer.py43CODE
LOWtests/test_lnpeer.py46CODE
LOWtests/test_lnpeer.py51CODE
LOWtests/test_lnpeer.py51CODE
LOWtests/test_lnpeer.py53CODE
LOWtests/test_lnpeer.py53CODE
705 more matches not shown…
Empty Error Handlers101 hits · 505 pts
SeverityFileLineSnippetContext
HIGHtests/test_lnpeer.py1657except SuccessfulTest:CODE
HIGHcontrib/ci/claude_security_review.py73except subprocess.CalledProcessError:CODE
HIGHelectrum/util.py1986except ValueError:CODE
HIGHelectrum/util.py1999except ValueError:CODE
HIGHelectrum/util.py1222except FileExistsError:CODE
HIGHelectrum/util.py1270except Exception as e:CODE
HIGHelectrum/channel_db.py185except ValueError:CODE
HIGHelectrum/transaction.py1517except Exception:CODE
HIGHelectrum/transaction.py1537except Exception:CODE
HIGHelectrum/transaction.py1523except Exception:CODE
HIGHelectrum/transaction.py1816except ValueError:CODE
HIGHelectrum/transaction.py2176except ValueError:CODE
HIGHelectrum/transaction.py1965except MissingSolutionPiece:CODE
HIGHelectrum/transaction.py2278except ValueError:CODE
HIGHelectrum/transaction.py2303except ValueError:CODE
HIGHelectrum/interface.py590except ValueError:CODE
HIGHelectrum/__init__.py44except AssertionError:CODE
HIGHelectrum/lnonion.py699except ValueError:CODE
HIGHelectrum/payment_identifier.py484except Exception as e:CODE
HIGHelectrum/payment_identifier.py490except Exception as e:CODE
HIGHelectrum/address_synchronizer.py187except KeyError:CODE
HIGHelectrum/address_synchronizer.py613except KeyError:CODE
HIGHelectrum/address_synchronizer.py345except KeyError:CODE
HIGHelectrum/base_crash_reporter.py181except Exception:CODE
HIGHelectrum/base_crash_reporter.py246except queue.Full:CODE
HIGHelectrum/dns_hacks.py56except ValueError:CODE
HIGHelectrum/dns_hacks.py80except expected_errors as e:CODE
HIGHelectrum/crypto.py47except Exception:CODE
HIGHelectrum/crypto.py62except Exception:CODE
HIGHelectrum/crypto.py80except Exception:CODE
HIGHelectrum/slip39.py321except Slip39Error:CODE
HIGHelectrum/lnworker.py2145except PaymentSuccess:CODE
HIGHelectrum/lnworker.py3737except UnrelatedTransactionException:CODE
HIGHelectrum/lnworker.py1897except NotEnoughFunds:CODE
HIGHelectrum/network.py475except Exception:CODE
HIGHelectrum/plugin.py1150except ImportError:CODE
HIGHelectrum/plugin.py512except FileNotFoundError:CODE
HIGHelectrum/plugin.py1349except CannotAutoSelectDevice:CODE
HIGHelectrum/plugin.py1652except UserCancelled:CODE
HIGHelectrum/plugin.py1663except UserCancelled:CODE
HIGHelectrum/exchange_rate.py542except Exception:CODE
HIGHelectrum/exchange_rate.py569except Exception as e:CODE
HIGHelectrum/lnpeer.py942except Exception:CODE
HIGHelectrum/lnpeer.py2859except UnrelatedTransactionException:CODE
HIGHelectrum/commands.py801except GuiImportError:CODE
HIGHelectrum/commands.py398except Exception:CODE
HIGHelectrum/keystore.py795except Exception:CODE
HIGHelectrum/keystore.py78except Exception:CODE
HIGHelectrum/verifier.py178except Exception:CODE
HIGHelectrum/daemon.py104except OSError:CODE
HIGHelectrum/daemon.py720except util.InvalidPassword:CODE
HIGHelectrum/wallet.py4013except descriptor.NotLegacySinglesigScriptType:CODE
HIGHelectrum/_vendor/distutils/version.py319except ValueError:CODE
HIGHelectrum/_vendor/pyperclip/__init__.py569except ImportError:CODE
HIGHelectrum/_vendor/pyperclip/__init__.py600except ImportError:CODE
HIGHelectrum/plugins/digitalbitbox/digitalbitbox.py97except Exception:CODE
HIGHelectrum/plugins/ledger/ledger.py993except DenyError:CODE
HIGHelectrum/plugins/ledger/ledger.py1173except DenyError:CODE
HIGHelectrum/plugins/ledger/ledger.py1200except DenyError:CODE
HIGHelectrum/plugins/labels/qt.py100except TypeError:CODE
41 more matches not shown…
Excessive Try-Catch Wrapping440 hits · 485 pts
SeverityFileLineSnippetContext
LOWtests/test_lnutil.py487 except Exception as e:CODE
LOWtests/test_lnutil.py509 except Exception as e:CODE
LOWtests/test_jsondb.py33 except Exception as e:CODE
LOWtests/qml/qt_util.py56 except Exception as e:CODE
LOWtests/qml/qt_util.py98 except Exception as e:CODE
MEDIUMtests/qml/qt_util.py49def start_qt_task():CODE
LOWtests/toyserver/toynetwork.py100 except Exception:CODE
LOWcontrib/locale/stats.py36 except Exception as e:CODE
LOWcontrib/android/get_apk_versioncode.py64 except Exception:CODE
LOWelectrum/descriptor.py195 except Exception:CODE
LOWelectrum/logging.py296 except Exception as e:CODE
LOWelectrum/logging.py368 except Exception:CODE
LOWelectrum/pem.py37 except Exception as e:CODE
MEDIUMelectrum/pem.py34def a2b_base64(s):CODE
LOWelectrum/lnverifier.py143 except Exception:CODE
LOWelectrum/contacts.py55 except Exception:CODE
LOWelectrum/onion_message.py282 except Exception as e:CODE
LOWelectrum/onion_message.py797 except Exception as e:CODE
LOWelectrum/x509.py320 except Exception as e:CODE
MEDIUMelectrum/util.py444def json_encode(obj):CODE
MEDIUMelectrum/util.py1159def run_with_except_hook(*args2, **kwargs2):CODE
MEDIUMelectrum/util.py1179def read_json_file(path):CODE
LOWelectrum/util.py394 except Exception as e:CODE
LOWelectrum/util.py455 except Exception:CODE
LOWelectrum/util.py668 except Exception:CODE
LOWelectrum/util.py761 except Exception:CODE
LOWelectrum/util.py775 except Exception:CODE
LOWelectrum/util.py1139 except Exception:CODE
LOWelectrum/util.py1162 except Exception:CODE
LOWelectrum/util.py1270 except Exception as e:CODE
LOWelectrum/util.py1589 except Exception as e:CODE
LOWelectrum/util.py1749 except Exception as e:CODE
LOWelectrum/util.py2341 except Exception as e:CODE
LOWelectrum/channel_db.py190 except Exception:CODE
LOWelectrum/channel_db.py847 except Exception:CODE
LOWelectrum/bitcoin.py668 except Exception as e:CODE
LOW⚡electrum/bitcoin.py717 except Exception as e:CODE
LOW⚡electrum/bitcoin.py726 except Exception as e:CODE
LOW⚡electrum/bitcoin.py736 except Exception as e:CODE
LOWelectrum/bitcoin.py901 except Exception as e:CODE
MEDIUMelectrum/transaction.py648def read_compact_size(self):CODE
MEDIUMelectrum/transaction.py1488def get_fee(self) -> Optional[int]:CODE
LOW⚡electrum/transaction.py1320 except Exception as e:CODE
LOWelectrum/transaction.py673 except Exception as e:CODE
LOWelectrum/transaction.py1517 except Exception:CODE
LOWelectrum/transaction.py1523 except Exception:CODE
LOWelectrum/transaction.py1537 except Exception:CODE
LOWelectrum/transaction.py1574 except Exception as e:CODE
LOWelectrum/constants.py41 except Exception:CODE
MEDIUMelectrum/interface.py374def create_connection(self):CODE
MEDIUMelectrum/interface.py776def run(self):CODE
LOWelectrum/interface.py154 except Exception:CODE
LOWelectrum/interface.py199 except Exception as e:CODE
LOWelectrum/interface.py511 except Exception as e:CODE
LOWelectrum/interface.py715 except Exception as e:CODE
LOWelectrum/interface.py1443 except Exception as e:CODE
LOWelectrum/json_db.py124 except Exception:CODE
LOW⚡electrum/json_db.py148 except Exception as e:CODE
LOW⚡electrum/json_db.py155 except Exception:CODE
LOWelectrum/json_db.py218 except Exception:CODE
380 more matches not shown…
Deep Nesting234 hits · 174 pts
SeverityFileLineSnippetContext
LOWtests/test_transaction.py274CODE
LOWtests/test_bolt11.py239CODE
LOWtests/test_bolt11.py362CODE
LOWtests/test_wallet_vertical.py3448CODE
LOWtests/test_lnutil.py95CODE
LOWtests/test_lnutil.py817CODE
LOWtests/lnhelpers.py421CODE
LOWtests/qml/qt_util.py68CODE
LOWtests/qml/qt_util.py70CODE
LOWtests/toyserver/toyserver.py204CODE
LOWcontrib/ci/claude_security_review.py149CODE
LOWcontrib/android/apkdiff.py47CODE
LOWelectrum/descriptor.py866CODE
LOWelectrum/descriptor.py923CODE
LOWelectrum/descriptor.py1039CODE
LOWelectrum/descriptor.py444CODE
LOWelectrum/mpp_split.py114CODE
LOWelectrum/logging.py87CODE
LOWelectrum/lnsweep.py527CODE
LOWelectrum/lnsweep.py569CODE
LOWelectrum/lnutil.py1210CODE
LOWelectrum/lnutil.py517CODE
LOWelectrum/lnutil.py1805CODE
LOWelectrum/version.py13CODE
LOWelectrum/onion_message.py265CODE
LOWelectrum/onion_message.py411CODE
LOWelectrum/x509.py187CODE
LOWelectrum/lnchannel.py355CODE
LOWelectrum/lnchannel.py408CODE
LOWelectrum/util.py713CODE
LOWelectrum/util.py960CODE
LOWelectrum/util.py1814CODE
LOWelectrum/util.py2073CODE
LOWelectrum/channel_db.py251CODE
LOWelectrum/channel_db.py549CODE
LOWelectrum/channel_db.py588CODE
LOWelectrum/channel_db.py1090CODE
LOWelectrum/bitcoin.py225CODE
LOWelectrum/bitcoin.py301CODE
LOWelectrum/bitcoin.py482CODE
LOWelectrum/transaction.py682CODE
LOWelectrum/transaction.py761CODE
LOWelectrum/transaction.py508CODE
LOWelectrum/transaction.py648CODE
LOWelectrum/transaction.py1054CODE
LOWelectrum/transaction.py1773CODE
LOWelectrum/transaction.py1813CODE
LOWelectrum/transaction.py2173CODE
LOWelectrum/transaction.py2256CODE
LOWelectrum/transaction.py2583CODE
LOWelectrum/interface.py183CODE
LOWelectrum/interface.py815CODE
LOWelectrum/interface.py1194CODE
LOWelectrum/lnrouter.py584CODE
LOWelectrum/lnhtlc.py215CODE
LOWelectrum/payment_identifier.py194CODE
LOWelectrum/payment_identifier.py218CODE
LOWelectrum/payment_identifier.py317CODE
LOWelectrum/payment_identifier.py536CODE
LOWelectrum/address_synchronizer.py281CODE
174 more matches not shown…
Hallucination Indicators14 hits · 170 pts
SeverityFileLineSnippetContext
CRITICAL⚡tests/test_lnpeer.py2366 for hint in w.network.path_finder.liquidity_hints._liquidity_hints.values():CODE
CRITICAL⚡tests/test_lnpeer.py2373 for hint in w.network.path_finder.liquidity_hints._liquidity_hints.values():CODE
CRITICALelectrum/wizard.py916 if self._daemon.config.cv.NETWORK_AUTO_CONNECT.is_modifiable():CODE
CRITICALelectrum/plugins/nwc/nwcserver.py602 "pubkey": self.wallet.lnworker.node_keypair.pubkey.hex(),CODE
CRITICAL⚡electrum/gui/qml/qeswaphelper.py643 self._swap, invoice = await self._wallet.wallet.lnworker.swap_manager.request_normal_swap(CODE
CRITICAL⚡electrum/gui/qml/qeswaphelper.py649 tx = self._wallet.wallet.lnworker.swap_manager.create_funding_tx(self._swap, dummy_tx, password=self._waCODE
CRITICAL⚡electrum/gui/qml/qeswaphelper.py650 coro2 = self._wallet.wallet.lnworker.swap_manager.wait_for_htlcs_and_broadcast(CODE
CRITICALelectrum/gui/qml/qeswaphelper.py666 if self._wallet.wallet.lnworker.swap_manager.cancel_normal_swap(self._swap):CODE
CRITICALelectrum/gui/qml/qeswaphelper.py698 max_swap_amount = self._wallet.wallet.lnworker.swap_manager.client_max_amount_forward_swap()CODE
CRITICALelectrum/gui/qml/qenetwork.py205 return self.network.config.cv.NETWORK_AUTO_CONNECT.is_set()CODE
CRITICALelectrum/gui/qml/qefx.py78 if not self.fx.config.cv.FX_HISTORY_RATES.is_set():CODE
CRITICALelectrum/gui/qml/qewallet.py427 return self.wallet.lnworker.node_keypair.pubkey.hex() if self.wallet.lnworker else ''CODE
CRITICALelectrum/gui/qml/qechanneldetails.py99 return self._wallet.wallet.lnworker.lnpeermgr.get_node_alias(self._channel.node_id) or ''CODE
CRITICALelectrum/gui/qt/history_list.py191 # and self.parent.wallet.invoices.paid.get(tx_hash):COMMENT
Over-Commented Block150 hits · 138 pts
SeverityFileLineSnippetContext
LOWtests/test_verifier.py61 #COMMENT
LOWtests/test_verifier.py81 # __________/ \________________COMMENT
LOWtests/test_lnchannel.py1# Copyright (C) 2018 The Electrum developersCOMMENT
LOWcontrib/ban_unicode.py1#!/usr/bin/env python3COMMENT
LOWcontrib/release.sh1#!/bin/bashCOMMENT
LOWcontrib/release.sh21# Note: steps before doing a new release:COMMENT
LOWcontrib/make_libsecp256k1.sh1#!/bin/bashCOMMENT
LOWcontrib/osx/make_osx.sh61# don't add debug info to compiled C files (e.g. when pip calls setuptools/wheel calls gcc)COMMENT
LOWcontrib/requirements/requirements-build-base.txt1# This file contains build-time dependencies needed to build other higher level build-time dependenciesCOMMENT
LOWcontrib/android/make_apk.sh41# FIXME: changing "APP_PACKAGE_NAME" seems to require a clean rebuild of ".buildozer/".COMMENT
LOWelectrum/descriptor.py1# Copyright (c) 2017 Andrew ChowCOMMENT
LOWelectrum/logging.py241 super()._log(level, msg, *args, **kwargs)COMMENT
LOWelectrum/pem.py1#!/usr/bin/env pythonCOMMENT
LOWelectrum/lnverifier.py1# -*- coding: utf-8 -*-COMMENT
LOWelectrum/lnutil.py681COMMENT
LOWelectrum/contacts.py1# Electrum - Lightweight Bitcoin ClientCOMMENT
LOWelectrum/onion_message.py1# Electrum - Lightweight Bitcoin ClientCOMMENT
LOWelectrum/x509.py1#!/usr/bin/env pythonCOMMENT
LOWelectrum/lnchannel.py1# Copyright (C) 2018 The Electrum developersCOMMENT
LOWelectrum/lnchannel.py1541 for direction, htlc in itertools.chain(COMMENT
LOWelectrum/lnchannel.py1561 # local/remote "revocation":COMMENT
LOWelectrum/old_mnemonic.py1#!/usr/bin/env pythonCOMMENT
LOWelectrum/util.py1# Electrum - lightweight Bitcoin clientCOMMENT
LOWelectrum/util.py1461 await super().join()COMMENT
LOWelectrum/channel_db.py1# -*- coding: utf-8 -*-COMMENT
LOWelectrum/bitcoin.py1# -*- coding: utf-8 -*-COMMENT
LOWelectrum/transaction.py1#!/usr/bin/env pythonCOMMENT
LOWelectrum/constants.py1# -*- coding: utf-8 -*-COMMENT
LOWelectrum/interface.py1#!/usr/bin/env pythonCOMMENT
LOWelectrum/interface.py281 force_after = 1 # secondsCOMMENT
LOWelectrum/json_db.py1#!/usr/bin/env pythonCOMMENT
LOWelectrum/lnrouter.py1# -*- coding: utf-8 -*-COMMENT
LOWelectrum/lnonion.py1# -*- coding: utf-8 -*-COMMENT
LOWelectrum/address_synchronizer.py1# Electrum - lightweight Bitcoin clientCOMMENT
LOWelectrum/base_crash_reporter.py1# Electrum - lightweight Bitcoin clientCOMMENT
LOWelectrum/crypto.py1# -*- coding: utf-8 -*-COMMENT
LOWelectrum/segwit_addr.py1COMMENT
LOWelectrum/lrucache.py1# The MIT License (MIT)COMMENT
LOWelectrum/mnemonic.py1#!/usr/bin/env pythonCOMMENT
LOWelectrum/stored_dict.py1#!/usr/bin/env pythonCOMMENT
LOWelectrum/harden_memory_linux.py1# Copyright (C) 2020 cptpcrdCOMMENT
LOWelectrum/slip39.py1# Copyright (c) 2018 Andrew R. KozlikCOMMENT
LOWelectrum/lnworker.py361 with self.lock:COMMENT
LOWelectrum/lnworker.py1081 # Note: it might not be safe to release the preimage shortly before expiry as this would allow theCOMMENT
LOWelectrum/lnworker.py3021COMMENT
LOWelectrum/lnworker.py4101 # => forwarding_callback() could have an API with two exceptions types:COMMENT
LOWelectrum/storage.py1#!/usr/bin/env pythonCOMMENT
LOWelectrum/network.py1# Electrum - Lightweight Bitcoin ClientCOMMENT
LOWelectrum/bolt11.py521 # - MUST skip over `f` fields that use an unknown `version`.COMMENT
LOWelectrum/plugin.py1#!/usr/bin/env pythonCOMMENT
LOWelectrum/i18n.py1#!/usr/bin/env pythonCOMMENT
LOWelectrum/i18n.py81 return translationCOMMENT
LOWelectrum/blockchain.py1# Electrum - lightweight Bitcoin clientCOMMENT
LOWelectrum/synchronizer.py1#!/usr/bin/env pythonCOMMENT
LOWelectrum/zip_importer.py1#!/usr/bin/env pythonCOMMENT
LOWelectrum/submarine_swaps.py61 from aiohttp_socks import ProxyConnectorCOMMENT
LOWelectrum/submarine_swaps.py601 if funding_utxo.value_sats() < swap.onchain_amount:COMMENT
LOWelectrum/lnpeer.py781 # query_channel_range. <<< first_block 497000, num_blocks 79038COMMENT
LOWelectrum/lnpeer.py3161 if int(time.time()) - first_htlc_timestamp > self.lnworker.MPP_EXPIRY \COMMENT
LOWelectrum/txbatcher.py1# This class batches outgoing payments and incoming utxo sweeps.COMMENT
90 more matches not shown…
Self-Referential Comments37 hits · 122 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_lnchannel.py104 # Create a test channel which will be used for the duration of thisCOMMENT
MEDIUMelectrum/lnchannel.py2021 # This method is used both in the GUI, and in lnpeer.schedule_force_closingCOMMENT
MEDIUMelectrum/lnworker.py3437 # This method is called when an invoice or request is deleted by the user.COMMENT
MEDIUMelectrum/lnwatcher.py218 """This function is called when a channel was closed. In this caseSTRING
MEDIUMelectrum/txbatcher.py12# The following code prevents that by making tx2 a child of tx1.COMMENT
MEDIUMelectrum/wallet.py4188 """This method is not called in the code, it is kept for console use"""STRING
MEDIUMelectrum/_vendor/pyperclip/__init__.py463 # This function is heavily based onCOMMENT
MEDIUM⚡electrum/plugins/timelock_recovery/qt.py126 # Create an HBox layout. The logo will be on the left and the rest of the dialog on the right.COMMENT
MEDIUM⚡electrum/plugins/timelock_recovery/qt.py129 # Create the logo label.COMMENT
MEDIUM⚡electrum/plugins/timelock_recovery/qt.py138 # Create a VBox layout for the main contents of the dialog.COMMENT
MEDIUM⚡electrum/plugins/timelock_recovery/qt.py527 # Create an HBox layout. The logo will be on the left and the rest of the dialog on the right.COMMENT
MEDIUM⚡electrum/plugins/timelock_recovery/qt.py530 # Create the logo labelCOMMENT
MEDIUM⚡electrum/plugins/timelock_recovery/qt.py535 # Create a VBox layout for the main contentsCOMMENT
MEDIUMelectrum/plugins/timelock_recovery/qt.py404 # Create an HBox layout. The logo will be on the left and the rest of the dialog on the right.COMMENT
MEDIUMelectrum/plugins/timelock_recovery/qt.py418 # Create a VBox layout for the main contents of the dialog.COMMENT
MEDIUMelectrum/plugins/keepkey/keepkey.py422 # This function is called from the TREZOR libraries (via tx_api)COMMENT
MEDIUMelectrum/plugins/nwc/qt.py82 # Create the logo label.COMMENT
MEDIUM⚡electrum/plugins/revealer/qt.py340 # Create an HBox layout. The logo will be on the left and the rest of the dialog on the right.COMMENT
MEDIUM⚡electrum/plugins/revealer/qt.py343 # Create the logo label.COMMENT
MEDIUM⚡electrum/plugins/revealer/qt.py352 # Create a VBox layout for the main contents of the dialog.COMMENT
MEDIUM⚡electrum/plugins/revealer/qt.py360 # Create the labels.COMMENT
MEDIUMelectrum/plugins/revealer/qt.py139 # Create an HBox layout. The logo will be on the left and the rest of the dialog on the right.COMMENT
MEDIUMelectrum/plugins/revealer/qt.py142 # Create the logo label.COMMENT
MEDIUMelectrum/plugins/revealer/qt.py154 # Create a VBox layout for the main contents of the dialog.COMMENT
MEDIUMelectrum/plugins/revealer/qt.py165 # Create the labels.COMMENT
MEDIUMelectrum/plugins/revealer/qt.py176 # Create the buttons.COMMENT
MEDIUMelectrum/plugins/revealer/qt.py192 # Define the create noise file function.COMMENT
MEDIUMelectrum/plugins/revealer/qt.py202 # Create the noise scan QR text edit.COMMENT
MEDIUMelectrum/plugins/revealer/qt.py383 # Create the buttons.COMMENT
MEDIUMelectrum/plugins/revealer/qt.py405 # Create the custom secret scan QR text edit.COMMENT
MEDIUMelectrum/plugins/safe_t/safe_t.py395 # This function is called from the TREZOR libraries (via tx_api)COMMENT
MEDIUMelectrum/hw_wallet/trezor_qt_pinmatrix.py3# This file is part of the Trezor project.COMMENT
MEDIUMelectrum/gui/common_qt/util.py124 # Create a QImage to draw onCOMMENT
MEDIUMelectrum/gui/common_qt/util.py130 # Create the image with appropriate sizeCOMMENT
MEDIUMelectrum/gui/qt/qrreader/qtmultimedia/camera_dialog.py116 # Create a layout for the controlsCOMMENT
MEDIUMelectrum/gui/qt/qrreader/qtmultimedia/camera_dialog.py134 # Create the video surface and receive events when new frames arriveCOMMENT
MEDIUMelectrum/gui/qt/qrreader/qtmultimedia/camera_dialog.py138 # Create the crop blur effectCOMMENT
Modern Structural Boilerplate77 hits · 74 pts
SeverityFileLineSnippetContext
LOW⚡electrum/lnchannel.py959 def set_remote_update(self, payload: dict) -> None:CODE
LOWelectrum/lnchannel.py192 def set_short_channel_id(self, short_id: ShortChannelID) -> None:CODE
LOWelectrum/lnchannel.py208 def set_state(self, state: ChannelState, *, force: bool = False) -> None:CODE
LOWelectrum/lnchannel.py355 def update_unfunded_state(self) -> None:CODE
LOWelectrum/lnchannel.py408 def update_funded_state(self, *, funding_txid: str, funding_height: TxMinedInfo) -> None:CODE
LOWelectrum/lnchannel.py1153 def set_can_send_ctx_updates(self, b: bool) -> None:CODE
LOWelectrum/lnchannel.py1177 def set_frozen_for_sending(self, b: bool) -> None:CODE
LOWelectrum/lnchannel.py1184 def set_frozen_for_receiving(self, b: bool) -> None:CODE
LOWelectrum/lnchannel.py1875 def update_fee(self, feerate: int, from_us: bool) -> None:CODE
LOWelectrum/channel_db.py900 def _update_num_policies_for_chan(self, short_channel_id: ShortChannelID) -> None:CODE
LOW⚡electrum/transaction.py366 def set_mined_info(self, info: TxMinedInfo) -> None:CODE
LOWelectrum/transaction.py2490 def set_rbf(self, rbf: bool) -> None:CODE
LOWelectrum/transaction.py2583 def update_signatures(self, signatures: Sequence[Union[bytes, None]]) -> None:CODE
LOWelectrum/constants.py94 def set_as_network(cls) -> None:CODE
LOWelectrum/lnrouter.py279 def update_can_send(self, is_forward_direction: bool, *, amount_msat: int) -> None:CODE
LOWelectrum/lnrouter.py285 def update_cannot_send(self, is_forward_direction: bool, *, amount_msat: int) -> None:CODE
LOWelectrum/lnrouter.py342 def update_can_send(self, node_from: bytes, node_to: bytes, channel_id: ShortChannelID, *, amount_msat: int) -> NoneCODE
LOWelectrum/lnrouter.py347 def update_cannot_send(self, node_from: bytes, node_to: bytes, channel_id: ShortChannelID, *, amount_msat: int) -> NCODE
LOWelectrum/lnrouter.py495 def update_num_inflight_htlcs(self, route: LNPaymentRoute, *, add_htlcs: bool) -> None:CODE
LOWelectrum/lnhtlc.py64 def _set_revack_pending(self, sub: HTLCOwner, pending: bool) -> None:CODE
LOWelectrum/lnhtlc.py215 def _update_maybe_active_htlc_ids(self) -> None:CODE
LOWelectrum/address_synchronizer.py714 def _update_stored_local_height(self) -> None:CODE
LOWelectrum/simple_config.py242 def set_chain_config_opt_based_on_android_packagename(cls, config_options: dict[str, Any]) -> None:CODE
LOWelectrum/simple_config.py282 def set_key(self, key: Union[str, ConfigVar, ConfigVarWithConfig], value, *, save=True) -> None:CODE
LOWelectrum/simple_config.py303 def _set_key_in_user_config(self, key: str, value, *, save=True) -> None:CODE
LOWelectrum/stored_dict.py129 def set_parent(self, *, key: _FLEX_KEY, parent: Optional['BaseStoredObject']) -> None:CODE
LOWelectrum/harden_memory_linux.py60def set_dumpable(flag: bool) -> None:CODE
LOWelectrum/harden_memory_linux.py75def set_dumpable_safe(flag: bool) -> None:CODE
LOW⚡electrum/lnworker.py3236 def _set_sent_payment_succeeded(self, payment_hash: bytes) -> None:CODE
LOW⚡electrum/lnworker.py3243 def _set_sent_payment_failed(self, payment_hash: bytes) -> None:CODE
LOWelectrum/lnworker.py3185 def set_invoice_status(self, key: str, status: int) -> None:CODE
LOWelectrum/lnworker.py3197 def set_request_status(self, payment_hash: bytes, status: int) -> None:CODE
LOWelectrum/lnworker.py3207 def set_payment_status(self, payment_hash: bytes, status: int, *, direction: lnutil.Direction) -> None:CODE
LOWelectrum/network.py714 def _set_default_server(self) -> None:CODE
LOWelectrum/network.py821 def set_server_bookmark(self, server: ServerAddr, *, add: bool) -> None:CODE
LOWelectrum/i18n.py116def set_language(x: Optional[str]) -> None:CODE
LOWelectrum/blockchain.py363 def update_size(self) -> None:CODE
LOWelectrum/exchange_rate.py82 async def update_spot_rates_safe(self, ccy: str) -> None:CODE
LOWelectrum/exchange_rate.py187 async def _update_historical_rates(self, ccy: str, cache_dir: str) -> None:CODE
LOWelectrum/exchange_rate.py683 def set_enabled(self, b: bool) -> None:CODE
LOWelectrum/invoices.py188 def set_amount_msat(self, amount_msat: Union[int, str]) -> None:CODE
LOWelectrum/submarine_swaps.py501 async def set_nostr_proof_of_work(self) -> None:CODE
LOW⚡electrum/lnpeer.py492 def set_gossip_timestamp_filter(self, payload: dict) -> None:CODE
LOWelectrum/txbatcher.py210 def set_password_future(self, password: Optional[str]) -> None:CODE
LOWelectrum/keystore.py250 def update_password(self, old_password, new_password) -> None:CODE
LOWelectrum/keystore.py938 def set_label(self, label: Optional[str]) -> None:CODE
LOWelectrum/daemon.py772 def update_recently_opened_wallets(self, wallet_path, *, remove: bool = False) -> None:CODE
LOW⚡electrum/wallet_db.py1839 def set_spent_outpoint(self, prevout_hash: str, prevout_n: Union[int, str], tx_hash: str) -> None:CODE
LOWelectrum/wallet_db.py1918 def set_addr_history(self, addr: str, hist) -> None:CODE
LOW⚡electrum/wallet.py1402 def _update_onchain_invoice_paid_detection(self, invoice_keys: Iterable[str]) -> None:CODE
LOW⚡electrum/wallet.py2317 def set_reserved_addresses_for_chan(self, chan: 'AbstractChannel', *, reserved: bool) -> None:CODE
LOWelectrum/wallet.py766 def _set_label(self, key: str, value: Optional[str]) -> None:CODE
LOWelectrum/wallet.py2304 def set_reserved_state_of_address(self, addr: str, *, reserved: bool) -> None:CODE
LOWelectrum/wallet.py3043 def _update_invoices_and_reqs_touched_by_tx(self, tx: Transaction) -> None:CODE
LOWelectrum/wallet.py3272 def _update_password_for_keystore(self, old_pw: Optional[str], new_pw: Optional[str]) -> None:CODE
LOWelectrum/wallet.py3444 def _update_keystore(self, keystore: KeyStore) -> None:CODE
LOWelectrum/_vendor/pyperclip/__init__.py745__all__ = ['copy', 'paste', 'waitForPaste', 'waitForNewPaste', 'set_clipboard', 'determine_clipboard']CODE
LOWelectrum/plugins/nwc/nwcserver.py925 def _update_budget_item_amount(self, client_pub: str, *, old_budget_item: list[int], new_msat: int) -> None:CODE
LOW⚡electrum/plugins/bitbox02/bitbox02.py126 def set_remote_static_pubkey(pubkey: bytes) -> None:CODE
LOWelectrum/plugins/bitbox02/bitbox02.py142 def set_noise_privkey(privkey: bytes) -> None:CODE
17 more matches not shown…
Cross-File Repetition12 hits · 60 pts
SeverityFileLineSnippetContext
HIGHelectrum/plugins/keepkey/clientbase.py0time out the client if the last operation was before cutoff.STRING
HIGHelectrum/plugins/trezor/clientbase.py0time out the client if the last operation was before cutoff.STRING
HIGHelectrum/plugins/safe_t/clientbase.py0time out the client if the last operation was before cutoff.STRING
HIGHelectrum/plugins/keepkey/clientbase.py0clear the session to force pin (and passphrase if enabled) re-entry. does not leak exceptions.STRING
HIGHelectrum/plugins/trezor/clientbase.py0clear the session to force pin (and passphrase if enabled) re-entry. does not leak exceptions.STRING
HIGHelectrum/plugins/safe_t/clientbase.py0clear the session to force pin (and passphrase if enabled) re-entry. does not leak exceptions.STRING
HIGHelectrum/plugins/keepkey/clientbase.py0called when our wallet was closed or the device removed.STRING
HIGHelectrum/plugins/trezor/clientbase.py0called when our wallet was closed or the device removed.STRING
HIGHelectrum/plugins/safe_t/clientbase.py0called when our wallet was closed or the device removed.STRING
HIGHelectrum/plugins/keepkey/qt.py0this dialog doesn't require a device be paired with a wallet. we want users to be able to wipe a device even if they've STRING
HIGHelectrum/plugins/trezor/qt.py0this dialog doesn't require a device be paired with a wallet. we want users to be able to wipe a device even if they've STRING
HIGHelectrum/plugins/safe_t/qt.py0this dialog doesn't require a device be paired with a wallet. we want users to be able to wipe a device even if they've STRING
Decorative Section Separators7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_verifier.py73 # --------------------------------------------------------COMMENT
MEDIUMtests/test_verifier.py91 # --------------------------------------------------------------------------COMMENT
MEDIUMelectrum/ripemd.py5## ==========COMMENT
MEDIUMelectrum/plugins/digitalbitbox/digitalbitbox.py1# ----------------------------------------------------------------------------------COMMENT
MEDIUMelectrum/plugins/digitalbitbox/digitalbitbox.py58# ----------------------------------------------------------------------------------COMMENT
MEDIUMelectrum/plugins/digitalbitbox/digitalbitbox.py456# ----------------------------------------------------------------------------------COMMENT
MEDIUMelectrum/plugins/jade/jadepy/jade.py83# ----------COMMENT
AI Slop Vocabulary12 hits · 20 pts
SeverityFileLineSnippetContext
MEDIUMcontrib/ban_unicode.py12# the most robust and generic fix seems to be to just ban all unicode usage.COMMENT
LOWelectrum/lnutil.py797 max_mask_len = 64 # TODO just use RevocationStore.NUM_BITS + 1 ?CODE
LOWelectrum/onion_message.py89 # dummy hops could be inserted anywhere in the path, but for compatibility just add them at the endCOMMENT
LOWelectrum/lnonion.py662# TODO maybe we should rm this and just use OnionWireSerializer and onion_wire.csvCOMMENT
LOWelectrum/simple_config.py615 if name in ("from_key", ): # don't apply magic, just use standard lookupCODE
LOWelectrum/submarine_swaps.py1589 # note: there is no csv in the script, we just set this so that txbatcher waits for one confirmation.COMMENT
LOWelectrum/wallet.py211 # if no network or not up to date, just set locktime to zeroCOMMENT
MEDIUMelectrum/gui/messages.py39"""Electrum uses static channel backups. If you lose your wallet file, you will need to request your channel to be forceSTRING
MEDIUMelectrum/gui/qml/qeswaphelper.py619 # add more nuanced error reporting?COMMENT
LOWelectrum/gui/qml/qewallet.py194 # and even then, we can probably just add the payment insteadCOMMENT
LOWelectrum/gui/qml/qetransactionlistmodel.py152 # FIXME just use wallet.get_tx_status, and change that as neededCOMMENT
LOWelectrum/gui/qt/amountedit.py140 # if the max precision is simply what unit conversion allows, just returnCOMMENT
AI Structural Patterns24 hits · 16 pts
SeverityFileLineSnippetContext
LOWtests/test_lnpeer.py2560CODE
LOWtests/test_wallet_vertical.py104CODE
LOWtests/test_coinchooser.py34CODE
LOWelectrum/lnchannel.py2006CODE
LOWelectrum/transaction.py2171CODE
LOWelectrum/payment_identifier.py46CODE
LOWelectrum/base_crash_reporter.py128CODE
LOWelectrum/crypto.py337CODE
LOWelectrum/submarine_swaps.py1656CODE
LOWelectrum/lnurl.py175CODE
LOWelectrum/commands.py268CODE
LOWelectrum/commands.py967CODE
LOWelectrum/commands.py999CODE
LOWelectrum/commands.py1218CODE
LOWelectrum/commands.py1478CODE
LOWelectrum/commands.py1502CODE
LOWelectrum/commands.py1526CODE
LOWelectrum/commands.py1770CODE
LOWelectrum/daemon.py398CODE
LOWelectrum/wallet.py2003CODE
LOWelectrum/wallet.py3157CODE
LOWelectrum/plugins/swapserver/__init__.py73CODE
LOWelectrum/gui/qml/qeapp.py199CODE
LOWelectrum/gui/qt/seed_dialog.py80CODE
Cross-Language Confusion3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHelectrum/plugins/labels/qml.py109 self.push(_wallet)CODE
HIGHelectrum/gui/qml/qetypes.py41 self._logger.warning('amount_sat is undefined, returning 0')CODE
HIGHelectrum/gui/qml/qetypes.py54 self._logger.warning('amount_msat is undefined, returning 0')CODE
Dead Code7 hits · 14 pts
SeverityFileLineSnippetContext
MEDIUMelectrum/lnworker.py456CODE
MEDIUMelectrum/lnworker.py457CODE
MEDIUMelectrum/lnworker.py458CODE
MEDIUMelectrum/lnworker.py460CODE
MEDIUMelectrum/lnworker.py465CODE
MEDIUMelectrum/gui/text.py202CODE
MEDIUMelectrum/gui/text.py203CODE
Redundant / Tautological Comments5 hits · 8 pts
SeverityFileLineSnippetContext
LOWelectrum/logging.py113 # Check if captured log lines were never to dumped to e.g. stderr,COMMENT
LOWelectrum/plugin.py582 # Read the file and compare the hash to expectationCOMMENT
LOWelectrum/dnssec.py100 # Check if there is a valid signature for the root dnskeyCOMMENT
LOWelectrum/gui/qml/qewallet.py883 # Check if we had enough funds excluding fees,COMMENT
LOWelectrum/gui/qt/send_tab.py263 # Check if we had enough funds excluding fees,COMMENT
Overly Generic Function Names3 hits · 3 pts
SeverityFileLineSnippetContext
LOWtests/toyserver/toyserver.py469 async def handle_request(self, request):CODE
LOWelectrum/interface.py183 async def handle_request(self, request):CODE
LOWelectrum/gui/qt/util.py99 def run_task(self):CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMelectrum/simple_config.py185 # The following two functions are there for dependency injection whenCOMMENT
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMelectrum/scripts/quick_start.py33# you can use ~CLI commands by accessing command_runnerCOMMENT
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWelectrum/lnurl.py251 # TODO: implement LUD-09 (https://github.com/lnurl/luds/blob/luds/09.md), e.g. useful for paying offline devicesCOMMENT
Fake / Example Data1 hit · 0 pts
SeverityFileLineSnippetContext
LOWtests/test_lnpeer.py499 a_chan, b_chan = await f(last_rev_secret=sha256("fake_data"), **kwargs)CODE