-pub struct NodeCfg {
- pub chain_monitor: Arc<chaininterface::ChainWatchInterfaceUtil>,
- pub tx_broadcaster: Arc<test_utils::TestBroadcaster>,
- pub fee_estimator: Arc<test_utils::TestFeeEstimator>,
- pub chan_monitor: test_utils::TestChannelMonitor,
- pub keys_manager: Arc<test_utils::TestKeysInterface>,
- pub logger: Arc<test_utils::TestLogger>,
+pub fn connect_block<'a, 'b, 'c, 'd>(node: &'a Node<'b, 'c, 'd>, block: &Block, height: u32) {
+ let txdata: Vec<_> = block.txdata.iter().enumerate().collect();
+ node.chain_monitor.chain_monitor.block_connected(&block.header, &txdata, height);
+ node.node.block_connected(&block.header, &txdata, height);
+}
+
+pub fn disconnect_block<'a, 'b, 'c, 'd>(node: &'a Node<'b, 'c, 'd>, header: &BlockHeader, height: u32) {
+ node.chain_monitor.chain_monitor.block_disconnected(header, height);
+ node.node.block_disconnected(header);
+}
+
+pub struct TestChanMonCfg {
+ pub tx_broadcaster: test_utils::TestBroadcaster,
+ pub fee_estimator: test_utils::TestFeeEstimator,
+ pub chain_source: test_utils::TestChainSource,
+ pub persister: test_utils::TestPersister,
+ pub logger: test_utils::TestLogger,
+ pub keys_manager: test_utils::TestKeysInterface,
+}
+
+pub struct NodeCfg<'a> {
+ pub chain_source: &'a test_utils::TestChainSource,
+ pub tx_broadcaster: &'a test_utils::TestBroadcaster,
+ pub fee_estimator: &'a test_utils::TestFeeEstimator,
+ pub chain_monitor: test_utils::TestChainMonitor<'a>,
+ pub keys_manager: &'a test_utils::TestKeysInterface,
+ pub logger: &'a test_utils::TestLogger,