Don't fail contract size repopulation if pair is no longer available
This commit is contained in:
parent
08e684a3e8
commit
c2914feb12
@ -412,9 +412,11 @@ class Exchange:
|
|||||||
|
|
||||||
def get_contract_size(self, pair: str) -> float:
|
def get_contract_size(self, pair: str) -> float:
|
||||||
if self.trading_mode == TradingMode.FUTURES:
|
if self.trading_mode == TradingMode.FUTURES:
|
||||||
market = self.markets[pair]
|
market = self.markets.get(pair, {})
|
||||||
contract_size: float = 1.0
|
contract_size: float = 1.0
|
||||||
if market['contractSize'] is not None:
|
if not market:
|
||||||
|
return None
|
||||||
|
if market.get('contractSize') is not None:
|
||||||
# ccxt has contractSize in markets as string
|
# ccxt has contractSize in markets as string
|
||||||
contract_size = float(market['contractSize'])
|
contract_size = float(market['contractSize'])
|
||||||
return contract_size
|
return contract_size
|
||||||
|
@ -4341,9 +4341,10 @@ def test__fetch_and_calculate_funding_fees_datetime_called(
|
|||||||
('XLTCUSDT', 1, 'spot'),
|
('XLTCUSDT', 1, 'spot'),
|
||||||
('LTC/USD', 1, 'futures'),
|
('LTC/USD', 1, 'futures'),
|
||||||
('XLTCUSDT', 0.01, 'futures'),
|
('XLTCUSDT', 0.01, 'futures'),
|
||||||
('ETH/USDT:USDT', 10, 'futures')
|
('ETH/USDT:USDT', 10, 'futures'),
|
||||||
|
('TORN/USDT:USDT', None, 'futures'), # Don't fail for unavailable pairs.
|
||||||
])
|
])
|
||||||
def est__get_contract_size(mocker, default_conf, pair, expected_size, trading_mode):
|
def test__get_contract_size(mocker, default_conf, pair, expected_size, trading_mode):
|
||||||
api_mock = MagicMock()
|
api_mock = MagicMock()
|
||||||
default_conf['trading_mode'] = trading_mode
|
default_conf['trading_mode'] = trading_mode
|
||||||
default_conf['margin_mode'] = 'isolated'
|
default_conf['margin_mode'] = 'isolated'
|
||||||
|
Loading…
Reference in New Issue
Block a user