dca4f2d618
- web/core.py 858→236行,拆出 schemas/middleware/auth/diagnostics - ops_api.py 2876→4个 domain 模块 (users/payments/health/config) - DBManager Supabase HTTP 调用提取到 SupabaseAdminClient - 新增 LockedSQLiteConnection 统一多进程读写锁 - 新增 WeatherCacheManager 替代 12 个独立缓存字典 - METAR 缓存迁移至统一缓存管理器 - analysis_service 提取 _build_intraday_meteorology 到独立模块 - DEB 改进:偏差惩罚、分歧回退、自适应 lookback (MAE ↓12.6%) - 新增 PyTorch 注意力模型 deb_attention.py (数据积累后启用) - 新增 torch 到 requirements.lock
48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
"""Pydantic request models for PolyWeather payment endpoints."""
|
|
|
|
from typing import Any, Dict, Optional
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class WalletBindRequest(BaseModel):
|
|
address: str = Field(..., min_length=8)
|
|
|
|
|
|
class WalletChallengeRequest(BaseModel):
|
|
address: str = Field(..., min_length=8)
|
|
|
|
|
|
class WalletVerifyRequest(BaseModel):
|
|
address: str = Field(..., min_length=8)
|
|
nonce: str = Field(..., min_length=6)
|
|
signature: str = Field(..., min_length=20)
|
|
|
|
|
|
class WalletUnbindRequest(BaseModel):
|
|
address: str = Field(..., min_length=8)
|
|
|
|
|
|
class CreatePaymentIntentRequest(BaseModel):
|
|
plan_code: str = Field(default="pro_monthly", min_length=2)
|
|
payment_mode: str = Field(default="strict")
|
|
allowed_wallet: Optional[str] = None
|
|
token_address: Optional[str] = None
|
|
chain_id: Optional[int] = None
|
|
use_points: bool = False
|
|
points_to_consume: Optional[int] = None
|
|
metadata: Dict[str, Any] = Field(default_factory=dict)
|
|
|
|
|
|
class SubmitPaymentTxRequest(BaseModel):
|
|
tx_hash: str = Field(..., min_length=10)
|
|
from_address: Optional[str] = None
|
|
|
|
|
|
class ValidatePaymentTxRequest(BaseModel):
|
|
tx_hash: str = Field(..., min_length=10)
|
|
|
|
|
|
class ConfirmPaymentTxRequest(BaseModel):
|
|
tx_hash: Optional[str] = None
|