Rename `background-processor` to `lightning-background-processor`
[rust-lightning] / background-processor / src / lib.rs
index 06a2c00e28cc0dc80afdea89da48a330f8fdfadf..f6c2dbfcae064562bfdb96a41a30c891c0f49a16 100644 (file)
@@ -54,7 +54,7 @@ impl BackgroundProcessor {
        /// [`FilesystemPersister::persist_manager`]: ../lightning_persister/struct.FilesystemPersister.html#impl
        pub fn start<PM, Signer, M, T, K, F, L>(persist_manager: PM, manager: Arc<ChannelManager<Signer, Arc<M>, Arc<T>, Arc<K>, Arc<F>, Arc<L>>>, logger: Arc<L>) -> Self
        where Signer: 'static + Sign,
-             M: 'static + chain::Watch<ChanSigner=Signer>,
+             M: 'static + chain::Watch<Signer>,
              T: 'static + BroadcasterInterface,
              K: 'static + KeysInterface<Signer=Signer>,
              F: 'static + FeeEstimator,
@@ -66,7 +66,7 @@ impl BackgroundProcessor {
                let handle = thread::spawn(move || -> Result<(), std::io::Error> {
                        let mut current_time = Instant::now();
                        loop {
-                               let updates_available = manager.wait_timeout(Duration::from_millis(100));
+                               let updates_available = manager.await_persistable_update_timeout(Duration::from_millis(100));
                                if updates_available {
                                        persist_manager(&*manager)?;
                                }
@@ -106,7 +106,7 @@ mod tests {
        use lightning::chain::keysinterface::{Sign, InMemorySigner, KeysInterface, KeysManager};
        use lightning::chain::transaction::OutPoint;
        use lightning::get_event_msg;
-       use lightning::ln::channelmanager::{ChannelManager, SimpleArcChannelManager};
+       use lightning::ln::channelmanager::{ChainParameters, ChannelManager, SimpleArcChannelManager};
        use lightning::ln::features::InitFeatures;
        use lightning::ln::msgs::ChannelMessageHandler;
        use lightning::util::config::UserConfig;
@@ -124,7 +124,7 @@ mod tests {
        type ChainMonitor = chainmonitor::ChainMonitor<InMemorySigner, Arc<test_utils::TestChainSource>, Arc<test_utils::TestBroadcaster>, Arc<test_utils::TestFeeEstimator>, Arc<test_utils::TestLogger>, Arc<FilesystemPersister>>;
 
        struct Node {
-               node: SimpleArcChannelManager<ChainMonitor, test_utils::TestBroadcaster, test_utils::TestFeeEstimator, test_utils::TestLogger>,
+               node: Arc<SimpleArcChannelManager<ChainMonitor, test_utils::TestBroadcaster, test_utils::TestFeeEstimator, test_utils::TestLogger>>,
                persister: Arc<FilesystemPersister>,
                logger: Arc<test_utils::TestLogger>,
        }
@@ -155,10 +155,16 @@ mod tests {
                        let persister = Arc::new(FilesystemPersister::new(format!("{}_persister_{}", persist_dir, i)));
                        let seed = [i as u8; 32];
                        let network = Network::Testnet;
-                       let now = Duration::from_secs(genesis_block(network).header.time as u64);
+                       let genesis_block = genesis_block(network);
+                       let now = Duration::from_secs(genesis_block.header.time as u64);
                        let keys_manager = Arc::new(KeysManager::new(&seed, now.as_secs(), now.subsec_nanos()));
                        let chain_monitor = Arc::new(chainmonitor::ChainMonitor::new(Some(chain_source.clone()), tx_broadcaster.clone(), logger.clone(), fee_estimator.clone(), persister.clone()));
-                       let manager = Arc::new(ChannelManager::new(Network::Testnet, fee_estimator.clone(), chain_monitor.clone(), tx_broadcaster, logger.clone(), keys_manager.clone(), UserConfig::default(), i));
+                       let params = ChainParameters {
+                               network,
+                               latest_hash: genesis_block.block_hash(),
+                               latest_height: 0,
+                       };
+                       let manager = Arc::new(ChannelManager::new(fee_estimator.clone(), chain_monitor.clone(), tx_broadcaster, logger.clone(), keys_manager.clone(), UserConfig::default(), params));
                        let node = Node { node: manager, persister, logger };
                        nodes.push(node);
                }
@@ -262,7 +268,7 @@ mod tests {
                loop {
                        let log_entries = nodes[0].logger.lines.lock().unwrap();
                        let desired_log = "Calling manager's timer_chan_freshness_every_min".to_string();
-                       if log_entries.get(&("background_processor".to_string(), desired_log)).is_some() {
+                       if log_entries.get(&("lightning_background_processor".to_string(), desired_log)).is_some() {
                                break
                        }
                }
@@ -275,7 +281,7 @@ mod tests {
                // Test that if we encounter an error during manager persistence, the thread panics.
                fn persist_manager<Signer, M, T, K, F, L>(_data: &ChannelManager<Signer, Arc<M>, Arc<T>, Arc<K>, Arc<F>, Arc<L>>) -> Result<(), std::io::Error>
                where Signer: 'static + Sign,
-                     M: 'static + chain::Watch<ChanSigner=Signer>,
+                     M: 'static + chain::Watch<Signer>,
                      T: 'static + BroadcasterInterface,
                      K: 'static + KeysInterface<Signer=Signer>,
                      F: 'static + FeeEstimator,