Merge pull request #131 from tnull/2024-02-align-rustfmt
[ldk-sample] / src / args.rs
index a9d1729b3af75f9898a7e984c8403937ab5956df..34d97bb39eab0de60ca550eb62287e27bcbb7ea4 100644 (file)
@@ -1,16 +1,15 @@
 use crate::cli::LdkUserInfo;
 use bitcoin::network::constants::Network;
-use lightning::ln::msgs::NetAddress;
+use lightning::ln::msgs::SocketAddress;
 use std::collections::HashMap;
 use std::env;
 use std::fs;
-use std::net::IpAddr;
 use std::path::{Path, PathBuf};
 use std::str::FromStr;
 
 pub(crate) fn parse_startup_args() -> Result<LdkUserInfo, ()> {
        if env::args().len() < 3 {
-               println!("ldk-tutorial-node requires 3 arguments: `cargo run [<bitcoind-rpc-username>:<bitcoind-rpc-password>@]<bitcoind-rpc-host>:<bitcoind-rpc-port> ldk_storage_directory_path [<ldk-incoming-peer-listening-port>] [bitcoin-network] [announced-node-name announced-listen-addr*]`");
+               println!("ldk-tutorial-node requires at least 2 arguments: `cargo run [<bitcoind-rpc-username>:<bitcoind-rpc-password>@]<bitcoind-rpc-host>:<bitcoind-rpc-port> ldk_storage_directory_path [<ldk-incoming-peer-listening-port>] [bitcoin-network] [announced-node-name announced-listen-addr*]`");
                return Err(());
        }
        let bitcoind_rpc_info = env::args().skip(1).next().unwrap();
@@ -33,11 +32,11 @@ pub(crate) fn parse_startup_args() -> Result<LdkUserInfo, ()> {
                Some(Err(_)) => {
                        ldk_peer_port_set = false;
                        9735
-               }
+               },
                None => {
                        ldk_peer_port_set = false;
                        9735
-               }
+               },
        };
 
        let mut arg_idx = match ldk_peer_port_set {
@@ -50,7 +49,7 @@ pub(crate) fn parse_startup_args() -> Result<LdkUserInfo, ()> {
                Some("signet") => Network::Signet,
                Some(net) => {
                        panic!("Unsupported network provided. Options are: `regtest`, `testnet`, and `signet`. Got {}", net);
-               }
+               },
                None => Network::Testnet,
        };
 
@@ -79,25 +78,19 @@ pub(crate) fn parse_startup_args() -> Result<LdkUserInfo, ()> {
                        let mut bytes = [0; 32];
                        bytes[..s.len()].copy_from_slice(s.as_bytes());
                        bytes
-               }
+               },
                None => [0; 32],
        };
 
        let mut ldk_announced_listen_addr = Vec::new();
        loop {
                match env::args().skip(arg_idx + 1).next().as_ref() {
-                       Some(s) => match IpAddr::from_str(s) {
-                               Ok(IpAddr::V4(a)) => {
-                                       ldk_announced_listen_addr
-                                               .push(NetAddress::IPv4 { addr: a.octets(), port: ldk_peer_listening_port });
-                                       arg_idx += 1;
-                               }
-                               Ok(IpAddr::V6(a)) => {
-                                       ldk_announced_listen_addr
-                                               .push(NetAddress::IPv6 { addr: a.octets(), port: ldk_peer_listening_port });
+                       Some(s) => match SocketAddress::from_str(s) {
+                               Ok(sa) => {
+                                       ldk_announced_listen_addr.push(sa);
                                        arg_idx += 1;
-                               }
-                               Err(_) => panic!("Failed to parse announced-listen-addr into an IP address"),
+                               },
+                               Err(_) => panic!("Failed to parse announced-listen-addr into a socket address"),
                        },
                        None => break,
                }