@@ -60,10 +60,12 @@ use lightning::chain;
60
60
/// logger: &L,
61
61
/// persister: &P,
62
62
/// ) {
63
+ /// // Read a serialized channel monitor paired with the block hash when it was persisted.
63
64
/// let serialized_monitor = "...";
64
65
/// let (monitor_block_hash, mut monitor) = <(BlockHash, ChannelMonitor<S>)>::read(
65
66
/// &mut Cursor::new(&serialized_monitor), keys_manager).unwrap();
66
67
///
68
+ /// // Read the channel manager paired with the block hash when it was persisted.
67
69
/// let serialized_manager = "...";
68
70
/// let (manager_block_hash, mut manager) = {
69
71
/// let read_args = ChannelManagerReadArgs::new(
@@ -79,6 +81,7 @@ use lightning::chain;
79
81
/// &mut Cursor::new(&serialized_manager), read_args).unwrap()
80
82
/// };
81
83
///
84
+ /// // Synchronize any channel monitors and the channel manager to be on the best block.
82
85
/// let mut cache = UnboundedCache::new();
83
86
/// let mut monitor_listener = (RefCell::new(monitor), &*tx_broadcaster, &*fee_estimator, &*logger);
84
87
/// let listeners = vec![
@@ -88,9 +91,11 @@ use lightning::chain;
88
91
/// let chain_tip = init::synchronize_listeners(
89
92
/// block_source, Network::Bitcoin, &mut cache, listeners).await.unwrap();
90
93
///
94
+ /// // Allow the chain monitor to watch any channels.
91
95
/// let monitor = monitor_listener.0.into_inner();
92
96
/// chain_monitor.watch_channel(monitor.get_funding_txo().0, monitor);
93
97
///
98
+ /// // Create an SPV client to notify the chain monitor and channel manager of block events.
94
99
/// let chain_poller = poll::ChainPoller::new(block_source, Network::Bitcoin);
95
100
/// let mut chain_listener = (chain_monitor, &manager);
96
101
/// let spv_client = SpvClient::new(chain_tip, chain_poller, &mut cache, &chain_listener);
0 commit comments