@@ -231,7 +231,7 @@ pub trait DatabaseWriteOperations: WriteConnectionProvider + DatabaseReadOperati
231231 tracing:: trace!( target: "scroll::db" , "Fetching startup safe block from database." ) ;
232232
233233 // Unwind the database to the last finalized L1 block saved in database.
234- let finalized_block_number = self . get_finalized_l1_block_number ( ) . await ?. unwrap_or ( 0 ) ;
234+ let finalized_block_number = self . get_finalized_l1_block_number ( ) . await ?;
235235 self . unwind ( genesis_hash, finalized_block_number) . await ?;
236236
237237 // Delete all unprocessed batches from the database and return starting l2 safe head and l1
@@ -528,27 +528,31 @@ pub trait DatabaseReadOperations: ReadConnectionProvider + Sync {
528528 }
529529
530530 /// Get the latest L1 block number from the database.
531- async fn get_latest_l1_block_number ( & self ) -> Result < Option < u64 > , DatabaseError > {
531+ async fn get_latest_l1_block_number ( & self ) -> Result < u64 , DatabaseError > {
532532 Ok ( models:: metadata:: Entity :: find ( )
533533 . filter ( models:: metadata:: Column :: Key . eq ( "l1_latest_block" ) )
534534 . select_only ( )
535535 . column ( models:: metadata:: Column :: Value )
536536 . into_tuple :: < String > ( )
537537 . one ( self . get_connection ( ) )
538- . await
539- . map ( |x| x. and_then ( |x| x. parse :: < u64 > ( ) . ok ( ) ) ) ?)
538+ . await ?
539+ . expect ( "l1_latest_block should always be set" )
540+ . parse :: < u64 > ( )
541+ . expect ( "l1_latest_block should always be a valid u64" ) )
540542 }
541543
542544 /// Get the finalized L1 block number from the database.
543- async fn get_finalized_l1_block_number ( & self ) -> Result < Option < u64 > , DatabaseError > {
545+ async fn get_finalized_l1_block_number ( & self ) -> Result < u64 , DatabaseError > {
544546 Ok ( models:: metadata:: Entity :: find ( )
545547 . filter ( models:: metadata:: Column :: Key . eq ( "l1_finalized_block" ) )
546548 . select_only ( )
547549 . column ( models:: metadata:: Column :: Value )
548550 . into_tuple :: < String > ( )
549551 . one ( self . get_connection ( ) )
550- . await
551- . map ( |x| x. and_then ( |x| x. parse :: < u64 > ( ) . ok ( ) ) ) ?)
552+ . await ?
553+ . expect ( "l1_finalized_block should always be set" )
554+ . parse :: < u64 > ( )
555+ . expect ( "l1_finalized_block should always be a valid u64" ) )
552556 }
553557
554558 /// Get the latest L2 head block info.
@@ -701,10 +705,7 @@ pub trait DatabaseReadOperations: ReadConnectionProvider + Sync {
701705 }
702706 }
703707 Some ( L1MessageKey :: NotIncluded ( NotIncludedStart :: Finalized ) ) => {
704- let finalized_block_number = self
705- . get_finalized_l1_block_number ( )
706- . await ?
707- . ok_or ( DatabaseError :: FinalizedL1BlockNotFound ) ?;
708+ let finalized_block_number = self . get_finalized_l1_block_number ( ) . await ?;
708709 let condition = Condition :: all ( )
709710 . add (
710711 models:: l1_message:: Column :: L1BlockNumber
@@ -721,10 +722,7 @@ pub trait DatabaseReadOperations: ReadConnectionProvider + Sync {
721722 ) )
722723 }
723724 Some ( L1MessageKey :: NotIncluded ( NotIncludedStart :: BlockDepth ( depth) ) ) => {
724- let latest_block_number = self
725- . get_latest_l1_block_number ( )
726- . await ?
727- . ok_or ( DatabaseError :: LatestL1BlockNotFound ) ?;
725+ let latest_block_number = self . get_latest_l1_block_number ( ) . await ?;
728726
729727 let target_block_number = latest_block_number. checked_sub ( depth) ;
730728 if let Some ( target_block_number) = target_block_number {
0 commit comments