- let network_graph = router.network_graph.read().unwrap();
- let first_hops = channel_manager.list_usable_channels();
- let payer_pubkey = channel_manager.get_our_node_id();
-
- let route = router::get_route(
- &payer_pubkey,
- &network_graph,
- &payee,
- payee_features,
- Some(&first_hops.iter().collect::<Vec<_>>()),
- &route_hints,
- amt_msat,
- final_cltv,
- logger,
- );
- if let Err(e) = route {
- println!("ERROR: failed to find route: {}", e.err);
- return;
- }
- let status = match channel_manager.send_payment(&route.unwrap(), payment_hash, &payment_secret)
- {
- Ok(()) => {
- println!("EVENT: initiated sending {} msats to {}", amt_msat, payee);
+ let status = match invoice_payer.pay_invoice(invoice) {
+ Ok(_payment_id) => {
+ let payee_pubkey = invoice.recover_payee_pub_key();
+ let amt_msat = invoice.amount_milli_satoshis().unwrap();
+ println!("EVENT: initiated sending {} msats to {}", amt_msat, payee_pubkey);
+ print!("> ");