Fix badly formatted log
[ldk-sample] / src / cli.rs
index 04b18f9815acc858ff92a0820227941bc7265598..dc8bb407942e289ffaec47eb37b5922bfb2dd1f2 100644 (file)
@@ -18,7 +18,7 @@ use lightning_invoice::{utils, Currency, Invoice};
 use std::env;
 use std::io;
 use std::io::{BufRead, Write};
-use std::net::SocketAddr;
+use std::net::{SocketAddr, ToSocketAddrs};
 use std::ops::Deref;
 use std::path::Path;
 use std::str::FromStr;
@@ -406,7 +406,7 @@ fn list_channels(channel_manager: Arc<ChannelManager>) {
                }
                println!("\t\tpending_open: {},", pending_channel);
                println!("\t\tchannel_value_satoshis: {},", chan_info.channel_value_satoshis);
-               println!("\t\tchannel_can_send_payments: {},", chan_info.is_live);
+               println!("\t\tchannel_can_send_payments: {},", chan_info.is_usable);
                println!("\t}},");
        }
        println!("]");
@@ -463,7 +463,14 @@ pub(crate) async fn connect_peer_if_necessary(
                        return Ok(());
                }
        }
-       match lightning_net_tokio::connect_outbound(Arc::clone(&peer_manager), event_notifier, pubkey, peer_addr).await {
+       match lightning_net_tokio::connect_outbound(
+               Arc::clone(&peer_manager),
+               event_notifier,
+               pubkey,
+               peer_addr,
+       )
+       .await
+       {
                Some(conn_closed_fut) => {
                        let mut closed_fut_box = Box::pin(conn_closed_fut);
                        let mut peer_connected = false;
@@ -472,7 +479,7 @@ pub(crate) async fn connect_peer_if_necessary(
                                        std::task::Poll::Ready(_) => {
                                                println!("ERROR: Peer disconnected before we finished the handshake");
                                                return Err(());
-                                       },
+                                       }
                                        std::task::Poll::Pending => {}
                                }
                                for node_pubkey in peer_manager.get_peer_node_ids() {
@@ -631,13 +638,12 @@ pub(crate) fn parse_peer_info(
        if peer_addr_str.is_none() || peer_addr_str.is_none() {
                return Err(std::io::Error::new(
                        std::io::ErrorKind::Other,
-                       "ERROR: incorrectly formatted peer
-        info. Should be formatted as: `pubkey@host:port`",
+                       "ERROR: incorrectly formatted peer info. Should be formatted as: `pubkey@host:port`",
                ));
        }
 
-       let peer_addr: Result<SocketAddr, _> = peer_addr_str.unwrap().parse();
-       if peer_addr.is_err() {
+       let peer_addr = peer_addr_str.unwrap().to_socket_addrs().map(|mut r| r.next());
+       if peer_addr.is_err() || peer_addr.as_ref().unwrap().is_none() {
                return Err(std::io::Error::new(
                        std::io::ErrorKind::Other,
                        "ERROR: couldn't parse pubkey@host:port into a socket address",
@@ -652,5 +658,5 @@ pub(crate) fn parse_peer_info(
                ));
        }
 
-       Ok((pubkey.unwrap(), peer_addr.unwrap()))
+       Ok((pubkey.unwrap(), peer_addr.unwrap().unwrap()))
 }