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/coinlist.py
CHANGED
@@ -371,7 +371,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
371
371
|
# }
|
372
372
|
#
|
373
373
|
currencies = self.safe_value(response, 'assets', [])
|
374
|
-
result = {}
|
374
|
+
result: dict = {}
|
375
375
|
for i in range(0, len(currencies)):
|
376
376
|
currency = currencies[i]
|
377
377
|
id = self.safe_string(currency, 'asset')
|
@@ -505,7 +505,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
505
505
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
506
506
|
"""
|
507
507
|
self.load_markets()
|
508
|
-
request = {}
|
508
|
+
request: dict = {}
|
509
509
|
tickers = self.publicGetV1SymbolsSummary(self.extend(request, params))
|
510
510
|
#
|
511
511
|
# {
|
@@ -541,7 +541,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
541
541
|
"""
|
542
542
|
self.load_markets()
|
543
543
|
market = self.market(symbol)
|
544
|
-
request = {
|
544
|
+
request: dict = {
|
545
545
|
'symbol': market['id'],
|
546
546
|
}
|
547
547
|
ticker = self.publicGetV1SymbolsSymbolSummary(self.extend(request, params))
|
@@ -631,7 +631,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
631
631
|
"""
|
632
632
|
self.load_markets()
|
633
633
|
market = self.market(symbol)
|
634
|
-
request = {
|
634
|
+
request: dict = {
|
635
635
|
'symbol': market['id'],
|
636
636
|
}
|
637
637
|
response = self.publicGetV1SymbolsSymbolBook(self.extend(request, params))
|
@@ -672,7 +672,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
672
672
|
self.load_markets()
|
673
673
|
market = self.market(symbol)
|
674
674
|
granularity = self.safe_string(self.timeframes, timeframe)
|
675
|
-
request = {
|
675
|
+
request: dict = {
|
676
676
|
'symbol': market['id'],
|
677
677
|
'granularity': granularity,
|
678
678
|
}
|
@@ -749,7 +749,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
749
749
|
"""
|
750
750
|
self.load_markets()
|
751
751
|
market = self.market(symbol)
|
752
|
-
request = {
|
752
|
+
request: dict = {
|
753
753
|
'symbol': market['id'],
|
754
754
|
}
|
755
755
|
if since is not None:
|
@@ -788,7 +788,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
788
788
|
auctions = self.safe_list(response, 'auctions', [])
|
789
789
|
return self.parse_trades(auctions, market, since, limit)
|
790
790
|
|
791
|
-
def parse_trade(self, trade, market: Market = None) -> Trade:
|
791
|
+
def parse_trade(self, trade: dict, market: Market = None) -> Trade:
|
792
792
|
#
|
793
793
|
# fetchTrades
|
794
794
|
# {
|
@@ -926,7 +926,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
926
926
|
# }
|
927
927
|
#
|
928
928
|
fees = self.safe_value(response, 'fees_by_symbols', {})
|
929
|
-
result = {}
|
929
|
+
result: dict = {}
|
930
930
|
groupsOfSymbols = list(fees.keys())
|
931
931
|
for i in range(0, len(groupsOfSymbols)):
|
932
932
|
group = groupsOfSymbols[i]
|
@@ -939,7 +939,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
939
939
|
id = ids[j]
|
940
940
|
market = self.safe_market(id)
|
941
941
|
symbol = market['symbol']
|
942
|
-
info = {}
|
942
|
+
info: dict = {}
|
943
943
|
info[group] = feeTiers
|
944
944
|
result[symbol] = {
|
945
945
|
'info': info,
|
@@ -1096,7 +1096,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1096
1096
|
# "net_liquidation_value_usd": "string"
|
1097
1097
|
# }
|
1098
1098
|
#
|
1099
|
-
result = {
|
1099
|
+
result: dict = {
|
1100
1100
|
'info': response,
|
1101
1101
|
'timestamp': None,
|
1102
1102
|
'datetime': None,
|
@@ -1125,7 +1125,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1125
1125
|
:returns Trade[]: a list of `trade structures <https://docs.ccxt.com/#/?id=trade-structure>`
|
1126
1126
|
"""
|
1127
1127
|
self.load_markets()
|
1128
|
-
request = {}
|
1128
|
+
request: dict = {}
|
1129
1129
|
market = None
|
1130
1130
|
if symbol is not None:
|
1131
1131
|
market = self.market(symbol)
|
@@ -1181,7 +1181,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1181
1181
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1182
1182
|
:returns dict[]: a list of `trade structures <https://docs.ccxt.com/#/?id=trade-structure>`
|
1183
1183
|
"""
|
1184
|
-
request = {
|
1184
|
+
request: dict = {
|
1185
1185
|
'order_id': id,
|
1186
1186
|
}
|
1187
1187
|
return self.fetch_my_trades(symbol, since, limit, self.extend(request, params))
|
@@ -1202,7 +1202,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1202
1202
|
status = self.safe_string(params, 'status')
|
1203
1203
|
if status is None:
|
1204
1204
|
status = ['accepted', 'done', 'canceled', 'rejected', 'pending']
|
1205
|
-
request = {
|
1205
|
+
request: dict = {
|
1206
1206
|
'status': status,
|
1207
1207
|
}
|
1208
1208
|
market = None
|
@@ -1257,7 +1257,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1257
1257
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
1258
1258
|
"""
|
1259
1259
|
self.load_markets()
|
1260
|
-
request = {
|
1260
|
+
request: dict = {
|
1261
1261
|
'order_id': id,
|
1262
1262
|
}
|
1263
1263
|
response = self.privateGetV1OrdersOrderId(self.extend(request, params))
|
@@ -1299,7 +1299,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1299
1299
|
:returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
1300
1300
|
"""
|
1301
1301
|
self.load_markets()
|
1302
|
-
request = {
|
1302
|
+
request: dict = {
|
1303
1303
|
'status': 'accepted',
|
1304
1304
|
}
|
1305
1305
|
return self.fetch_orders(symbol, since, limit, self.extend(request, params))
|
@@ -1316,7 +1316,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1316
1316
|
:returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
1317
1317
|
"""
|
1318
1318
|
self.load_markets()
|
1319
|
-
request = {
|
1319
|
+
request: dict = {
|
1320
1320
|
'status': 'done',
|
1321
1321
|
}
|
1322
1322
|
return self.fetch_orders(symbol, since, limit, self.extend(request, params))
|
@@ -1333,7 +1333,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1333
1333
|
:returns dict: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
1334
1334
|
"""
|
1335
1335
|
self.load_markets()
|
1336
|
-
request = {
|
1336
|
+
request: dict = {
|
1337
1337
|
'status': 'canceled',
|
1338
1338
|
}
|
1339
1339
|
return self.fetch_orders(symbol, since, limit, self.extend(request, params))
|
@@ -1348,7 +1348,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1348
1348
|
"""
|
1349
1349
|
self.load_markets()
|
1350
1350
|
market = None
|
1351
|
-
request = {}
|
1351
|
+
request: dict = {}
|
1352
1352
|
if symbol is not None:
|
1353
1353
|
market = self.market(symbol)
|
1354
1354
|
request['symbol'] = market['id']
|
@@ -1372,7 +1372,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1372
1372
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
1373
1373
|
"""
|
1374
1374
|
self.load_markets()
|
1375
|
-
request = {
|
1375
|
+
request: dict = {
|
1376
1376
|
'order_id': id,
|
1377
1377
|
}
|
1378
1378
|
response = self.privateDeleteV1OrdersOrderId(self.extend(request, params))
|
@@ -1416,7 +1416,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1416
1416
|
"""
|
1417
1417
|
self.load_markets()
|
1418
1418
|
market = self.market(symbol)
|
1419
|
-
request = {
|
1419
|
+
request: dict = {
|
1420
1420
|
'symbol': market['id'],
|
1421
1421
|
'type': type,
|
1422
1422
|
'side': side,
|
@@ -1481,7 +1481,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1481
1481
|
if amount is None:
|
1482
1482
|
raise ArgumentsRequired(self.id + ' editOrder() requires an amount argument')
|
1483
1483
|
market = self.market(symbol)
|
1484
|
-
request = {
|
1484
|
+
request: dict = {
|
1485
1485
|
'order_id': id,
|
1486
1486
|
'type': type,
|
1487
1487
|
'side': side,
|
@@ -1492,7 +1492,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1492
1492
|
response = self.privatePatchV1OrdersOrderId(self.extend(request, params))
|
1493
1493
|
return self.parse_order(response, market)
|
1494
1494
|
|
1495
|
-
def parse_order(self, order, market: Market = None) -> Order:
|
1495
|
+
def parse_order(self, order: dict, market: Market = None) -> Order:
|
1496
1496
|
#
|
1497
1497
|
# fetchOrder
|
1498
1498
|
# {
|
@@ -1616,8 +1616,8 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1616
1616
|
'postOnly': postOnly,
|
1617
1617
|
}, market)
|
1618
1618
|
|
1619
|
-
def parse_order_status(self, status):
|
1620
|
-
statuses = {
|
1619
|
+
def parse_order_status(self, status: Str):
|
1620
|
+
statuses: dict = {
|
1621
1621
|
'pending': 'open',
|
1622
1622
|
'accepted': 'open',
|
1623
1623
|
'rejected': 'rejected',
|
@@ -1627,7 +1627,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1627
1627
|
return self.safe_string(statuses, status, status)
|
1628
1628
|
|
1629
1629
|
def parse_order_type(self, status):
|
1630
|
-
statuses = {
|
1630
|
+
statuses: dict = {
|
1631
1631
|
'market': 'market',
|
1632
1632
|
'limit': 'limit',
|
1633
1633
|
'stop_market': 'market',
|
@@ -1652,7 +1652,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1652
1652
|
"""
|
1653
1653
|
self.load_markets()
|
1654
1654
|
currency = self.currency(code)
|
1655
|
-
request = {
|
1655
|
+
request: dict = {
|
1656
1656
|
'asset': currency['id'],
|
1657
1657
|
'amount': self.currency_to_precision(code, amount),
|
1658
1658
|
}
|
@@ -1700,7 +1700,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1700
1700
|
currency = None
|
1701
1701
|
if code is not None:
|
1702
1702
|
currency = self.currency(code)
|
1703
|
-
request = {}
|
1703
|
+
request: dict = {}
|
1704
1704
|
if since is not None:
|
1705
1705
|
request['start_time'] = self.iso8601(since)
|
1706
1706
|
if limit is not None:
|
@@ -1791,7 +1791,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1791
1791
|
}
|
1792
1792
|
|
1793
1793
|
def parse_transfer_status(self, status: Str) -> Str:
|
1794
|
-
statuses = {
|
1794
|
+
statuses: dict = {
|
1795
1795
|
'confirmed': 'ok',
|
1796
1796
|
}
|
1797
1797
|
return self.safe_string(statuses, status, status)
|
@@ -1813,7 +1813,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1813
1813
|
raise ArgumentsRequired(self.id + ' fetchDepositsWithdrawals() requires a traderId argument in the params')
|
1814
1814
|
self.load_markets()
|
1815
1815
|
currency = self.currency(code)
|
1816
|
-
request = {
|
1816
|
+
request: dict = {
|
1817
1817
|
'asset': currency['id'],
|
1818
1818
|
'trader_id': traderId,
|
1819
1819
|
}
|
@@ -1881,7 +1881,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1881
1881
|
"""
|
1882
1882
|
self.load_markets()
|
1883
1883
|
currency = self.currency(code)
|
1884
|
-
request = {
|
1884
|
+
request: dict = {
|
1885
1885
|
'asset': currency['id'],
|
1886
1886
|
'amount': self.currency_to_precision(code, amount),
|
1887
1887
|
'destination_address': address,
|
@@ -1895,7 +1895,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1895
1895
|
data = self.safe_dict(response, 'data', {})
|
1896
1896
|
return self.parse_transaction(data, currency)
|
1897
1897
|
|
1898
|
-
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
1898
|
+
def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
|
1899
1899
|
# withdraw
|
1900
1900
|
#
|
1901
1901
|
# {
|
@@ -1955,7 +1955,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1955
1955
|
}
|
1956
1956
|
|
1957
1957
|
def parse_transaction_type(self, type):
|
1958
|
-
types = {
|
1958
|
+
types: dict = {
|
1959
1959
|
'CRYPTO_DEPOSIT': 'deposit',
|
1960
1960
|
'CRYPTO_WITHDRAWAL': 'withdrawal',
|
1961
1961
|
'PRO_TRANSFER': 'transfer',
|
@@ -1977,7 +1977,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1977
1977
|
if traderId is None:
|
1978
1978
|
raise ArgumentsRequired(self.id + ' fetchLedger() requires a traderId argument in the params')
|
1979
1979
|
self.load_markets()
|
1980
|
-
request = {
|
1980
|
+
request: dict = {
|
1981
1981
|
'trader_id': traderId,
|
1982
1982
|
}
|
1983
1983
|
currency = None
|
@@ -2061,7 +2061,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
2061
2061
|
ledger = self.safe_value(response, 'transactions', [])
|
2062
2062
|
return self.parse_ledger(ledger, currency, since, limit)
|
2063
2063
|
|
2064
|
-
def parse_ledger_entry(self, item, currency: Currency = None):
|
2064
|
+
def parse_ledger_entry(self, item: dict, currency: Currency = None):
|
2065
2065
|
#
|
2066
2066
|
# deposit transaction from wallet(funding) to pro(trading)
|
2067
2067
|
# {
|
@@ -2165,7 +2165,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
2165
2165
|
}
|
2166
2166
|
|
2167
2167
|
def parse_ledger_entry_type(self, type):
|
2168
|
-
types = {
|
2168
|
+
types: dict = {
|
2169
2169
|
'atomic token swap': 'trade',
|
2170
2170
|
'fee': 'fee',
|
2171
2171
|
'deposit': 'transfer',
|
ccxt/coinmate.py
CHANGED
@@ -323,7 +323,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
323
323
|
|
324
324
|
def parse_balance(self, response) -> Balances:
|
325
325
|
balances = self.safe_value(response, 'data', {})
|
326
|
-
result = {'info': response}
|
326
|
+
result: dict = {'info': response}
|
327
327
|
currencyIds = list(balances.keys())
|
328
328
|
for i in range(0, len(currencyIds)):
|
329
329
|
currencyId = currencyIds[i]
|
@@ -358,7 +358,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
358
358
|
"""
|
359
359
|
self.load_markets()
|
360
360
|
market = self.market(symbol)
|
361
|
-
request = {
|
361
|
+
request: dict = {
|
362
362
|
'currencyPair': market['id'],
|
363
363
|
'groupByPriceLimit': 'False',
|
364
364
|
}
|
@@ -377,7 +377,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
377
377
|
"""
|
378
378
|
self.load_markets()
|
379
379
|
market = self.market(symbol)
|
380
|
-
request = {
|
380
|
+
request: dict = {
|
381
381
|
'currencyPair': market['id'],
|
382
382
|
}
|
383
383
|
response = self.publicGetTicker(self.extend(request, params))
|
@@ -433,7 +433,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
433
433
|
#
|
434
434
|
data = self.safe_value(response, 'data', {})
|
435
435
|
keys = list(data.keys())
|
436
|
-
result = {}
|
436
|
+
result: dict = {}
|
437
437
|
for i in range(0, len(keys)):
|
438
438
|
market = self.market(keys[i])
|
439
439
|
ticker = self.parse_ticker(self.safe_value(data, keys[i]), market)
|
@@ -490,7 +490,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
490
490
|
:returns dict: a list of `transaction structure <https://docs.ccxt.com/#/?id=transaction-structure>`
|
491
491
|
"""
|
492
492
|
self.load_markets()
|
493
|
-
request = {
|
493
|
+
request: dict = {
|
494
494
|
'limit': 1000,
|
495
495
|
}
|
496
496
|
if limit is not None:
|
@@ -505,7 +505,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
505
505
|
return self.parse_transactions(items, None, since, limit)
|
506
506
|
|
507
507
|
def parse_transaction_status(self, status):
|
508
|
-
statuses = {
|
508
|
+
statuses: dict = {
|
509
509
|
'COMPLETED': 'ok',
|
510
510
|
'WAITING': 'pending',
|
511
511
|
'SENT': 'pending',
|
@@ -516,7 +516,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
516
516
|
}
|
517
517
|
return self.safe_string(statuses, status, status)
|
518
518
|
|
519
|
-
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
519
|
+
def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
|
520
520
|
#
|
521
521
|
# deposits
|
522
522
|
#
|
@@ -613,7 +613,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
613
613
|
if method is None:
|
614
614
|
allowedCurrencies = list(methods.keys())
|
615
615
|
raise ExchangeError(self.id + ' withdraw() only allows withdrawing the following currencies: ' + ', '.join(allowedCurrencies))
|
616
|
-
request = {
|
616
|
+
request: dict = {
|
617
617
|
'amount': self.currency_to_precision(code, amount),
|
618
618
|
'address': address,
|
619
619
|
}
|
@@ -654,7 +654,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
654
654
|
self.load_markets()
|
655
655
|
if limit is None:
|
656
656
|
limit = 1000
|
657
|
-
request = {
|
657
|
+
request: dict = {
|
658
658
|
'limit': limit,
|
659
659
|
}
|
660
660
|
if symbol is not None:
|
@@ -666,7 +666,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
666
666
|
data = self.safe_list(response, 'data', [])
|
667
667
|
return self.parse_trades(data, None, since, limit)
|
668
668
|
|
669
|
-
def parse_trade(self, trade, market: Market = None) -> Trade:
|
669
|
+
def parse_trade(self, trade: dict, market: Market = None) -> Trade:
|
670
670
|
#
|
671
671
|
# fetchMyTrades(private)
|
672
672
|
#
|
@@ -740,7 +740,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
740
740
|
"""
|
741
741
|
self.load_markets()
|
742
742
|
market = self.market(symbol)
|
743
|
-
request = {
|
743
|
+
request: dict = {
|
744
744
|
'currencyPair': market['id'],
|
745
745
|
'minutesIntoHistory': 10,
|
746
746
|
}
|
@@ -774,7 +774,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
774
774
|
"""
|
775
775
|
self.load_markets()
|
776
776
|
market = self.market(symbol)
|
777
|
-
request = {
|
777
|
+
request: dict = {
|
778
778
|
'currencyPair': market['id'],
|
779
779
|
}
|
780
780
|
response = self.privatePostTraderFees(self.extend(request, params))
|
@@ -810,7 +810,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
810
810
|
:returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
811
811
|
"""
|
812
812
|
response = self.privatePostOpenOrders(self.extend({}, params))
|
813
|
-
extension = {'status': 'open'}
|
813
|
+
extension: dict = {'status': 'open'}
|
814
814
|
return self.parse_orders(response['data'], None, since, limit, extension)
|
815
815
|
|
816
816
|
def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
@@ -827,7 +827,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
827
827
|
raise ArgumentsRequired(self.id + ' fetchOrders() requires a symbol argument')
|
828
828
|
self.load_markets()
|
829
829
|
market = self.market(symbol)
|
830
|
-
request = {
|
830
|
+
request: dict = {
|
831
831
|
'currencyPair': market['id'],
|
832
832
|
}
|
833
833
|
# offset param that appears in other parts of the API doesn't appear to be supported here
|
@@ -836,8 +836,8 @@ class coinmate(Exchange, ImplicitAPI):
|
|
836
836
|
response = self.privatePostOrderHistory(self.extend(request, params))
|
837
837
|
return self.parse_orders(response['data'], market, since, limit)
|
838
838
|
|
839
|
-
def parse_order_status(self, status):
|
840
|
-
statuses = {
|
839
|
+
def parse_order_status(self, status: Str):
|
840
|
+
statuses: dict = {
|
841
841
|
'FILLED': 'closed',
|
842
842
|
'CANCELLED': 'canceled',
|
843
843
|
'PARTIALLY_FILLED': 'open',
|
@@ -845,14 +845,14 @@ class coinmate(Exchange, ImplicitAPI):
|
|
845
845
|
}
|
846
846
|
return self.safe_string(statuses, status, status)
|
847
847
|
|
848
|
-
def parse_order_type(self, type):
|
849
|
-
types = {
|
848
|
+
def parse_order_type(self, type: Str):
|
849
|
+
types: dict = {
|
850
850
|
'LIMIT': 'limit',
|
851
851
|
'MARKET': 'market',
|
852
852
|
}
|
853
853
|
return self.safe_string(types, type, type)
|
854
854
|
|
855
|
-
def parse_order(self, order, market: Market = None) -> Order:
|
855
|
+
def parse_order(self, order: dict, market: Market = None) -> Order:
|
856
856
|
#
|
857
857
|
# limit sell
|
858
858
|
#
|
@@ -951,7 +951,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
951
951
|
self.load_markets()
|
952
952
|
method = 'privatePost' + self.capitalize(side)
|
953
953
|
market = self.market(symbol)
|
954
|
-
request = {
|
954
|
+
request: dict = {
|
955
955
|
'currencyPair': market['id'],
|
956
956
|
}
|
957
957
|
if type == 'market':
|
@@ -981,7 +981,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
981
981
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
982
982
|
"""
|
983
983
|
self.load_markets()
|
984
|
-
request = {
|
984
|
+
request: dict = {
|
985
985
|
'orderId': id,
|
986
986
|
}
|
987
987
|
market = None
|
@@ -1001,7 +1001,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
1001
1001
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
1002
1002
|
"""
|
1003
1003
|
# {"error":false,"errorMessage":null,"data":{"success":true,"remainingAmount":0.01}}
|
1004
|
-
request = {'orderId': id}
|
1004
|
+
request: dict = {'orderId': id}
|
1005
1005
|
response = self.privatePostCancelOrderWithInfo(self.extend(request, params))
|
1006
1006
|
return {
|
1007
1007
|
'info': response,
|
ccxt/coinmetro.py
CHANGED
@@ -308,7 +308,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
308
308
|
# ...
|
309
309
|
# ]
|
310
310
|
#
|
311
|
-
result = {}
|
311
|
+
result: dict = {}
|
312
312
|
for i in range(0, len(response)):
|
313
313
|
currency = response[i]
|
314
314
|
id = self.safe_string(currency, 'symbol')
|
@@ -455,7 +455,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
455
455
|
baseId = restId
|
456
456
|
quoteId = currencyId
|
457
457
|
break
|
458
|
-
result = {
|
458
|
+
result: dict = {
|
459
459
|
'baseId': baseId,
|
460
460
|
'quoteId': quoteId,
|
461
461
|
}
|
@@ -468,7 +468,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
468
468
|
limits = self.safe_value(currency, 'limits', {})
|
469
469
|
amountLimits = self.safe_value(limits, 'amount', {})
|
470
470
|
minLimit = self.safe_number(amountLimits, 'min')
|
471
|
-
result = {
|
471
|
+
result: dict = {
|
472
472
|
'precision': precision,
|
473
473
|
'minLimit': minLimit,
|
474
474
|
}
|
@@ -488,7 +488,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
488
488
|
"""
|
489
489
|
self.load_markets()
|
490
490
|
market = self.market(symbol)
|
491
|
-
request = {
|
491
|
+
request: dict = {
|
492
492
|
'pair': market['id'],
|
493
493
|
'timeframe': self.safe_string(self.timeframes, timeframe, timeframe),
|
494
494
|
}
|
@@ -559,7 +559,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
559
559
|
"""
|
560
560
|
self.load_markets()
|
561
561
|
market = self.market(symbol)
|
562
|
-
request = {
|
562
|
+
request: dict = {
|
563
563
|
'pair': market['id'],
|
564
564
|
}
|
565
565
|
if since is not None:
|
@@ -613,7 +613,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
613
613
|
market = None
|
614
614
|
if symbol is not None:
|
615
615
|
market = self.market(symbol)
|
616
|
-
request = {}
|
616
|
+
request: dict = {}
|
617
617
|
if since is not None:
|
618
618
|
request['since'] = since
|
619
619
|
else:
|
@@ -636,7 +636,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
636
636
|
#
|
637
637
|
return self.parse_trades(response, market, since, limit)
|
638
638
|
|
639
|
-
def parse_trade(self, trade, market: Market = None) -> Trade:
|
639
|
+
def parse_trade(self, trade: dict, market: Market = None) -> Trade:
|
640
640
|
#
|
641
641
|
# fetchTrades
|
642
642
|
# {
|
@@ -715,7 +715,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
715
715
|
"""
|
716
716
|
self.load_markets()
|
717
717
|
market = self.market(symbol)
|
718
|
-
request = {
|
718
|
+
request: dict = {
|
719
719
|
'pair': market['id'],
|
720
720
|
}
|
721
721
|
response = self.publicGetExchangeBookPair(self.extend(request, params))
|
@@ -749,7 +749,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
749
749
|
book = self.safe_value(response, 'book', {})
|
750
750
|
rawBids = self.safe_value(book, 'bid', {})
|
751
751
|
rawAsks = self.safe_value(book, 'ask', {})
|
752
|
-
rawOrderbook = {
|
752
|
+
rawOrderbook: dict = {
|
753
753
|
'bids': rawBids,
|
754
754
|
'asks': rawAsks,
|
755
755
|
}
|
@@ -827,7 +827,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
827
827
|
#
|
828
828
|
latestPrices = self.safe_value(response, 'latestPrices', [])
|
829
829
|
twentyFourHInfos = self.safe_value(response, '24hInfo', [])
|
830
|
-
tickersObject = {}
|
830
|
+
tickersObject: dict = {}
|
831
831
|
# merging info from two lists into one
|
832
832
|
for i in range(0, len(latestPrices)):
|
833
833
|
latestPrice = latestPrices[i]
|
@@ -944,7 +944,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
944
944
|
# ...
|
945
945
|
# ]
|
946
946
|
#
|
947
|
-
result = {
|
947
|
+
result: dict = {
|
948
948
|
'info': balances,
|
949
949
|
}
|
950
950
|
for i in range(0, len(balances)):
|
@@ -969,7 +969,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
969
969
|
:returns dict: a `ledger structure <https://docs.ccxt.com/#/?id=ledger-structure>`
|
970
970
|
"""
|
971
971
|
self.load_markets()
|
972
|
-
request = {}
|
972
|
+
request: dict = {}
|
973
973
|
if since is not None:
|
974
974
|
request['since'] = since
|
975
975
|
else:
|
@@ -1079,7 +1079,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
1079
1079
|
ledger.append(rawLedgerEntry)
|
1080
1080
|
return self.parse_ledger(ledger, currency, since, limit)
|
1081
1081
|
|
1082
|
-
def parse_ledger_entry(self, item, currency: Currency = None):
|
1082
|
+
def parse_ledger_entry(self, item: dict, currency: Currency = None):
|
1083
1083
|
datetime = self.safe_string(item, 'timestamp')
|
1084
1084
|
currencyId = self.safe_string(item, 'currencyId')
|
1085
1085
|
item = self.omit(item, 'currencyId')
|
@@ -1134,7 +1134,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
1134
1134
|
return [type, referenceId]
|
1135
1135
|
|
1136
1136
|
def parse_ledger_entry_type(self, type):
|
1137
|
-
types = {
|
1137
|
+
types: dict = {
|
1138
1138
|
'Deposit': 'transaction',
|
1139
1139
|
'Withdraw': 'transaction',
|
1140
1140
|
'Order': 'trade',
|
@@ -1164,7 +1164,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
1164
1164
|
"""
|
1165
1165
|
self.load_markets()
|
1166
1166
|
market = self.market(symbol)
|
1167
|
-
request = {
|
1167
|
+
request: dict = {
|
1168
1168
|
}
|
1169
1169
|
request['orderType'] = type
|
1170
1170
|
precisedAmount = None
|
@@ -1249,7 +1249,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
1249
1249
|
return request
|
1250
1250
|
|
1251
1251
|
def encode_order_time_in_force(self, timeInForce):
|
1252
|
-
timeInForceTypes = {
|
1252
|
+
timeInForceTypes: dict = {
|
1253
1253
|
'GTC': 1,
|
1254
1254
|
'IOC': 2,
|
1255
1255
|
'GTD': 3,
|
@@ -1269,7 +1269,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
1269
1269
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
1270
1270
|
"""
|
1271
1271
|
self.load_markets()
|
1272
|
-
request = {
|
1272
|
+
request: dict = {
|
1273
1273
|
'orderID': id,
|
1274
1274
|
}
|
1275
1275
|
marginMode = None
|
@@ -1317,7 +1317,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
1317
1317
|
orderId = self.safe_string(params, 'orderId')
|
1318
1318
|
if orderId is None:
|
1319
1319
|
raise ArgumentsRequired(self.id + ' closePosition() requires a orderId parameter')
|
1320
|
-
request = {
|
1320
|
+
request: dict = {
|
1321
1321
|
'orderID': orderId,
|
1322
1322
|
}
|
1323
1323
|
response = self.privatePostExchangeOrdersCloseOrderID(self.extend(request, params))
|
@@ -1387,7 +1387,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
1387
1387
|
market = None
|
1388
1388
|
if symbol is not None:
|
1389
1389
|
market = self.market(symbol)
|
1390
|
-
request = {}
|
1390
|
+
request: dict = {}
|
1391
1391
|
if since is not None:
|
1392
1392
|
request['since'] = since
|
1393
1393
|
response = self.privateGetExchangeOrdersHistorySince(self.extend(request, params))
|
@@ -1403,7 +1403,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
1403
1403
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
1404
1404
|
"""
|
1405
1405
|
self.load_markets()
|
1406
|
-
request = {
|
1406
|
+
request: dict = {
|
1407
1407
|
'orderID': id,
|
1408
1408
|
}
|
1409
1409
|
response = self.privateGetExchangeOrdersStatusOrderID(self.extend(request, params))
|
@@ -1444,7 +1444,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
1444
1444
|
#
|
1445
1445
|
return self.parse_order(response)
|
1446
1446
|
|
1447
|
-
def parse_order(self, order, market: Market = None) -> Order:
|
1447
|
+
def parse_order(self, order: dict, market: Market = None) -> Order:
|
1448
1448
|
#
|
1449
1449
|
# createOrder market
|
1450
1450
|
# {
|
@@ -1735,7 +1735,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
1735
1735
|
self.load_markets()
|
1736
1736
|
currency = self.currency(code)
|
1737
1737
|
currencyId = currency['id']
|
1738
|
-
request = {}
|
1738
|
+
request: dict = {}
|
1739
1739
|
request[currencyId] = self.currency_to_precision(code, amount)
|
1740
1740
|
response = self.privatePutUsersMarginCollateral(self.extend(request, params))
|
1741
1741
|
#
|