X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fargs.rs;h=34d97bb39eab0de60ca550eb62287e27bcbb7ea4;hb=refs%2Fheads%2Fmain;hp=a9d1729b3af75f9898a7e984c8403937ab5956df;hpb=46769449457834fbbbe0928e8b8d5f3dbbbdab96;p=ldk-sample diff --git a/src/args.rs b/src/args.rs index a9d1729..34d97bb 100644 --- a/src/args.rs +++ b/src/args.rs @@ -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 { if env::args().len() < 3 { - println!("ldk-tutorial-node requires 3 arguments: `cargo run [:@]: ldk_storage_directory_path [] [bitcoin-network] [announced-node-name announced-listen-addr*]`"); + println!("ldk-tutorial-node requires at least 2 arguments: `cargo run [:@]: ldk_storage_directory_path [] [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 { 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 { 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 { 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, }