channels, routes payments between them, and exposes a simple API to make and receive
payments. Individual `ChannelMonitor`s monitor the on-chain state of a channel, punish
counterparties if they misbehave, and force-close channels if they contain unresolved
-HTLCs which are near expiration. The `ManyChannelMonitor` API provides a way for you to
+HTLCs which are near expiration. The `chain::Watch` interface provides a way for you to
receive `ChannelMonitorUpdate`s from `ChannelManager` and persist them to disk before the
channel steps forward.
| \ | | / ---------> | BroadcasterInterface |
| \ | | / / | ------------------------
| \ v v v / v ^
- | (as ------------------ ----------------------
- | ChannelMessageHandler)-> | ChannelManager | ----> | ManyChannelMonitor |
- v / ------------------ ----------------------
---------------- / ^ (as EventsProvider) ^
-| PeerManager |- | \ / /
---------------- | -------\---/----------
- | ----------------------- / \ /
- | | ChainWatchInterface | - v
- | ----------------------- ---------
+ | (as ------------------ ----------------
+ | ChannelMessageHandler)-> | ChannelManager | ----> | chain::Watch |
+ v / ------------------ ----------------
+--------------- / (as EventsProvider)
+| PeerManager |- \ /
+--------------- \ /
+ | ----------------- \ /
+ | | chain::Access | v
+ | ----------------- ---------
| | | Event |
(as RoutingMessageHandler) v ---------
\ --------------------