fixes related to ruff and mypy
This commit is contained in:
@@ -1276,7 +1276,7 @@ class Exchange:
|
|||||||
params,
|
params,
|
||||||
)
|
)
|
||||||
if not self._ft_has.get("create_order_has_all_data"):
|
if not self._ft_has.get("create_order_has_all_data"):
|
||||||
order = self._api.fetch_order(order['id'], pair)
|
order = self._api.fetch_order(order["id"], pair)
|
||||||
if order.get("status") is None:
|
if order.get("status") is None:
|
||||||
# Map empty status to open.
|
# Map empty status to open.
|
||||||
order["status"] = "open"
|
order["status"] = "open"
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
"""Hyperliquid exchange subclass"""
|
"""Hyperliquid exchange subclass"""
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
from datetime import datetime
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from freqtrade.exchange import Exchange
|
|
||||||
from typing import List, Tuple, Dict
|
|
||||||
from freqtrade.enums import MarginMode, TradingMode, CandleType
|
|
||||||
from freqtrade.exceptions import OperationalException, ExchangeError
|
|
||||||
from freqtrade.constants import BuySell
|
from freqtrade.constants import BuySell
|
||||||
from datetime import datetime
|
from freqtrade.enums import CandleType, MarginMode, TradingMode
|
||||||
|
from freqtrade.exceptions import ExchangeError, OperationalException
|
||||||
|
from freqtrade.exchange import Exchange
|
||||||
|
from freqtrade.exchange.exchange_types import FtHas
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@@ -19,10 +19,9 @@ class Hyperliquid(Exchange):
|
|||||||
Contains adjustments needed for Freqtrade to work with this exchange.
|
Contains adjustments needed for Freqtrade to work with this exchange.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
_ft_has: Dict = {
|
_ft_has: FtHas = {
|
||||||
"ohlcv_has_history": False,
|
"ohlcv_has_history": False,
|
||||||
"ohlcv_candle_limit": 5000,
|
"ohlcv_candle_limit": 5000,
|
||||||
"orderbook_max_entries": 20,
|
|
||||||
"l2_limit_range": [20],
|
"l2_limit_range": [20],
|
||||||
"trades_has_history": False,
|
"trades_has_history": False,
|
||||||
"tickers_have_bid_ask": False,
|
"tickers_have_bid_ask": False,
|
||||||
@@ -30,15 +29,15 @@ class Hyperliquid(Exchange):
|
|||||||
"exchange_has_overrides": {"fetchTrades": False},
|
"exchange_has_overrides": {"fetchTrades": False},
|
||||||
"stoploss_order_types": {"limit": "limit"},
|
"stoploss_order_types": {"limit": "limit"},
|
||||||
"funding_fee_timeframe": "1h",
|
"funding_fee_timeframe": "1h",
|
||||||
"create_order_has_all_data": False
|
"create_order_has_all_data": False,
|
||||||
}
|
}
|
||||||
|
|
||||||
_supported_trading_mode_margin_pairs: List[Tuple[TradingMode, MarginMode]] = [
|
_supported_trading_mode_margin_pairs: list[tuple[TradingMode, MarginMode]] = [
|
||||||
(TradingMode.FUTURES, MarginMode.ISOLATED)
|
(TradingMode.FUTURES, MarginMode.ISOLATED)
|
||||||
]
|
]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def _ccxt_config(self) -> Dict:
|
def _ccxt_config(self) -> dict:
|
||||||
# ccxt Hyperliquid defaults to swap
|
# ccxt Hyperliquid defaults to swap
|
||||||
config = {}
|
config = {}
|
||||||
if self.trading_mode == TradingMode.SPOT:
|
if self.trading_mode == TradingMode.SPOT:
|
||||||
@@ -49,7 +48,7 @@ class Hyperliquid(Exchange):
|
|||||||
def get_max_leverage(self, pair: str, stake_amount: Optional[float]) -> float:
|
def get_max_leverage(self, pair: str, stake_amount: Optional[float]) -> float:
|
||||||
# There are no leverage tiers
|
# There are no leverage tiers
|
||||||
if self.trading_mode == TradingMode.FUTURES:
|
if self.trading_mode == TradingMode.FUTURES:
|
||||||
return self.markets[pair]['limits']['leverage']['max']
|
return self.markets[pair]["limits"]["leverage"]["max"]
|
||||||
else:
|
else:
|
||||||
return 1.0
|
return 1.0
|
||||||
|
|
||||||
@@ -103,7 +102,7 @@ class Hyperliquid(Exchange):
|
|||||||
position_size = amount
|
position_size = amount
|
||||||
price = open_rate
|
price = open_rate
|
||||||
position_value = price * position_size
|
position_value = price * position_size
|
||||||
max_leverage = self.markets[pair]['limits']['leverage']['max']
|
max_leverage = self.markets[pair]["limits"]["leverage"]["max"]
|
||||||
|
|
||||||
# Docs: The maintenance margin is half of the initial margin at max leverage,
|
# Docs: The maintenance margin is half of the initial margin at max leverage,
|
||||||
# which varies from 3-50x. In other words, the maintenance margin is between 1%
|
# which varies from 3-50x. In other words, the maintenance margin is between 1%
|
||||||
|
|||||||
Reference in New Issue
Block a user