@@ -1440,8 +1440,8 @@ fn build_with_store_internal(
14401440
14411441 let kv_store_ref = Arc :: clone ( & kv_store) ;
14421442 let logger_ref = Arc :: clone ( & logger) ;
1443- let ( payment_store_res, node_metris_res, pending_payment_store_res) =
1444- runtime . block_on ( async move {
1443+ let ( payment_store_res, node_metris_res, pending_payment_store_res, event_queue_res ) = runtime
1444+ . block_on ( async move {
14451445 tokio:: join!(
14461446 read_all_objects(
14471447 & * kv_store_ref,
@@ -1455,7 +1455,8 @@ fn build_with_store_internal(
14551455 PENDING_PAYMENT_INFO_PERSISTENCE_PRIMARY_NAMESPACE ,
14561456 PENDING_PAYMENT_INFO_PERSISTENCE_SECONDARY_NAMESPACE ,
14571457 Arc :: clone( & logger_ref) ,
1458- )
1458+ ) ,
1459+ read_event_queue( Arc :: clone( & kv_store_ref) , Arc :: clone( & logger_ref) ) ,
14591460 )
14601461 } ) ;
14611462
@@ -1742,6 +1743,18 @@ fn build_with_store_internal(
17421743 } ,
17431744 } ;
17441745
1746+ let event_queue = match event_queue_res {
1747+ Ok ( event_queue) => Arc :: new ( event_queue) ,
1748+ Err ( e) => {
1749+ if e. kind ( ) == std:: io:: ErrorKind :: NotFound {
1750+ Arc :: new ( EventQueue :: new ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) )
1751+ } else {
1752+ log_error ! ( logger, "Failed to read event queue from store: {}" , e) ;
1753+ return Err ( BuildError :: ReadFailed ) ;
1754+ }
1755+ } ,
1756+ } ;
1757+
17451758 let wallet = Arc :: new ( Wallet :: new (
17461759 bdk_wallet,
17471760 wallet_persister,
@@ -1751,6 +1764,7 @@ fn build_with_store_internal(
17511764 Arc :: clone ( & payment_store) ,
17521765 Arc :: clone ( & runtime) ,
17531766 Arc :: clone ( & config) ,
1767+ Arc :: clone ( & event_queue) ,
17541768 Arc :: clone ( & logger) ,
17551769 Arc :: clone ( & pending_payment_store) ,
17561770 ) ) ;
@@ -1853,7 +1867,6 @@ fn build_with_store_internal(
18531867 external_scores_res,
18541868 channel_manager_bytes_res,
18551869 sweeper_bytes_res,
1856- event_queue_res,
18571870 peer_info_res,
18581871 ) = runtime. block_on ( async move {
18591872 tokio:: join!(
@@ -1866,7 +1879,6 @@ fn build_with_store_internal(
18661879 CHANNEL_MANAGER_PERSISTENCE_KEY ,
18671880 ) ,
18681881 output_sweeper_future,
1869- read_event_queue( Arc :: clone( & kv_store_ref) , Arc :: clone( & logger_ref) ) ,
18701882 read_peer_info( Arc :: clone( & kv_store_ref) , Arc :: clone( & logger_ref) ) ,
18711883 )
18721884 } ) ;
@@ -2212,18 +2224,6 @@ fn build_with_store_internal(
22122224 } ,
22132225 } ;
22142226
2215- let event_queue = match event_queue_res {
2216- Ok ( event_queue) => Arc :: new ( event_queue) ,
2217- Err ( e) => {
2218- if e. kind ( ) == std:: io:: ErrorKind :: NotFound {
2219- Arc :: new ( EventQueue :: new ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) )
2220- } else {
2221- log_error ! ( logger, "Failed to read event queue from store: {}" , e) ;
2222- return Err ( BuildError :: ReadFailed ) ;
2223- }
2224- } ,
2225- } ;
2226-
22272227 let peer_store = match peer_info_res {
22282228 Ok ( peer_store) => Arc :: new ( peer_store) ,
22292229 Err ( e) => {
0 commit comments