@@ -36,11 +36,18 @@ use lightning::onion_message::messenger::AOnionMessenger;
3636use lightning:: routing:: gossip:: { NetworkGraph , P2PGossipSync } ;
3737use lightning:: routing:: scoring:: { ScoreUpdate , WriteableScore } ;
3838use lightning:: routing:: utxo:: UtxoLookup ;
39- use lightning:: sign:: { ChangeDestinationSource , OutputSpender } ;
39+ #[ cfg( feature = "futures" ) ]
40+ use lightning:: sign:: ChangeDestinationSource ;
41+ #[ cfg( feature = "std" ) ]
42+ use lightning:: sign:: ChangeDestinationSourceSync ;
43+ use lightning:: sign:: OutputSpender ;
4044use lightning:: util:: logger:: Logger ;
4145use lightning:: util:: persist:: { KVStore , Persister } ;
46+ #[ cfg( feature = "futures" ) ]
4247use lightning:: util:: sweep:: OutputSweeper ;
4348#[ cfg( feature = "std" ) ]
49+ use lightning:: util:: sweep:: OutputSweeperSync ;
50+ #[ cfg( feature = "std" ) ]
4451use lightning:: util:: wakers:: Sleeper ;
4552use lightning_rapid_gossip_sync:: RapidGossipSync ;
4653
@@ -866,7 +873,7 @@ where
866873 gossip_sync,
867874 {
868875 if let Some ( ref sweeper) = sweeper {
869- let _ = sweeper. regenerate_and_broadcast_spend_if_necessary( ) ;
876+ let _ = sweeper. regenerate_and_broadcast_spend_if_necessary( ) . await ;
870877 }
871878 } ,
872879 logger,
@@ -992,7 +999,7 @@ impl BackgroundProcessor {
992999 D : ' static + Deref ,
9931000 O : ' static + Deref ,
9941001 K : ' static + Deref ,
995- OS : ' static + Deref < Target = OutputSweeper < T , D , F , CF , K , L , O > > + Send + Sync ,
1002+ OS : ' static + Deref < Target = OutputSweeperSync < T , D , F , CF , K , L , O > > + Send + Sync ,
9961003 > (
9971004 persister : PS , event_handler : EH , chain_monitor : M , channel_manager : CM ,
9981005 onion_messenger : Option < OM > , gossip_sync : GossipSync < PGS , RGS , G , UL , L > , peer_manager : PM ,
@@ -1010,8 +1017,8 @@ impl BackgroundProcessor {
10101017 OM :: Target : AOnionMessenger ,
10111018 PM :: Target : APeerManager ,
10121019 LM :: Target : ALiquidityManager ,
1020+ D :: Target : ChangeDestinationSourceSync ,
10131021 O :: Target : ' static + OutputSpender ,
1014- D :: Target : ' static + ChangeDestinationSource ,
10151022 K :: Target : ' static + KVStore ,
10161023 {
10171024 let stop_thread = Arc :: new ( AtomicBool :: new ( false ) ) ;
@@ -1175,7 +1182,7 @@ mod tests {
11751182 use lightning:: routing:: gossip:: { NetworkGraph , P2PGossipSync } ;
11761183 use lightning:: routing:: router:: { CandidateRouteHop , DefaultRouter , Path , RouteHop } ;
11771184 use lightning:: routing:: scoring:: { ChannelUsage , LockableScore , ScoreLookUp , ScoreUpdate } ;
1178- use lightning:: sign:: { ChangeDestinationSource , InMemorySigner , KeysManager } ;
1185+ use lightning:: sign:: { ChangeDestinationSourceSync , InMemorySigner , KeysManager } ;
11791186 use lightning:: types:: features:: { ChannelFeatures , NodeFeatures } ;
11801187 use lightning:: types:: payment:: PaymentHash ;
11811188 use lightning:: util:: config:: UserConfig ;
@@ -1187,7 +1194,7 @@ mod tests {
11871194 SCORER_PERSISTENCE_SECONDARY_NAMESPACE ,
11881195 } ;
11891196 use lightning:: util:: ser:: Writeable ;
1190- use lightning:: util:: sweep:: { OutputSpendStatus , OutputSweeper , PRUNE_DELAY_BLOCKS } ;
1197+ use lightning:: util:: sweep:: { OutputSpendStatus , OutputSweeperSync , PRUNE_DELAY_BLOCKS } ;
11911198 use lightning:: util:: test_utils;
11921199 use lightning:: { get_event, get_event_msg} ;
11931200 use lightning_liquidity:: LiquidityManager ;
@@ -1313,7 +1320,7 @@ mod tests {
13131320 best_block : BestBlock ,
13141321 scorer : Arc < LockingWrapper < TestScorer > > ,
13151322 sweeper : Arc <
1316- OutputSweeper <
1323+ OutputSweeperSync <
13171324 Arc < test_utils:: TestBroadcaster > ,
13181325 Arc < TestWallet > ,
13191326 Arc < test_utils:: TestFeeEstimator > ,
@@ -1614,7 +1621,7 @@ mod tests {
16141621
16151622 struct TestWallet { }
16161623
1617- impl ChangeDestinationSource for TestWallet {
1624+ impl ChangeDestinationSourceSync for TestWallet {
16181625 fn get_change_destination_script ( & self ) -> Result < ScriptBuf , ( ) > {
16191626 Ok ( ScriptBuf :: new ( ) )
16201627 }
@@ -1692,7 +1699,7 @@ mod tests {
16921699 IgnoringMessageHandler { } ,
16931700 ) ) ;
16941701 let wallet = Arc :: new ( TestWallet { } ) ;
1695- let sweeper = Arc :: new ( OutputSweeper :: new (
1702+ let sweeper = Arc :: new ( OutputSweeperSync :: new (
16961703 best_block,
16971704 Arc :: clone ( & tx_broadcaster) ,
16981705 Arc :: clone ( & fee_estimator) ,
@@ -2109,7 +2116,7 @@ mod tests {
21092116 nodes[ 0 ] . rapid_gossip_sync ( ) ,
21102117 nodes[ 0 ] . peer_manager . clone ( ) ,
21112118 Some ( Arc :: clone ( & nodes[ 0 ] . liquidity_manager ) ) ,
2112- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
2119+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
21132120 nodes[ 0 ] . logger . clone ( ) ,
21142121 Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
21152122 move |dur : Duration | {
@@ -2617,7 +2624,7 @@ mod tests {
26172624 nodes[ 0 ] . rapid_gossip_sync ( ) ,
26182625 nodes[ 0 ] . peer_manager . clone ( ) ,
26192626 Some ( Arc :: clone ( & nodes[ 0 ] . liquidity_manager ) ) ,
2620- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
2627+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
26212628 nodes[ 0 ] . logger . clone ( ) ,
26222629 Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
26232630 move |dur : Duration | {
@@ -2833,7 +2840,7 @@ mod tests {
28332840 nodes[ 0 ] . no_gossip_sync ( ) ,
28342841 nodes[ 0 ] . peer_manager . clone ( ) ,
28352842 Some ( Arc :: clone ( & nodes[ 0 ] . liquidity_manager ) ) ,
2836- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
2843+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
28372844 nodes[ 0 ] . logger . clone ( ) ,
28382845 Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
28392846 move |dur : Duration | {
0 commit comments