@@ -36,11 +36,18 @@ use lightning::onion_message::messenger::AOnionMessenger;
36
36
use lightning:: routing:: gossip:: { NetworkGraph , P2PGossipSync } ;
37
37
use lightning:: routing:: scoring:: { ScoreUpdate , WriteableScore } ;
38
38
use 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 ;
40
44
use lightning:: util:: logger:: Logger ;
41
45
use lightning:: util:: persist:: { KVStore , Persister } ;
46
+ #[ cfg( feature = "futures" ) ]
42
47
use lightning:: util:: sweep:: OutputSweeper ;
43
48
#[ cfg( feature = "std" ) ]
49
+ use lightning:: util:: sweep:: OutputSweeperSync ;
50
+ #[ cfg( feature = "std" ) ]
44
51
use lightning:: util:: wakers:: Sleeper ;
45
52
use lightning_rapid_gossip_sync:: RapidGossipSync ;
46
53
@@ -726,7 +733,7 @@ where
726
733
gossip_sync,
727
734
{
728
735
if let Some ( ref sweeper) = sweeper {
729
- sweeper. regenerate_and_broadcast_spend_if_necessary_locked ( )
736
+ sweeper. regenerate_and_broadcast_spend_if_necessary ( ) . await
730
737
} else {
731
738
Ok ( ( ) )
732
739
}
@@ -843,16 +850,17 @@ impl BackgroundProcessor {
843
850
PM : ' static + Deref + Send + Sync ,
844
851
S : ' static + Deref < Target = SC > + Send + Sync ,
845
852
SC : for < ' b > WriteableScore < ' b > ,
846
- D : ' static + Deref + Send + Sync ,
853
+ D : Deref ,
847
854
O : ' static + Deref + Send + Sync ,
848
855
K : ' static + Deref + Send + Sync ,
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 ,
850
857
> (
851
858
persister : PS , event_handler : EH , chain_monitor : M , channel_manager : CM ,
852
859
onion_messenger : Option < OM > , gossip_sync : GossipSync < PGS , RGS , G , UL , L > , peer_manager : PM ,
853
860
sweeper : Option < OS > , logger : L , scorer : Option < S > ,
854
861
) -> Self
855
862
where
863
+ D :: Target : ChangeDestinationSourceSync ,
856
864
UL :: Target : ' static + UtxoLookup ,
857
865
CF :: Target : ' static + chain:: Filter + Sync + Send ,
858
866
T :: Target : ' static + BroadcasterInterface ,
@@ -864,7 +872,6 @@ impl BackgroundProcessor {
864
872
OM :: Target : AOnionMessenger + Send + Sync ,
865
873
PM :: Target : APeerManager + Send + Sync ,
866
874
O :: Target : ' static + OutputSpender + Send + Sync ,
867
- D :: Target : ' static + ChangeDestinationSource + Send + Sync ,
868
875
K :: Target : ' static + KVStore + Send + Sync ,
869
876
{
870
877
let stop_thread = Arc :: new ( AtomicBool :: new ( false ) ) ;
@@ -903,7 +910,7 @@ impl BackgroundProcessor {
903
910
gossip_sync,
904
911
{
905
912
if let Some ( ref sweeper) = sweeper {
906
- sweeper. regenerate_and_broadcast_spend_if_necessary_locked ( )
913
+ sweeper. regenerate_and_broadcast_spend_if_necessary ( )
907
914
} else {
908
915
Ok ( ( ) )
909
916
}
@@ -1020,7 +1027,7 @@ mod tests {
1020
1027
use lightning:: routing:: gossip:: { NetworkGraph , P2PGossipSync } ;
1021
1028
use lightning:: routing:: router:: { CandidateRouteHop , DefaultRouter , Path , RouteHop } ;
1022
1029
use lightning:: routing:: scoring:: { ChannelUsage , LockableScore , ScoreLookUp , ScoreUpdate } ;
1023
- use lightning:: sign:: { ChangeDestinationSource , InMemorySigner , KeysManager } ;
1030
+ use lightning:: sign:: { ChangeDestinationSourceSync , InMemorySigner , KeysManager } ;
1024
1031
use lightning:: types:: features:: { ChannelFeatures , NodeFeatures } ;
1025
1032
use lightning:: types:: payment:: PaymentHash ;
1026
1033
use lightning:: util:: config:: UserConfig ;
@@ -1032,7 +1039,7 @@ mod tests {
1032
1039
SCORER_PERSISTENCE_SECONDARY_NAMESPACE ,
1033
1040
} ;
1034
1041
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 } ;
1036
1043
use lightning:: util:: test_utils;
1037
1044
use lightning:: { get_event, get_event_msg} ;
1038
1045
use lightning_persister:: fs_store:: FilesystemStore ;
@@ -1153,7 +1160,7 @@ mod tests {
1153
1160
best_block : BestBlock ,
1154
1161
scorer : Arc < LockingWrapper < TestScorer > > ,
1155
1162
sweeper : Arc <
1156
- OutputSweeper <
1163
+ OutputSweeperSync <
1157
1164
Arc < test_utils:: TestBroadcaster > ,
1158
1165
Arc < TestWallet > ,
1159
1166
Arc < test_utils:: TestFeeEstimator > ,
@@ -1454,7 +1461,7 @@ mod tests {
1454
1461
1455
1462
struct TestWallet { }
1456
1463
1457
- impl ChangeDestinationSource for TestWallet {
1464
+ impl ChangeDestinationSourceSync for TestWallet {
1458
1465
fn get_change_destination_script ( & self ) -> Result < ScriptBuf , ( ) > {
1459
1466
Ok ( ScriptBuf :: new ( ) )
1460
1467
}
@@ -1533,7 +1540,7 @@ mod tests {
1533
1540
IgnoringMessageHandler { } ,
1534
1541
) ) ;
1535
1542
let wallet = Arc :: new ( TestWallet { } ) ;
1536
- let sweeper = Arc :: new ( OutputSweeper :: new (
1543
+ let sweeper = Arc :: new ( OutputSweeperSync :: new (
1537
1544
best_block,
1538
1545
Arc :: clone ( & tx_broadcaster) ,
1539
1546
Arc :: clone ( & fee_estimator) ,
@@ -1938,7 +1945,7 @@ mod tests {
1938
1945
Some ( nodes[ 0 ] . messenger . clone ( ) ) ,
1939
1946
nodes[ 0 ] . rapid_gossip_sync ( ) ,
1940
1947
nodes[ 0 ] . peer_manager . clone ( ) ,
1941
- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
1948
+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
1942
1949
nodes[ 0 ] . logger . clone ( ) ,
1943
1950
Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
1944
1951
move |dur : Duration | {
@@ -2438,7 +2445,7 @@ mod tests {
2438
2445
Some ( nodes[ 0 ] . messenger . clone ( ) ) ,
2439
2446
nodes[ 0 ] . rapid_gossip_sync ( ) ,
2440
2447
nodes[ 0 ] . peer_manager . clone ( ) ,
2441
- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
2448
+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
2442
2449
nodes[ 0 ] . logger . clone ( ) ,
2443
2450
Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
2444
2451
move |dur : Duration | {
@@ -2652,7 +2659,7 @@ mod tests {
2652
2659
Some ( nodes[ 0 ] . messenger . clone ( ) ) ,
2653
2660
nodes[ 0 ] . no_gossip_sync ( ) ,
2654
2661
nodes[ 0 ] . peer_manager . clone ( ) ,
2655
- Some ( nodes[ 0 ] . sweeper . clone ( ) ) ,
2662
+ Some ( nodes[ 0 ] . sweeper . sweeper_async ( ) ) ,
2656
2663
nodes[ 0 ] . logger . clone ( ) ,
2657
2664
Some ( nodes[ 0 ] . scorer . clone ( ) ) ,
2658
2665
move |dur : Duration | {
0 commit comments