from datetime import datetime from typing import List, Optional from pydantic import BaseModel class BlockBase(BaseModel): block_height: int block_hash: str parent_block_hash: Optional[str] = None slot: int block_time: Optional[datetime] = None transactions_count: int = 0 successful_transactions_count: int = 0 class BlockCreate(BlockBase): pass class BlockUpdate(BaseModel): transactions_count: Optional[int] = None successful_transactions_count: Optional[int] = None processed: Optional[int] = None class BlockInDBBase(BlockBase): id: int created_at: datetime processed: int class Config: from_attributes = True class Block(BlockInDBBase): pass class BlockList(BaseModel): blocks: List[Block] total: int