Skip to content

Commit b1bc2aa

Browse files
Update to LDK 0.0.123.
1 parent e6dd91c commit b1bc2aa

File tree

5 files changed

+51
-42
lines changed

5 files changed

+51
-42
lines changed

Cargo.lock

+14-15
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+7-7
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ edition = "2018"
88
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
99

1010
[dependencies]
11-
lightning = { version = "0.0.121", features = ["max_level_trace"] }
12-
lightning-block-sync = { version = "0.0.121", features = [ "rpc-client", "tokio" ] }
13-
lightning-invoice = { version = "0.29.0" }
14-
lightning-net-tokio = { version = "0.0.121" }
15-
lightning-persister = { version = "0.0.121" }
16-
lightning-background-processor = { version = "0.0.121", features = [ "futures" ] }
17-
lightning-rapid-gossip-sync = { version = "0.0.121" }
11+
lightning = { version = "0.0.123", features = ["max_level_trace"] }
12+
lightning-block-sync = { version = "0.0.123", features = [ "rpc-client", "tokio" ] }
13+
lightning-invoice = { version = "0.31.0" }
14+
lightning-net-tokio = { version = "0.0.123" }
15+
lightning-persister = { version = "0.0.123" }
16+
lightning-background-processor = { version = "0.0.123", features = [ "futures" ] }
17+
lightning-rapid-gossip-sync = { version = "0.0.123" }
1818

1919
base64 = "0.13.0"
2020
bitcoin = "0.30.2"

src/cli.rs

+8-9
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ pub(crate) fn poll_for_user_input(
286286
);
287287
},
288288
"getoffer" => {
289-
let offer_builder = channel_manager.create_offer_builder(String::new());
289+
let offer_builder = channel_manager.create_offer_builder();
290290
if let Err(e) = offer_builder {
291291
println!("ERROR: Failed to initiate offer building: {:?}", e);
292292
continue;
@@ -603,14 +603,14 @@ fn node_info(channel_manager: &Arc<ChannelManager>, peer_manager: &Arc<PeerManag
603603
println!("\t\t num_usable_channels: {}", chans.iter().filter(|c| c.is_usable).count());
604604
let local_balance_msat = chans.iter().map(|c| c.balance_msat).sum::<u64>();
605605
println!("\t\t local_balance_msat: {}", local_balance_msat);
606-
println!("\t\t num_peers: {}", peer_manager.get_peer_node_ids().len());
606+
println!("\t\t num_peers: {}", peer_manager.list_peers().len());
607607
println!("\t}},");
608608
}
609609

610610
fn list_peers(peer_manager: Arc<PeerManager>) {
611611
println!("\t{{");
612-
for (pubkey, _) in peer_manager.get_peer_node_ids() {
613-
println!("\t\t pubkey: {}", pubkey);
612+
for peer_details in peer_manager.list_peers() {
613+
println!("\t\t pubkey: {}", peer_details.counterparty_node_id);
614614
}
615615
println!("\t}},");
616616
}
@@ -701,8 +701,8 @@ fn list_payments(
701701
pub(crate) async fn connect_peer_if_necessary(
702702
pubkey: PublicKey, peer_addr: SocketAddr, peer_manager: Arc<PeerManager>,
703703
) -> Result<(), ()> {
704-
for (node_pubkey, _) in peer_manager.get_peer_node_ids() {
705-
if node_pubkey == pubkey {
704+
for peer_details in peer_manager.list_peers() {
705+
if peer_details.counterparty_node_id == pubkey {
706706
return Ok(());
707707
}
708708
}
@@ -725,7 +725,7 @@ pub(crate) async fn do_connect_peer(
725725
_ = &mut connection_closed_future => return Err(()),
726726
_ = tokio::time::sleep(Duration::from_millis(10)) => {},
727727
};
728-
if peer_manager.get_peer_node_ids().iter().find(|(id, _)| *id == pubkey).is_some() {
728+
if peer_manager.peer_by_node_id(&pubkey).is_some() {
729729
return Ok(());
730730
}
731731
}
@@ -747,8 +747,7 @@ fn do_disconnect_peer(
747747
}
748748

749749
//check the pubkey matches a valid connected peer
750-
let peers = peer_manager.get_peer_node_ids();
751-
if !peers.iter().any(|(pk, _)| &pubkey == pk) {
750+
if peer_manager.peer_by_node_id(&pubkey).is_none() {
752751
println!("Error: Could not find peer {}", pubkey);
753752
return Err(());
754753
}

src/main.rs

+20-9
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,9 @@ async fn handle_ldk_events(
247247
print!("> ");
248248
io::stdout().flush().unwrap();
249249
let payment_preimage = match purpose {
250-
PaymentPurpose::InvoicePayment { payment_preimage, .. } => payment_preimage,
250+
PaymentPurpose::Bolt11InvoicePayment { payment_preimage, .. } => payment_preimage,
251+
PaymentPurpose::Bolt12OfferPayment { payment_preimage, .. } => payment_preimage,
252+
PaymentPurpose::Bolt12RefundPayment { payment_preimage, .. } => payment_preimage,
251253
PaymentPurpose::SpontaneousPayment(preimage) => Some(preimage),
252254
};
253255
channel_manager.claim_funds(payment_preimage.unwrap());
@@ -267,9 +269,15 @@ async fn handle_ldk_events(
267269
print!("> ");
268270
io::stdout().flush().unwrap();
269271
let (payment_preimage, payment_secret) = match purpose {
270-
PaymentPurpose::InvoicePayment { payment_preimage, payment_secret, .. } => {
272+
PaymentPurpose::Bolt11InvoicePayment {
273+
payment_preimage, payment_secret, ..
274+
} => (payment_preimage, Some(payment_secret)),
275+
PaymentPurpose::Bolt12OfferPayment { payment_preimage, payment_secret, .. } => {
271276
(payment_preimage, Some(payment_secret))
272277
},
278+
PaymentPurpose::Bolt12RefundPayment {
279+
payment_preimage, payment_secret, ..
280+
} => (payment_preimage, Some(payment_secret)),
273281
PaymentPurpose::SpontaneousPayment(preimage) => (Some(preimage), None),
274282
};
275283
let mut inbound = inbound_payments.lock().unwrap();
@@ -381,9 +389,12 @@ async fn handle_ldk_events(
381389
Event::PaymentForwarded {
382390
prev_channel_id,
383391
next_channel_id,
384-
fee_earned_msat,
392+
total_fee_earned_msat,
385393
claim_from_onchain_tx,
386394
outbound_amount_forwarded_msat,
395+
skimmed_fee_msat: _,
396+
prev_user_channel_id: _,
397+
next_user_channel_id: _,
387398
} => {
388399
let read_only_network_graph = network_graph.read_only();
389400
let nodes = read_only_network_graph.nodes();
@@ -426,7 +437,7 @@ async fn handle_ldk_events(
426437
} else {
427438
"?".to_string()
428439
};
429-
if let Some(fee_earned) = fee_earned_msat {
440+
if let Some(fee_earned) = total_fee_earned_msat {
430441
println!(
431442
"\nEVENT: Forwarded payment for {} msat{}{}, earning {} msat {}",
432443
amt_args, from_prev_str, to_next_str, fee_earned, from_onchain_str
@@ -677,7 +688,7 @@ async fn start_ldk() {
677688
let router = Arc::new(DefaultRouter::new(
678689
network_graph.clone(),
679690
logger.clone(),
680-
keys_manager.get_secure_random_bytes(),
691+
keys_manager.clone(),
681692
scorer.clone(),
682693
scoring_fee_params,
683694
));
@@ -712,7 +723,7 @@ async fn start_ldk() {
712723
restarting_node = false;
713724

714725
let polled_best_block = polled_chain_tip.to_best_block();
715-
let polled_best_block_hash = polled_best_block.block_hash();
726+
let polled_best_block_hash = polled_best_block.block_hash;
716727
let chain_params =
717728
ChainParameters { network: args.network, best_block: polled_best_block };
718729
let fresh_channel_manager = channelmanager::ChannelManager::new(
@@ -789,7 +800,8 @@ async fn start_ldk() {
789800
Arc::clone(&keys_manager),
790801
Arc::clone(&keys_manager),
791802
Arc::clone(&logger),
792-
Arc::new(DefaultMessageRouter::new(Arc::clone(&network_graph))),
803+
Arc::clone(&channel_manager),
804+
Arc::new(DefaultMessageRouter::new(Arc::clone(&network_graph), Arc::clone(&keys_manager))),
793805
Arc::clone(&channel_manager),
794806
IgnoringMessageHandler {},
795807
));
@@ -969,12 +981,11 @@ async fn start_ldk() {
969981
interval.tick().await;
970982
match disk::read_channel_peer_data(Path::new(&peer_data_path)) {
971983
Ok(info) => {
972-
let peers = connect_pm.get_peer_node_ids();
973984
for node_id in connect_cm
974985
.list_channels()
975986
.iter()
976987
.map(|chan| chan.counterparty.node_id)
977-
.filter(|id| !peers.iter().any(|(pk, _)| id == pk))
988+
.filter(|id| connect_pm.peer_by_node_id(id).is_none())
978989
{
979990
if stop_connect.load(Ordering::Acquire) {
980991
return;

src/sweep.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use std::time::Duration;
55
use std::{fs, io};
66

77
use lightning::chain::chaininterface::{BroadcasterInterface, ConfirmationTarget, FeeEstimator};
8-
use lightning::sign::{EntropySource, KeysManager, SpendableOutputDescriptor};
8+
use lightning::sign::{EntropySource, KeysManager, OutputSpender, SpendableOutputDescriptor};
99
use lightning::util::logger::Logger;
1010
use lightning::util::persist::KVStore;
1111
use lightning::util::ser::{Readable, WithoutLength, Writeable};
@@ -118,7 +118,7 @@ pub(crate) async fn periodic_sweep(
118118
// e.g. high-latency mix networks and some CoinJoin implementations, have
119119
// better privacy.
120120
// Logic copied from core: https://github.com/bitcoin/bitcoin/blob/1d4846a8443be901b8a5deb0e357481af22838d0/src/wallet/spend.cpp#L936
121-
let mut cur_height = channel_manager.current_best_block().height();
121+
let mut cur_height = channel_manager.current_best_block().height;
122122

123123
// 10% of the time
124124
if thread_rng().gen_range(0, 10) == 0 {

0 commit comments

Comments
 (0)