X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fln%2Freorg_tests.rs;h=7b36ae0fc4a9d2af97badcbb0c503a1262fdf64d;hb=7181b53aa47b8c25aca01fda9661508d0ec7be59;hp=570dc3d0eeeece8d7a4f50d006e807d589b66d4e;hpb=3ec529d7cc06e15c0d55161e30b931ac115fac95;p=rust-lightning diff --git a/lightning/src/ln/reorg_tests.rs b/lightning/src/ln/reorg_tests.rs index 570dc3d0..7b36ae0f 100644 --- a/lightning/src/ln/reorg_tests.rs +++ b/lightning/src/ln/reorg_tests.rs @@ -15,7 +15,6 @@ use chain::{Confirm, Watch}; use ln::channelmanager::{ChannelManager, ChannelManagerReadArgs}; use ln::features::InitFeatures; use ln::msgs::ChannelMessageHandler; -use routing::network_graph::NetworkUpdate; use util::enforcing_trait_impls::EnforcingSigner; use util::events::{Event, MessageSendEvent, MessageSendEventsProvider, ClosureReason}; use util::test_utils; @@ -99,7 +98,7 @@ fn do_test_onchain_htlc_reorg(local_commitment: bool, claim: bool) { vec![node_1_commitment_txn[0].clone(), node_2_commitment_txn[0].clone()] } else { // Broadcast node 2 commitment txn - let node_2_commitment_txn = get_local_commitment_txn!(nodes[2], chan_2.2); + let mut node_2_commitment_txn = get_local_commitment_txn!(nodes[2], chan_2.2); assert_eq!(node_2_commitment_txn.len(), 2); // 1 local commitment tx, 1 Received HTLC-Claim assert_eq!(node_2_commitment_txn[0].output.len(), 2); // to-remote and Received HTLC (to-self is dust) check_spends!(node_2_commitment_txn[0], chan_2.3); @@ -114,12 +113,10 @@ fn do_test_onchain_htlc_reorg(local_commitment: bool, claim: bool) { check_spends!(node_1_commitment_txn[0], chan_2.3); check_spends!(node_1_commitment_txn[1], node_2_commitment_txn[0]); - // Confirm node 2's commitment txn (and node 1's HTLC-Timeout) on node 1 - header.prev_blockhash = nodes[1].best_block_hash(); - let block = Block { header, txdata: vec![node_2_commitment_txn[0].clone(), node_1_commitment_txn[1].clone()] }; - connect_block(&nodes[1], &block); + // Confirm node 1's HTLC-Timeout on node 1 + mine_transaction(&nodes[1], &node_1_commitment_txn[1]); // ...but return node 2's commitment tx (and claim) in case claim is set and we're preparing to reorg - node_2_commitment_txn + vec![node_2_commitment_txn.pop().unwrap()] }; check_added_monitors!(nodes[1], 1); check_closed_broadcast!(nodes[1], true); // We should get a BroadcastChannelUpdate (and *only* a BroadcstChannelUpdate) @@ -141,7 +138,7 @@ fn do_test_onchain_htlc_reorg(local_commitment: bool, claim: bool) { // ChannelManager only polls chain::Watch::release_pending_monitor_events when we // probe it for events, so we probe non-message events here (which should just be the // PaymentForwarded event). - expect_payment_forwarded!(nodes[1], Some(1000), true); + expect_payment_forwarded!(nodes[1], nodes[0], Some(1000), true); } else { // Confirm the timeout tx and check that we fail the HTLC backwards let block = Block { @@ -204,7 +201,7 @@ fn do_test_unconf_chan(reload_node: bool, reorg_after_reload: bool, use_funding_ let channel_state = nodes[0].node.channel_state.lock().unwrap(); assert_eq!(channel_state.by_id.len(), 1); - assert_eq!(channel_state.short_to_id.len(), 1); + assert_eq!(channel_state.short_to_id.len(), 2); mem::drop(channel_state); if !reorg_after_reload {