feat(backend): add market metadata storage and outcomes extension

This commit is contained in:
Bot
2026-08-31 01:58:30 +08:00
parent 37546f18da
commit 13686de581
3 changed files with 79 additions and 5 deletions
+12 -5
View File
@@ -28,13 +28,15 @@ class LedgerEntryDTO(BaseModel):
related_market: Optional[str] = None
created_at: datetime
class CreateMarketRequest(BaseModel):
class CreateMarketMetadataRequest(BaseModel):
market_address: str
question_id: str
title: str
description: Optional[str] = None
category: str = "Crypto"
tier: int = 1
category: str = "Others" # 默认 Others,支持用户自定义
outcomes: List[str] = Field(..., min_length=2, max_length=255) # 支持最多 255 个选项
resolution_time: datetime
outcomes: List[str] = Field(..., min_length=2, max_length=8)
creator: str
class MarketDTO(BaseModel):
market_address: str
@@ -50,10 +52,15 @@ class MarketDTO(BaseModel):
resolution_time: datetime
created_at: datetime
class ResolveMarketRequest(BaseModel):
market_address: str
question_id: str
winning_outcome_index: int = Field(..., ge=0, le=255)
class CreateOrderRequest(BaseModel):
market_address: str
vault_address: Optional[str] = None
outcome_index: int = Field(..., ge=0, le=7)
outcome_index: int = Field(..., ge=0, le=255)
side: str = Field(..., pattern="^(BUY|SELL)$")
amount: Decimal = Field(..., gt=0)
price: Optional[Decimal] = None