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();
};
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();
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,
}