+
+ #[test]
+ fn test_static_output_closing_tx() {
+ let nodes = create_network(2);
+
+ let chan = create_announced_chan_between_nodes(&nodes, 0, 1);
+
+ send_payment(&nodes[0], &vec!(&nodes[1])[..], 8000000);
+ let closing_tx = close_channel(&nodes[0], &nodes[1], &chan.2, chan.3, true).2;
+
+ let header = BlockHeader { version: 0x20000000, prev_blockhash: Default::default(), merkle_root: Default::default(), time: 42, bits: 42, nonce: 42 };
+ nodes[0].chain_monitor.block_connected_with_filtering(&Block { header, txdata: vec![closing_tx.clone()] }, 1);
+ let events = nodes[0].chan_monitor.simple_monitor.get_and_clear_pending_events();
+ let spend_tx = check_static_output!(events, nodes, 0, 0, 2, 0);
+ check_spends!(spend_tx, closing_tx.clone());
+
+ nodes[1].chain_monitor.block_connected_with_filtering(&Block { header, txdata: vec![closing_tx.clone()] }, 1);
+ let events = nodes[1].chan_monitor.simple_monitor.get_and_clear_pending_events();
+ let spend_tx = check_static_output!(events, nodes, 0, 0, 2, 1);
+ check_spends!(spend_tx, closing_tx);
+ }