@@ -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- sweeper. regenerate_and_broadcast_spend_if_necessary( )
876+ sweeper. regenerate_and_broadcast_spend_if_necessary( ) . await
870877 } else {
871878 Ok ( ( ) )
872879 }
@@ -994,7 +1001,7 @@ impl BackgroundProcessor {
9941001 D : ' static + Deref ,
9951002 O : ' static + Deref ,
9961003 K : ' static + Deref ,
997- OS : ' static + Deref < Target = OutputSweeper < T , D , F , CF , K , L , O > > + Send + Sync ,
1004+ OS : ' static + Deref < Target = OutputSweeperSync < T , D , F , CF , K , L , O > > + Send + Sync ,
9981005 > (
9991006 persister : PS , event_handler : EH , chain_monitor : M , channel_manager : CM ,
10001007 onion_messenger : Option < OM > , gossip_sync : GossipSync < PGS , RGS , G , UL , L > , peer_manager : PM ,
@@ -1012,8 +1019,8 @@ impl BackgroundProcessor {
10121019 OM :: Target : AOnionMessenger ,
10131020 PM :: Target : APeerManager ,
10141021 LM :: Target : ALiquidityManager ,
1022+ D :: Target : ChangeDestinationSourceSync ,
10151023 O :: Target : ' static + OutputSpender ,
1016- D :: Target : ' static + ChangeDestinationSource ,
10171024 K :: Target : ' static + KVStore ,
10181025 {
10191026 let stop_thread = Arc :: new ( AtomicBool :: new ( false ) ) ;
@@ -1179,7 +1186,7 @@ mod tests {
11791186 use lightning:: routing:: gossip:: { NetworkGraph , P2PGossipSync } ;
11801187 use lightning:: routing:: router:: { CandidateRouteHop , DefaultRouter , Path , RouteHop } ;
11811188 use lightning:: routing:: scoring:: { ChannelUsage , LockableScore , ScoreLookUp , ScoreUpdate } ;
1182- use lightning:: sign:: { ChangeDestinationSource , InMemorySigner , KeysManager } ;
1189+ use lightning:: sign:: { ChangeDestinationSourceSync , InMemorySigner , KeysManager } ;
11831190 use lightning:: types:: features:: { ChannelFeatures , NodeFeatures } ;
11841191 use lightning:: types:: payment:: PaymentHash ;
11851192 use lightning:: util:: config:: UserConfig ;
@@ -1191,7 +1198,7 @@ mod tests {
11911198 SCORER_PERSISTENCE_SECONDARY_NAMESPACE ,
11921199 } ;
11931200 use lightning:: util:: ser:: Writeable ;
1194- use lightning:: util:: sweep:: { OutputSpendStatus , OutputSweeper , PRUNE_DELAY_BLOCKS } ;
1201+ use lightning:: util:: sweep:: { OutputSpendStatus , OutputSweeperSync , PRUNE_DELAY_BLOCKS } ;
11951202 use lightning:: util:: test_utils;
11961203 use lightning:: { get_event, get_event_msg} ;
11971204 use lightning_liquidity:: LiquidityManager ;
@@ -1317,7 +1324,7 @@ mod tests {
13171324 best_block : BestBlock ,
13181325 scorer : Arc < LockingWrapper < TestScorer > > ,
13191326 sweeper : Arc <
1320- OutputSweeper <
1327+ OutputSweeperSync <
13211328 Arc < test_utils:: TestBroadcaster > ,
13221329 Arc < TestWallet > ,
13231330 Arc < test_utils:: TestFeeEstimator > ,
@@ -1618,7 +1625,7 @@ mod tests {
16181625
16191626 struct TestWallet { }
16201627
1621- impl ChangeDestinationSource for TestWallet {
1628+ impl ChangeDestinationSourceSync for TestWallet {
16221629 fn get_change_destination_script ( & self ) -> Result < ScriptBuf , ( ) > {
16231630 Ok ( ScriptBuf :: new ( ) )
16241631 }
@@ -1696,7 +1703,7 @@ mod tests {
16961703 IgnoringMessageHandler { } ,
16971704 ) ) ;
16981705 let wallet = Arc :: new ( TestWallet { } ) ;
1699- let sweeper = Arc :: new ( OutputSweeper :: new (
1706+ let sweeper = Arc :: new ( OutputSweeperSync :: new (
17001707 best_block,
17011708 Arc :: clone ( & tx_broadcaster) ,
17021709 Arc :: clone ( & fee_estimator) ,
@@ -2113,7 +2120,7 @@ mod tests {
21132120 nodes[ 0 ] . rapid_gossip_sync ( ) ,
21142121 nodes[ 0 ] . peer_manager . clone ( ) ,
21152122 Some ( Arc :: clone ( & nodes[ 0 ] . liquidity_manager ) ) ,
2116- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
2123+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
21172124 nodes[ 0 ] . logger . clone ( ) ,
21182125 Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
21192126 move |dur : Duration | {
@@ -2621,7 +2628,7 @@ mod tests {
26212628 nodes[ 0 ] . rapid_gossip_sync ( ) ,
26222629 nodes[ 0 ] . peer_manager . clone ( ) ,
26232630 Some ( Arc :: clone ( & nodes[ 0 ] . liquidity_manager ) ) ,
2624- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
2631+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
26252632 nodes[ 0 ] . logger . clone ( ) ,
26262633 Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
26272634 move |dur : Duration | {
@@ -2837,7 +2844,7 @@ mod tests {
28372844 nodes[ 0 ] . no_gossip_sync ( ) ,
28382845 nodes[ 0 ] . peer_manager . clone ( ) ,
28392846 Some ( Arc :: clone ( & nodes[ 0 ] . liquidity_manager ) ) ,
2840- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
2847+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
28412848 nodes[ 0 ] . logger . clone ( ) ,
28422849 Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
28432850 move |dur : Duration | {
0 commit comments