@@ -46,7 +46,9 @@ pub use crate::ldkstorage::{
4646 ACTIVE_NODE_ID_KEY , CHANNEL_CLOSURE_BUMP_PREFIX , CHANNEL_CLOSURE_PREFIX , CHANNEL_MANAGER_KEY ,
4747 MONITORS_PREFIX_KEY ,
4848} ;
49- use crate :: lsp:: lndchannel:: fetch_lnd_channels_snapshot;
49+ use crate :: lsp:: lndchannel:: {
50+ fetch_lnd_channels, fetch_lnd_channels_snapshot, LndChannelsSnapshot ,
51+ } ;
5052use crate :: messagehandler:: CommonLnEventCallback ;
5153use crate :: nodemanager:: NodeManager ;
5254use crate :: nodemanager:: { ChannelClosure , MutinyBip21RawMaterials } ;
@@ -835,11 +837,12 @@ impl<S: MutinyStorage> MutinyWalletBuilder<S> {
835837 return ;
836838 } ;
837839
838- let first_lnd_snapshot =
839- match fetch_lnd_channels_snapshot ( & Client :: new ( ) , lsp_url, & node_id, & logger) . await {
840- Ok ( snapshot) => {
841- log_debug ! ( logger, "First fetched lnd snapshot: {:?}" , snapshot) ;
842- snapshot
840+ let ( lnd_channels, first_lnd_snapshot) =
841+ match fetch_lnd_channels ( & Client :: new ( ) , lsp_url, & node_id, & logger) . await {
842+ Ok ( lnd_channels) => {
843+ let lnd_snapshot: LndChannelsSnapshot = lnd_channels. clone ( ) . into ( ) ;
844+ log_debug ! ( logger, "First fetched lnd snapshot: {:?}" , lnd_snapshot) ;
845+ ( lnd_channels, lnd_snapshot)
843846 }
844847 Err ( e) => {
845848 log_error ! ( logger, "First lnd snapshot fetch failed: {e}" ) ;
@@ -851,7 +854,7 @@ impl<S: MutinyStorage> MutinyWalletBuilder<S> {
851854 let only_device_lock_vss_pending =
852855 pending. len ( ) == 1 && pending. iter ( ) . any ( |( key, _) | key == DEVICE_LOCK_KEY ) ;
853856 let can_update_snapshot = ( pending. is_empty ( ) || only_device_lock_vss_pending)
854- && CONNECTED_PEER_MANAGER . is_any_connected ( ) ;
857+ && CONNECTED_PEER_MANAGER . validate_peer_connections ( & lnd_channels ) ;
855858 if can_update_snapshot {
856859 let second_lnd_snapshot =
857860 match fetch_lnd_channels_snapshot ( & Client :: new ( ) , lsp_url, & node_id, & logger) . await
0 commit comments