use lightning::ln::peer_handler::{IgnoringMessageHandler, MessageHandler, SimpleArcPeerManager};
use lightning::ln::{PaymentHash, PaymentPreimage, PaymentSecret};
use lightning::routing::network_graph::{NetGraphMsgHandler, NetworkGraph};
-use lightning::routing::scorer::Scorer;
+use lightning::routing::scoring::Scorer;
use lightning::util::config::UserConfig;
use lightning::util::events::{Event, PaymentPurpose};
use lightning::util::ser::ReadableArgs;
}
}
}
- Event::PaymentSent { payment_preimage, payment_hash, .. } => {
+ Event::PaymentSent { payment_preimage, payment_hash, fee_paid_msat, .. } => {
let mut payments = outbound_payments.lock().unwrap();
for (hash, payment) in payments.iter_mut() {
if *hash == *payment_hash {
payment.preimage = Some(*payment_preimage);
payment.status = HTLCStatus::Succeeded;
println!(
- "\nEVENT: successfully sent payment of {} millisatoshis from \
+ "\nEVENT: successfully sent payment of {} millisatoshis{} from \
payment hash {:?} with preimage {:?}",
payment.amt_msat,
+ if let Some(fee) = fee_paid_msat {
+ format!(" (fee {} msat)", fee)
+ } else {
+ "".to_string()
+ },
hex_utils::hex_str(&payment_hash.0),
hex_utils::hex_str(&payment_preimage.0)
);
}
}
}
- Event::PaymentPathFailed {
- payment_hash,
- rejected_by_dest,
- all_paths_failed,
- short_channel_id,
- ..
- } => {
+ Event::PaymentPathSuccessful { .. } => {}
+ Event::PaymentPathFailed { .. } => {}
+ Event::PaymentFailed { payment_hash, .. } => {
print!(
- "\nEVENT: Failed to send payment{} to payment hash {:?}",
- if *all_paths_failed { "" } else { " along MPP path" },
+ "\nEVENT: Failed to send payment to payment hash {:?}: exhausted payment retry attempts",
hex_utils::hex_str(&payment_hash.0)
);
- if let Some(scid) = short_channel_id {
- print!(" because of failure at channel {}", scid);
- }
- if *rejected_by_dest {
- println!(": re-attempting the payment will not succeed");
- } else {
- println!(": exhausted payment retry attempts");
- }
print!("> ");
io::stdout().flush().unwrap();
peer_manager.clone(),
channel_manager.clone(),
keys_manager.clone(),
- network_graph.clone(),
- scorer.clone(),
inbound_payments,
outbound_payments,
ldk_data_dir.clone(),
- logger.clone(),
network,
)
.await;