cryptorugmuncher
feat(foundation): wire DeepSeek core/ modules into new main.py
9513328
Raw
History Blame Contribute Delete
1.57 kB
"""Shared request models — use these instead of defining inline BaseModels."""
from __future__ import annotations
from typing import Optional
from pydantic import BaseModel, Field
class ScanRequest(BaseModel):
"""Token or wallet security scan request."""
address: str = Field(..., description="Token or wallet address")
chain: str = Field(default="solana", description="Blockchain (solana, ethereum, bsc, etc.)")
class WalletRequest(BaseModel):
"""Wallet analysis request."""
address: str = Field(..., description="Wallet address")
chain: str = Field(default="solana")
include_history: bool = Field(default=False)
include_labels: bool = Field(default=True)
class AddressRequest(BaseModel):
"""Generic address lookup request."""
address: str = Field(..., description="Blockchain address")
chain: Optional[str] = Field(default=None)
class TokenRequest(BaseModel):
"""Token info request."""
address: str = Field(..., description="Token contract address")
chain: str = Field(default="solana")
class SearchRequest(BaseModel):
"""RAG or general search request."""
query: str = Field(..., description="Search query")
top_k: int = Field(default=5, ge=1, le=50)
collection: Optional[str] = Field(default=None)
min_similarity: float = Field(default=0.0, ge=0.0, le=1.0)
class PaginationParams(BaseModel):
"""Standard pagination parameters."""
page: int = Field(default=1, ge=1)
limit: int = Field(default=20, ge=1, le=100)
offset: Optional[int] = Field(default=None)