| 289 | return Err(self.handle_db_error(e, "store_finalized_header")); |
| 290 | } |
| 291 | |
| 292 | // Update the latest finalized header epoch tracker |
| 293 | let current_latest = self.get_latest_finalized_header_epoch().await; |
| 294 | if epoch >= current_latest { |
| 295 | self.set_latest_finalized_header_epoch(epoch).await?; |
| 296 | } |
| 297 | Ok(()) |
| 298 | } |
| 299 | |
| 300 | #[allow(unused)] |
| 301 | pub async fn get_finalized_header( |
| 302 | &self, |
| 303 | epoch: u64, |
| 304 | ) -> Option<FinalizedHeader<bls12381_multisig::Scheme<PublicKey, V>>> { |
| 305 | let key = Self::make_finalized_header_key(epoch); |
| 306 | match self.store.get(&key).await { |
| 307 | Ok(Some(Value::FinalizedHeader(header))) => Some(*header), |