ccxt 4.3.30__py2.py3-none-any.whl → 4.3.31__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ccxt/__init__.py +1 -1
- ccxt/abstract/binance.py +2 -0
- ccxt/abstract/binancecoinm.py +2 -0
- ccxt/abstract/binanceus.py +2 -0
- ccxt/abstract/binanceusdm.py +2 -0
- ccxt/ace.py +14 -14
- ccxt/alpaca.py +16 -16
- ccxt/ascendex.py +46 -46
- ccxt/async_support/__init__.py +1 -1
- ccxt/async_support/ace.py +14 -14
- ccxt/async_support/alpaca.py +16 -16
- ccxt/async_support/ascendex.py +46 -46
- ccxt/async_support/base/exchange.py +23 -23
- ccxt/async_support/bigone.py +32 -32
- ccxt/async_support/binance.py +105 -96
- ccxt/async_support/bingx.py +21 -21
- ccxt/async_support/bit2c.py +13 -13
- ccxt/async_support/bitbank.py +19 -19
- ccxt/async_support/bitbns.py +17 -17
- ccxt/async_support/bitfinex.py +24 -24
- ccxt/async_support/bitfinex2.py +142 -109
- ccxt/async_support/bitflyer.py +23 -23
- ccxt/async_support/bitget.py +76 -76
- ccxt/async_support/bithumb.py +20 -20
- ccxt/async_support/bitmart.py +55 -55
- ccxt/async_support/bitmex.py +41 -41
- ccxt/async_support/bitopro.py +30 -30
- ccxt/async_support/bitrue.py +37 -37
- ccxt/async_support/bitso.py +30 -30
- ccxt/async_support/bitstamp.py +31 -31
- ccxt/async_support/bitteam.py +26 -26
- ccxt/async_support/bitvavo.py +27 -27
- ccxt/async_support/bl3p.py +8 -8
- ccxt/async_support/blockchaincom.py +24 -24
- ccxt/async_support/blofin.py +37 -37
- ccxt/async_support/btcalpha.py +19 -19
- ccxt/async_support/btcbox.py +11 -11
- ccxt/async_support/btcmarkets.py +22 -22
- ccxt/async_support/btcturk.py +13 -13
- ccxt/async_support/bybit.py +96 -96
- ccxt/async_support/cex.py +21 -21
- ccxt/async_support/coinbase.py +53 -53
- ccxt/async_support/coinbaseexchange.py +29 -29
- ccxt/async_support/coinbaseinternational.py +32 -32
- ccxt/async_support/coincheck.py +14 -14
- ccxt/async_support/coinex.py +168 -139
- ccxt/async_support/coinlist.py +35 -35
- ccxt/async_support/coinmate.py +22 -22
- ccxt/async_support/coinmetro.py +22 -22
- ccxt/async_support/coinone.py +18 -18
- ccxt/async_support/coinsph.py +32 -32
- ccxt/async_support/coinspot.py +8 -8
- ccxt/async_support/cryptocom.py +43 -43
- ccxt/async_support/currencycom.py +33 -33
- ccxt/async_support/delta.py +35 -35
- ccxt/async_support/deribit.py +54 -54
- ccxt/async_support/digifinex.py +56 -56
- ccxt/async_support/exmo.py +34 -34
- ccxt/async_support/gate.py +60 -60
- ccxt/async_support/gemini.py +24 -24
- ccxt/async_support/hitbtc.py +51 -51
- ccxt/async_support/hollaex.py +29 -29
- ccxt/async_support/htx.py +73 -73
- ccxt/async_support/huobijp.py +30 -30
- ccxt/async_support/hyperliquid.py +58 -58
- ccxt/async_support/idex.py +33 -33
- ccxt/async_support/independentreserve.py +12 -12
- ccxt/async_support/indodax.py +21 -21
- ccxt/async_support/kraken.py +46 -51
- ccxt/async_support/krakenfutures.py +29 -29
- ccxt/async_support/kucoin.py +51 -51
- ccxt/async_support/kucoinfutures.py +33 -33
- ccxt/async_support/kuna.py +27 -27
- ccxt/async_support/latoken.py +27 -27
- ccxt/async_support/lbank.py +35 -35
- ccxt/async_support/luno.py +19 -19
- ccxt/async_support/lykke.py +20 -20
- ccxt/async_support/mercado.py +17 -17
- ccxt/async_support/mexc.py +64 -64
- ccxt/async_support/ndax.py +38 -38
- ccxt/async_support/novadax.py +26 -26
- ccxt/async_support/oceanex.py +21 -21
- ccxt/async_support/okcoin.py +35 -35
- ccxt/async_support/okx.py +85 -85
- ccxt/async_support/onetrading.py +32 -32
- ccxt/async_support/p2b.py +14 -14
- ccxt/async_support/paymium.py +12 -12
- ccxt/async_support/phemex.py +50 -50
- ccxt/async_support/poloniex.py +35 -35
- ccxt/async_support/poloniexfutures.py +25 -21
- ccxt/async_support/probit.py +30 -30
- ccxt/async_support/timex.py +22 -22
- ccxt/async_support/tokocrypto.py +26 -26
- ccxt/async_support/tradeogre.py +12 -12
- ccxt/async_support/upbit.py +28 -28
- ccxt/async_support/wavesexchange.py +33 -33
- ccxt/async_support/wazirx.py +21 -21
- ccxt/async_support/whitebit.py +37 -37
- ccxt/async_support/woo.py +51 -51
- ccxt/async_support/woofipro.py +46 -46
- ccxt/async_support/yobit.py +20 -20
- ccxt/async_support/zaif.py +12 -12
- ccxt/async_support/zonda.py +22 -22
- ccxt/base/exchange.py +35 -35
- ccxt/base/types.py +13 -0
- ccxt/bigone.py +32 -32
- ccxt/binance.py +105 -96
- ccxt/bingx.py +21 -21
- ccxt/bit2c.py +13 -13
- ccxt/bitbank.py +19 -19
- ccxt/bitbns.py +17 -17
- ccxt/bitfinex.py +24 -24
- ccxt/bitfinex2.py +142 -109
- ccxt/bitflyer.py +23 -23
- ccxt/bitget.py +76 -76
- ccxt/bithumb.py +20 -20
- ccxt/bitmart.py +55 -55
- ccxt/bitmex.py +41 -41
- ccxt/bitopro.py +30 -30
- ccxt/bitrue.py +37 -37
- ccxt/bitso.py +30 -30
- ccxt/bitstamp.py +31 -31
- ccxt/bitteam.py +26 -26
- ccxt/bitvavo.py +27 -27
- ccxt/bl3p.py +8 -8
- ccxt/blockchaincom.py +24 -24
- ccxt/blofin.py +37 -37
- ccxt/btcalpha.py +19 -19
- ccxt/btcbox.py +11 -11
- ccxt/btcmarkets.py +22 -22
- ccxt/btcturk.py +13 -13
- ccxt/bybit.py +96 -96
- ccxt/cex.py +21 -21
- ccxt/coinbase.py +53 -53
- ccxt/coinbaseexchange.py +29 -29
- ccxt/coinbaseinternational.py +32 -32
- ccxt/coincheck.py +14 -14
- ccxt/coinex.py +168 -139
- ccxt/coinlist.py +35 -35
- ccxt/coinmate.py +22 -22
- ccxt/coinmetro.py +22 -22
- ccxt/coinone.py +18 -18
- ccxt/coinsph.py +32 -32
- ccxt/coinspot.py +8 -8
- ccxt/cryptocom.py +43 -43
- ccxt/currencycom.py +33 -33
- ccxt/delta.py +35 -35
- ccxt/deribit.py +54 -54
- ccxt/digifinex.py +56 -56
- ccxt/exmo.py +34 -34
- ccxt/gate.py +60 -60
- ccxt/gemini.py +24 -24
- ccxt/hitbtc.py +51 -51
- ccxt/hollaex.py +29 -29
- ccxt/htx.py +73 -73
- ccxt/huobijp.py +30 -30
- ccxt/hyperliquid.py +58 -58
- ccxt/idex.py +33 -33
- ccxt/independentreserve.py +12 -12
- ccxt/indodax.py +21 -21
- ccxt/kraken.py +46 -51
- ccxt/krakenfutures.py +29 -29
- ccxt/kucoin.py +51 -51
- ccxt/kucoinfutures.py +33 -33
- ccxt/kuna.py +27 -27
- ccxt/latoken.py +27 -27
- ccxt/lbank.py +35 -35
- ccxt/luno.py +19 -19
- ccxt/lykke.py +20 -20
- ccxt/mercado.py +17 -17
- ccxt/mexc.py +64 -64
- ccxt/ndax.py +38 -38
- ccxt/novadax.py +26 -26
- ccxt/oceanex.py +21 -21
- ccxt/okcoin.py +35 -35
- ccxt/okx.py +85 -85
- ccxt/onetrading.py +32 -32
- ccxt/p2b.py +14 -14
- ccxt/paymium.py +12 -12
- ccxt/phemex.py +50 -50
- ccxt/poloniex.py +35 -35
- ccxt/poloniexfutures.py +25 -21
- ccxt/pro/__init__.py +1 -1
- ccxt/pro/alpaca.py +8 -8
- ccxt/pro/ascendex.py +4 -4
- ccxt/pro/binance.py +56 -56
- ccxt/pro/bingx.py +5 -5
- ccxt/pro/bitfinex.py +6 -6
- ccxt/pro/bitfinex2.py +10 -10
- ccxt/pro/bitget.py +17 -17
- ccxt/pro/bithumb.py +6 -6
- ccxt/pro/bitmart.py +8 -8
- ccxt/pro/bitmex.py +16 -16
- ccxt/pro/bitopro.py +4 -4
- ccxt/pro/bitrue.py +8 -8
- ccxt/pro/bitstamp.py +5 -5
- ccxt/pro/bitvavo.py +14 -14
- ccxt/pro/blockchaincom.py +7 -7
- ccxt/pro/bybit.py +12 -12
- ccxt/pro/cex.py +19 -19
- ccxt/pro/coinbase.py +2 -2
- ccxt/pro/coinbaseexchange.py +10 -10
- ccxt/pro/coinbaseinternational.py +4 -4
- ccxt/pro/coincheck.py +2 -2
- ccxt/pro/coinex.py +15 -15
- ccxt/pro/coinone.py +4 -4
- ccxt/pro/cryptocom.py +11 -11
- ccxt/pro/currencycom.py +4 -4
- ccxt/pro/deribit.py +9 -9
- ccxt/pro/exmo.py +9 -9
- ccxt/pro/gate.py +12 -12
- ccxt/pro/gemini.py +11 -11
- ccxt/pro/hitbtc.py +13 -13
- ccxt/pro/hollaex.py +6 -6
- ccxt/pro/htx.py +15 -15
- ccxt/pro/huobijp.py +16 -16
- ccxt/pro/hyperliquid.py +9 -9
- ccxt/pro/idex.py +12 -12
- ccxt/pro/independentreserve.py +2 -2
- ccxt/pro/kraken.py +14 -14
- ccxt/pro/krakenfutures.py +12 -12
- ccxt/pro/kucoin.py +12 -12
- ccxt/pro/kucoinfutures.py +16 -16
- ccxt/pro/lbank.py +12 -12
- ccxt/pro/luno.py +4 -4
- ccxt/pro/mexc.py +14 -14
- ccxt/pro/ndax.py +12 -12
- ccxt/pro/okcoin.py +6 -6
- ccxt/pro/okx.py +30 -30
- ccxt/pro/onetrading.py +13 -13
- ccxt/pro/p2b.py +2 -2
- ccxt/pro/phemex.py +9 -9
- ccxt/pro/poloniex.py +9 -9
- ccxt/pro/poloniexfutures.py +10 -10
- ccxt/pro/probit.py +8 -8
- ccxt/pro/upbit.py +1 -1
- ccxt/pro/wazirx.py +10 -10
- ccxt/pro/whitebit.py +8 -8
- ccxt/pro/woo.py +14 -14
- ccxt/pro/woofipro.py +14 -14
- ccxt/probit.py +30 -30
- ccxt/test/base/test_shared_methods.py +1 -0
- ccxt/timex.py +22 -22
- ccxt/tokocrypto.py +26 -26
- ccxt/tradeogre.py +12 -12
- ccxt/upbit.py +28 -28
- ccxt/wavesexchange.py +33 -33
- ccxt/wazirx.py +21 -21
- ccxt/whitebit.py +37 -37
- ccxt/woo.py +51 -51
- ccxt/woofipro.py +46 -46
- ccxt/yobit.py +20 -20
- ccxt/zaif.py +12 -12
- ccxt/zonda.py +22 -22
- {ccxt-4.3.30.dist-info → ccxt-4.3.31.dist-info}/METADATA +4 -4
- {ccxt-4.3.30.dist-info → ccxt-4.3.31.dist-info}/RECORD +258 -258
- {ccxt-4.3.30.dist-info → ccxt-4.3.31.dist-info}/WHEEL +0 -0
- {ccxt-4.3.30.dist-info → ccxt-4.3.31.dist-info}/top_level.txt +0 -0
ccxt/async_support/gemini.py
CHANGED
@@ -349,7 +349,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
349
349
|
# ]
|
350
350
|
# }
|
351
351
|
#
|
352
|
-
result = {}
|
352
|
+
result: dict = {}
|
353
353
|
self.options['tradingPairs'] = self.safe_list(data, 'tradingPairs')
|
354
354
|
currenciesArray = self.safe_value(data, 'currencies', [])
|
355
355
|
for i in range(0, len(currenciesArray)):
|
@@ -358,7 +358,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
358
358
|
code = self.safe_currency_code(id)
|
359
359
|
type = 'fiat' if self.safe_string(currency, 7) else 'crypto'
|
360
360
|
precision = self.parse_number(self.parse_precision(self.safe_string(currency, 5)))
|
361
|
-
networks = {}
|
361
|
+
networks: dict = {}
|
362
362
|
networkId = self.safe_string(currency, 9)
|
363
363
|
networkCode = None
|
364
364
|
if networkId is not None:
|
@@ -519,7 +519,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
519
519
|
return result
|
520
520
|
|
521
521
|
def parse_market_active(self, status):
|
522
|
-
statuses = {
|
522
|
+
statuses: dict = {
|
523
523
|
'open': True,
|
524
524
|
'closed': False,
|
525
525
|
'cancel_only': True,
|
@@ -539,7 +539,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
539
539
|
result = []
|
540
540
|
for i in range(0, len(fetchUsdtMarkets)):
|
541
541
|
marketId = fetchUsdtMarkets[i]
|
542
|
-
request = {
|
542
|
+
request: dict = {
|
543
543
|
'symbol': marketId,
|
544
544
|
}
|
545
545
|
# don't use Promise.all here, for some reason the exchange can't handle it and crashes
|
@@ -567,7 +567,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
567
567
|
promises = []
|
568
568
|
for i in range(0, len(marketIds)):
|
569
569
|
marketId = marketIds[i]
|
570
|
-
request = {
|
570
|
+
request: dict = {
|
571
571
|
'symbol': marketId,
|
572
572
|
}
|
573
573
|
promises.append(self.publicGetV1SymbolsDetailsSymbol(self.extend(request, params)))
|
@@ -760,7 +760,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
760
760
|
"""
|
761
761
|
await self.load_markets()
|
762
762
|
market = self.market(symbol)
|
763
|
-
request = {
|
763
|
+
request: dict = {
|
764
764
|
'symbol': market['id'],
|
765
765
|
}
|
766
766
|
if limit is not None:
|
@@ -772,7 +772,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
772
772
|
async def fetch_ticker_v1(self, symbol: str, params={}):
|
773
773
|
await self.load_markets()
|
774
774
|
market = self.market(symbol)
|
775
|
-
request = {
|
775
|
+
request: dict = {
|
776
776
|
'symbol': market['id'],
|
777
777
|
}
|
778
778
|
response = await self.publicGetV1PubtickerSymbol(self.extend(request, params))
|
@@ -793,7 +793,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
793
793
|
async def fetch_ticker_v2(self, symbol: str, params={}):
|
794
794
|
await self.load_markets()
|
795
795
|
market = self.market(symbol)
|
796
|
-
request = {
|
796
|
+
request: dict = {
|
797
797
|
'symbol': market['id'],
|
798
798
|
}
|
799
799
|
response = await self.publicGetV2TickerSymbol(self.extend(request, params))
|
@@ -958,7 +958,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
958
958
|
#
|
959
959
|
return self.parse_tickers(response, symbols)
|
960
960
|
|
961
|
-
def parse_trade(self, trade, market: Market = None) -> Trade:
|
961
|
+
def parse_trade(self, trade: dict, market: Market = None) -> Trade:
|
962
962
|
#
|
963
963
|
# public fetchTrades
|
964
964
|
#
|
@@ -1033,7 +1033,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1033
1033
|
"""
|
1034
1034
|
await self.load_markets()
|
1035
1035
|
market = self.market(symbol)
|
1036
|
-
request = {
|
1036
|
+
request: dict = {
|
1037
1037
|
'symbol': market['id'],
|
1038
1038
|
}
|
1039
1039
|
if limit is not None:
|
@@ -1057,7 +1057,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1057
1057
|
return self.parse_trades(response, market, since, limit)
|
1058
1058
|
|
1059
1059
|
def parse_balance(self, response) -> Balances:
|
1060
|
-
result = {'info': response}
|
1060
|
+
result: dict = {'info': response}
|
1061
1061
|
for i in range(0, len(response)):
|
1062
1062
|
balance = response[i]
|
1063
1063
|
currencyId = self.safe_string(balance, 'currency')
|
@@ -1111,7 +1111,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1111
1111
|
takerString = Precise.string_div(takerBps, '10000')
|
1112
1112
|
maker = self.parse_number(makerString)
|
1113
1113
|
taker = self.parse_number(takerString)
|
1114
|
-
result = {}
|
1114
|
+
result: dict = {}
|
1115
1115
|
for i in range(0, len(self.symbols)):
|
1116
1116
|
symbol = self.symbols[i]
|
1117
1117
|
result[symbol] = {
|
@@ -1135,7 +1135,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1135
1135
|
response = await self.privatePostV1Balances(params)
|
1136
1136
|
return self.parse_balance(response)
|
1137
1137
|
|
1138
|
-
def parse_order(self, order, market: Market = None) -> Order:
|
1138
|
+
def parse_order(self, order: dict, market: Market = None) -> Order:
|
1139
1139
|
#
|
1140
1140
|
# createOrder(private)
|
1141
1141
|
#
|
@@ -1304,7 +1304,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1304
1304
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
1305
1305
|
"""
|
1306
1306
|
await self.load_markets()
|
1307
|
-
request = {
|
1307
|
+
request: dict = {
|
1308
1308
|
'order_id': id,
|
1309
1309
|
}
|
1310
1310
|
response = await self.privatePostV1OrderStatus(self.extend(request, params))
|
@@ -1397,7 +1397,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1397
1397
|
market = self.market(symbol)
|
1398
1398
|
amountString = self.amount_to_precision(symbol, amount)
|
1399
1399
|
priceString = self.price_to_precision(symbol, price)
|
1400
|
-
request = {
|
1400
|
+
request: dict = {
|
1401
1401
|
'client_order_id': clientOrderId,
|
1402
1402
|
'symbol': market['id'],
|
1403
1403
|
'amount': amountString,
|
@@ -1470,7 +1470,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1470
1470
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
1471
1471
|
"""
|
1472
1472
|
await self.load_markets()
|
1473
|
-
request = {
|
1473
|
+
request: dict = {
|
1474
1474
|
'order_id': id,
|
1475
1475
|
}
|
1476
1476
|
response = await self.privatePostV1OrderCancel(self.extend(request, params))
|
@@ -1514,7 +1514,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1514
1514
|
raise ArgumentsRequired(self.id + ' fetchMyTrades() requires a symbol argument')
|
1515
1515
|
await self.load_markets()
|
1516
1516
|
market = self.market(symbol)
|
1517
|
-
request = {
|
1517
|
+
request: dict = {
|
1518
1518
|
'symbol': market['id'],
|
1519
1519
|
}
|
1520
1520
|
if limit is not None:
|
@@ -1539,7 +1539,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1539
1539
|
self.check_address(address)
|
1540
1540
|
await self.load_markets()
|
1541
1541
|
currency = self.currency(code)
|
1542
|
-
request = {
|
1542
|
+
request: dict = {
|
1543
1543
|
'currency': currency['id'],
|
1544
1544
|
'amount': amount,
|
1545
1545
|
'address': address,
|
@@ -1590,7 +1590,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1590
1590
|
:returns dict: a list of `transaction structure <https://docs.ccxt.com/#/?id=transaction-structure>`
|
1591
1591
|
"""
|
1592
1592
|
await self.load_markets()
|
1593
|
-
request = {}
|
1593
|
+
request: dict = {}
|
1594
1594
|
if limit is not None:
|
1595
1595
|
request['limit_transfers'] = limit
|
1596
1596
|
if since is not None:
|
@@ -1598,7 +1598,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1598
1598
|
response = await self.privatePostV1Transfers(self.extend(request, params))
|
1599
1599
|
return self.parse_transactions(response)
|
1600
1600
|
|
1601
|
-
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
1601
|
+
def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
|
1602
1602
|
#
|
1603
1603
|
# withdraw
|
1604
1604
|
#
|
@@ -1655,7 +1655,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1655
1655
|
}
|
1656
1656
|
|
1657
1657
|
def parse_transaction_status(self, status):
|
1658
|
-
statuses = {
|
1658
|
+
statuses: dict = {
|
1659
1659
|
'Advanced': 'ok',
|
1660
1660
|
'Complete': 'ok',
|
1661
1661
|
}
|
@@ -1712,7 +1712,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1712
1712
|
if networkCode is None:
|
1713
1713
|
raise ArgumentsRequired(self.id + ' fetchDepositAddresses() requires a network parameter')
|
1714
1714
|
networkId = self.network_code_to_id(networkCode)
|
1715
|
-
request = {
|
1715
|
+
request: dict = {
|
1716
1716
|
'network': networkId,
|
1717
1717
|
}
|
1718
1718
|
response = await self.privatePostV1AddressesNetwork(self.extend(request, params))
|
@@ -1783,7 +1783,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1783
1783
|
"""
|
1784
1784
|
await self.load_markets()
|
1785
1785
|
currency = self.currency(code)
|
1786
|
-
request = {
|
1786
|
+
request: dict = {
|
1787
1787
|
'currency': currency['id'],
|
1788
1788
|
}
|
1789
1789
|
response = await self.privatePostV1DepositCurrencyNewAddress(self.extend(request, params))
|
@@ -1810,7 +1810,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
1810
1810
|
await self.load_markets()
|
1811
1811
|
market = self.market(symbol)
|
1812
1812
|
timeframeId = self.safe_string(self.timeframes, timeframe, timeframe)
|
1813
|
-
request = {
|
1813
|
+
request: dict = {
|
1814
1814
|
'timeframe': timeframeId,
|
1815
1815
|
'symbol': market['id'],
|
1816
1816
|
}
|
ccxt/async_support/hitbtc.py
CHANGED
@@ -837,7 +837,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
837
837
|
# }
|
838
838
|
# }
|
839
839
|
#
|
840
|
-
result = {}
|
840
|
+
result: dict = {}
|
841
841
|
currencies = list(response.keys())
|
842
842
|
for i in range(0, len(currencies)):
|
843
843
|
currencyId = currencies[i]
|
@@ -850,7 +850,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
850
850
|
transferEnabled = self.safe_bool(entry, 'transfer_enabled', False)
|
851
851
|
active = payinEnabled and payoutEnabled and transferEnabled
|
852
852
|
rawNetworks = self.safe_value(entry, 'networks', [])
|
853
|
-
networks = {}
|
853
|
+
networks: dict = {}
|
854
854
|
fee = None
|
855
855
|
depositEnabled = None
|
856
856
|
withdrawEnabled = None
|
@@ -925,7 +925,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
925
925
|
"""
|
926
926
|
await self.load_markets()
|
927
927
|
currency = self.currency(code)
|
928
|
-
request = {
|
928
|
+
request: dict = {
|
929
929
|
'currency': currency['id'],
|
930
930
|
}
|
931
931
|
network = self.safe_string_upper(params, 'network')
|
@@ -958,7 +958,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
958
958
|
"""
|
959
959
|
await self.load_markets()
|
960
960
|
currency = self.currency(code)
|
961
|
-
request = {
|
961
|
+
request: dict = {
|
962
962
|
'currency': currency['id'],
|
963
963
|
}
|
964
964
|
network = self.safe_string_upper(params, 'network')
|
@@ -987,7 +987,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
987
987
|
}
|
988
988
|
|
989
989
|
def parse_balance(self, response) -> Balances:
|
990
|
-
result = {'info': response}
|
990
|
+
result: dict = {'info': response}
|
991
991
|
for i in range(0, len(response)):
|
992
992
|
entry = response[i]
|
993
993
|
currencyId = self.safe_string(entry, 'currency')
|
@@ -1044,7 +1044,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1044
1044
|
"""
|
1045
1045
|
await self.load_markets()
|
1046
1046
|
market = self.market(symbol)
|
1047
|
-
request = {
|
1047
|
+
request: dict = {
|
1048
1048
|
'symbol': market['id'],
|
1049
1049
|
}
|
1050
1050
|
response = await self.publicGetPublicTickerSymbol(self.extend(request, params))
|
@@ -1073,7 +1073,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1073
1073
|
"""
|
1074
1074
|
await self.load_markets()
|
1075
1075
|
symbols = self.market_symbols(symbols)
|
1076
|
-
request = {}
|
1076
|
+
request: dict = {}
|
1077
1077
|
if symbols is not None:
|
1078
1078
|
marketIds = self.market_ids(symbols)
|
1079
1079
|
delimited = ','.join(marketIds)
|
@@ -1094,7 +1094,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1094
1094
|
# }
|
1095
1095
|
# }
|
1096
1096
|
#
|
1097
|
-
result = {}
|
1097
|
+
result: dict = {}
|
1098
1098
|
keys = list(response.keys())
|
1099
1099
|
for i in range(0, len(keys)):
|
1100
1100
|
marketId = keys[i]
|
@@ -1159,7 +1159,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1159
1159
|
"""
|
1160
1160
|
await self.load_markets()
|
1161
1161
|
market = None
|
1162
|
-
request = {}
|
1162
|
+
request: dict = {}
|
1163
1163
|
if limit is not None:
|
1164
1164
|
request['limit'] = min(limit, 1000)
|
1165
1165
|
if since is not None:
|
@@ -1199,7 +1199,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1199
1199
|
"""
|
1200
1200
|
await self.load_markets()
|
1201
1201
|
market = None
|
1202
|
-
request = {}
|
1202
|
+
request: dict = {}
|
1203
1203
|
if symbol is not None:
|
1204
1204
|
market = self.market(symbol)
|
1205
1205
|
request['symbol'] = market['id']
|
@@ -1226,7 +1226,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1226
1226
|
raise NotSupported(self.id + ' fetchMyTrades() not support self market type')
|
1227
1227
|
return self.parse_trades(response, market, since, limit)
|
1228
1228
|
|
1229
|
-
def parse_trade(self, trade, market: Market = None) -> Trade:
|
1229
|
+
def parse_trade(self, trade: dict, market: Market = None) -> Trade:
|
1230
1230
|
#
|
1231
1231
|
# createOrder(market)
|
1232
1232
|
#
|
@@ -1329,7 +1329,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1329
1329
|
|
1330
1330
|
async def fetch_transactions_helper(self, types, code, since, limit, params):
|
1331
1331
|
await self.load_markets()
|
1332
|
-
request = {
|
1332
|
+
request: dict = {
|
1333
1333
|
'types': types,
|
1334
1334
|
}
|
1335
1335
|
currency = None
|
@@ -1368,7 +1368,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1368
1368
|
return self.parse_transactions(response, currency, since, limit, params)
|
1369
1369
|
|
1370
1370
|
def parse_transaction_status(self, status):
|
1371
|
-
statuses = {
|
1371
|
+
statuses: dict = {
|
1372
1372
|
'PENDING': 'pending',
|
1373
1373
|
'FAILED': 'failed',
|
1374
1374
|
'SUCCESS': 'ok',
|
@@ -1376,13 +1376,13 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1376
1376
|
return self.safe_string(statuses, status, status)
|
1377
1377
|
|
1378
1378
|
def parse_transaction_type(self, type):
|
1379
|
-
types = {
|
1379
|
+
types: dict = {
|
1380
1380
|
'DEPOSIT': 'deposit',
|
1381
1381
|
'WITHDRAW': 'withdrawal',
|
1382
1382
|
}
|
1383
1383
|
return self.safe_string(types, type, type)
|
1384
1384
|
|
1385
|
-
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
1385
|
+
def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
|
1386
1386
|
#
|
1387
1387
|
# transaction
|
1388
1388
|
#
|
@@ -1512,14 +1512,14 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1512
1512
|
:returns dict: a dictionary of `order book structures <https://docs.ccxt.com/#/?id=order-book-structure>` indexed by market symbol
|
1513
1513
|
"""
|
1514
1514
|
await self.load_markets()
|
1515
|
-
request = {}
|
1515
|
+
request: dict = {}
|
1516
1516
|
if symbols is not None:
|
1517
1517
|
marketIdsInner = self.market_ids(symbols)
|
1518
1518
|
request['symbols'] = ','.join(marketIdsInner)
|
1519
1519
|
if limit is not None:
|
1520
1520
|
request['depth'] = limit
|
1521
1521
|
response = await self.publicGetPublicOrderbook(self.extend(request, params))
|
1522
|
-
result = {}
|
1522
|
+
result: dict = {}
|
1523
1523
|
marketIds = list(response.keys())
|
1524
1524
|
for i in range(0, len(marketIds)):
|
1525
1525
|
marketId = marketIds[i]
|
@@ -1540,7 +1540,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1540
1540
|
"""
|
1541
1541
|
await self.load_markets()
|
1542
1542
|
market = self.market(symbol)
|
1543
|
-
request = {
|
1543
|
+
request: dict = {
|
1544
1544
|
'symbol': market['id'],
|
1545
1545
|
}
|
1546
1546
|
if limit is not None:
|
@@ -1549,7 +1549,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1549
1549
|
timestamp = self.parse8601(self.safe_string(response, 'timestamp'))
|
1550
1550
|
return self.parse_order_book(response, symbol, timestamp, 'bid', 'ask')
|
1551
1551
|
|
1552
|
-
def parse_trading_fee(self, fee, market: Market = None) -> TradingFeeInterface:
|
1552
|
+
def parse_trading_fee(self, fee: dict, market: Market = None) -> TradingFeeInterface:
|
1553
1553
|
#
|
1554
1554
|
# {
|
1555
1555
|
# "symbol":"ARVUSDT", # returned from fetchTradingFees only
|
@@ -1581,7 +1581,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1581
1581
|
"""
|
1582
1582
|
await self.load_markets()
|
1583
1583
|
market = self.market(symbol)
|
1584
|
-
request = {
|
1584
|
+
request: dict = {
|
1585
1585
|
'symbol': market['id'],
|
1586
1586
|
}
|
1587
1587
|
response = None
|
@@ -1625,7 +1625,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1625
1625
|
# }
|
1626
1626
|
# ]
|
1627
1627
|
#
|
1628
|
-
result = {}
|
1628
|
+
result: dict = {}
|
1629
1629
|
for i in range(0, len(response)):
|
1630
1630
|
fee = self.parse_trading_fee(response[i])
|
1631
1631
|
symbol = fee['symbol']
|
@@ -1654,7 +1654,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1654
1654
|
if paginate:
|
1655
1655
|
return await self.fetch_paginated_call_deterministic('fetchOHLCV', symbol, since, limit, timeframe, params, 1000)
|
1656
1656
|
market = self.market(symbol)
|
1657
|
-
request = {
|
1657
|
+
request: dict = {
|
1658
1658
|
'symbol': market['id'],
|
1659
1659
|
'period': self.safe_string(self.timeframes, timeframe, timeframe),
|
1660
1660
|
}
|
@@ -1752,7 +1752,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1752
1752
|
"""
|
1753
1753
|
await self.load_markets()
|
1754
1754
|
market = None
|
1755
|
-
request = {}
|
1755
|
+
request: dict = {}
|
1756
1756
|
if symbol is not None:
|
1757
1757
|
market = self.market(symbol)
|
1758
1758
|
request['symbol'] = market['id']
|
@@ -1796,7 +1796,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1796
1796
|
market = None
|
1797
1797
|
if symbol is not None:
|
1798
1798
|
market = self.market(symbol)
|
1799
|
-
request = {
|
1799
|
+
request: dict = {
|
1800
1800
|
'client_order_id': id,
|
1801
1801
|
}
|
1802
1802
|
marketType = None
|
@@ -1857,7 +1857,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1857
1857
|
market = None
|
1858
1858
|
if symbol is not None:
|
1859
1859
|
market = self.market(symbol)
|
1860
|
-
request = {
|
1860
|
+
request: dict = {
|
1861
1861
|
'order_id': id, # exchange assigned order id to the client order id
|
1862
1862
|
}
|
1863
1863
|
marketType = None
|
@@ -1933,7 +1933,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1933
1933
|
"""
|
1934
1934
|
await self.load_markets()
|
1935
1935
|
market = None
|
1936
|
-
request = {}
|
1936
|
+
request: dict = {}
|
1937
1937
|
if symbol is not None:
|
1938
1938
|
market = self.market(symbol)
|
1939
1939
|
request['symbol'] = market['id']
|
@@ -1992,7 +1992,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1992
1992
|
market = None
|
1993
1993
|
if symbol is not None:
|
1994
1994
|
market = self.market(symbol)
|
1995
|
-
request = {
|
1995
|
+
request: dict = {
|
1996
1996
|
'client_order_id': id,
|
1997
1997
|
}
|
1998
1998
|
marketType = None
|
@@ -2028,7 +2028,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2028
2028
|
"""
|
2029
2029
|
await self.load_markets()
|
2030
2030
|
market = None
|
2031
|
-
request = {}
|
2031
|
+
request: dict = {}
|
2032
2032
|
if symbol is not None:
|
2033
2033
|
market = self.market(symbol)
|
2034
2034
|
request['symbol'] = market['id']
|
@@ -2066,7 +2066,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2066
2066
|
"""
|
2067
2067
|
await self.load_markets()
|
2068
2068
|
market = None
|
2069
|
-
request = {
|
2069
|
+
request: dict = {
|
2070
2070
|
'client_order_id': id,
|
2071
2071
|
}
|
2072
2072
|
if symbol is not None:
|
@@ -2093,7 +2093,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2093
2093
|
async def edit_order(self, id: str, symbol: str, type: OrderType, side: OrderSide, amount: Num = None, price: Num = None, params={}):
|
2094
2094
|
await self.load_markets()
|
2095
2095
|
market = None
|
2096
|
-
request = {
|
2096
|
+
request: dict = {
|
2097
2097
|
'client_order_id': id,
|
2098
2098
|
'quantity': self.amount_to_precision(symbol, amount),
|
2099
2099
|
}
|
@@ -2164,7 +2164,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2164
2164
|
timeInForce = self.safe_string(params, 'timeInForce')
|
2165
2165
|
triggerPrice = self.safe_number_n(params, ['triggerPrice', 'stopPrice', 'stop_price'])
|
2166
2166
|
isPostOnly = self.is_post_only(type == 'market', None, params)
|
2167
|
-
request = {
|
2167
|
+
request: dict = {
|
2168
2168
|
'type': type,
|
2169
2169
|
'side': side,
|
2170
2170
|
'quantity': self.amount_to_precision(market['symbol'], amount),
|
@@ -2214,8 +2214,8 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2214
2214
|
request['margin_mode'] = marginMode
|
2215
2215
|
return [request, params]
|
2216
2216
|
|
2217
|
-
def parse_order_status(self, status):
|
2218
|
-
statuses = {
|
2217
|
+
def parse_order_status(self, status: Str):
|
2218
|
+
statuses: dict = {
|
2219
2219
|
'new': 'open',
|
2220
2220
|
'suspended': 'open',
|
2221
2221
|
'partiallyFilled': 'open',
|
@@ -2225,7 +2225,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2225
2225
|
}
|
2226
2226
|
return self.safe_string(statuses, status, status)
|
2227
2227
|
|
2228
|
-
def parse_order(self, order, market: Market = None) -> Order:
|
2228
|
+
def parse_order(self, order: dict, market: Market = None) -> Order:
|
2229
2229
|
#
|
2230
2230
|
# limit
|
2231
2231
|
# {
|
@@ -2404,7 +2404,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2404
2404
|
config = self.safe_list(response, 'config', [])
|
2405
2405
|
return self.parse_margin_modes(config, symbols, 'symbol')
|
2406
2406
|
|
2407
|
-
def parse_margin_mode(self, marginMode, market=None) -> MarginMode:
|
2407
|
+
def parse_margin_mode(self, marginMode: dict, market=None) -> MarginMode:
|
2408
2408
|
marketId = self.safe_string(marginMode, 'symbol')
|
2409
2409
|
return {
|
2410
2410
|
'info': marginMode,
|
@@ -2434,7 +2434,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2434
2434
|
toId = self.safe_string(accountsByType, toAccount, toAccount)
|
2435
2435
|
if fromId == toId:
|
2436
2436
|
raise BadRequest(self.id + ' transfer() fromAccount and toAccount arguments cannot be the same account')
|
2437
|
-
request = {
|
2437
|
+
request: dict = {
|
2438
2438
|
'currency': currency['id'],
|
2439
2439
|
'amount': requestAmount,
|
2440
2440
|
'source': fromId,
|
@@ -2482,7 +2482,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2482
2482
|
if (fromNetwork is None) or (toNetwork is None):
|
2483
2483
|
keys = list(networks.keys())
|
2484
2484
|
raise ArgumentsRequired(self.id + ' convertCurrencyNetwork() requires a fromNetwork parameter and a toNetwork parameter, supported networks are ' + ', '.join(keys))
|
2485
|
-
request = {
|
2485
|
+
request: dict = {
|
2486
2486
|
'from_currency': fromNetwork,
|
2487
2487
|
'to_currency': toNetwork,
|
2488
2488
|
'amount': self.currency_to_precision(code, amount),
|
@@ -2508,7 +2508,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2508
2508
|
await self.load_markets()
|
2509
2509
|
self.check_address(address)
|
2510
2510
|
currency = self.currency(code)
|
2511
|
-
request = {
|
2511
|
+
request: dict = {
|
2512
2512
|
'currency': currency['id'],
|
2513
2513
|
'amount': amount,
|
2514
2514
|
'address': address,
|
@@ -2544,7 +2544,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2544
2544
|
"""
|
2545
2545
|
await self.load_markets()
|
2546
2546
|
market = None
|
2547
|
-
request = {}
|
2547
|
+
request: dict = {}
|
2548
2548
|
if symbols is not None:
|
2549
2549
|
symbols = self.market_symbols(symbols)
|
2550
2550
|
market = self.market(symbols[0])
|
@@ -2573,7 +2573,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2573
2573
|
# }
|
2574
2574
|
#
|
2575
2575
|
marketIds = list(response.keys())
|
2576
|
-
fundingRates = {}
|
2576
|
+
fundingRates: dict = {}
|
2577
2577
|
for i in range(0, len(marketIds)):
|
2578
2578
|
marketId = self.safe_string(marketIds, i)
|
2579
2579
|
rawFundingRate = self.safe_value(response, marketId)
|
@@ -2601,7 +2601,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2601
2601
|
if paginate:
|
2602
2602
|
return await self.fetch_paginated_call_deterministic('fetchFundingRateHistory', symbol, since, limit, '8h', params, 1000)
|
2603
2603
|
market = None
|
2604
|
-
request = {
|
2604
|
+
request: dict = {
|
2605
2605
|
# all arguments are optional
|
2606
2606
|
# 'symbols': Comma separated list of symbol codes,
|
2607
2607
|
# 'sort': 'DESC' or 'ASC'
|
@@ -2668,7 +2668,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2668
2668
|
:returns dict[]: a list of `position structure <https://docs.ccxt.com/#/?id=position-structure>`
|
2669
2669
|
"""
|
2670
2670
|
await self.load_markets()
|
2671
|
-
request = {}
|
2671
|
+
request: dict = {}
|
2672
2672
|
marketType = None
|
2673
2673
|
marginMode = None
|
2674
2674
|
marketType, params = self.handle_market_type_and_params('fetchPositions', None, params)
|
@@ -2736,7 +2736,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2736
2736
|
"""
|
2737
2737
|
await self.load_markets()
|
2738
2738
|
market = self.market(symbol)
|
2739
|
-
request = {
|
2739
|
+
request: dict = {
|
2740
2740
|
'symbol': market['id'],
|
2741
2741
|
}
|
2742
2742
|
marketType = None
|
@@ -2788,7 +2788,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2788
2788
|
#
|
2789
2789
|
return self.parse_position(response, market)
|
2790
2790
|
|
2791
|
-
def parse_position(self, position, market: Market = None):
|
2791
|
+
def parse_position(self, position: dict, market: Market = None):
|
2792
2792
|
#
|
2793
2793
|
# [
|
2794
2794
|
# {
|
@@ -2911,7 +2911,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2911
2911
|
market = self.market(symbol)
|
2912
2912
|
if not market['swap']:
|
2913
2913
|
raise BadSymbol(self.id + ' fetchOpenInterest() supports swap contracts only')
|
2914
|
-
request = {
|
2914
|
+
request: dict = {
|
2915
2915
|
'symbol': market['id'],
|
2916
2916
|
}
|
2917
2917
|
response = await self.publicGetPublicFuturesInfoSymbol(self.extend(request, params))
|
@@ -2944,7 +2944,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2944
2944
|
market = self.market(symbol)
|
2945
2945
|
if not market['swap']:
|
2946
2946
|
raise BadSymbol(self.id + ' fetchFundingRate() supports swap contracts only')
|
2947
|
-
request = {
|
2947
|
+
request: dict = {
|
2948
2948
|
'symbol': market['id'],
|
2949
2949
|
}
|
2950
2950
|
response = await self.publicGetPublicFuturesInfoSymbol(self.extend(request, params))
|
@@ -3015,7 +3015,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
3015
3015
|
amount = self.amount_to_precision(symbol, stringAmount)
|
3016
3016
|
else:
|
3017
3017
|
amount = '0'
|
3018
|
-
request = {
|
3018
|
+
request: dict = {
|
3019
3019
|
'symbol': market['id'], # swap and margin
|
3020
3020
|
'margin_balance': amount, # swap and margin
|
3021
3021
|
# "leverage": "10", # swap only required
|
@@ -3137,7 +3137,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
3137
3137
|
"""
|
3138
3138
|
await self.load_markets()
|
3139
3139
|
market = self.market(symbol)
|
3140
|
-
request = {
|
3140
|
+
request: dict = {
|
3141
3141
|
'symbol': market['id'],
|
3142
3142
|
}
|
3143
3143
|
marginMode = None
|
@@ -3219,7 +3219,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
3219
3219
|
raise BadSymbol(self.id + ' setLeverage() supports swap contracts only')
|
3220
3220
|
if (leverage < 1) or (leverage > maxLeverage):
|
3221
3221
|
raise BadRequest(self.id + ' setLeverage() leverage should be between 1 and ' + str(maxLeverage) + ' for ' + symbol)
|
3222
|
-
request = {
|
3222
|
+
request: dict = {
|
3223
3223
|
'symbol': market['id'],
|
3224
3224
|
'leverage': str(leverage),
|
3225
3225
|
'margin_balance': self.amount_to_precision(symbol, amount),
|
@@ -3296,7 +3296,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
3296
3296
|
networkCode = self.network_id_to_code(networkId)
|
3297
3297
|
withdrawFee = self.safe_number(networkEntry, 'payout_fee')
|
3298
3298
|
isDefault = self.safe_value(networkEntry, 'default')
|
3299
|
-
withdrawResult = {
|
3299
|
+
withdrawResult: dict = {
|
3300
3300
|
'fee': withdrawFee,
|
3301
3301
|
'percentage': False if (withdrawFee is not None) else None,
|
3302
3302
|
}
|
@@ -3324,7 +3324,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
3324
3324
|
marginMode = None
|
3325
3325
|
marginMode, params = self.handle_margin_mode_and_params('closePosition', params, 'cross')
|
3326
3326
|
market = self.market(symbol)
|
3327
|
-
request = {
|
3327
|
+
request: dict = {
|
3328
3328
|
'symbol': market['id'],
|
3329
3329
|
'margin_mode': marginMode,
|
3330
3330
|
}
|