Skip to content

Commit ee5e32e

Browse files
committed
apollo_l1_provider: check for uninitialized instead of bootstrapping+sync started
1 parent f3f2c47 commit ee5e32e

File tree

4 files changed

+18
-13
lines changed

4 files changed

+18
-13
lines changed

crates/apollo_l1_provider/src/bootstrapper.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,6 @@ impl Bootstrapper {
106106
self.catch_up_height
107107
}
108108

109-
pub fn sync_started(&self) -> bool {
110-
matches!(self.sync_task_handle, SyncTaskHandle::Started(_))
111-
}
112-
113109
fn sync_task_health_check(&self, is_caught_up: bool) {
114110
let SyncTaskHandle::Started(sync_task) = &self.sync_task_handle else {
115111
return;

crates/apollo_l1_provider/src/l1_provider.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ impl L1Provider {
107107
/// Accept new events from the scraper.
108108
#[instrument(skip_all, err)]
109109
pub fn add_events(&mut self, events: Vec<Event>) -> L1ProviderResult<()> {
110-
if self.state.is_bootstrapping() && !self.bootstrapper.sync_started() {
110+
if self.state.is_uninitialized() {
111111
return Err(L1ProviderError::Uninitialized);
112112
}
113113

@@ -183,7 +183,7 @@ impl L1Provider {
183183
height: BlockNumber,
184184
state: SessionState,
185185
) -> L1ProviderResult<()> {
186-
if self.state.is_bootstrapping() && !self.bootstrapper.sync_started() {
186+
if self.state.is_uninitialized() {
187187
return Err(L1ProviderError::Uninitialized);
188188
}
189189

@@ -202,7 +202,7 @@ impl L1Provider {
202202
n_txs: usize,
203203
height: BlockNumber,
204204
) -> L1ProviderResult<Vec<L1HandlerTransaction>> {
205-
if self.state.is_bootstrapping() && !self.bootstrapper.sync_started() {
205+
if self.state.is_uninitialized() {
206206
return Err(L1ProviderError::Uninitialized);
207207
}
208208

@@ -238,7 +238,7 @@ impl L1Provider {
238238
tx_hash: TransactionHash,
239239
height: BlockNumber,
240240
) -> L1ProviderResult<ValidationStatus> {
241-
if self.state.is_bootstrapping() && !self.bootstrapper.sync_started() {
241+
if self.state.is_uninitialized() {
242242
return Err(L1ProviderError::Uninitialized);
243243
}
244244

@@ -266,7 +266,7 @@ impl L1Provider {
266266
height: BlockNumber,
267267
) -> L1ProviderResult<()> {
268268
info!("Committing block to L1 provider at height {}.", height);
269-
if self.state.is_bootstrapping() && !self.bootstrapper.sync_started() {
269+
if self.state.is_uninitialized() {
270270
return Err(L1ProviderError::Uninitialized);
271271
}
272272

crates/apollo_l1_provider/src/l1_provider_tests.rs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,7 @@ async fn commit_block_backlog() {
371371
let mut l1_provider = L1ProviderContentBuilder::new()
372372
.with_bootstrapper(bootstrapper.clone())
373373
.with_txs([l1_handler(1), l1_handler(2), l1_handler(4)])
374+
.with_state(ProviderState::Uninitialized)
374375
.build_into_l1_provider();
375376

376377
l1_provider.initialize(STARTUP_HEIGHT, vec![]).await.expect("l1 provider initialize failed");
@@ -431,6 +432,7 @@ async fn bootstrap_commit_block_received_twice_no_error() {
431432
let mut l1_provider = L1ProviderContentBuilder::new()
432433
.with_bootstrapper(bootstrapper)
433434
.with_txs([l1_handler(1), l1_handler(2)])
435+
.with_state(ProviderState::Uninitialized)
434436
.build_into_l1_provider();
435437

436438
l1_provider.initialize(BlockNumber(0), vec![]).await.expect("l1 provider initialize failed");
@@ -452,6 +454,7 @@ async fn bootstrap_commit_block_received_twice_error_if_new_uncommitted_txs() {
452454
let mut l1_provider = L1ProviderContentBuilder::new()
453455
.with_bootstrapper(bootstrapper)
454456
.with_txs([l1_handler(1), l1_handler(2)])
457+
.with_state(ProviderState::Uninitialized)
455458
.build_into_l1_provider();
456459

457460
l1_provider.initialize(BlockNumber(0), vec![]).await.expect("l1 provider initialize failed");
@@ -1058,8 +1061,10 @@ async fn commit_block_historical_height_short_circuits_bootstrap() {
10581061

10591062
let batcher_height_old = 4;
10601063
let bootstrapper = make_bootstrapper!(backlog: []);
1061-
let l1_provider_builder =
1062-
L1ProviderContentBuilder::new().with_bootstrapper(bootstrapper).with_txs([l1_handler(1)]);
1064+
let l1_provider_builder = L1ProviderContentBuilder::new()
1065+
.with_bootstrapper(bootstrapper)
1066+
.with_state(ProviderState::Uninitialized)
1067+
.with_txs([l1_handler(1)]);
10631068
let l1_provider_builder_clone = l1_provider_builder.clone();
10641069
let mut l1_provider = l1_provider_builder.clone().build_into_l1_provider();
10651070
l1_provider.initialize(STARTUP_HEIGHT, vec![]).await.expect("l1 provider initialize failed");
@@ -1400,7 +1405,9 @@ fn consuming_multiple_txs_selective_deletion_after_timelock() {
14001405
#[test]
14011406
fn bootstrap_commit_block_received_while_uninitialized() {
14021407
// Setup.
1403-
let mut l1_provider = L1ProviderContentBuilder::new().build_into_l1_provider();
1408+
let mut l1_provider = L1ProviderContentBuilder::new()
1409+
.with_state(ProviderState::Uninitialized)
1410+
.build_into_l1_provider();
14041411

14051412
// Test.
14061413
let result = l1_provider.commit_block([].into(), [].into(), BlockNumber(1));

crates/apollo_l1_provider/src/test_utils.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,9 @@ impl From<L1ProviderContent> for L1Provider {
100100
L1Provider {
101101
config: content.config.unwrap_or_default(),
102102
tx_manager: content.tx_manager_content.map(Into::into).unwrap_or_default(),
103-
state: content.state.unwrap_or(ProviderState::Uninitialized),
103+
// The real Provider starts as Uninitialized by default, but for testing purposes we
104+
// start it as Pending.
105+
state: content.state.unwrap_or(ProviderState::Pending),
104106
bootstrapper,
105107
current_height: content.current_height.unwrap_or_default(),
106108
start_height: content.current_height,

0 commit comments

Comments
 (0)