F
← Developer activityStrong match

f321x

Public commit activity attributed with strong match confidence. This page describes observable work, not personal trustworthiness.

374 commits1 monitored projects23 candidates0 high-risk analyses
Project constellation

Where the commits appear

Amber nodes are monitored by CommitWatch. Gray nodes are sampled from authenticated GitHub public commit search and may not represent complete contribution history.

Monitored External sample
Projects connected to f321xA visual map of monitored and externally discovered repositories.Fdeveloper374Electrum
Monitored evidence

CommitWatch projects

External discovery

Other public projects

No external sample loaded yet.

A verified GitHub handle is needed before external discovery.
Analyzed activity

Recent published watches

Message quality and risk characterize commits, never the person.

Moderate 52 AI analysisMessage 93 · Strong
EL ElectrumElectrum BitcoinSoftware wallets

lnwallet: don't blacklist htlc failures without channel update

This change fixes how Electrum's Lightning wallet reacts when a payment route fails but the failing node no longer provides a channel update message, as now allowed by the Lightning protocol spec. Previously, Electrum would permanently bla…

Denial-of-service via over-blacklisting: prior behavior could cause legitimate channels to be blacklisted, degrading payment success and potentially isolating the wallet from usable routes.Spec compliance fix: aligns Electrum with updated Lightning BOLT protocol behavior.No cryptographic bypass or funds theft signal: the change is about routing policy, not key leakage or transaction authorization.
a865e336by f321x+48−142 files
No security note in commit
Informational 15 AI analysisMessage 35 · Opaque
EL ElectrumElectrum BitcoinSoftware wallets

hww/qt: followup 898a4c270

This commit simply renames an internal variable from `dialog_label` to `_dialog_label` to mark it as private. It is a minor code cleanup with no visible behavior change and no security relevance.

f3af41deby f321x+4−41 file
No security note in commit
Low 25 AI analysisMessage 68 · Adequate
EL ElectrumElectrum BitcoinSoftware wallets

trezor: drop session after closing it

This commit fixes a bug in Electrum's support for Trezor hardware wallets. After a Trezor session times out or is closed, Electrum now forgets the old session ID. Previously it kept the stale session ID, so the next attempt to sign a trans…

Fixes a stale-session reference that caused InvalidSessionError on re-authenticationEnsures PIN re-prompt after session timeout/closureFailure mode was denial-of-service (transaction signing crash), not unauthorized signing
071b1e24by f321x+8−51 file
No security note in commit
Informational 12 AI analysisMessage 83 · Strong
EL ElectrumElectrum BitcoinSoftware wallets

test_lnwallet: add unittest for unchanged channel update from failed htlc

This commit only adds a new unit test to Electrum's Lightning wallet test suite. It checks that when a payment fails due to a temporary lack of liquidity (TEMPORARY_CHANNEL_FAILURE) and the accompanying channel policy update is identical t…

Lightning payment routing failure handling behavior is being testedTEMPORARY_CHANNEL_FAILURE no longer (or is confirmed not to) blacklist channels when the channel update is unchangedLiquidity hints are used as an alternative to blacklisting for retry amounts
1f5b9adbby f321x+61−21 file
No security note in commit
Informational 15 AI analysisMessage 73 · Adequate
EL ElectrumElectrum BitcoinSoftware wallets

lnwallet: rename flag in handle_error_code_from_failed_htlc

This commit only renames a local variable from 'update' to 'handled' in a Lightning Network payment-failure handler. It does not change any program logic, behavior, or security properties. The change is purely cosmetic/clarifying.

8e3aed1fby f321x+8−81 file
No security note in commit
Low 45 AI analysisMessage 73 · Adequate
EL ElectrumElectrum BitcoinSoftware wallets

lnwallet: don't blacklist chan on unchanged channel update

This commit fixes a bug in Electrum's Lightning payment routing. Previously, if a payment failed because a channel didn't have enough money (a temporary liquidity issue), Electrum would incorrectly 'blacklist' that channel for an hour, eve…

Denial-of-service-like self-harm: unnecessary channel blacklisting degrades user's own payment routing capabilityLightning Network routing logic changeBehavioral fix for TEMPORARY_CHANNEL_FAILURE handling
6a97e74cby f321x+6−11 file
No security note in commit
Moderate 51 AI analysisMessage 85 · Strong
EL ElectrumElectrum BitcoinSoftware wallets

lnrouter: use separate timestamp per liquidity hint value

This commit fixes a bug in Electrum's Lightning payment routing that could cause the wallet to avoid using a channel for large payments longer than it should. After a small payment succeeded, an old record of a failed large payment could i…

Logic bug in routing state expiration could cause denial of service for large Lightning paymentsShared timestamp allowed stale failure hints to be reactivated by unrelated success updatesSetter comparisons against raw internal values instead of getter-validated values allowed expired hints to block new data
03c2b412by f321x+75−332 files
No security note in commit
Informational 15 AI analysisMessage 83 · Strong
EL ElectrumElectrum BitcoinSoftware wallets

test_lnwallet: add unittest for single channel mpp split config

This commit adds a new automated test to the Electrum project. It does not change any production wallet or Lightning code. The test verifies that when Electrum splits a multi-part payment across a single channel, all payment parts actually…

14f7fa0bby f321x+22−01 file
No security note in commit
Informational 15 AI analysisMessage 83 · Strong
EL ElectrumElectrum BitcoinSoftware wallets

tests: move ln graph definitions and prepare_invoice to lnhelpers.py

This commit is purely a test-code refactoring: it moves Lightning Network test helpers (graph definitions and an invoice preparation function) from one test file to another shared helper file. There is no change to production code, no secu…

e281a4c4by f321x+185−1852 files
No security note in commit
Low 30 AI analysisMessage 85 · Strong
EL ElectrumElectrum BitcoinSoftware wallets

lnwallet: use split config channel for single channel mpp

This commit fixes a bug in Electrum's Lightning payment logic. When sending a payment split into multiple parts over a single channel, the app could previously ignore the intended channel and route all parts through a different channel tha…

Fixes a logic bug that could cause Lightning payment failuresPrevents internal assertion failure (_assert_can_add_htlc) during payment routingEnsures split configuration channel selection is honored during pathfinding
bf1b4a1bby f321x+1−21 file
No security note in commit
Informational 12 AI analysisMessage 60 · Adequate
EL ElectrumElectrum BitcoinSoftware wallets

tests: check liquidity hints are updated for all htlcs

This commit only adds new automated tests for Electrum's Lightning payment routing code. It checks that internal 'liquidity hints' correctly track in-flight payment parts and are cleaned up after multipart payments succeed or time out. The…

2f82eca1by f321x+33−02 files
No security note in commit
Low 34 AI analysisMessage 73 · Adequate
EL ElectrumElectrum BitcoinSoftware wallets

lnworker/lnrouter: update liquidity hints in htlc callbacks

This commit fixes a bug in Electrum's Lightning payment routing. Previously, when a multi-part payment succeeded, only the first successful payment chunk properly updated the wallet's internal channel-liquidity bookkeeping. Later chunks we…

Resource/accounting leak in routing stateIncorrect penalty of successful Lightning routesPotential denial-of-service against local payment reliability
b176c50aby f321x+8−122 files
No security note in commit
Informational 12 AI analysisMessage 50 · Thin
EL ElectrumElectrum BitcoinSoftware wallets

test_lnpeer: add unittest for mpp fee budget check

This commit only adds a new automated test to Electrum's Lightning code. It checks that when a payment is split into multiple parts (MPP), the fee budget is correctly shared across all parts so total fees cannot exceed the budget. There is…

Tests fee-budget enforcement for multipart Lightning paymentsNo production-code changes; purely test coverage
42cb99d0by f321x+36−01 file
No security note in commit
Moderate 63 AI analysisMessage 78 · Adequate
EL ElectrumElectrum BitcoinSoftware wallets

LNWallet: fix fee budget check regression

This commit fixes a bug in Electrum's Lightning Network payment routing. When splitting a payment into multiple parts, the app was checking each partial route's fees against the entire payment's fee budget instead of that part's fair share…

Fee-budget logic regression in payment routingMulti-part Lightning payment fee overpayment possibleIncorrect comparison of full amount/budget against partial route
fc407c39by f321x+2−21 file
No security note in commit
Low 47 AI analysisMessage 80 · Strong
EL ElectrumElectrum BitcoinSoftware wallets

json_db: set_modified after incomplete data

This commit fixes a bug in Electrum's wallet storage recovery. If a wallet file was partially corrupted (a 'patch' was cut off mid-write), the app could recover the old data but then fail to mark the wallet as changed. As a result, later u…

Data-loss / integrity failure in wallet storage recovery pathMissing dirty flag after fallback data recoveryAppend-only storage file not rewritten after corruption cleanup
f75f1958by f321x+22−12 files
No security note in commit
Moderate 59 AI analysisMessage 88 · Strong
EL ElectrumElectrum BitcoinSoftware wallets

json_db: escape '\' and '~' in json patch pointer

This commit fixes a bug in how Electrum builds JSON Patch pointers when wallet data contains special characters like '/' or '~' in keys. Before the fix, these characters were not escaped, which could cause patch operations to target the wr…

Incorrect JSON Pointer escaping can misroute patch operationsPotential data corruption or loss in wallet database updatesNo explicit security framing in commit message or diff
97007d9eby f321x+13−12 files
No security note in commit
Low 44 AI analysisMessage 58 · Thin
EL ElectrumElectrum BitcoinSoftware wallets

wallet_db: register onion_keys converter

This commit fixes a bug in Electrum's Lightning wallet database handling. After a wallet restart, a specific type of encryption key used in Lightning payments was being loaded as a text string instead of raw bytes. This mismatch could caus…

Type confusion between str and bytes in cryptographic key handlingLightning payment error path affected after wallet restartMissing data converter in wallet database layer
5b2eb060by f321x+2−02 files
No security note in commit
Informational 18 AI analysisMessage 58 · Thin
EL ElectrumElectrum BitcoinSoftware wallets

qml: update ConfirmTxDialog onValidChanged

This is a small user-interface fix for the Electrum mobile/QML app. When sweeping private keys, the confirmation dialog that shows how much money will be moved initially displayed an amount of 0 because it did not refresh after the transac…

bd776e24by f321x+3−01 file
No security note in commit
Low 26 AI analysisMessage 85 · Strong
EL ElectrumElectrum BitcoinSoftware wallets

swaps: destroy swap transport on failed initialization

This commit fixes a resource leak in Electrum's submarine-swap feature. When a connection to a swap server failed to start, the program was not properly cleaning up the connection object, so each failed attempt could leave behind leftover …

Resource leak on error pathMissing cleanup of background tasks after failed initializationPotential accumulation of leaked transports/connections per failed swap attempt
c5a38e5aby f321x+4−22 files
No security note in commit
Informational 18 AI analysisMessage 73 · Adequate
EL ElectrumElectrum BitcoinSoftware wallets

qml: emit a single dataChanged when updating blockchain height

This change is a performance cleanup in Electrum's mobile/QML user interface. When the wallet learns that the Bitcoin blockchain has grown taller, it now refreshes the transaction list with a single 'everything changed' signal instead of s…

No security-relevant logic changePerformance/efficiency optimization onlyNo input validation, parsing, cryptography, or network changes
fbe9e2d8by f321x+8−41 file
No security note in commit
Wrong identity?Names can collide and public author strings can be misleading.Contact commitwatch@karma-x.io →