@@ -1514,67 +1514,6 @@ pub fn do_test<Out: Output>(data: &[u8], underlying_out: Out, anchors: bool) {
1514
1514
0x26 => process_ev_noret ! ( 2 , true ) ,
1515
1515
0x27 => process_ev_noret ! ( 2 , false ) ,
1516
1516
1517
- 0xb0 | 0xb1 | 0xb2 => {
1518
- // Restart node A, picking among the in-flight `ChannelMonitor`s to use based on
1519
- // the value of `v` we're matching.
1520
- if !chan_a_disconnected {
1521
- nodes[ 1 ] . peer_disconnected ( nodes[ 0 ] . get_our_node_id ( ) ) ;
1522
- chan_a_disconnected = true ;
1523
- push_excess_b_events ! (
1524
- nodes[ 1 ] . get_and_clear_pending_msg_events( ) . drain( ..) ,
1525
- Some ( 0 )
1526
- ) ;
1527
- ab_events. clear ( ) ;
1528
- ba_events. clear ( ) ;
1529
- }
1530
- let ( new_node_a, new_monitor_a) =
1531
- reload_node ! ( node_a_ser, 0 , monitor_a, v, keys_manager_a, fee_est_a) ;
1532
- nodes[ 0 ] = new_node_a;
1533
- monitor_a = new_monitor_a;
1534
- } ,
1535
- 0xb3 ..=0xbb => {
1536
- // Restart node B, picking among the in-flight `ChannelMonitor`s to use based on
1537
- // the value of `v` we're matching.
1538
- if !chan_a_disconnected {
1539
- nodes[ 0 ] . peer_disconnected ( nodes[ 1 ] . get_our_node_id ( ) ) ;
1540
- chan_a_disconnected = true ;
1541
- nodes[ 0 ] . get_and_clear_pending_msg_events ( ) ;
1542
- ab_events. clear ( ) ;
1543
- ba_events. clear ( ) ;
1544
- }
1545
- if !chan_b_disconnected {
1546
- nodes[ 2 ] . peer_disconnected ( nodes[ 1 ] . get_our_node_id ( ) ) ;
1547
- chan_b_disconnected = true ;
1548
- nodes[ 2 ] . get_and_clear_pending_msg_events ( ) ;
1549
- bc_events. clear ( ) ;
1550
- cb_events. clear ( ) ;
1551
- }
1552
- // Note that we ensure 0x2d represents "use oldest monitor" to retain backwards
1553
- // compatibility with existing fuzz corpuses by using setting v % 3 == 0
1554
- let ( new_node_b, new_monitor_b) =
1555
- reload_node ! ( node_b_ser, 1 , monitor_b, v, keys_manager_b, fee_est_b) ;
1556
- nodes[ 1 ] = new_node_b;
1557
- monitor_b = new_monitor_b;
1558
- } ,
1559
- 0xbc | 0xbd | 0xbe => {
1560
- // Restart node C, picking among the in-flight `ChannelMonitor`s to use based on
1561
- // the value of `v` we're matching.
1562
- if !chan_b_disconnected {
1563
- nodes[ 1 ] . peer_disconnected ( nodes[ 2 ] . get_our_node_id ( ) ) ;
1564
- chan_b_disconnected = true ;
1565
- push_excess_b_events ! (
1566
- nodes[ 1 ] . get_and_clear_pending_msg_events( ) . drain( ..) ,
1567
- Some ( 2 )
1568
- ) ;
1569
- bc_events. clear ( ) ;
1570
- cb_events. clear ( ) ;
1571
- }
1572
- let ( new_node_c, new_monitor_c) =
1573
- reload_node ! ( node_c_ser, 2 , monitor_c, v, keys_manager_c, fee_est_c) ;
1574
- nodes[ 2 ] = new_node_c;
1575
- monitor_c = new_monitor_c;
1576
- } ,
1577
-
1578
1517
// 1/10th the channel size:
1579
1518
0x30 => send_noret ( & nodes[ 0 ] , & nodes[ 1 ] , chan_a, 10_000_000 , & mut p_id, & mut p_idx) ,
1580
1519
0x31 => send_noret ( & nodes[ 1 ] , & nodes[ 0 ] , chan_a, 10_000_000 , & mut p_id, & mut p_idx) ,
@@ -1722,6 +1661,67 @@ pub fn do_test<Out: Output>(data: &[u8], underlying_out: Out, anchors: bool) {
1722
1661
nodes[ 2 ] . maybe_propose_quiescence ( & nodes[ 1 ] . get_our_node_id ( ) , & chan_b_id) . unwrap ( )
1723
1662
} ,
1724
1663
1664
+ 0xb0 | 0xb1 | 0xb2 => {
1665
+ // Restart node A, picking among the in-flight `ChannelMonitor`s to use based on
1666
+ // the value of `v` we're matching.
1667
+ if !chan_a_disconnected {
1668
+ nodes[ 1 ] . peer_disconnected ( nodes[ 0 ] . get_our_node_id ( ) ) ;
1669
+ chan_a_disconnected = true ;
1670
+ push_excess_b_events ! (
1671
+ nodes[ 1 ] . get_and_clear_pending_msg_events( ) . drain( ..) ,
1672
+ Some ( 0 )
1673
+ ) ;
1674
+ ab_events. clear ( ) ;
1675
+ ba_events. clear ( ) ;
1676
+ }
1677
+ let ( new_node_a, new_monitor_a) =
1678
+ reload_node ! ( node_a_ser, 0 , monitor_a, v, keys_manager_a, fee_est_a) ;
1679
+ nodes[ 0 ] = new_node_a;
1680
+ monitor_a = new_monitor_a;
1681
+ } ,
1682
+ 0xb3 ..=0xbb => {
1683
+ // Restart node B, picking among the in-flight `ChannelMonitor`s to use based on
1684
+ // the value of `v` we're matching.
1685
+ if !chan_a_disconnected {
1686
+ nodes[ 0 ] . peer_disconnected ( nodes[ 1 ] . get_our_node_id ( ) ) ;
1687
+ chan_a_disconnected = true ;
1688
+ nodes[ 0 ] . get_and_clear_pending_msg_events ( ) ;
1689
+ ab_events. clear ( ) ;
1690
+ ba_events. clear ( ) ;
1691
+ }
1692
+ if !chan_b_disconnected {
1693
+ nodes[ 2 ] . peer_disconnected ( nodes[ 1 ] . get_our_node_id ( ) ) ;
1694
+ chan_b_disconnected = true ;
1695
+ nodes[ 2 ] . get_and_clear_pending_msg_events ( ) ;
1696
+ bc_events. clear ( ) ;
1697
+ cb_events. clear ( ) ;
1698
+ }
1699
+ // Note that we ensure 0x2d represents "use oldest monitor" to retain backwards
1700
+ // compatibility with existing fuzz corpuses by using setting v % 3 == 0
1701
+ let ( new_node_b, new_monitor_b) =
1702
+ reload_node ! ( node_b_ser, 1 , monitor_b, v, keys_manager_b, fee_est_b) ;
1703
+ nodes[ 1 ] = new_node_b;
1704
+ monitor_b = new_monitor_b;
1705
+ } ,
1706
+ 0xbc | 0xbd | 0xbe => {
1707
+ // Restart node C, picking among the in-flight `ChannelMonitor`s to use based on
1708
+ // the value of `v` we're matching.
1709
+ if !chan_b_disconnected {
1710
+ nodes[ 1 ] . peer_disconnected ( nodes[ 2 ] . get_our_node_id ( ) ) ;
1711
+ chan_b_disconnected = true ;
1712
+ push_excess_b_events ! (
1713
+ nodes[ 1 ] . get_and_clear_pending_msg_events( ) . drain( ..) ,
1714
+ Some ( 2 )
1715
+ ) ;
1716
+ bc_events. clear ( ) ;
1717
+ cb_events. clear ( ) ;
1718
+ }
1719
+ let ( new_node_c, new_monitor_c) =
1720
+ reload_node ! ( node_c_ser, 2 , monitor_c, v, keys_manager_c, fee_est_c) ;
1721
+ nodes[ 2 ] = new_node_c;
1722
+ monitor_c = new_monitor_c;
1723
+ } ,
1724
+
1725
1725
0xf0 => complete_monitor_update ( & monitor_a, & chan_1_id, & complete_first) ,
1726
1726
0xf1 => complete_monitor_update ( & monitor_a, & chan_1_id, & complete_second) ,
1727
1727
0xf2 => complete_monitor_update ( & monitor_a, & chan_1_id, & Vec :: pop) ,
0 commit comments