- Result_NoneAPIErrorZ close_res = peer1.chan_manager.close_channel(peer1_chans[0].get_channel_id());
- assert close_res instanceof Result_NoneAPIErrorZ.Result_NoneAPIErrorZ_OK;
-
- peer1.peer_manager.process_events();
- while (!list.isEmpty()) { list.poll().join(); }
- peer2.peer_manager.process_events();
- while (!list.isEmpty()) { list.poll().join(); }
- peer1.peer_manager.process_events();
- while (!list.isEmpty()) { list.poll().join(); }
- peer2.peer_manager.process_events();
- while (!list.isEmpty()) { list.poll().join(); }
-
- assert peer1.broadcast_set.size() == 1;
- assert peer2.broadcast_set.size() == 1;
+ if (nice_close) {
+ Result_NoneAPIErrorZ close_res = peer1.chan_manager.close_channel(peer1_chans[0].get_channel_id());
+ assert close_res instanceof Result_NoneAPIErrorZ.Result_NoneAPIErrorZ_OK;
+
+ peer1.peer_manager.process_events();
+ while (!list.isEmpty()) { list.poll().join(); }
+ peer2.peer_manager.process_events();
+ while (!list.isEmpty()) { list.poll().join(); }
+ peer1.peer_manager.process_events();
+ while (!list.isEmpty()) { list.poll().join(); }
+ peer2.peer_manager.process_events();
+ while (!list.isEmpty()) { list.poll().join(); }
+
+ assert peer1.broadcast_set.size() == 1;
+ assert peer2.broadcast_set.size() == 1;
+ } else {
+ peer1.chan_manager.force_close_all_channels();
+
+ peer1.peer_manager.process_events();
+ while (!list.isEmpty()) { list.poll().join(); }
+ peer2.peer_manager.process_events();
+ while (!list.isEmpty()) { list.poll().join(); }
+ peer1.peer_manager.process_events();
+ while (!list.isEmpty()) { list.poll().join(); }
+ peer2.peer_manager.process_events();
+ while (!list.isEmpty()) { list.poll().join(); }
+
+ assert peer1.broadcast_set.size() == 1;
+ assert peer2.broadcast_set.size() == 0;
+
+ Transaction tx = new Transaction(bitcoinj_net, peer1.broadcast_set.getFirst().get_contents());
+ b = new Block(bitcoinj_net, 2, b.getHash(), Sha256Hash.ZERO_HASH, 42, 0, 0,
+ Arrays.asList(new Transaction[]{tx}));
+ TwoTuple<byte[], TxOut[]>[] watch_outputs = peer2.connect_block(b, 1);
+ assert watch_outputs.length == 1;
+ assert Arrays.equals(watch_outputs[0].a, tx.getTxId().getReversedBytes());
+ assert watch_outputs[0].b.length == 1;
+ }