Skip to content

Commit d45b38f

Browse files
committed
Test ChainMonitor's Electrum interface
1 parent 87f74fd commit d45b38f

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

lightning/src/ln/functional_test_utils.rs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,21 +122,25 @@ pub fn connect_block<'a, 'b, 'c, 'd>(node: &'a Node<'b, 'c, 'd>, block: &Block)
122122
do_connect_block(node, block, false);
123123
}
124124

125-
fn do_connect_block<'a, 'b, 'c, 'd>(node: &'a Node<'b, 'c, 'd>, block: &Block, skip_manager: bool) {
126-
let txdata: Vec<_> = block.txdata.iter().enumerate().collect();
125+
fn do_connect_block<'a, 'b, 'c, 'd>(node: &'a Node<'b, 'c, 'd>, block: &Block, skip_intermediaries: bool) {
127126
let height = node.best_block_info().1 + 1;
128-
node.chain_monitor.chain_monitor.block_connected(&block.header, &txdata, height);
129-
if !skip_manager {
127+
if !skip_intermediaries {
128+
let txdata: Vec<_> = block.txdata.iter().enumerate().collect();
130129
match *node.connect_style.borrow() {
131130
ConnectStyle::BestBlockFirst|ConnectStyle::BestBlockFirstSkippingBlocks => {
131+
node.chain_monitor.chain_monitor.update_best_block(&block.header, height);
132+
node.chain_monitor.chain_monitor.transactions_confirmed(&block.header, &txdata, height);
132133
node.node.update_best_block(&block.header, height);
133134
node.node.transactions_confirmed(&block.header, height, &txdata);
134135
},
135136
ConnectStyle::TransactionsFirst|ConnectStyle::TransactionsFirstSkippingBlocks => {
137+
node.chain_monitor.chain_monitor.transactions_confirmed(&block.header, &txdata, height);
138+
node.chain_monitor.chain_monitor.update_best_block(&block.header, height);
136139
node.node.transactions_confirmed(&block.header, height, &txdata);
137140
node.node.update_best_block(&block.header, height);
138141
},
139142
ConnectStyle::FullBlockViaListen => {
143+
node.chain_monitor.chain_monitor.block_connected(&block.header, &txdata, height);
140144
Listen::block_connected(node.node, &block, height);
141145
}
142146
}
@@ -151,17 +155,19 @@ pub fn disconnect_blocks<'a, 'b, 'c, 'd>(node: &'a Node<'b, 'c, 'd>, count: u32)
151155
assert!(orig_header.1 > 0); // Cannot disconnect genesis
152156
let prev_header = node.blocks.borrow().last().unwrap().clone();
153157

154-
node.chain_monitor.chain_monitor.block_disconnected(&orig_header.0, orig_header.1);
155158
match *node.connect_style.borrow() {
156159
ConnectStyle::FullBlockViaListen => {
160+
node.chain_monitor.chain_monitor.block_disconnected(&orig_header.0, orig_header.1);
157161
Listen::block_disconnected(node.node, &orig_header.0, orig_header.1);
158162
},
159163
ConnectStyle::BestBlockFirstSkippingBlocks|ConnectStyle::TransactionsFirstSkippingBlocks => {
160164
if i == count - 1 {
165+
node.chain_monitor.chain_monitor.update_best_block(&prev_header.0, prev_header.1);
161166
node.node.update_best_block(&prev_header.0, prev_header.1);
162167
}
163168
},
164169
_ => {
170+
node.chain_monitor.chain_monitor.update_best_block(&prev_header.0, prev_header.1);
165171
node.node.update_best_block(&prev_header.0, prev_header.1);
166172
},
167173
}

0 commit comments

Comments
 (0)