@@ -927,8 +927,7 @@ mod tests {
927927 use bitcoin:: secp256k1:: { SecretKey , PublicKey , Secp256k1 } ;
928928 use lightning:: chain:: { BestBlock , Confirm , chainmonitor, Filter } ;
929929 use lightning:: chain:: channelmonitor:: ANTI_REORG_DELAY ;
930- use lightning:: chain:: chaininterface:: { ConfirmationTarget , FeeEstimator } ;
931- use lightning:: sign:: { InMemorySigner , KeysManager , SpendableOutputDescriptor } ;
930+ use lightning:: sign:: { InMemorySigner , KeysManager , ChangeDestinationSource } ;
932931 use lightning:: chain:: transaction:: OutPoint ;
933932 use lightning:: events:: { Event , PathFailure , MessageSendEventsProvider , MessageSendEvent } ;
934933 use lightning:: { get_event_msg, get_event} ;
@@ -1012,7 +1011,9 @@ mod tests {
10121011 logger : Arc < test_utils:: TestLogger > ,
10131012 best_block : BestBlock ,
10141013 scorer : Arc < LockingWrapper < TestScorer > > ,
1015- sweeper : Arc < OutputSweeper < Arc < test_utils:: TestBroadcaster > , Arc < dyn Filter + Sync + Send > , Arc < FilesystemStore > , Arc < test_utils:: TestLogger > > > ,
1014+ sweeper : Arc < OutputSweeper < Arc < test_utils:: TestBroadcaster > , Arc < TestWallet > ,
1015+ Arc < test_utils:: TestFeeEstimator > , Arc < dyn Filter + Sync + Send > , Arc < FilesystemStore > ,
1016+ Arc < test_utils:: TestLogger > , Arc < KeysManager > > > ,
10161017 }
10171018
10181019 impl Node {
@@ -1251,6 +1252,14 @@ mod tests {
12511252 }
12521253 }
12531254
1255+ struct TestWallet { }
1256+
1257+ impl ChangeDestinationSource for TestWallet {
1258+ fn get_change_destination_script ( & self ) -> Result < ScriptBuf , ( ) > {
1259+ Ok ( ScriptBuf :: new ( ) )
1260+ }
1261+ }
1262+
12541263 fn get_full_filepath ( filepath : String , filename : String ) -> String {
12551264 let mut path = PathBuf :: from ( filepath) ;
12561265 path. push ( filename) ;
@@ -1281,24 +1290,9 @@ mod tests {
12811290 let best_block = BestBlock :: from_network ( network) ;
12821291 let params = ChainParameters { network, best_block } ;
12831292 let manager = Arc :: new ( ChannelManager :: new ( fee_estimator. clone ( ) , chain_monitor. clone ( ) , tx_broadcaster. clone ( ) , router. clone ( ) , logger. clone ( ) , keys_manager. clone ( ) , keys_manager. clone ( ) , keys_manager. clone ( ) , UserConfig :: default ( ) , params, genesis_block. header . time ) ) ;
1284-
1285- let spend_fee_estimator = Arc :: clone ( & fee_estimator) ;
1286- let spend_keys_manager = Arc :: clone ( & keys_manager) ;
1287- let spend_outputs_callback = move |output_descriptors : & [ & SpendableOutputDescriptor ] | {
1288- let fee_rate = spend_fee_estimator
1289- . get_est_sat_per_1000_weight ( ConfirmationTarget :: NonAnchorChannelFee ) ;
1290- spend_keys_manager. spend_spendable_outputs (
1291- output_descriptors,
1292- Vec :: new ( ) ,
1293- ScriptBuf :: new ( ) ,
1294- fee_rate,
1295- None ,
1296- & Secp256k1 :: new ( ) ,
1297- )
1298- } ;
1299- let sweeper = Arc :: new ( OutputSweeper :: new ( Arc :: clone ( & tx_broadcaster) ,
1300- Arc :: clone ( & kv_store) , best_block, None :: < Arc < dyn Filter + Sync + Send > > ,
1301- Arc :: clone ( & logger) , spend_outputs_callback) ) ;
1293+ let wallet = Arc :: new ( TestWallet { } ) ;
1294+ let sweeper = Arc :: new ( OutputSweeper :: new ( best_block, Arc :: clone ( & tx_broadcaster) , Arc :: clone ( & fee_estimator) ,
1295+ None :: < Arc < dyn Filter + Sync + Send > > , Arc :: clone ( & keys_manager) , wallet, Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) ) ;
13021296 let p2p_gossip_sync = Arc :: new ( P2PGossipSync :: new ( network_graph. clone ( ) , Some ( chain_source. clone ( ) ) , logger. clone ( ) ) ) ;
13031297 let rapid_gossip_sync = Arc :: new ( RapidGossipSync :: new ( network_graph. clone ( ) , logger. clone ( ) ) ) ;
13041298 let msg_handler = MessageHandler {
@@ -1382,6 +1376,10 @@ mod tests {
13821376 node. node . best_block_updated ( & header, height) ;
13831377 node. chain_monitor . best_block_updated ( & header, height) ;
13841378 node. sweeper . best_block_updated ( & header, height) ;
1379+ // We need the TestBroadcaster to know about the new height so that it doesn't think
1380+ // we're violating the time lock requirements of transactions broadcasted at that
1381+ // point.
1382+ node. tx_broadcaster . blocks . lock ( ) . unwrap ( ) . push ( ( genesis_block ( Network :: Bitcoin ) , height) ) ;
13851383 } ,
13861384 _ => { } ,
13871385 }
@@ -1394,6 +1392,10 @@ mod tests {
13941392 let height = node. best_block . height + 1 ;
13951393 let header = create_dummy_header ( prev_blockhash, height) ;
13961394 node. best_block = BestBlock :: new ( header. block_hash ( ) , height) ;
1395+ // We need the TestBroadcaster to know about the new height so that it doesn't think
1396+ // we're violating the time lock requirements of transactions broadcasted at that
1397+ // point.
1398+ node. tx_broadcaster . blocks . lock ( ) . unwrap ( ) . push ( ( genesis_block ( Network :: Bitcoin ) , height) ) ;
13971399 if i == num_blocks {
13981400 node. node . best_block_updated ( & header, height) ;
13991401 node. chain_monitor . best_block_updated ( & header, height) ;
0 commit comments