Skip to content

Commit 0b6342b

Browse files
committed
f Account for additional trait usage in OutputSweeper
1 parent 383608d commit 0b6342b

File tree

1 file changed

+23
-21
lines changed
  • lightning-background-processor/src

1 file changed

+23
-21
lines changed

lightning-background-processor/src/lib.rs

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)