Description
The ChainMonitor is a bit naive when it comes to best block sync - it proxies new block connections through to the underlying ChannelMonitors, which requires that the ChannelMonitors should all be in-sync before we "start". That's fine, except that
(a) we should enforce that somehow - users shouldn't be able to use a ChainMonitor
if the ChannelMonitor
(s) are out of sync,
(b) there is a race between the creation of a new ChannelMonitor
(which uses the ChannelManager
's best block to start) and the addition of the ChannelMonitor
to the ChainMonitor
- the blocks could be out of sync. In practice this can't cause harm as long as the ChannelMonitor
is in the ChainMonitor
before the commitment transaction is broadcastable (which is required), but we need to forcibly update the best block to match.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status