@@ -782,11 +782,35 @@ fn build_with_store_internal(
782782
783783 let tx_broadcaster = Arc :: new ( TransactionBroadcaster :: new ( Arc :: clone ( & logger) ) ) ;
784784 let fee_estimator = Arc :: new ( OnchainFeeEstimator :: new ( ) ) ;
785+
786+ let payment_store = match io:: utils:: read_payments ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) {
787+ Ok ( payments) => {
788+ Arc :: new ( PaymentStore :: new ( payments, Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) )
789+ } ,
790+ Err ( _) => {
791+ return Err ( BuildError :: ReadFailed ) ;
792+ } ,
793+ } ;
794+
795+ let event_queue = match io:: utils:: read_event_queue ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) )
796+ {
797+ Ok ( event_queue) => Arc :: new ( event_queue) ,
798+ Err ( e) => {
799+ if e. kind ( ) == std:: io:: ErrorKind :: NotFound {
800+ Arc :: new ( EventQueue :: new ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) )
801+ } else {
802+ return Err ( BuildError :: ReadFailed ) ;
803+ }
804+ } ,
805+ } ;
806+
785807 let wallet = Arc :: new ( Wallet :: new (
786808 bdk_wallet,
787809 wallet_persister,
788810 Arc :: clone ( & tx_broadcaster) ,
789811 Arc :: clone ( & fee_estimator) ,
812+ Arc :: clone ( & payment_store) ,
813+ Arc :: clone ( & event_queue) ,
790814 Arc :: clone ( & logger) ,
791815 ) ) ;
792816
@@ -1176,28 +1200,6 @@ fn build_with_store_internal(
11761200 } ,
11771201 }
11781202
1179- // Init payment info storage
1180- let payment_store = match io:: utils:: read_payments ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) {
1181- Ok ( payments) => {
1182- Arc :: new ( PaymentStore :: new ( payments, Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) )
1183- } ,
1184- Err ( _) => {
1185- return Err ( BuildError :: ReadFailed ) ;
1186- } ,
1187- } ;
1188-
1189- let event_queue = match io:: utils:: read_event_queue ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) )
1190- {
1191- Ok ( event_queue) => Arc :: new ( event_queue) ,
1192- Err ( e) => {
1193- if e. kind ( ) == std:: io:: ErrorKind :: NotFound {
1194- Arc :: new ( EventQueue :: new ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) )
1195- } else {
1196- return Err ( BuildError :: ReadFailed ) ;
1197- }
1198- } ,
1199- } ;
1200-
12011203 let peer_store = match io:: utils:: read_peer_info ( Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) {
12021204 Ok ( peer_store) => Arc :: new ( peer_store) ,
12031205 Err ( e) => {
0 commit comments