Skip to content

Commit 7ce138b

Browse files
committed
apollo_state_sync: align functionality with apollo state reader
1 parent 5079d96 commit 7ce138b

File tree

2 files changed

+26
-25
lines changed

2 files changed

+26
-25
lines changed

crates/apollo_state_reader/src/apollo_state.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -294,14 +294,13 @@ impl FetchCompiledClasses for ApolloReader {
294294
}
295295

296296
fn is_declared(&self, class_hash: ClassHash) -> StateResult<bool> {
297-
let state_number = StateNumber(self.latest_block);
297+
let state_number = self.latest_block;
298298
let class_declaration_block_number = self
299299
.reader()?
300300
.get_state_reader()
301301
.and_then(|sr| sr.get_class_definition_block_number(&class_hash))
302302
.map_err(|err| StateError::StateReadError(err.to_string()))?;
303-
Ok(
304-
matches!(class_declaration_block_number, Some(block_number) if block_number <= state_number.0),
305-
)
303+
Ok(matches!(class_declaration_block_number, Some(block_number)
304+
if block_number <= state_number))
306305
}
307306
}

crates/apollo_state_sync/src/lib.rs

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -248,19 +248,32 @@ impl StateSync {
248248

249249
async fn is_cairo_1_class_declared_at(
250250
&self,
251-
block_number: BlockNumber,
251+
state_number: BlockNumber,
252252
class_hash: ClassHash,
253253
) -> StateSyncResult<bool> {
254254
let storage_reader = self.storage_reader.clone();
255-
let class_definition_block_number_opt = storage_reader
255+
let class_definition_block_number = storage_reader
256256
.begin_ro_txn()?
257-
.get_state_reader()?
258-
.get_class_definition_block_number(&class_hash)?;
259-
if let Some(class_definition_block_number) = class_definition_block_number_opt {
260-
Ok(class_definition_block_number <= block_number)
261-
} else {
262-
Ok(false)
263-
}
257+
.get_state_reader()
258+
.and_then(|sr| sr.get_class_definition_block_number(&class_hash))?;
259+
Ok(matches!(class_definition_block_number, Some(block_number)
260+
if block_number <= state_number))
261+
}
262+
263+
async fn is_cairo_0_class_declared_at(
264+
&self,
265+
state_number: BlockNumber,
266+
class_hash: ClassHash,
267+
) -> StateSyncResult<bool> {
268+
let storage_reader = self.storage_reader.clone();
269+
// TODO(noamsp): Add unit testing for cairo0
270+
let deprecated_class_definition_block_number = storage_reader
271+
.begin_ro_txn()?
272+
.get_state_reader()
273+
.and_then(|sr| sr.get_deprecated_class_definition_block_number(&class_hash))?;
274+
275+
Ok(matches!(deprecated_class_definition_block_number, Some(block_number)
276+
if block_number <= state_number))
264277
}
265278

266279
async fn is_class_declared_at(
@@ -272,18 +285,7 @@ impl StateSync {
272285
return Ok(true);
273286
}
274287

275-
let storage_reader = self.storage_reader.clone();
276-
// TODO(noamsp): Add unit testing for cairo0
277-
let deprecated_class_definition_block_number_opt = storage_reader
278-
.begin_ro_txn()?
279-
.get_state_reader()?
280-
.get_deprecated_class_definition_block_number(&class_hash)?;
281-
282-
Ok(deprecated_class_definition_block_number_opt.is_some_and(
283-
|deprecated_class_definition_block_number| {
284-
deprecated_class_definition_block_number <= block_number
285-
},
286-
))
288+
self.is_cairo_0_class_declared_at(block_number, class_hash).await
287289
}
288290
}
289291

0 commit comments

Comments
 (0)