Merge pull request #39 from TheBlueMatt/main
authorvalentinewallace <valentinewallace@users.noreply.github.com>
Tue, 19 Oct 2021 18:41:09 +0000 (14:41 -0400)
committerGitHub <noreply@github.com>
Tue, 19 Oct 2021 18:41:09 +0000 (14:41 -0400)
Update dependencies to LDK 0.0.102

1  2 
src/cli.rs

diff --combined src/cli.rs
index 66fc3164ecbbc180733417bd08c87e2b2b559567,9bc2ef1584d80acaea947d42c9223c63cc1f09a7..b8db89dcfb217f4a625d5b2215b7d4f3e3ca17d7
@@@ -8,13 -8,14 +8,14 @@@ use bitcoin::hashes::Hash
  use bitcoin::network::constants::Network;
  use bitcoin::secp256k1::key::PublicKey;
  use lightning::chain;
- use lightning::chain::keysinterface::KeysManager;
+ use lightning::chain::keysinterface::{KeysInterface, KeysManager};
  use lightning::ln::features::InvoiceFeatures;
  use lightning::ln::msgs::NetAddress;
  use lightning::ln::{PaymentHash, PaymentSecret};
  use lightning::routing::network_graph::NetGraphMsgHandler;
  use lightning::routing::router;
  use lightning::routing::router::RouteHint;
+ use lightning::routing::scorer::Scorer;
  use lightning::util::config::{ChannelConfig, ChannelHandshakeLimits, UserConfig};
  use lightning_invoice::{utils, Currency, Invoice};
  use std::env;
@@@ -45,19 -46,19 +46,19 @@@ pub(crate) fn parse_startup_args() -> R
                return Err(());
        }
        let bitcoind_rpc_info = env::args().skip(1).next().unwrap();
 -      let bitcoind_rpc_info_parts: Vec<&str> = bitcoind_rpc_info.split("@").collect();
 +      let bitcoind_rpc_info_parts: Vec<&str> = bitcoind_rpc_info.rsplitn(2, "@").collect();
        if bitcoind_rpc_info_parts.len() != 2 {
                println!("ERROR: bad bitcoind RPC URL provided");
                return Err(());
        }
 -      let rpc_user_and_password: Vec<&str> = bitcoind_rpc_info_parts[0].split(":").collect();
 +      let rpc_user_and_password: Vec<&str> = bitcoind_rpc_info_parts[1].split(":").collect();
        if rpc_user_and_password.len() != 2 {
                println!("ERROR: bad bitcoind RPC username/password combo provided");
                return Err(());
        }
        let bitcoind_rpc_username = rpc_user_and_password[0].to_string();
        let bitcoind_rpc_password = rpc_user_and_password[1].to_string();
 -      let bitcoind_rpc_path: Vec<&str> = bitcoind_rpc_info_parts[1].split(":").collect();
 +      let bitcoind_rpc_path: Vec<&str> = bitcoind_rpc_info_parts[0].split(":").collect();
        if bitcoind_rpc_path.len() != 2 {
                println!("ERROR: bad bitcoind RPC path provided");
                return Err(());
@@@ -411,6 -412,24 +412,24 @@@ pub(crate) async fn poll_for_user_input
                                }
                                "nodeinfo" => node_info(channel_manager.clone(), peer_manager.clone()),
                                "listpeers" => list_peers(peer_manager.clone()),
+                               "signmessage" => {
+                                       const MSG_STARTPOS: usize = "signmsg".len() + 1;
+                                       if line.as_bytes().len() <= MSG_STARTPOS {
+                                               println!("ERROR: signmsg requires a message");
+                                               print!("> ");
+                                               io::stdout().flush().unwrap();
+                                               continue;
+                                       }
+                                       println!(
+                                               "{:?}",
+                                               lightning::util::message_signing::sign(
+                                                       &line.as_bytes()[MSG_STARTPOS..],
+                                                       &keys_manager.get_node_secret()
+                                               )
+                                       );
+                                       print!("> ");
+                                       io::stdout().flush().unwrap();
+                               }
                                _ => println!("Unknown command. See `\"help\" for available commands."),
                        }
                }
@@@ -430,6 -449,7 +449,7 @@@ fn help() 
        println!("forceclosechannel <channel_id>");
        println!("nodeinfo");
        println!("listpeers");
+       println!("signmessage <message>");
  }
  
  fn node_info(channel_manager: Arc<ChannelManager>, peer_manager: Arc<PeerManager>) {
@@@ -608,6 -628,7 +628,7 @@@ fn send_payment
                amt_msat,
                final_cltv,
                logger,
+               &Scorer::default(),
        );
        if let Err(e) = route {
                println!("ERROR: failed to find route: {}", e.err);
        }
        let status = match channel_manager.send_payment(&route.unwrap(), payment_hash, &payment_secret)
        {
-               Ok(()) => {
+               Ok(_payment_id) => {
                        println!("EVENT: initiated sending {} msats to {}", amt_msat, payee);
                        HTLCStatus::Pending
                }
@@@ -655,6 -676,7 +676,7 @@@ fn keysend
                amt_msat,
                40,
                logger,
+               &Scorer::default(),
        ) {
                Ok(r) => r,
                Err(e) => {
        };
  
        let mut payments = payment_storage.lock().unwrap();
-       let payment_hash = channel_manager.send_spontaneous_payment(&route, None).unwrap();
+       let payment_hash = channel_manager.send_spontaneous_payment(&route, None).unwrap().0;
        payments.insert(
                payment_hash,
                PaymentInfo {