use lightning::routing::gossip::{NodeId, P2PGossipSync};
use lightning::routing::router::DefaultRouter;
use lightning::util::config::UserConfig;
-use lightning::util::events::{Event, PaymentPurpose};
+use lightning::events::{Event, PaymentPurpose};
use lightning::util::ser::ReadableArgs;
use lightning_background_processor::{BackgroundProcessor, GossipSync};
use lightning_block_sync::init;
receiver_node_id: _,
via_channel_id: _,
via_user_channel_id: _,
+ claim_deadline: _,
+ onion_fields: _,
} => {
println!(
"\nEVENT: received payment from payment hash {} of {} millisatoshis",
next_channel_id,
fee_earned_msat,
claim_from_onchain_tx,
+ outbound_amount_forwarded_msat,
} => {
let read_only_network_graph = network_graph.read_only();
let nodes = read_only_network_graph.nodes();
} else {
"from HTLC fulfill message"
};
+ let amt_args = if let Some(v) = outbound_amount_forwarded_msat {
+ format!("{}", v)
+ } else {
+ "?".to_string()
+ };
if let Some(fee_earned) = fee_earned_msat {
println!(
- "\nEVENT: Forwarded payment{}{}, earning {} msat {}",
- from_prev_str, to_next_str, fee_earned, from_onchain_str
+ "\nEVENT: Forwarded payment for {} msat{}{}, earning {} msat {}",
+ amt_args, from_prev_str, to_next_str, fee_earned, from_onchain_str
);
} else {
println!(
- "\nEVENT: Forwarded payment{}{}, claiming onchain {}",
- from_prev_str, to_next_str, from_onchain_str
+ "\nEVENT: Forwarded payment for {} msat{}{}, claiming onchain {}",
+ amt_args, from_prev_str, to_next_str, from_onchain_str
);
}
print!("> ");
.unwrap();
bitcoind_client.broadcast_transaction(&spending_tx);
}
+ Event::ChannelPending { .. } => {}
Event::ChannelReady {
ref channel_id,
user_channel_id: _,
let ldk_data_dir = format!("{}/.ldk", args.ldk_storage_dir_path);
fs::create_dir_all(ldk_data_dir.clone()).unwrap();
+ // ## Setup
+ // Step 1: Initialize the Logger
+ let logger = Arc::new(FilesystemLogger::new(ldk_data_dir.clone()));
+
// Initialize our bitcoind client.
let bitcoind_client = match BitcoindClient::new(
args.bitcoind_rpc_host.clone(),
args.bitcoind_rpc_username.clone(),
args.bitcoind_rpc_password.clone(),
tokio::runtime::Handle::current(),
+ Arc::clone(&logger),
)
.await
{
return;
}
- // ## Setup
- // Step 1: Initialize the FeeEstimator
+ // Step 2: Initialize the FeeEstimator
// BitcoindClient implements the FeeEstimator trait, so it'll act as our fee estimator.
let fee_estimator = bitcoind_client.clone();
- // Step 2: Initialize the Logger
- let logger = Arc::new(FilesystemLogger::new(ldk_data_dir.clone()));
-
// Step 3: Initialize the BroadcasterInterface
// BitcoindClient implements the BroadcasterInterface trait, so it'll act as our transaction
let stop_listen_connect = Arc::new(AtomicBool::new(false));
let stop_listen = Arc::clone(&stop_listen_connect);
tokio::spawn(async move {
- let listener = tokio::net::TcpListener::bind(format!("0.0.0.0:{}", listening_port))
+ let listener = tokio::net::TcpListener::bind(format!("[::]:{}", listening_port))
.await
.expect("Failed to bind to listen port - is something else already listening on it?");
loop {