text: # dipdup: ignore
  # generated by datamodel-codegen:
  #   filename:  storage.json
  
  from __future__ import annotations
  
  from typing import Dict, Optional
  
  from pydantic import BaseModel, Extra
  
  
  class Ledger(BaseModel):
      class Config:
          extra = Extra.forbid
  
      allowances: Dict[str, str]
      balance: str
      frozen_balance: str
  
  
  class UserRewards(BaseModel):
      class Config:
          extra = Extra.forbid
  
      reward: str
      reward_paid: str
  
  
  class Voters(BaseModel):
      class Config:
          extra = Extra.forbid
  
      candidate: Optional[str]
      last_veto: str
      veto: str
      vote: str
  
  
  class Storage(BaseModel):
      class Config:
          extra = Extra.ignore
  
      baker_validator: str
      current_candidate: Optional[str]
      current_delegated: Optional[str]
      last_update_time: str
      last_veto: str
      ledger: Dict[str, Ledger]
      period_finish: str
      reward: str
      reward_paid: str
      reward_per_sec: str
      reward_per_share: str
      tez_pool: str
      token_address: str
      token_pool: str
      total_reward: str
      total_supply: str
      total_votes: str
      user_rewards: Dict[str, UserRewards]
      veto: str
      vetos: Dict[str, str]
      voters: Dict[str, Voters]
      votes: Dict[str, str]
  
  
  class QuipuFa12FactoryStorage(BaseModel):
      class Config:
          extra = Extra.ignore
  
      dex_lambdas: Dict[str, str]
      metadata: Dict[str, str]
      storage: Storage
      token_lambdas: Dict[str, str]
  