]> git.bitcoin.ninja Git - rust-lightning/commitdiff
Doc Clarity: Handling gaps in persisted ChannelMonitorUpdates
authorG8XSU <3442979+G8XSU@users.noreply.github.com>
Tue, 20 Aug 2024 17:23:18 +0000 (10:23 -0700)
committerG8XSU <3442979+G8XSU@users.noreply.github.com>
Tue, 20 Aug 2024 17:23:30 +0000 (10:23 -0700)
If there are any gaps in the persisted [`ChannelMonitorUpdate`]s,
implementer can safely ignore [`ChannelMonitorUpdate`]s after the gap and load without them.
Since, acc. to channel-manager, we have only made progress if all contiguos
ChannelMonitorUpdates have been persisted.

lightning/src/chain/chainmonitor.rs

index 015b3dacfc3db6cc0e5a526729c6731d2c4c832f..e9eafa22694dcb2095fec57a4c05709d356f383e 100644 (file)
@@ -176,7 +176,9 @@ pub trait Persist<ChannelSigner: WriteableEcdsaChannelSigner> {
        /// If an implementer chooses to persist the updates only, they need to make
        /// sure that all the updates are applied to the `ChannelMonitors` *before*
        /// the set of channel monitors is given to the `ChannelManager`
-       /// deserialization routine. See [`ChannelMonitor::update_monitor`] for
+       /// deserialization routine. If there are any gaps in the persisted [`ChannelMonitorUpdate`]s,
+       /// implementer can safely ignore [`ChannelMonitorUpdate`]s after the gap and load without them.
+       /// See [`ChannelMonitor::update_monitor`] for
        /// applying a monitor update to a monitor. If full `ChannelMonitors` are
        /// persisted, then there is no need to persist individual updates.
        ///