@@ -9156,43 +9156,38 @@ fn test_coinbase_funding_tx() {
9156
9156
nodes[0].node.handle_accept_channel(&nodes[1].node.get_our_node_id(), &accept_channel);
9157
9157
9158
9158
// Create the coinbase funding transaction.
9159
- let (temporary_channel_id, tx, funding_output ) = create_coinbase_funding_transaction(&nodes[0], &nodes[1].node.get_our_node_id(), 100000, 42);
9159
+ let (temporary_channel_id, tx, _ ) = create_coinbase_funding_transaction(&nodes[0], &nodes[1].node.get_our_node_id(), 100000, 42);
9160
9160
9161
9161
nodes[0].node.funding_transaction_generated(&temporary_channel_id, &nodes[1].node.get_our_node_id(), tx.clone()).unwrap();
9162
9162
check_added_monitors!(nodes[0], 0);
9163
9163
let funding_created = get_event_msg!(nodes[0], MessageSendEvent::SendFundingCreated, nodes[1].node.get_our_node_id());
9164
9164
9165
9165
nodes[1].node.handle_funding_created(&nodes[0].node.get_our_node_id(), &funding_created);
9166
- {
9167
- let mut added_monitors = nodes[1].chain_monitor.added_monitors.lock().unwrap();
9168
- assert_eq!(added_monitors.len(), 1);
9169
- assert_eq!(added_monitors[0].0, funding_output);
9170
- added_monitors.clear();
9171
- }
9166
+ check_added_monitors!(nodes[1], 1);
9172
9167
expect_channel_pending_event(&nodes[1], &nodes[0].node.get_our_node_id());
9173
9168
9174
9169
let funding_signed = get_event_msg!(nodes[1], MessageSendEvent::SendFundingSigned, nodes[0].node.get_our_node_id());
9175
9170
9176
9171
nodes[0].node.handle_funding_signed(&nodes[1].node.get_our_node_id(), &funding_signed);
9177
- {
9178
- let mut added_monitors = nodes[0].chain_monitor.added_monitors.lock().unwrap();
9179
- assert_eq!(added_monitors.len(), 1);
9180
- assert_eq!(added_monitors[0].0, funding_output);
9181
- added_monitors.clear();
9182
- }
9172
+ check_added_monitors!(nodes[0], 1);
9183
9173
9184
9174
expect_channel_pending_event(&nodes[0], &nodes[1].node.get_our_node_id());
9185
9175
assert!(nodes[0].node.get_and_clear_pending_events().is_empty());
9186
9176
9187
- confirm_transaction_at(&nodes[0], &tx, 2);
9177
+ // Starting at height 0, we "confirm" the coinbase at height 1.
9178
+ confirm_transaction_at(&nodes[0], &tx, 1);
9179
+ // We connect 98 more blocks to have 99 confirmations for the coinbase transaction.
9188
9180
connect_blocks(&nodes[0], COINBASE_MATURITY - 2);
9189
- assert!(nodes[0].node.get_and_clear_pending_events().is_empty());
9181
+ // Check that we have no pending message events (we have not queued a `channel_ready` yet).
9182
+ assert!(nodes[0].node.get_and_clear_pending_msg_events().is_empty());
9183
+ // Now connect one more block which results in 100 confirmations of the coinbase transaction.
9190
9184
connect_blocks(&nodes[0], 1);
9185
+ // There should now be a `channel_ready` which can be handled.
9191
9186
let _ = &nodes[1].node.handle_channel_ready(&nodes[0].node.get_our_node_id(), &get_event_msg!(&nodes[0], MessageSendEvent::SendChannelReady, nodes[1].node.get_our_node_id()));
9192
9187
9193
- confirm_transaction_at(&nodes[1], &tx, 2 );
9188
+ confirm_transaction_at(&nodes[1], &tx, 1 );
9194
9189
connect_blocks(&nodes[1], COINBASE_MATURITY - 2);
9195
- assert!(nodes[1].node.get_and_clear_pending_events ().is_empty());
9190
+ assert!(nodes[1].node.get_and_clear_pending_msg_events ().is_empty());
9196
9191
connect_blocks(&nodes[1], 1);
9197
9192
expect_channel_ready_event(&nodes[1], &nodes[0].node.get_our_node_id());
9198
9193
create_chan_between_nodes_with_value_confirm_second(&nodes[0], &nodes[1]);
0 commit comments