clboss/Boltz
Ken Sedgwick 9075ee32fc
Boltz/Detail/ClaimTxHandler.cpp: Scope claim db update to the claimed swap.
After broadcasting a reverse-swap claim transaction, the handler
recorded the claim with an UPDATE that had no WHERE clause, marking
every row in BoltzServiceFactory_rsub lockedUp=1.  Any other in-flight
swap then took the "Already broadcasted claim tx." early exit and
never broadcast its own claim; its off-chain payment stayed unsettled
until the timeout/refund path unwound it.

Add the same apiAccess + swapId predicates used by the neighboring
SELECTs and DELETE, and a regression test that seeds two swaps,
claims one, and asserts the sibling row is untouched.  The test
fails before this change and passes after.

Reported by Vincenzo Palazzo (Bitcoin Security Council / Sentinel).

Fixes #325.
2026-08-12 13:25:31 -07:00
..
Detail Boltz/Detail/ClaimTxHandler.cpp: Scope claim db update to the claimed swap. 2026-08-12 13:25:31 -07:00
Connection.hpp Boltz/ConnectionIF.hpp: Create generic interface to connection. 2021-04-19 00:56:32 +08:00
ConnectionIF.hpp Use BacktraceException for appropriate (most) exceptions 2024-08-19 15:04:30 -07:00
EnvIF.hpp Boltz/EnvIF.hpp: Make logd and loge abstract. 2020-09-25 15:44:45 +08:00
Service.hpp *: Silence clang warnings. 2020-11-02 19:02:35 +08:00
ServiceFactory.cpp Boltz/ServiceFactory.cpp: Allow creating services with both clearnet and onion APIs. 2021-04-19 00:56:32 +08:00
ServiceFactory.hpp Boltz/ServiceFactory.cpp: Allow creating services with both clearnet and onion APIs. 2021-04-19 00:56:32 +08:00
SwapInfo.hpp Boss/Msg/SwapCreation.hpp: Also include hash of the swap. 2020-09-28 11:40:34 +08:00