@@ -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
@@ -867,7 +874,7 @@ where
867874 gossip_sync,
868875 {
869876 if let Some ( ref sweeper) = sweeper {
870- sweeper. regenerate_and_broadcast_spend_if_necessary( )
877+ sweeper. regenerate_and_broadcast_spend_if_necessary( ) . await
871878 } else {
872879 Ok ( ( ) )
873880 }
@@ -995,7 +1002,7 @@ impl BackgroundProcessor {
9951002 D : ' static + Deref ,
9961003 O : ' static + Deref ,
9971004 K : ' static + Deref ,
998- OS : ' static + Deref < Target = OutputSweeper < T , D , F , CF , K , L , O > > + Send + Sync ,
1005+ OS : ' static + Deref < Target = OutputSweeperSync < T , D , F , CF , K , L , O > > + Send + Sync ,
9991006 > (
10001007 persister : PS , event_handler : EH , chain_monitor : M , channel_manager : CM ,
10011008 onion_messenger : Option < OM > , gossip_sync : GossipSync < PGS , RGS , G , UL , L > , peer_manager : PM ,
@@ -1013,8 +1020,8 @@ impl BackgroundProcessor {
10131020 OM :: Target : AOnionMessenger ,
10141021 PM :: Target : APeerManager ,
10151022 LM :: Target : ALiquidityManager ,
1023+ D :: Target : ChangeDestinationSourceSync ,
10161024 O :: Target : ' static + OutputSpender ,
1017- D :: Target : ' static + ChangeDestinationSource ,
10181025 K :: Target : ' static + KVStore ,
10191026 {
10201027 let stop_thread = Arc :: new ( AtomicBool :: new ( false ) ) ;
@@ -1180,7 +1187,7 @@ mod tests {
11801187 use lightning:: routing:: gossip:: { NetworkGraph , P2PGossipSync } ;
11811188 use lightning:: routing:: router:: { CandidateRouteHop , DefaultRouter , Path , RouteHop } ;
11821189 use lightning:: routing:: scoring:: { ChannelUsage , LockableScore , ScoreLookUp , ScoreUpdate } ;
1183- use lightning:: sign:: { ChangeDestinationSource , InMemorySigner , KeysManager } ;
1190+ use lightning:: sign:: { ChangeDestinationSourceSync , InMemorySigner , KeysManager } ;
11841191 use lightning:: types:: features:: { ChannelFeatures , NodeFeatures } ;
11851192 use lightning:: types:: payment:: PaymentHash ;
11861193 use lightning:: util:: config:: UserConfig ;
@@ -1192,7 +1199,7 @@ mod tests {
11921199 SCORER_PERSISTENCE_SECONDARY_NAMESPACE ,
11931200 } ;
11941201 use lightning:: util:: ser:: Writeable ;
1195- use lightning:: util:: sweep:: { OutputSpendStatus , OutputSweeper , PRUNE_DELAY_BLOCKS } ;
1202+ use lightning:: util:: sweep:: { OutputSpendStatus , OutputSweeperSync , PRUNE_DELAY_BLOCKS } ;
11961203 use lightning:: util:: test_utils;
11971204 use lightning:: { get_event, get_event_msg} ;
11981205 use lightning_liquidity:: LiquidityManager ;
@@ -1318,7 +1325,7 @@ mod tests {
13181325 best_block : BestBlock ,
13191326 scorer : Arc < LockingWrapper < TestScorer > > ,
13201327 sweeper : Arc <
1321- OutputSweeper <
1328+ OutputSweeperSync <
13221329 Arc < test_utils:: TestBroadcaster > ,
13231330 Arc < TestWallet > ,
13241331 Arc < test_utils:: TestFeeEstimator > ,
@@ -1619,7 +1626,7 @@ mod tests {
16191626
16201627 struct TestWallet { }
16211628
1622- impl ChangeDestinationSource for TestWallet {
1629+ impl ChangeDestinationSourceSync for TestWallet {
16231630 fn get_change_destination_script ( & self ) -> Result < ScriptBuf , ( ) > {
16241631 Ok ( ScriptBuf :: new ( ) )
16251632 }
@@ -1697,7 +1704,7 @@ mod tests {
16971704 IgnoringMessageHandler { } ,
16981705 ) ) ;
16991706 let wallet = Arc :: new ( TestWallet { } ) ;
1700- let sweeper = Arc :: new ( OutputSweeper :: new (
1707+ let sweeper = Arc :: new ( OutputSweeperSync :: new (
17011708 best_block,
17021709 Arc :: clone ( & tx_broadcaster) ,
17031710 Arc :: clone ( & fee_estimator) ,
@@ -2114,7 +2121,7 @@ mod tests {
21142121 nodes[ 0 ] . rapid_gossip_sync ( ) ,
21152122 nodes[ 0 ] . peer_manager . clone ( ) ,
21162123 Some ( Arc :: clone ( & nodes[ 0 ] . liquidity_manager ) ) ,
2117- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
2124+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
21182125 nodes[ 0 ] . logger . clone ( ) ,
21192126 Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
21202127 move |dur : Duration | {
@@ -2622,7 +2629,7 @@ mod tests {
26222629 nodes[ 0 ] . rapid_gossip_sync ( ) ,
26232630 nodes[ 0 ] . peer_manager . clone ( ) ,
26242631 Some ( Arc :: clone ( & nodes[ 0 ] . liquidity_manager ) ) ,
2625- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
2632+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
26262633 nodes[ 0 ] . logger . clone ( ) ,
26272634 Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
26282635 move |dur : Duration | {
@@ -2838,7 +2845,7 @@ mod tests {
28382845 nodes[ 0 ] . no_gossip_sync ( ) ,
28392846 nodes[ 0 ] . peer_manager . clone ( ) ,
28402847 Some ( Arc :: clone ( & nodes[ 0 ] . liquidity_manager ) ) ,
2841- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
2848+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
28422849 nodes[ 0 ] . logger . clone ( ) ,
28432850 Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
28442851 move |dur : Duration | {
0 commit comments