X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fargs.rs;h=3778aa20d24d80395c1c988e80873b683c76d822;hb=refs%2Fheads%2F2023-11-simple-prober;hp=deb1704109eac1a390cdad541775f0d89dec833c;hpb=90ff6896459523d237ab2a8401dfddf9e99ae34e;p=ldk-sample diff --git a/src/args.rs b/src/args.rs index deb1704..3778aa2 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(); @@ -55,9 +54,9 @@ pub(crate) fn parse_startup_args() -> Result { }; let (bitcoind_rpc_username, bitcoind_rpc_password) = if bitcoind_rpc_info_parts.len() == 1 { - get_rpc_auth_from_cookie(None, Some(network), None) + get_rpc_auth_from_env_vars() .or(get_rpc_auth_from_env_file(None)) - .or(get_rpc_auth_from_env_vars()) + .or(get_rpc_auth_from_cookie(None, Some(network), None)) .or({ println!("ERROR: unable to get bitcoind RPC username and password"); print_rpc_auth_help(); @@ -86,18 +85,12 @@ pub(crate) fn parse_startup_args() -> Result { 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 }); + Some(s) => match SocketAddress::from_str(s) { + Ok(sa) => { + ldk_announced_listen_addr.push(sa); arg_idx += 1; } - Ok(IpAddr::V6(a)) => { - ldk_announced_listen_addr - .push(NetAddress::IPv6 { addr: a.octets(), port: ldk_peer_listening_port }); - 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, } @@ -175,7 +168,7 @@ fn get_cookie_path( }; let data_dir_path_with_net = match network { - Some(Network::Testnet) => data_dir_path.join("testnet"), + Some(Network::Testnet) => data_dir_path.join("testnet3"), Some(Network::Regtest) => data_dir_path.join("regtest"), Some(Network::Signet) => data_dir_path.join("signet"), _ => data_dir_path, @@ -279,7 +272,7 @@ mod rpc_auth_tests { Some((TEST_DATA_DIR, true)), Some(Network::Testnet), None, - env::home_dir().unwrap().join(TEST_DATA_DIR).join("testnet").join(".cookie"), + env::home_dir().unwrap().join(TEST_DATA_DIR).join("testnet3").join(".cookie"), ), ( Some((TEST_DATA_DIR, false)),