@@ -1030,35 +1030,35 @@ impl Store {
10301030 pub ( crate ) fn revert_block_operations (
10311031 & self ,
10321032 site : & Site ,
1033- block_ptr_from : EthereumBlockPointer ,
10341033 block_ptr_to : EthereumBlockPointer ,
10351034 ) -> Result < StoreEvent , StoreError > {
1036- // Sanity check on block numbers
1037- if block_ptr_from. number != block_ptr_to. number + 1 {
1038- panic ! ( "revert_block_operations must revert a single block only" ) ;
1039- }
1040- // Don't revert past a graft point
10411035 let econn = self . get_entity_conn ( site, ReplicaId :: Main ) ?;
1042- let info = self . subgraph_info_with_conn ( & econn. conn , & site. deployment ) ?;
1043- if let Some ( graft_block) = info. graft_block {
1044- if graft_block as u64 > block_ptr_to. number {
1045- return Err ( anyhow ! (
1046- "Can not revert subgraph `{}` to block {} as it was \
1047- grafted at block {} and reverting past a graft point \
1048- is not possible",
1049- site. deployment. clone( ) ,
1050- block_ptr_to. number,
1051- graft_block
1052- )
1053- . into ( ) ) ;
1054- }
1055- }
10561036
10571037 let event = econn. transaction ( || -> Result < _ , StoreError > {
1058- assert_eq ! (
1059- Some ( block_ptr_from) ,
1060- Self :: block_ptr_with_conn( & site. deployment, & econn) ?
1061- ) ;
1038+ // Unwrap: If we are reverting then the block ptr is not `None`.
1039+ let block_ptr_from = Self :: block_ptr_with_conn ( & site. deployment , & econn) ?. unwrap ( ) ;
1040+
1041+ // Sanity check on block numbers
1042+ if block_ptr_from. number != block_ptr_to. number + 1 {
1043+ panic ! ( "revert_block_operations must revert a single block only" ) ;
1044+ }
1045+
1046+ // Don't revert past a graft point
1047+ let info = self . subgraph_info_with_conn ( & econn. conn , & site. deployment ) ?;
1048+ if let Some ( graft_block) = info. graft_block {
1049+ if graft_block as u64 > block_ptr_to. number {
1050+ return Err ( anyhow ! (
1051+ "Can not revert subgraph `{}` to block {} as it was \
1052+ grafted at block {} and reverting past a graft point \
1053+ is not possible",
1054+ site. deployment. clone( ) ,
1055+ block_ptr_to. number,
1056+ graft_block
1057+ )
1058+ . into ( ) ) ;
1059+ }
1060+ }
1061+
10621062 let metadata_event =
10631063 deployment:: revert_block_ptr ( & econn. conn , & site. deployment , block_ptr_to) ?;
10641064
0 commit comments