@@ -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
@@ -726,7 +733,7 @@ where
726733 gossip_sync,
727734 {
728735 if let Some ( ref sweeper) = sweeper {
729- sweeper. regenerate_and_broadcast_spend_if_necessary( )
736+ sweeper. regenerate_and_broadcast_spend_if_necessary( ) . await
730737 } else {
731738 Ok ( ( ) )
732739 }
@@ -846,7 +853,7 @@ impl BackgroundProcessor {
846853 D : ' static + Deref ,
847854 O : ' static + Deref ,
848855 K : ' static + Deref ,
849- OS : ' static + Deref < Target = OutputSweeper < T , D , F , CF , K , L , O > > + Send + Sync ,
856+ OS : ' static + Deref < Target = OutputSweeperSync < T , D , F , CF , K , L , O > > + Send + Sync ,
850857 > (
851858 persister : PS , event_handler : EH , chain_monitor : M , channel_manager : CM ,
852859 onion_messenger : Option < OM > , gossip_sync : GossipSync < PGS , RGS , G , UL , L > , peer_manager : PM ,
@@ -863,8 +870,8 @@ impl BackgroundProcessor {
863870 CM :: Target : AChannelManager + Send + Sync ,
864871 OM :: Target : AOnionMessenger + Send + Sync ,
865872 PM :: Target : APeerManager + Send + Sync ,
873+ D :: Target : ChangeDestinationSourceSync ,
866874 O :: Target : ' static + OutputSpender ,
867- D :: Target : ' static + ChangeDestinationSource ,
868875 K :: Target : ' static + KVStore ,
869876 {
870877 let stop_thread = Arc :: new ( AtomicBool :: new ( false ) ) ;
@@ -1020,7 +1027,7 @@ mod tests {
10201027 use lightning:: routing:: gossip:: { NetworkGraph , P2PGossipSync } ;
10211028 use lightning:: routing:: router:: { CandidateRouteHop , DefaultRouter , Path , RouteHop } ;
10221029 use lightning:: routing:: scoring:: { ChannelUsage , LockableScore , ScoreLookUp , ScoreUpdate } ;
1023- use lightning:: sign:: { ChangeDestinationSource , InMemorySigner , KeysManager } ;
1030+ use lightning:: sign:: { ChangeDestinationSourceSync , InMemorySigner , KeysManager } ;
10241031 use lightning:: types:: features:: { ChannelFeatures , NodeFeatures } ;
10251032 use lightning:: types:: payment:: PaymentHash ;
10261033 use lightning:: util:: config:: UserConfig ;
@@ -1032,7 +1039,7 @@ mod tests {
10321039 SCORER_PERSISTENCE_SECONDARY_NAMESPACE ,
10331040 } ;
10341041 use lightning:: util:: ser:: Writeable ;
1035- use lightning:: util:: sweep:: { OutputSpendStatus , OutputSweeper , PRUNE_DELAY_BLOCKS } ;
1042+ use lightning:: util:: sweep:: { OutputSpendStatus , OutputSweeperSync , PRUNE_DELAY_BLOCKS } ;
10361043 use lightning:: util:: test_utils;
10371044 use lightning:: { get_event, get_event_msg} ;
10381045 use lightning_persister:: fs_store:: FilesystemStore ;
@@ -1153,7 +1160,7 @@ mod tests {
11531160 best_block : BestBlock ,
11541161 scorer : Arc < LockingWrapper < TestScorer > > ,
11551162 sweeper : Arc <
1156- OutputSweeper <
1163+ OutputSweeperSync <
11571164 Arc < test_utils:: TestBroadcaster > ,
11581165 Arc < TestWallet > ,
11591166 Arc < test_utils:: TestFeeEstimator > ,
@@ -1454,7 +1461,7 @@ mod tests {
14541461
14551462 struct TestWallet { }
14561463
1457- impl ChangeDestinationSource for TestWallet {
1464+ impl ChangeDestinationSourceSync for TestWallet {
14581465 fn get_change_destination_script ( & self ) -> Result < ScriptBuf , ( ) > {
14591466 Ok ( ScriptBuf :: new ( ) )
14601467 }
@@ -1533,7 +1540,7 @@ mod tests {
15331540 IgnoringMessageHandler { } ,
15341541 ) ) ;
15351542 let wallet = Arc :: new ( TestWallet { } ) ;
1536- let sweeper = Arc :: new ( OutputSweeper :: new (
1543+ let sweeper = Arc :: new ( OutputSweeperSync :: new (
15371544 best_block,
15381545 Arc :: clone ( & tx_broadcaster) ,
15391546 Arc :: clone ( & fee_estimator) ,
@@ -1937,7 +1944,7 @@ mod tests {
19371944 Some ( nodes[ 0 ] . messenger . clone ( ) ) ,
19381945 nodes[ 0 ] . rapid_gossip_sync ( ) ,
19391946 nodes[ 0 ] . peer_manager . clone ( ) ,
1940- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
1947+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
19411948 nodes[ 0 ] . logger . clone ( ) ,
19421949 Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
19431950 move |dur : Duration | {
@@ -2437,7 +2444,7 @@ mod tests {
24372444 Some ( nodes[ 0 ] . messenger . clone ( ) ) ,
24382445 nodes[ 0 ] . rapid_gossip_sync ( ) ,
24392446 nodes[ 0 ] . peer_manager . clone ( ) ,
2440- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
2447+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
24412448 nodes[ 0 ] . logger . clone ( ) ,
24422449 Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
24432450 move |dur : Duration | {
@@ -2651,7 +2658,7 @@ mod tests {
26512658 Some ( nodes[ 0 ] . messenger . clone ( ) ) ,
26522659 nodes[ 0 ] . no_gossip_sync ( ) ,
26532660 nodes[ 0 ] . peer_manager . clone ( ) ,
2654- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
2661+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
26552662 nodes[ 0 ] . logger . clone ( ) ,
26562663 Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
26572664 move |dur : Duration | {
0 commit comments