// file: kb_lib/src/db/entities/token.rs

//! Normalized token entity.

/// Persisted normalized token row.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, sqlx::FromRow)]
pub struct TokenEntity {
    /// Numeric primary key.
    pub id: i64,
    /// Mint address.
    pub mint: std::string::String,
    /// Optional token symbol.
    pub symbol: std::option::Option<std::string::String>,
    /// Optional token display name.
    pub name: std::option::Option<std::string::String>,
    /// Optional decimals value.
    pub decimals: std::option::Option<i64>,
    /// Token program id.
    pub token_program: std::string::String,
    /// Whether this token is typically used as quote token.
    pub is_quote_token: i64,
    /// First seen timestamp encoded as RFC3339 UTC text.
    pub first_seen_at: std::string::String,
    /// Update timestamp encoded as RFC3339 UTC text.
    pub updated_at: std::string::String,
}
