Skip to content

Conversation

@t-bast
Copy link
Member

@t-bast t-bast commented Nov 3, 2025

When a liquidity purchase is signed, we eagerly add it to our DB before receiving the remote interactive-tx signatures. If we reach that step, our peer should always finalize the signing steps, so we didn't bother handling the case where they would instead send tx_abort. When that happened, we kept the upstream HTLCs pending until they got close to their expiry, at which point we failed them.

We've seen cases where seemingly non-malicious mobile wallets abort that kind of liquidity purchases after a disconnection. It is harmful for an honest sender to keep the HTLCs pending, so we now immediately fail them in that case.

When a liquidity purchase is signed, we eagerly add it to our DB before
receiving the remote `interactive-tx` signatures. If we reach that step,
our peer should always finalize the signing steps, so we didn't bother
handling the case where they would instead send `tx_abort`. When that
happened, we kept the upstream HTLCs pending until they got close to
their expiry, at which point we failed them.

We've seen cases where seemingly non-malicious mobile wallets abort
that kind of liquidity purchases after a disconnection. It is harmful
for an honest sender to keep the HTLCs pending, so we now immediately
fail them in that case.
@t-bast t-bast requested a review from pm47 November 3, 2025 17:01
@t-bast t-bast merged commit 5e1a488 into master Nov 5, 2025
1 check passed
@t-bast t-bast deleted the on-the-fly-abort-after-sigs branch November 5, 2025 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants