From cd317371049093d0c894624ed54f072e6906f48b Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Tue, 10 Jun 2025 14:39:37 +0000 Subject: [PATCH 1/3] Clean up some unnecessary ()s in `sign/mod.rs` --- lightning/src/sign/mod.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lightning/src/sign/mod.rs b/lightning/src/sign/mod.rs index a623858ae56..075cd2b644e 100644 --- a/lightning/src/sign/mod.rs +++ b/lightning/src/sign/mod.rs @@ -1858,11 +1858,11 @@ impl KeysManager { pub fn new(seed: &[u8; 32], starting_time_secs: u64, starting_time_nanos: u32) -> Self { // Constants for key derivation path indices used in this function. const NODE_SECRET_INDEX: ChildNumber = ChildNumber::Hardened { index: 0 }; - const DESTINATION_SCRIPT_INDEX: ChildNumber = ChildNumber::Hardened { index: (1) }; - const SHUTDOWN_PUBKEY_INDEX: ChildNumber = ChildNumber::Hardened { index: (2) }; - const CHANNEL_MASTER_KEY_INDEX: ChildNumber = ChildNumber::Hardened { index: (3) }; - const INBOUND_PAYMENT_KEY_INDEX: ChildNumber = ChildNumber::Hardened { index: (5) }; - const PEER_STORAGE_KEY_INDEX: ChildNumber = ChildNumber::Hardened { index: (6) }; + const DESTINATION_SCRIPT_INDEX: ChildNumber = ChildNumber::Hardened { index: 1 }; + const SHUTDOWN_PUBKEY_INDEX: ChildNumber = ChildNumber::Hardened { index: 2 }; + const CHANNEL_MASTER_KEY_INDEX: ChildNumber = ChildNumber::Hardened { index: 3 }; + const INBOUND_PAYMENT_KEY_INDEX: ChildNumber = ChildNumber::Hardened { index: 5 }; + const PEER_STORAGE_KEY_INDEX: ChildNumber = ChildNumber::Hardened { index: 6 }; let secp_ctx = Secp256k1::new(); // Note that when we aren't serializing the key, network doesn't matter From 9ad652546d151b4f14d72fdec9f8f88e16351b37 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Tue, 10 Jun 2025 14:47:16 +0000 Subject: [PATCH 2/3] Clean up allocations in `internal_peer_storage_retrieval` Clarifies some log messages and removes some unecessary allocations in both happy and error paths. --- lightning/src/ln/channelmanager.rs | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/lightning/src/ln/channelmanager.rs b/lightning/src/ln/channelmanager.rs index 649c71d8fb3..5ce3260b586 100644 --- a/lightning/src/ln/channelmanager.rs +++ b/lightning/src/ln/channelmanager.rs @@ -8547,36 +8547,31 @@ This indicates a bug inside LDK. Please report this error at https://github.com/ } #[rustfmt::skip] - fn internal_peer_storage_retrieval(&self, counterparty_node_id: PublicKey, msg: msgs::PeerStorageRetrieval) -> Result<(), MsgHandleErrInternal> { + fn internal_peer_storage_retrieval(&self, peer_node_id: PublicKey, msg: msgs::PeerStorageRetrieval) -> Result<(), MsgHandleErrInternal> { // TODO: Check if have any stale or missing ChannelMonitor. - let logger = WithContext::from(&self.logger, Some(counterparty_node_id), None, None); - let err = MsgHandleErrInternal::from_chan_no_close( + let logger = WithContext::from(&self.logger, Some(peer_node_id), None, None); + let err = || MsgHandleErrInternal::from_chan_no_close( ChannelError::Ignore("Invalid PeerStorageRetrieval message received.".into()), ChannelId([0; 32]), ); - let err_str = || { - format!("Invalid PeerStorage received from {}", counterparty_node_id) - }; let encrypted_ops = match EncryptedOurPeerStorage::new(msg.data) { Ok(encrypted_ops) => encrypted_ops, - Err(_) => { - log_debug!(logger, "{}", err_str()); - return Err(err); + Err(()) => { + log_debug!(logger, "Received a peer backup which wasn't long enough to be valid"); + return Err(err()); } }; - let decrypted_data = match encrypted_ops.decrypt(&self.node_signer.get_peer_storage_key()) { + let decrypted = match encrypted_ops.decrypt(&self.node_signer.get_peer_storage_key()) { Ok(decrypted_ops) => decrypted_ops.into_vec(), - Err(_) => { - log_debug!(logger, "{}", err_str()); - return Err(err); + Err(()) => { + log_debug!(logger, "Received a peer backup which was corrupted"); + return Err(err()); } }; - if decrypted_data.is_empty() { - log_debug!(logger, "Received a peer storage from peer {} with 0 channels.", log_pubkey!(counterparty_node_id)); - } + log_trace!(logger, "Got valid {}-byte peer backup from {}", decrypted.len(), peer_node_id); Ok(()) } From 25bde68d3fe992fe0ed8c1c8098ef3554a8b3259 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Tue, 10 Jun 2025 14:54:21 +0000 Subject: [PATCH 3/3] Run `rustfmt` on `internal_peer_storage_retrieval` --- lightning/src/ln/channelmanager.rs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/lightning/src/ln/channelmanager.rs b/lightning/src/ln/channelmanager.rs index 5ce3260b586..deaf5dbae23 100644 --- a/lightning/src/ln/channelmanager.rs +++ b/lightning/src/ln/channelmanager.rs @@ -8546,21 +8546,24 @@ This indicates a bug inside LDK. Please report this error at https://github.com/ } } - #[rustfmt::skip] - fn internal_peer_storage_retrieval(&self, peer_node_id: PublicKey, msg: msgs::PeerStorageRetrieval) -> Result<(), MsgHandleErrInternal> { + fn internal_peer_storage_retrieval( + &self, peer_node_id: PublicKey, msg: msgs::PeerStorageRetrieval, + ) -> Result<(), MsgHandleErrInternal> { // TODO: Check if have any stale or missing ChannelMonitor. let logger = WithContext::from(&self.logger, Some(peer_node_id), None, None); - let err = || MsgHandleErrInternal::from_chan_no_close( - ChannelError::Ignore("Invalid PeerStorageRetrieval message received.".into()), - ChannelId([0; 32]), - ); + let err = || { + MsgHandleErrInternal::from_chan_no_close( + ChannelError::Ignore("Invalid PeerStorageRetrieval message received.".into()), + ChannelId([0; 32]), + ) + }; let encrypted_ops = match EncryptedOurPeerStorage::new(msg.data) { Ok(encrypted_ops) => encrypted_ops, Err(()) => { log_debug!(logger, "Received a peer backup which wasn't long enough to be valid"); return Err(err()); - } + }, }; let decrypted = match encrypted_ops.decrypt(&self.node_signer.get_peer_storage_key()) { @@ -8568,7 +8571,7 @@ This indicates a bug inside LDK. Please report this error at https://github.com/ Err(()) => { log_debug!(logger, "Received a peer backup which was corrupted"); return Err(err()); - } + }, }; log_trace!(logger, "Got valid {}-byte peer backup from {}", decrypted.len(), peer_node_id);