boltz-backend
boltz-backend copied to clipboard
Chain/Submarine Swaps: Continue watching chain after a tx was dropped from mempool
Today I discovered an interesting edge case that we are not handling correctly:
- User sends bitcoin transaction into the swap
- Transaction disappears from the mempool (whatever the reason)
- Backend notices this (
Could not find unconfirmed BTC user lockup transaction of Chain Swap ABC: No such mempool or blockchain transaction. ID: xyz
and looks like backend stops watching the chain after this - User sends new transaction into lockup way within expiry limit
- Swap expires because backend never knew about the new tx. Refund doesn't work.