def _persist_canonical_epoch_info(db: DatabaseAPI, state: BeaconState) -> None: epoch_info = EpochInfo( previous_justified_checkpoint=state.previous_justified_checkpoint, current_justified_checkpoint=state.current_justified_checkpoint, finalized_checkpoint=state.finalized_checkpoint, ) db.set(SchemaV1.make_canonical_epoch_info_lookup_key(), ssz.encode(epoch_info))
def _get_canonical_epoch_info(db: DatabaseAPI) -> EpochInfo: key = SchemaV1.make_canonical_epoch_info_lookup_key() try: epoch_info = db[key] except KeyError: raise EpochInfoNotFound("Canonical EpochInfo not found") else: return ssz.decode(epoch_info, EpochInfo)