@@ -807,6 +807,7 @@ async fn can_handle_batch_revert() -> eyre::Result<()> {
807807 Ok ( ( ) )
808808}
809809
810+ #[ allow( clippy:: large_stack_frames) ]
810811#[ tokio:: test]
811812async fn can_handle_reorgs_while_sequencing ( ) -> eyre:: Result < ( ) > {
812813 reth_tracing:: init_test_tracing ( ) ;
@@ -829,31 +830,12 @@ async fn can_handle_reorgs_while_sequencing() -> eyre::Result<()> {
829830 . expect ( "valid url that will not be used as test batches use calldata" ) ,
830831 ) ;
831832 config. engine_driver_args . sync_at_startup = false ;
832-
833- let ( _, events) = ScrollWireProtocolHandler :: new ( ScrollWireConfig :: new ( true ) ) ;
834- let ( rnm, handle, l1_watcher_tx) = config
835- . clone ( )
836- . build (
837- RollupNodeContext :: new (
838- node. inner . network . clone ( ) ,
839- chain_spec. clone ( ) ,
840- path. clone ( ) ,
841- SCROLL_GAS_LIMIT ,
842- ) ,
843- events,
844- node. inner . add_ons_handle . rpc_handle . rpc_server_handles . clone ( ) ,
845- )
846- . await ?;
847- let l1_watcher_tx = l1_watcher_tx. unwrap ( ) ;
848-
849- // Spawn a task that constantly polls the rnm to make progress.
850- tokio:: spawn ( async {
851- let _ = rnm. await ;
852- } ) ;
853-
854- // Request an event stream from the rollup node manager and manually poll rnm to process the
855- // event stream request from the handle.
856- let mut rnm_events = handle. get_event_listener ( ) . await ?;
833+ let ( nodes, _tasks, _) = setup_engine ( config, 1 , chain_spec, false , false ) . await ?;
834+ let node = nodes. first ( ) . unwrap ( ) ;
835+ let l1_watcher_tx = node. inner . add_ons_handle . l1_watcher_tx . as_ref ( ) . unwrap ( ) ;
836+ let mut rnm_events =
837+ node. inner . add_ons_handle . rollup_manager_handle . get_event_listener ( ) . await ?;
838+ let sequencer_rnm_handle = nodes[ 0 ] . inner . add_ons_handle . rollup_manager_handle . clone ( ) ;
857839
858840 // Send an L1 message.
859841 let message = TxL1Message {
@@ -868,7 +850,7 @@ async fn can_handle_reorgs_while_sequencing() -> eyre::Result<()> {
868850 // Let the sequencer build 10 blocks before performing the reorg process.
869851 let mut i = 0 ;
870852 loop {
871- handle . build_block ( ) . await ;
853+ sequencer_rnm_handle . build_block ( ) . await ;
872854 if let Some ( RollupManagerEvent :: BlockSequenced ( _) ) = rnm_events. next ( ) . await {
873855 if i == 10 {
874856 break
@@ -890,7 +872,7 @@ async fn can_handle_reorgs_while_sequencing() -> eyre::Result<()> {
890872 l1_watcher_tx. send ( Arc :: new ( L1Notification :: NewBlock ( 10 ) ) ) . await ?;
891873
892874 // Wait for block that contains the L1 message.
893- handle . build_block ( ) . await ;
875+ sequencer_rnm_handle . build_block ( ) . await ;
894876 let l2_reorged_height;
895877 loop {
896878 if let Some ( RollupManagerEvent :: BlockSequenced ( block) ) = rnm_events. next ( ) . await {
@@ -911,7 +893,7 @@ async fn can_handle_reorgs_while_sequencing() -> eyre::Result<()> {
911893 }
912894
913895 // Get the next sequenced L2 block.
914- handle . build_block ( ) . await ;
896+ sequencer_rnm_handle . build_block ( ) . await ;
915897 loop {
916898 if let Some ( RollupManagerEvent :: BlockSequenced ( block) ) = rnm_events. next ( ) . await {
917899 assert_eq ! ( block. number, l2_reorged_height) ;
0 commit comments