33 lines
645 B
Python
33 lines
645 B
Python
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass, field
|
|
|
|
|
|
@dataclass(slots=True)
|
|
class OrderDraft:
|
|
symbol: str
|
|
side: str
|
|
order_type: str
|
|
quantity: str
|
|
price: str | None = None
|
|
status: str = "draft"
|
|
|
|
|
|
@dataclass(slots=True)
|
|
class OrderEntryContext:
|
|
symbol: str
|
|
side: str
|
|
order_type: str
|
|
balance_currency: str
|
|
available_balance: float
|
|
reference_price: float
|
|
last_price: float
|
|
bid_price: float
|
|
ask_price: float
|
|
quantity_presets: list[str]
|
|
|
|
|
|
@dataclass(slots=True)
|
|
class OrderValidationResult:
|
|
is_valid: bool
|
|
errors: list[str] = field(default_factory=list) |