@@ -24,7 +24,7 @@ use crate::lsps5::client::{LSPS5ClientConfig, LSPS5ClientHandler};
2424use crate :: lsps5:: msgs:: LSPS5Message ;
2525use crate :: lsps5:: service:: { LSPS5ServiceConfig , LSPS5ServiceHandler } ;
2626use crate :: message_queue:: MessageQueue ;
27- use crate :: persist:: read_lsps2_service_peer_states;
27+ use crate :: persist:: { read_lsps2_service_peer_states, read_lsps5_service_peer_states } ;
2828
2929use crate :: lsps1:: client:: { LSPS1ClientConfig , LSPS1ClientHandler } ;
3030use crate :: lsps1:: msgs:: LSPS1Message ;
@@ -388,25 +388,31 @@ where
388388 } )
389389 } ) ;
390390
391- let lsps5_service_handler = service_config. as_ref ( ) . and_then ( |config| {
392- config . lsps5_service_config . as_ref ( ) . map ( |config| {
391+ let lsps5_service_handler = if let Some ( service_config) = service_config . as_ref ( ) {
392+ if let Some ( lsps5_service_config ) = service_config . lsps5_service_config . as_ref ( ) {
393393 if let Some ( number) =
394394 <LSPS5ServiceHandler < CM , NS , TP > as LSPSProtocolMessageHandler >:: PROTOCOL_NUMBER
395395 {
396396 supported_protocols. push ( number) ;
397397 }
398398
399- LSPS5ServiceHandler :: new_with_time_provider (
399+ let peer_states = read_lsps5_service_peer_states ( kv_store. clone ( ) ) . await ?;
400+ Some ( LSPS5ServiceHandler :: new_with_time_provider (
401+ peer_states,
400402 Arc :: clone ( & pending_events) ,
401403 Arc :: clone ( & pending_messages) ,
402404 channel_manager. clone ( ) ,
403405 Arc :: clone ( & kv_store) ,
404406 node_signer,
405- config . clone ( ) ,
407+ lsps5_service_config . clone ( ) ,
406408 time_provider,
407- )
408- } )
409- } ) ;
409+ ) )
410+ } else {
411+ None
412+ }
413+ } else {
414+ None
415+ } ;
410416
411417 let lsps1_client_handler = client_config. as_ref ( ) . and_then ( |config| {
412418 config. lsps1_client_config . as_ref ( ) . map ( |config| {
0 commit comments