feat(backend): add market metadata storage and outcomes extension
This commit is contained in:
+12
-5
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user