Description
@valentinewallace pointed out that our current API doesn't do anything to remember wallet birthdays. If a user initializes a ChannelManager
, then opens a channel, then shuts down before ever seeing a block (which is reasonable on first-startup), they may restart later and deserialize and think they don't need to connect any blocks at all, missing the funding transaction confirmation. Further, ChannelMonitor
s could exhibit similar behavior, potentially even missing more if users don't persist them without updates.
One potential fix for this would be to (a) require a birthday current-tip block hash when constructing a ChannelManager
and then (b) copy the current block hash into ChannelMontior
s when constructing them. This would effectively imply reverting #819, though it didn't actually introduce this issue, only surfaced it.