@@ -353,10 +353,13 @@ TwoTuple<byte[], TwoTuple<Integer, TxOut>[]>[] connect_block(Block b, int height
353
353
txn = new TwoTuple []{txp };
354
354
} else
355
355
txn = new TwoTuple [0 ];
356
- chan_manager .as_Listen ().block_connected (b .bitcoinSerialize (), height );
357
356
if (chain_monitor != null ) {
357
+ chan_manager .as_Listen ().block_connected (b .bitcoinSerialize (), height );
358
358
chain_monitor .block_connected (header , txn , height );
359
359
} else {
360
+ chan_manager .transactions_confirmed (header , height , txn );
361
+ chan_manager .update_best_block (header , height );
362
+ // Connect manually if we aren't using a ChainMonitor and are implementing Watch ourselves
360
363
synchronized (monitors ) {
361
364
assert monitors .size () == 1 ;
362
365
for (ChannelMonitor mon : monitors .values ()) {
@@ -530,13 +533,13 @@ TestState do_test_message_handler() throws InterruptedException {
530
533
funding .getInputs ().get (0 ).setWitness (new TransactionWitness (2 )); // Make sure we don't complain about lack of witness
531
534
funding .getInput (0 ).getWitness ().setPush (0 , new byte []{0x1 });
532
535
funding .addOutput (Coin .SATOSHI .multiply (10000 ), new Script (funding_spk ));
533
- peer1 .chan_manager .funding_transaction_generated (chan_id , OutPoint .constructor_new (funding .getTxId ().getReversedBytes (), (short ) 0 ));
536
+ Result_NoneAPIErrorZ funding_res = peer1 .chan_manager .funding_transaction_generated (chan_id , funding .bitcoinSerialize (), (short ) 0 );
537
+ assert funding_res instanceof Result_NoneAPIErrorZ .Result_NoneAPIErrorZ_OK ;
534
538
wait_events_processed (peer1 , peer2 );
535
539
536
- events = peer1 .chan_manager_events .get_and_clear_pending_events ();
537
- assert events .length == 1 ;
538
- assert events [0 ] instanceof Event .FundingBroadcastSafe ;
539
- assert ((Event .FundingBroadcastSafe ) events [0 ]).user_channel_id == 42 ;
540
+ assert peer1 .broadcast_set .size () == 1 ;
541
+ assert Arrays .equals (peer1 .broadcast_set .get (0 ), funding .bitcoinSerialize ());
542
+ peer1 .broadcast_set .clear ();
540
543
541
544
Block b = new Block (bitcoinj_net , 2 , Sha256Hash .ZERO_HASH , Sha256Hash .ZERO_HASH , 42 , 0 , 0 , Arrays .asList (new Transaction []{funding }));
542
545
peer1 .connect_block (b , 1 , 0 );
@@ -655,7 +658,7 @@ void do_test_message_handler_b(TestState state) {
655
658
wait_events_processed (state .peer1 , state .peer2 );
656
659
657
660
assert state .peer1 .broadcast_set .size () == 1 ;
658
- assert state .peer2 .broadcast_set .size () == 0 ;
661
+ assert state .peer2 .broadcast_set .size () == 1 ;
659
662
660
663
NetworkParameters bitcoinj_net = NetworkParameters .fromID (NetworkParameters .ID_MAINNET );
661
664
Transaction tx = new Transaction (bitcoinj_net , state .peer1 .broadcast_set .getFirst ());
0 commit comments