Upgrade to LDK 0.0.117
[ldk-sample] / src / args.rs
index deb1704109eac1a390cdad541775f0d89dec833c..3778aa20d24d80395c1c988e80873b683c76d822 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();
@@ -55,9 +54,9 @@ pub(crate) fn parse_startup_args() -> Result<LdkUserInfo, ()> {
        };
 
        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<LdkUserInfo, ()> {
        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)),