loopd: support more HTLC recovery modes, stateless and cooperative - #1203
Open
starius wants to merge 2 commits into
Open
loopd: support more HTLC recovery modes, stateless and cooperative#1203starius wants to merge 2 commits into
starius wants to merge 2 commits into
Conversation
Allow sweephtlc to reconstruct protocol-11 Loop Out HTLCs when the local swap record is unavailable but the public swap data and preimage can be recovered. Prefer signing by public key and use a bounded family-99 key scan only when direct signing fails or produces an invalid witness.
starius
marked this pull request as ready for review
August 21, 2026 17:14
Allow sweephtlc to request the existing server MuSig2 signing flow so an original Taproot Loop Out HTLC can be recovered without revealing its preimage. Stateful recovery obtains ownership proof from the stored invoice, while stateless recovery accepts it with the public swap data. Keep publishing opt-in and verify the combined signature and completed witness before returning the transaction.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Allow
sweephtlcto reconstruct protocol-11 Loop Out HTLCs when the local swap record is unavailable but the public swap data and preimage can be recovered.Prefer signing by public key and use a bounded family-99 key scan only when direct signing fails or produces an invalid witness.
Also add cooperative sweep as an option applicable in both stateful and stateless modes. In stateless mode it also requires providing payment address.
So now we have a matrix.
client_pubkey; no key scan occurs.payment_addras server ownership proof.I tested all the modes locally.
Pull Request Checklist
docs/release-notes/release-notes-next.md, or apply theno-changeloglabel (required by CI)