@@ -51,8 +51,6 @@ use lightning::util::sweep::OutputSweeper;
5151
5252use lightning_persister:: fs_store:: FilesystemStore ;
5353
54- use lightning_transaction_sync:: EsploraSyncClient ;
55-
5654use lightning_liquidity:: lsps2:: client:: LSPS2ClientConfig ;
5755use lightning_liquidity:: { LiquidityClientConfig , LiquidityManager } ;
5856
@@ -585,82 +583,71 @@ fn build_with_store_internal(
585583 } ) ?,
586584 } ;
587585
588- let ( wallet, chain_source, tx_sync, tx_broadcaster, fee_estimator) =
589- match chain_data_source_config {
590- Some ( ChainDataSourceConfig :: Esplora ( server_url) ) => {
591- let mut client_builder = esplora_client:: Builder :: new ( & server_url. clone ( ) ) ;
592- client_builder = client_builder. timeout ( DEFAULT_ESPLORA_CLIENT_TIMEOUT_SECS ) ;
593- let esplora_client = client_builder. build_async ( ) . unwrap ( ) ;
594- let tx_sync =
595- Arc :: new ( EsploraSyncClient :: from_client ( esplora_client, Arc :: clone ( & logger) ) ) ;
596- let tx_broadcaster = Arc :: new ( TransactionBroadcaster :: new (
597- tx_sync. client ( ) . clone ( ) ,
598- Arc :: clone ( & logger) ,
599- ) ) ;
600- let fee_estimator = Arc :: new ( OnchainFeeEstimator :: new (
601- tx_sync. client ( ) . clone ( ) ,
602- Arc :: clone ( & config) ,
603- Arc :: clone ( & logger) ,
604- ) ) ;
586+ let ( wallet, chain_source, tx_broadcaster, fee_estimator) = match chain_data_source_config {
587+ Some ( ChainDataSourceConfig :: Esplora ( server_url) ) => {
588+ let mut client_builder = esplora_client:: Builder :: new ( & server_url. clone ( ) ) ;
589+ client_builder = client_builder. timeout ( DEFAULT_ESPLORA_CLIENT_TIMEOUT_SECS ) ;
590+ let esplora_client = client_builder. build_async ( ) . unwrap ( ) ;
591+ let tx_broadcaster =
592+ Arc :: new ( TransactionBroadcaster :: new ( esplora_client. clone ( ) , Arc :: clone ( & logger) ) ) ;
593+ let fee_estimator = Arc :: new ( OnchainFeeEstimator :: new (
594+ esplora_client,
595+ Arc :: clone ( & config) ,
596+ Arc :: clone ( & logger) ,
597+ ) ) ;
605598
606- let wallet = Arc :: new ( Wallet :: new (
607- bdk_wallet,
608- wallet_persister,
609- Arc :: clone ( & tx_broadcaster) ,
610- Arc :: clone ( & fee_estimator) ,
611- Arc :: clone ( & logger) ,
612- ) ) ;
599+ let wallet = Arc :: new ( Wallet :: new (
600+ bdk_wallet,
601+ wallet_persister,
602+ Arc :: clone ( & tx_broadcaster) ,
603+ Arc :: clone ( & fee_estimator) ,
604+ Arc :: clone ( & logger) ,
605+ ) ) ;
613606
614- let chain_source = Arc :: new ( ChainSource :: new_esplora (
615- server_url. clone ( ) ,
616- Arc :: clone ( & wallet) ,
617- Arc :: clone ( & logger) ,
618- ) ) ;
619- ( wallet, chain_source, tx_sync, tx_broadcaster, fee_estimator)
620- } ,
621- None => {
622- // Default to Esplora client.
623- let server_url = DEFAULT_ESPLORA_SERVER_URL . to_string ( ) ;
624- let mut client_builder = esplora_client:: Builder :: new ( & server_url) ;
625- client_builder = client_builder. timeout ( DEFAULT_ESPLORA_CLIENT_TIMEOUT_SECS ) ;
626- let esplora_client = client_builder. build_async ( ) . unwrap ( ) ;
627- let tx_sync = Arc :: new ( EsploraSyncClient :: from_client (
628- esplora_client. clone ( ) ,
629- Arc :: clone ( & logger) ,
630- ) ) ;
631- let tx_broadcaster = Arc :: new ( TransactionBroadcaster :: new (
632- tx_sync. client ( ) . clone ( ) ,
633- Arc :: clone ( & logger) ,
634- ) ) ;
635- let fee_estimator = Arc :: new ( OnchainFeeEstimator :: new (
636- tx_sync. client ( ) . clone ( ) ,
637- Arc :: clone ( & config) ,
638- Arc :: clone ( & logger) ,
639- ) ) ;
607+ let chain_source = Arc :: new ( ChainSource :: new_esplora (
608+ server_url. clone ( ) ,
609+ Arc :: clone ( & wallet) ,
610+ Arc :: clone ( & logger) ,
611+ ) ) ;
612+ ( wallet, chain_source, tx_broadcaster, fee_estimator)
613+ } ,
614+ None => {
615+ // Default to Esplora client.
616+ let server_url = DEFAULT_ESPLORA_SERVER_URL . to_string ( ) ;
617+ let mut client_builder = esplora_client:: Builder :: new ( & server_url) ;
618+ client_builder = client_builder. timeout ( DEFAULT_ESPLORA_CLIENT_TIMEOUT_SECS ) ;
619+ let esplora_client = client_builder. build_async ( ) . unwrap ( ) ;
620+ let tx_broadcaster =
621+ Arc :: new ( TransactionBroadcaster :: new ( esplora_client. clone ( ) , Arc :: clone ( & logger) ) ) ;
622+ let fee_estimator = Arc :: new ( OnchainFeeEstimator :: new (
623+ esplora_client,
624+ Arc :: clone ( & config) ,
625+ Arc :: clone ( & logger) ,
626+ ) ) ;
640627
641- let wallet = Arc :: new ( Wallet :: new (
642- bdk_wallet,
643- wallet_persister,
644- Arc :: clone ( & tx_broadcaster) ,
645- Arc :: clone ( & fee_estimator) ,
646- Arc :: clone ( & logger) ,
647- ) ) ;
628+ let wallet = Arc :: new ( Wallet :: new (
629+ bdk_wallet,
630+ wallet_persister,
631+ Arc :: clone ( & tx_broadcaster) ,
632+ Arc :: clone ( & fee_estimator) ,
633+ Arc :: clone ( & logger) ,
634+ ) ) ;
648635
649- let chain_source = Arc :: new ( ChainSource :: new_esplora (
650- server_url. clone ( ) ,
651- Arc :: clone ( & wallet) ,
652- Arc :: clone ( & logger) ,
653- ) ) ;
636+ let chain_source = Arc :: new ( ChainSource :: new_esplora (
637+ server_url. clone ( ) ,
638+ Arc :: clone ( & wallet) ,
639+ Arc :: clone ( & logger) ,
640+ ) ) ;
654641
655- ( wallet, chain_source, tx_sync , tx_broadcaster, fee_estimator)
656- } ,
657- } ;
642+ ( wallet, chain_source, tx_broadcaster, fee_estimator)
643+ } ,
644+ } ;
658645
659646 let runtime = Arc :: new ( RwLock :: new ( None ) ) ;
660647
661648 // Initialize the ChainMonitor
662649 let chain_monitor: Arc < ChainMonitor > = Arc :: new ( chainmonitor:: ChainMonitor :: new (
663- Some ( Arc :: clone ( & tx_sync ) ) ,
650+ Some ( Arc :: clone ( & chain_source ) ) ,
664651 Arc :: clone ( & tx_broadcaster) ,
665652 Arc :: clone ( & logger) ,
666653 Arc :: clone ( & fee_estimator) ,
@@ -876,7 +863,7 @@ fn build_with_store_internal(
876863 let liquidity_manager = Arc :: new ( LiquidityManager :: new (
877864 Arc :: clone ( & keys_manager) ,
878865 Arc :: clone ( & channel_manager) ,
879- Some ( Arc :: clone ( & tx_sync ) ) ,
866+ Some ( Arc :: clone ( & chain_source ) ) ,
880867 None ,
881868 None ,
882869 liquidity_client_config,
@@ -944,7 +931,7 @@ fn build_with_store_internal(
944931 let output_sweeper = match io:: utils:: read_output_sweeper (
945932 Arc :: clone ( & tx_broadcaster) ,
946933 Arc :: clone ( & fee_estimator) ,
947- Arc :: clone ( & tx_sync ) ,
934+ Arc :: clone ( & chain_source ) ,
948935 Arc :: clone ( & keys_manager) ,
949936 Arc :: clone ( & kv_store) ,
950937 Arc :: clone ( & logger) ,
@@ -956,7 +943,7 @@ fn build_with_store_internal(
956943 channel_manager. current_best_block ( ) ,
957944 Arc :: clone ( & tx_broadcaster) ,
958945 Arc :: clone ( & fee_estimator) ,
959- Some ( Arc :: clone ( & tx_sync ) ) ,
946+ Some ( Arc :: clone ( & chain_source ) ) ,
960947 Arc :: clone ( & keys_manager) ,
961948 Arc :: clone ( & keys_manager) ,
962949 Arc :: clone ( & kv_store) ,
@@ -1033,7 +1020,6 @@ fn build_with_store_internal(
10331020 config,
10341021 wallet,
10351022 chain_source,
1036- tx_sync,
10371023 tx_broadcaster,
10381024 fee_estimator,
10391025 event_queue,
0 commit comments