build 054: remove legacy klines compatibility API
This commit is contained in:
@@ -21,8 +21,6 @@ from src.integrations.exchange.models import (
|
||||
BalanceSummary,
|
||||
ExchangeHealth,
|
||||
ExecutionPriceSnapshot,
|
||||
Kline,
|
||||
KlineBatch,
|
||||
PrivateAuthHealth,
|
||||
SymbolValidationResult,
|
||||
TimeSyncStatus,
|
||||
@@ -554,59 +552,6 @@ class ExchangeService:
|
||||
)
|
||||
raise ExchangeError(str(exc)) from exc
|
||||
|
||||
# Сохранить legacy KlineBatch как compatibility-фасад над canonical Candle.
|
||||
def get_klines(
|
||||
self,
|
||||
symbol: str | None = None,
|
||||
*,
|
||||
interval: str = "1m",
|
||||
limit: int = 200,
|
||||
price_type: str = "bid",
|
||||
) -> KlineBatch:
|
||||
symbol_to_use = symbol or self.settings.default_symbol
|
||||
|
||||
if not self.settings.exchange_enabled:
|
||||
raise ExchangeError(
|
||||
"Klines are not available in mock exchange mode."
|
||||
)
|
||||
|
||||
if limit <= 0:
|
||||
normalized_limit = 200
|
||||
elif limit > 200:
|
||||
normalized_limit = 200
|
||||
else:
|
||||
normalized_limit = limit
|
||||
|
||||
normalized_price_type = price_type.strip().lower()
|
||||
|
||||
if normalized_price_type not in {"bid", "ask"}:
|
||||
normalized_price_type = "bid"
|
||||
|
||||
canonical_candles = self.get_candles(
|
||||
symbol=symbol_to_use,
|
||||
interval=interval,
|
||||
limit=normalized_limit,
|
||||
price_type=normalized_price_type,
|
||||
)
|
||||
|
||||
candles = [
|
||||
self._kline_from_candle(candle)
|
||||
for candle in canonical_candles[-normalized_limit:]
|
||||
]
|
||||
|
||||
normalized_symbol = (
|
||||
canonical_candles[0].symbol
|
||||
if canonical_candles
|
||||
else normalize_symbol(symbol_to_use)
|
||||
)
|
||||
|
||||
return KlineBatch(
|
||||
symbol=normalized_symbol,
|
||||
interval=interval,
|
||||
candles=candles,
|
||||
source=f"rest_klines:{normalized_price_type}",
|
||||
)
|
||||
|
||||
# Собрать Candles acquisition pipeline и вернуть канонические модели Candle.
|
||||
def _load_candles_via_acquisition(
|
||||
self,
|
||||
@@ -642,20 +587,6 @@ class ExchangeService:
|
||||
price_type=price_type,
|
||||
)
|
||||
|
||||
# Временно преобразовать canonical Candle в legacy Kline.
|
||||
def _kline_from_candle(self, candle: Candle) -> Kline:
|
||||
return Kline(
|
||||
symbol=candle.symbol,
|
||||
interval=candle.interval,
|
||||
open_time=int(candle.open_time.timestamp() * 1000),
|
||||
open_price=float(candle.open_price),
|
||||
high_price=float(candle.high_price),
|
||||
low_price=float(candle.low_price),
|
||||
close_price=float(candle.close_price),
|
||||
volume=float(candle.volume),
|
||||
source=candle.source,
|
||||
)
|
||||
|
||||
# Проверить публичную доступность биржи.
|
||||
def get_health(self) -> ExchangeHealth:
|
||||
if not self.settings.exchange_enabled:
|
||||
|
||||
Reference in New Issue
Block a user