59 lines
1.2 KiB
Python
59 lines
1.2 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import Dict, List, Optional, Any
|
|
from datetime import datetime
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class LocalMarketContext(BaseModel):
|
|
venue_id: str
|
|
symbol: str
|
|
timeframe: Optional[str] = None
|
|
objective: Optional[str] = None
|
|
timestamp: datetime
|
|
|
|
|
|
class AggregatedSignalIR(BaseModel):
|
|
version: str
|
|
venues: List[str]
|
|
feature_vector: Dict[str, float]
|
|
privacy_budget: Optional[float] = None
|
|
nonce: Optional[str] = None
|
|
merkle_root: Optional[str] = None
|
|
|
|
|
|
class PlanDeltaIR(BaseModel):
|
|
contract_id: str
|
|
author: Optional[str]
|
|
timestamp: datetime
|
|
actions: Dict[str, Any]
|
|
|
|
|
|
class DualVariables(BaseModel):
|
|
multipliers: Dict[str, float]
|
|
|
|
|
|
class PrivacyBudgetEntry(BaseModel):
|
|
signal_class: str
|
|
budget: float
|
|
expiry: Optional[datetime] = None
|
|
|
|
|
|
class AuditLogEntry(BaseModel):
|
|
entry: str
|
|
signer: Optional[str]
|
|
timestamp: datetime
|
|
contract_id: Optional[str]
|
|
|
|
|
|
class TimeRound(BaseModel):
|
|
round_id: str
|
|
start_ts: datetime
|
|
end_ts: datetime
|
|
|
|
|
|
class GoCRegistryEntry(BaseModel):
|
|
adapter_id: str
|
|
supported_domains: List[str]
|
|
contract_version: str
|