Skip to content

Commit 0fd40de

Browse files
committed
fixup: Distribute PeerStorage from ChainMonitor
1 parent 42af2ab commit 0fd40de

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

lightning/src/chain/chainmonitor.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ use crate::sync::{RwLock, RwLockReadGuard, Mutex, MutexGuard};
4646
use crate::types::features::{InitFeatures, NodeFeatures};
4747
use core::ops::Deref;
4848
use core::sync::atomic::{AtomicUsize, Ordering};
49-
use bitcoin::secp256k1::{PublicKey, SecretKey};
49+
use bitcoin::secp256k1::PublicKey;
5050

5151
/// `Persist` defines behavior for persisting channel monitors: this could mean
5252
/// writing once to disk, and/or uploading to one or more backup services.
@@ -257,7 +257,7 @@ pub struct ChainMonitor<ChannelSigner: EcdsaChannelSigner, C: Deref, T: Deref, F
257257
event_notifier: Notifier,
258258
pending_send_only_events: Mutex<Vec<MessageSendEvent>>,
259259

260-
our_peerstorage_encryption_key: SecretKey,
260+
our_peerstorage_encryption_key: [u8; 32],
261261
}
262262

263263
impl<ChannelSigner: EcdsaChannelSigner, C: Deref, T: Deref, F: Deref, L: Deref, P: Deref> ChainMonitor<ChannelSigner, C, T, F, L, P>
@@ -399,7 +399,7 @@ where C::Target: chain::Filter,
399399
/// **Important**: This key should not be set arbitrarily or changed after initialization. The same key
400400
/// is obtained by the `ChannelManager` through `KeyMananger` to decrypt peer backups.
401401
/// Using an inconsistent or incorrect key will result in the inability to decrypt previously encrypted backups.
402-
pub fn new(chain_source: Option<C>, broadcaster: T, logger: L, feeest: F, persister: P, our_peerstorage_encryption_key: SecretKey) -> Self {
402+
pub fn new(chain_source: Option<C>, broadcaster: T, logger: L, feeest: F, persister: P, our_peerstorage_encryption_key: [u8; 32]) -> Self {
403403
Self {
404404
monitors: RwLock::new(new_hash_map()),
405405
chain_source,
@@ -696,10 +696,10 @@ where C::Target: chain::Filter,
696696
fn send_peer_storage(&self, their_node_id: PublicKey) {
697697
// TODO: Serialize `ChannelMonitor`s inside `our_peer_storage`.
698698

699-
let encrypted_data = OurPeerStorage::create_from_data(self.our_peerstorage_encryption_key, Vec::new());
699+
let our_peer_storage = OurPeerStorage::create_from_data(self.our_peerstorage_encryption_key, Vec::new());
700700
log_debug!(self.logger, "Sending Peer Storage from chainmonitor");
701701
self.pending_send_only_events.lock().unwrap().push(MessageSendEvent::SendPeerStorage { node_id: their_node_id,
702-
msg: msgs::PeerStorage { data: encrypted_data } })
702+
msg: msgs::PeerStorage { data: our_peer_storage.encrypted_data() } })
703703
}
704704
}
705705

0 commit comments

Comments
 (0)