Skip to content

Commit 42a991c

Browse files
committed
fix: use database handle from chain-orchastrator handle
1 parent 94736e7 commit 42a991c

File tree

7 files changed

+23
-39
lines changed

7 files changed

+23
-39
lines changed

crates/node/src/node.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ use reth_scroll_node::{
1515
ScrollConsensusBuilder, ScrollExecutorBuilder, ScrollNode, ScrollPayloadBuilderBuilder,
1616
ScrollPoolBuilder,
1717
};
18-
use scroll_db::Database;
1918
use scroll_wire::{ScrollWireConfig, ScrollWireEvent, ScrollWireProtocolHandler};
2019
use std::sync::Arc;
2120
use tokio::sync::{mpsc::UnboundedReceiver, Mutex};
@@ -45,11 +44,6 @@ impl ScrollRollupNode {
4544

4645
Self { config, scroll_wire_events: Arc::new(Mutex::new(None)) }
4746
}
48-
49-
/// Returns the database instance.
50-
pub fn database(&self) -> Arc<Database> {
51-
self.config.database.clone().expect("database is set via hydration")
52-
}
5347
}
5448

5549
impl<N> Node<N> for ScrollRollupNode

crates/node/src/test_utils/database.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ impl<'a> DatabaseHelper<'a> {
1818
}
1919

2020
/// Get the database for this node.
21-
fn database(&self) -> Arc<Database> {
22-
self.fixture.nodes[self.node_index].database.clone()
21+
async fn database(&self) -> eyre::Result<Arc<Database>> {
22+
Ok(self.fixture.nodes[self.node_index].rollup_manager_handle.get_database_handle().await?)
2323
}
2424

2525
/// Get the finalized block number of a batch by its index.
@@ -29,8 +29,8 @@ impl<'a> DatabaseHelper<'a> {
2929
pub async fn get_batch_finalized_block_number_by_index(
3030
&self,
3131
index: u64,
32-
) -> Result<Option<Option<u64>>, DatabaseError> {
33-
let db = self.database();
32+
) -> eyre::Result<Option<Option<u64>>> {
33+
let db = self.database().await?;
3434
let batch = db
3535
.tx_mut(move |tx| async move {
3636
let batch = tx.get_batch_by_index(index).await?;

crates/node/src/test_utils/fixture.rs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ use rollup_node_watcher::L1Notification;
3636
use scroll_alloy_consensus::ScrollPooledTransaction;
3737
use scroll_alloy_provider::{ScrollAuthApiEngineClient, ScrollEngineApi};
3838
use scroll_alloy_rpc_types::Transaction;
39-
use scroll_db::Database;
4039
use scroll_engine::{Engine, ForkchoiceState};
4140
use std::{
4241
fmt::{Debug, Formatter},
@@ -100,8 +99,6 @@ pub struct NodeHandle {
10099
pub chain_orchestrator_rx: EventStream<ChainOrchestratorEvent>,
101100
/// Chain orchestrator handle.
102101
pub rollup_manager_handle: ChainOrchestratorHandle<ScrollNetworkHandle>,
103-
/// Database instance.
104-
pub database: Arc<Database>,
105102
/// The type of the node.
106103
pub typ: NodeType,
107104
}
@@ -595,7 +592,7 @@ impl TestFixtureBuilder {
595592
None
596593
};
597594

598-
let (nodes, databases, _tasks, wallet) = setup_engine(
595+
let (nodes, _tasks, wallet) = setup_engine(
599596
config.clone(),
600597
self.num_nodes,
601598
chain_spec.clone(),
@@ -631,7 +628,6 @@ impl TestFixtureBuilder {
631628
chain_orchestrator_rx,
632629
l1_watcher_tx,
633630
rollup_manager_handle,
634-
database: databases[index].clone(),
635631
typ: if config.sequencer_args.sequencer_enabled && index == 0 {
636632
NodeType::Sequencer
637633
} else {

crates/node/src/test_utils/mod.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ use reth_provider::providers::BlockchainProvider;
9999
use reth_rpc_server_types::RpcModuleSelection;
100100
use reth_tasks::TaskManager;
101101
use rollup_node_sequencer::L1MessageInclusionMode;
102-
use scroll_db::Database;
103102
use std::{path::PathBuf, sync::Arc};
104103
use tokio::sync::Mutex;
105104
use tracing::{span, Level};
@@ -121,7 +120,6 @@ pub async fn setup_engine(
121120
BlockchainProvider<NodeTypesWithDBAdapter<ScrollRollupNode, TmpDB>>,
122121
>,
123122
>,
124-
Vec<Arc<Database>>,
125123
TaskManager,
126124
Wallet,
127125
)>
@@ -143,7 +141,6 @@ where
143141

144142
// Create nodes and peer them
145143
let mut nodes: Vec<NodeTestContext<_, _>> = Vec::with_capacity(num_nodes);
146-
let mut databases: Vec<Arc<Database>> = Vec::with_capacity(num_nodes);
147144

148145
for idx in 0..num_nodes {
149146
// disable sequencer nodes after the first one
@@ -166,9 +163,7 @@ where
166163
let _enter = span.enter();
167164
let testing_node = NodeBuilder::new(node_config.clone()).testing_node(exec.clone());
168165
let testing_config = testing_node.config().clone();
169-
let node: ScrollRollupNode =
170-
ScrollRollupNode::new(scroll_node_config.clone(), testing_config).await;
171-
let database = node.database();
166+
let node = ScrollRollupNode::new(scroll_node_config.clone(), testing_config).await;
172167
let RethNodeHandle { node, node_exit_future: _ } = testing_node
173168
.with_types_and_provider::<ScrollRollupNode, BlockchainProvider<_>>()
174169
.with_components(node.components_builder())
@@ -206,11 +201,10 @@ where
206201
}
207202
}
208203

209-
databases.push(database);
210204
nodes.push(node);
211205
}
212206

213-
Ok((nodes, databases, tasks, Wallet::default().with_chain_id(chain_spec.chain().into())))
207+
Ok((nodes, tasks, Wallet::default().with_chain_id(chain_spec.chain().into())))
214208
}
215209

216210
/// Generate a transfer transaction with the given wallet.

crates/node/tests/e2e.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -296,12 +296,12 @@ async fn can_forward_tx_to_sequencer() -> eyre::Result<()> {
296296

297297
// Create the chain spec for scroll mainnet with Euclid v2 activated and a test genesis.
298298
let chain_spec = (*SCROLL_DEV).clone();
299-
let (mut sequencer_node, _databases, _tasks, _) =
299+
let (mut sequencer_node, _tasks, _) =
300300
setup_engine(sequencer_node_config, 1, chain_spec.clone(), false, true).await.unwrap();
301301

302302
let sequencer_url = format!("http://localhost:{}", sequencer_node[0].rpc_url().port().unwrap());
303303
follower_node_config.network_args.sequencer_url = Some(sequencer_url);
304-
let (mut follower_node, _databases, _tasks, wallet) =
304+
let (mut follower_node, _tasks, wallet) =
305305
setup_engine(follower_node_config, 1, chain_spec, false, true).await.unwrap();
306306

307307
let wallet = Arc::new(Mutex::new(wallet));
@@ -459,7 +459,7 @@ async fn can_bridge_blocks() -> eyre::Result<()> {
459459
let chain_spec = (*SCROLL_DEV).clone();
460460

461461
// Setup the bridge node and a standard node.
462-
let (mut nodes, _databases, tasks, _) =
462+
let (mut nodes, tasks, _) =
463463
setup_engine(default_test_scroll_rollup_node_config(), 1, chain_spec.clone(), false, false)
464464
.await?;
465465
let mut bridge_node = nodes.pop().unwrap();
@@ -559,7 +559,7 @@ async fn shutdown_consolidates_most_recent_batch_on_startup() -> eyre::Result<()
559559
let chain_spec = (*SCROLL_MAINNET).clone();
560560

561561
// Launch a node
562-
let (mut nodes, _databases, _tasks, _) =
562+
let (mut nodes, _tasks, _) =
563563
setup_engine(default_test_scroll_rollup_node_config(), 1, chain_spec.clone(), false, false)
564564
.await?;
565565
let node = nodes.pop().unwrap();
@@ -829,7 +829,7 @@ async fn graceful_shutdown_sets_fcs_to_latest_signed_block_in_db_on_start_up() -
829829
config.signer_args.private_key = Some(PrivateKeySigner::random());
830830

831831
// Launch a node
832-
let (mut nodes, _databases, _tasks, _) =
832+
let (mut nodes, _tasks, _) =
833833
setup_engine(config.clone(), 1, chain_spec.clone(), false, false).await?;
834834
let node = nodes.pop().unwrap();
835835

crates/node/tests/sync.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ async fn test_should_consolidate_to_block_15k() -> eyre::Result<()> {
7979
};
8080

8181
let chain_spec = (*SCROLL_SEPOLIA).clone();
82-
let (mut nodes, _databases, _tasks, _) =
82+
let (mut nodes, _tasks, _) =
8383
setup_engine(node_config, 1, chain_spec.clone(), false, false).await?;
8484
let node = nodes.pop().unwrap();
8585

@@ -550,7 +550,7 @@ async fn test_chain_orchestrator_l1_reorg() -> eyre::Result<()> {
550550
let chain_spec = (*SCROLL_DEV).clone();
551551

552552
// Create a sequencer node and an unsynced node.
553-
let (mut nodes, _databases, _tasks, _) =
553+
let (mut nodes, _tasks, _) =
554554
setup_engine(sequencer_node_config.clone(), 1, chain_spec.clone(), false, false)
555555
.await
556556
.unwrap();
@@ -559,7 +559,7 @@ async fn test_chain_orchestrator_l1_reorg() -> eyre::Result<()> {
559559
let mut sequencer_events = sequencer_handle.get_event_listener().await?;
560560
let sequencer_l1_watcher_tx = sequencer.inner.add_ons_handle.l1_watcher_tx.clone().unwrap();
561561

562-
let (mut nodes, _databases, _tasks, _) =
562+
let (mut nodes, _tasks, _) =
563563
setup_engine(node_config.clone(), 1, chain_spec.clone(), false, false).await.unwrap();
564564
let mut follower = nodes.pop().unwrap();
565565
let mut follower_events = follower.inner.rollup_manager_handle.get_event_listener().await?;

crates/sequencer/tests/e2e.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ async fn can_build_blocks_with_delayed_l1_messages() {
211211
const L1_MESSAGE_DELAY: u64 = 2;
212212

213213
// setup a test node
214-
let (mut nodes, _databases, _tasks, wallet) =
214+
let (mut nodes, _tasks, wallet) =
215215
setup_engine(default_test_scroll_rollup_node_config(), 1, chain_spec, false, false)
216216
.await
217217
.unwrap();
@@ -336,7 +336,7 @@ async fn can_build_blocks_with_finalized_l1_messages() {
336336

337337
let chain_spec = SCROLL_DEV.clone();
338338
// setup a test node
339-
let (mut nodes, _databases, _tasks, wallet) =
339+
let (mut nodes, _tasks, wallet) =
340340
setup_engine(default_test_scroll_rollup_node_config(), 1, chain_spec, false, false)
341341
.await
342342
.unwrap();
@@ -513,7 +513,7 @@ async fn can_sequence_blocks_with_private_key_file() -> eyre::Result<()> {
513513
rpc_args: RpcArgs::default(),
514514
};
515515

516-
let (nodes, _databases, _tasks, wallet) =
516+
let (nodes, _tasks, wallet) =
517517
setup_engine(rollup_manager_args, 1, chain_spec, false, false).await?;
518518
let wallet = Arc::new(Mutex::new(wallet));
519519

@@ -616,7 +616,7 @@ async fn can_sequence_blocks_with_hex_key_file_without_prefix() -> eyre::Result<
616616
rpc_args: RpcArgs::default(),
617617
};
618618

619-
let (nodes, _databases, _tasks, wallet) =
619+
let (nodes, _tasks, wallet) =
620620
setup_engine(rollup_manager_args, 1, chain_spec, false, false).await?;
621621
let wallet = Arc::new(Mutex::new(wallet));
622622

@@ -677,7 +677,7 @@ async fn can_build_blocks_and_exit_at_gas_limit() {
677677

678678
// setup a test node. use a high value for the payload building duration to be sure we don't
679679
// exit early.
680-
let (mut nodes, _databases, _tasks, wallet) = setup_engine(
680+
let (mut nodes, _tasks, wallet) = setup_engine(
681681
ScrollRollupNodeConfig {
682682
sequencer_args: SequencerArgs { payload_building_duration: 1000, ..Default::default() },
683683
..default_test_scroll_rollup_node_config()
@@ -763,7 +763,7 @@ async fn can_build_blocks_and_exit_at_time_limit() {
763763

764764
// setup a test node. use a low payload building duration in order to exit before we reach the
765765
// gas limit.
766-
let (mut nodes, _databases, _tasks, wallet) = setup_engine(
766+
let (mut nodes, _tasks, wallet) = setup_engine(
767767
ScrollRollupNodeConfig {
768768
sequencer_args: SequencerArgs { payload_building_duration: 10, ..Default::default() },
769769
..default_test_scroll_rollup_node_config()
@@ -851,7 +851,7 @@ async fn should_limit_l1_message_cumulative_gas() {
851851

852852
// setup a test node
853853
let chain_spec = SCROLL_DEV.clone();
854-
let (mut nodes, _databases, _tasks, wallet) =
854+
let (mut nodes, _tasks, wallet) =
855855
setup_engine(default_test_scroll_rollup_node_config(), 1, chain_spec, false, false)
856856
.await
857857
.unwrap();
@@ -968,7 +968,7 @@ async fn should_not_add_skipped_messages() {
968968

969969
// setup a test node
970970
let chain_spec = SCROLL_DEV.clone();
971-
let (mut nodes, _databases, _tasks, wallet) =
971+
let (mut nodes, _tasks, wallet) =
972972
setup_engine(default_test_scroll_rollup_node_config(), 1, chain_spec, false, false)
973973
.await
974974
.unwrap();

0 commit comments

Comments
 (0)