@@ -927,8 +927,7 @@ mod tests {
927
927
use bitcoin:: secp256k1:: { SecretKey , PublicKey , Secp256k1 } ;
928
928
use lightning:: chain:: { BestBlock , Confirm , chainmonitor, Filter } ;
929
929
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 } ;
932
931
use lightning:: chain:: transaction:: OutPoint ;
933
932
use lightning:: events:: { Event , PathFailure , MessageSendEventsProvider , MessageSendEvent } ;
934
933
use lightning:: { get_event_msg, get_event} ;
@@ -1012,7 +1011,9 @@ mod tests {
1012
1011
logger : Arc < test_utils:: TestLogger > ,
1013
1012
best_block : BestBlock ,
1014
1013
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 > > > ,
1016
1017
}
1017
1018
1018
1019
impl Node {
@@ -1251,6 +1252,14 @@ mod tests {
1251
1252
}
1252
1253
}
1253
1254
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
+
1254
1263
fn get_full_filepath ( filepath : String , filename : String ) -> String {
1255
1264
let mut path = PathBuf :: from ( filepath) ;
1256
1265
path. push ( filename) ;
@@ -1281,24 +1290,9 @@ mod tests {
1281
1290
let best_block = BestBlock :: from_network ( network) ;
1282
1291
let params = ChainParameters { network, best_block } ;
1283
1292
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) ) ) ;
1302
1296
let p2p_gossip_sync = Arc :: new ( P2PGossipSync :: new ( network_graph. clone ( ) , Some ( chain_source. clone ( ) ) , logger. clone ( ) ) ) ;
1303
1297
let rapid_gossip_sync = Arc :: new ( RapidGossipSync :: new ( network_graph. clone ( ) , logger. clone ( ) ) ) ;
1304
1298
let msg_handler = MessageHandler {
@@ -1382,6 +1376,10 @@ mod tests {
1382
1376
node. node . best_block_updated ( & header, height) ;
1383
1377
node. chain_monitor . best_block_updated ( & header, height) ;
1384
1378
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) ) ;
1385
1383
} ,
1386
1384
_ => { } ,
1387
1385
}
@@ -1394,6 +1392,10 @@ mod tests {
1394
1392
let height = node. best_block . height + 1 ;
1395
1393
let header = create_dummy_header ( prev_blockhash, height) ;
1396
1394
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) ) ;
1397
1399
if i == num_blocks {
1398
1400
node. node . best_block_updated ( & header, height) ;
1399
1401
node. chain_monitor . best_block_updated ( & header, height) ;
0 commit comments