Update to latest upstream rust-lightning, bumping deps
[ldk-sample] / src / main.rs
index bfb586adfbe630c3df9ff7fc31b51c67d493ff9c..0229873380b6f06dfde5885dca4b4915ac2a6975 100644 (file)
@@ -224,6 +224,23 @@ async fn handle_ldk_events(
                                payment.status = HTLCStatus::Failed;
                        }
                }
+               Event::PaymentForwarded { fee_earned_msat, claim_from_onchain_tx } => {
+                       let from_onchain_str = if claim_from_onchain_tx {
+                               "from onchain downstream claim"
+                       } else {
+                               "from HTLC fulfill message"
+                       };
+                       if let Some(fee_earned) = fee_earned_msat {
+                               println!(
+                                       "\nEVENT: Forwarded payment, earning {} msat {}",
+                                       fee_earned, from_onchain_str
+                               );
+                       } else {
+                               println!("\nEVENT: Forwarded payment, claiming onchain {}", from_onchain_str);
+                       }
+                       print!("> ");
+                       io::stdout().flush().unwrap();
+               }
                Event::PendingHTLCsForwardable { time_forwardable } => {
                        let forwarding_channel_manager = channel_manager.clone();
                        tokio::spawn(async move {
@@ -551,7 +568,7 @@ async fn start_ldk() {
        let persist_channel_manager_callback =
                move |node: &ChannelManager| FilesystemPersister::persist_manager(data_dir.clone(), &*node);
        // Step 17: Background Processing
-       BackgroundProcessor::start(
+       let background_processor = BackgroundProcessor::start(
                persist_channel_manager_callback,
                event_handler,
                chain_monitor.clone(),
@@ -610,6 +627,9 @@ async fn start_ldk() {
                network,
        )
        .await;
+
+       // Stop the background processor.
+       background_processor.stop().unwrap();
 }
 
 #[tokio::main]