"""Price models for historical and current ERG price data."""

from typing import List

from pydantic import BaseModel


class PricePoint(BaseModel):
    """A single price observation."""

    timestamp: int
    """UNIX timestamp in milliseconds."""

    price: float
    """Price in the target currency (e.g. USD)."""


class PriceHistory(BaseModel):
    """A collection of historical price points."""

    coin_id: str
    """CoinGecko coin identifier (e.g. ``ergo``)."""

    vs_currency: str
    """Target currency (e.g. ``usd``)."""

    prices: List[PricePoint]
