-
Notifications
You must be signed in to change notification settings - Fork 426
Closed
Milestone
Description
Currently, in lightning-transaction-sync, we'd remove an output from our list of watched_outputs once we see its spend confirmed on-chain. If now a reorg happens we'd gladly unconfirm the spending tx, however, we would currently not re-add the spent output to be watched.
In order to fix this we could consider to
- Keep additional tracking state around that would allow us to match any unconfirmed txid to the originally registered
WatchedOutputand then simply re-add it towatched_outputsor - Take a reference to
ChainMonitor/ChannelMonitors and callload_outputs_to_watchon the start of eachsyncround. This would allow us to always retrieve the newest items to watch on a per-round basis. However, this would also exclude us from usinglightning-transaction-syncwith any objects besides the core LDK ones. (we could however also consider making a method similar toload_outputs_to_watchtoFilterto accommodate for this) or - Have
ChannelMonitors re-register the affected outputs to watch once we inform them about spending transaction unconfirmation.
I'm not the biggest fan of 2), but considering 1)/3).