@@ -9568,7 +9568,28 @@ where
9568
9568
if let Some(peer_state_mutex) = per_peer_state.get(counterparty_node_id) {
9569
9569
let mut peer_state_lock = peer_state_mutex.lock().unwrap();
9570
9570
let peer_state = &mut *peer_state_lock;
9571
+ let num_channels = peer_state.total_channel_count();
9571
9572
let pending_msg_events = &mut peer_state.pending_msg_events;
9573
+ let peer_storage = peer_state.peer_storage.clone();
9574
+
9575
+ if peer_storage.len() > 0 {
9576
+ pending_msg_events.push(events::MessageSendEvent::SendYourPeerStorageMessage {
9577
+ node_id: counterparty_node_id.clone(),
9578
+ msg: msgs::YourPeerStorageMessage {
9579
+ data: peer_storage
9580
+ },
9581
+ });
9582
+ }
9583
+
9584
+ if peer_state.latest_features.supports_provide_peer_storage() && num_channels > 0 {
9585
+ let our_peer_storage = self.get_encrypted_our_peer_storage();
9586
+ pending_msg_events.push(events::MessageSendEvent::SendPeerStorageMessage {
9587
+ node_id: counterparty_node_id.clone(),
9588
+ msg: msgs::PeerStorageMessage {
9589
+ data: our_peer_storage
9590
+ },
9591
+ });
9592
+ }
9572
9593
9573
9594
for (_, phase) in peer_state.channel_by_id.iter_mut() {
9574
9595
match phase {
@@ -9613,25 +9634,6 @@ where
9613
9634
},
9614
9635
}
9615
9636
}
9616
-
9617
- let peer_storage = peer_state.peer_storage.clone();
9618
- if peer_storage.len() > 0 {
9619
- pending_msg_events.push(events::MessageSendEvent::SendYourPeerStorageMessage {
9620
- node_id: counterparty_node_id.clone(),
9621
- msg: msgs::YourPeerStorageMessage {
9622
- data: peer_storage
9623
- },
9624
- });
9625
- }
9626
- if peer_state.latest_features.supports_provide_peer_storage() {
9627
- let our_peer_storage = self.get_encrypted_our_peer_storage();
9628
- pending_msg_events.push(events::MessageSendEvent::SendPeerStorageMessage {
9629
- node_id: counterparty_node_id.clone(),
9630
- msg: msgs::PeerStorageMessage {
9631
- data: our_peer_storage
9632
- },
9633
- });
9634
- }
9635
9637
}
9636
9638
9637
9639
return NotifyOption::SkipPersistHandleEvents;
0 commit comments