Amber nodes are monitored by CommitWatch. Gray nodes are sampled from authenticated GitHub public commit search and may not represent complete contribution history.
This commit fixes a compatibility edge case when users upgrade from an older version of LDK (0.2) while a channel splice is still pending. The older version did not save enough details about the splice, so after upgrading the software coul…
Removal of debug_assert that could panic on upgrade/downgrade dataGraceful handling of missing splice metadata from older LDK persistencePrevention of refusal/crash when re-splicing a channel with an inherited splice
This commit is a pure code cleanup: it moves a small fee-calculation helper for Lightning splice RBF (replace-by-fee) transactions into a struct method and renames it. The actual arithmetic formula and the places that use it stay exactly t…
This commit only adds a changelog text file describing a previously merged feature (PR 4687). It does not change any source code, build scripts, tests, or documentation that affects program behavior. There is no security-relevant change to…
This commit only adds new test code. It exercises how a newer version of LDK exchanges saved channel data with the older LDK 0.2 release when a channel has a pending splice. There is no change to production logic, no bug fix, and no securi…
This commit adds a new read-only API field that lets users query the status of in-progress channel splice operations on demand. It does not change protocol behavior, permissions, or how funds are handled; it only exposes internal state tha…
No new network messages or protocol changesNo new cryptographic operationsNo changes to authorization, fee handling, or transaction signing
This commit refactors how a Lightning node keeps track of money it adds during splice and RBF (fee-bump) negotiations. Previously, the node's own contributions were stored in a separate list that had to be manually aligned with negotiated …
Refactor of splice/RBF contribution tracking to prevent misattribution between negotiation roundsAdded invariant assertions that contributions form a suffix of negotiated candidatesSerialization compatibility design to make older LDK versions refuse RBF states they cannot operate
This commit is a code cleanup inside the project's test suite. It replaces a helper function with several hard-to-read positional arguments (like bare `false` and `None`) with a 'builder' pattern that names each option. This makes the test…
This commit fixes a bug where a remote peer could crash a Lightning node by sending a specially chosen custom message. The crash happened because a message-routing helper assumed a sub-component would always recognize any message type matc…
Remote-triggered panic (denial of service) in message-processing threadViolation of `CustomMessageReader` contract assumption in composite handlerPeer-controlled input (`message_type`) used as index/pattern match without graceful fallback
This commit removes an old cryptographic nonce from the data carried inside Lightning "blinded paths" used when sending BOLT 12 offers and refunds. The nonce is no longer needed because a newer "payer metadata" field already carries the sa…
Removes a redundant nonce from blinded-path context, relying on payer metadata for invoice authenticationRetains and enforces payment_id matching to prevent cross-payment invoice delivery over captured blinded pathsMaintains backward-compatible persistence of the nonce for downgrade/retry scenarios
This commit adds a new prev_hop field to an existing event type so that applications using the Lightning Dev Kit can see which peer sent an intercepted onion message. It is a feature enhancement that improves policy control; it does not by…
New optional field added to an existing public event variantSerialization/deserialization updated with TLV backwards-compatibility handlingNo change to cryptographic validation, access control, or resource limits
This commit changes how BOLT12 invoices are verified in the Lightning Dev Kit. Previously, some invoices could be verified using a nonce stored in the blinded reply path context. Now, the nonce is always included inside the encrypted payer…
BOLT12 invoice verification now depends only on data inside the invoice request/refund, reducing reliance on external contextRemoves a verification path (verify_using_payer_data) that used reply-path context instead of invoice-contained metadataBreaks backward compatibility for prior-version invoice requests/refunds with blinded paths, causing payment failures
This commit fixes a validation bug in rust-lightning's BOLT12 offer handling. An offer that says 'buy up to N items' was accidentally accepting requests to buy 0 items, which is meaningless and could let someone request an invoice for noth…
Input validation bug in BOLT12 offer quantity parsingZero-value / zero-quantity invoice request accepted when it should be rejectedSemantic validation fix with regression test
This commit is a simple code cleanup: it removes a type alias named FundingTxInput and replaces every use of it with the existing type ConfirmedUtxo. There is no change to program logic, no bug fix, and no security-related behavior change.…
This commit only adds a comment explaining existing behavior in a Bitcoin Lightning funding function. It does not change any code logic. The behavior being documented—filtering duplicate outputs based only on their script address—could the…
Documentation-only changeDescribes intentional script_pubkey-only matching behaviorNotes that multiple outputs sharing a script are dropped together
This commit only adds documentation comments to a public Rust enum field. It explains that when a splice negotiation fails, the returned contribution may still include inputs and outputs that are also part of an earlier, not-yet-locked spl…
This commit is a code-quality and correctness fix in a Lightning network library. It removes a risky pattern where an error reason was left as a placeholder ('Unknown') and only filled in later by callers. Some callers forgot to fill it in…
Elimination of placeholder error reason that could be leaked to event consumersRemoval of builder pattern that allowed callers to forget setting a security-relevant failure reasonAddition of debug_assert! and exhaustive match to enforce invariants at compile time
This commit changes how a Lightning node reports 'discarded' bitcoin inputs and outputs when a splice attempt is replaced by a newer version (RBF). Instead of discarding whole transactions, it now reports only the specific inputs and outpu…
Change in event semantics for discarded splice fundingFiltering logic could affect wallet recovery of funds from abandoned splice roundsNew regression test for unique contribution reporting
This commit fixes a bug in the Lightning Dev Kit's splicing/RBF (fee-bump) protocol. If a splice transaction got confirmed while both sides were exchanging 'quiet' (STFU) messages, the code could wrongly try to start a new RBF round for an…
Race condition between splice confirmation and RBF initiationPrevention of invalid tx_init_rbf after splice_lockedNew NegotiationFailureReason::CannotInitiateRbf for failed RBF initiation
This commit only adds a pending changelog file describing upcoming API renames and additions for splicing-related events. It contains no code changes, no bug fixes, and no security-sensitive behavior changes.
This commit is a routine code cleanup. It removes an unused error type and several helper methods that are no longer called anywhere in the codebase. There is no change to behavior, no bug fix, and no security-related content.