Amber nodes are monitored by CommitWatch. Gray nodes are sampled from authenticated GitHub public commit search and may not represent complete contribution history.
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.
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.
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
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
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.
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
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
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…
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…
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
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…
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
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
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
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
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
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
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…
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
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