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/wavesexchange.py
CHANGED
@@ -735,7 +735,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
735
735
|
payload = prefix + messageHex
|
736
736
|
hexKey = self.binary_to_base16(self.base58_to_binary(self.secret))
|
737
737
|
signature = self.axolotl(payload, hexKey, 'ed25519')
|
738
|
-
request = {
|
738
|
+
request: dict = {
|
739
739
|
'grant_type': 'password',
|
740
740
|
'scope': 'general',
|
741
741
|
'username': self.apiKey,
|
@@ -835,7 +835,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
835
835
|
"""
|
836
836
|
self.load_markets()
|
837
837
|
market = self.market(symbol)
|
838
|
-
request = {
|
838
|
+
request: dict = {
|
839
839
|
'pairs': market['id'],
|
840
840
|
}
|
841
841
|
response = self.publicGetPairs(self.extend(request, params))
|
@@ -918,7 +918,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
918
918
|
"""
|
919
919
|
self.load_markets()
|
920
920
|
market = self.market(symbol)
|
921
|
-
request = {
|
921
|
+
request: dict = {
|
922
922
|
'baseId': market['baseId'],
|
923
923
|
'quoteId': market['quoteId'],
|
924
924
|
'interval': self.safe_string(self.timeframes, timeframe, timeframe),
|
@@ -1063,8 +1063,8 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1063
1063
|
# ]
|
1064
1064
|
# }
|
1065
1065
|
#
|
1066
|
-
currencies = {}
|
1067
|
-
networksByCurrency = {}
|
1066
|
+
currencies: dict = {}
|
1067
|
+
networksByCurrency: dict = {}
|
1068
1068
|
items = self.safe_value(supportedCurrencies, 'items', [])
|
1069
1069
|
for i in range(0, len(items)):
|
1070
1070
|
entry = items[i]
|
@@ -1081,7 +1081,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1081
1081
|
raise ExchangeError(self.id + ' fetchDepositAddress() ' + code + ' not supported. Currency code must be one of ' + ', '.join(codes))
|
1082
1082
|
response = None
|
1083
1083
|
if network is None:
|
1084
|
-
request = {
|
1084
|
+
request: dict = {
|
1085
1085
|
'currency': code,
|
1086
1086
|
}
|
1087
1087
|
response = self.privateGetDepositAddressesCurrency(self.extend(request, params))
|
@@ -1091,7 +1091,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1091
1091
|
supportedNetworkKeys = list(supportedNetworks.keys())
|
1092
1092
|
raise ExchangeError(self.id + ' ' + network + ' network ' + code + ' deposit address not supported. Network must be one of ' + ', '.join(supportedNetworkKeys))
|
1093
1093
|
if network == 'WAVES':
|
1094
|
-
request = {
|
1094
|
+
request: dict = {
|
1095
1095
|
'publicKey': self.apiKey,
|
1096
1096
|
}
|
1097
1097
|
responseInner = self.nodeGetAddressesPublicKeyPublicKey(self.extend(request, request))
|
@@ -1105,7 +1105,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1105
1105
|
'info': responseInner,
|
1106
1106
|
}
|
1107
1107
|
else:
|
1108
|
-
request = {
|
1108
|
+
request: dict = {
|
1109
1109
|
'currency': code,
|
1110
1110
|
'platform': network,
|
1111
1111
|
}
|
@@ -1307,13 +1307,13 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1307
1307
|
raise InsufficientFunds(self.id + ' not enough funds on none of the eligible asset fees')
|
1308
1308
|
amount = self.custom_amount_to_precision(symbol, amount)
|
1309
1309
|
price = self.custom_price_to_precision(symbol, price)
|
1310
|
-
assetPair = {
|
1310
|
+
assetPair: dict = {
|
1311
1311
|
'amountAsset': amountAsset,
|
1312
1312
|
'priceAsset': priceAsset,
|
1313
1313
|
}
|
1314
1314
|
sandboxMode = self.safe_bool(self.options, 'sandboxMode', False)
|
1315
1315
|
chainId = 84 if (sandboxMode) else 87
|
1316
|
-
body = {
|
1316
|
+
body: dict = {
|
1317
1317
|
'senderPublicKey': self.apiKey,
|
1318
1318
|
'matcherPublicKey': matcherPublicKey,
|
1319
1319
|
'assetPair': assetPair,
|
@@ -1339,7 +1339,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1339
1339
|
# },
|
1340
1340
|
# }
|
1341
1341
|
#
|
1342
|
-
attachment = {
|
1342
|
+
attachment: dict = {
|
1343
1343
|
'v': 1,
|
1344
1344
|
'c': {
|
1345
1345
|
't': 'sp',
|
@@ -1463,7 +1463,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1463
1463
|
binary = self.binary_concat_array(byteArray)
|
1464
1464
|
hexSecret = self.binary_to_base16(self.base58_to_binary(self.secret))
|
1465
1465
|
signature = self.axolotl(self.binary_to_base16(binary), hexSecret, 'ed25519')
|
1466
|
-
request = {
|
1466
|
+
request: dict = {
|
1467
1467
|
'Timestamp': str(timestamp),
|
1468
1468
|
'Signature': signature,
|
1469
1469
|
'publicKey': self.apiKey,
|
@@ -1495,7 +1495,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1495
1495
|
binary = self.binary_concat_array(byteArray)
|
1496
1496
|
hexSecret = self.binary_to_base16(self.base58_to_binary(self.secret))
|
1497
1497
|
signature = self.axolotl(self.binary_to_base16(binary), hexSecret, 'ed25519')
|
1498
|
-
request = {
|
1498
|
+
request: dict = {
|
1499
1499
|
'Accept': 'application/json',
|
1500
1500
|
'Timestamp': str(timestamp),
|
1501
1501
|
'Signature': signature,
|
@@ -1536,7 +1536,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1536
1536
|
if symbol is not None:
|
1537
1537
|
market = self.market(symbol)
|
1538
1538
|
address = self.get_waves_address()
|
1539
|
-
request = {
|
1539
|
+
request: dict = {
|
1540
1540
|
'address': address,
|
1541
1541
|
'activeOnly': True,
|
1542
1542
|
}
|
@@ -1558,7 +1558,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1558
1558
|
if symbol is not None:
|
1559
1559
|
market = self.market(symbol)
|
1560
1560
|
address = self.get_waves_address()
|
1561
|
-
request = {
|
1561
|
+
request: dict = {
|
1562
1562
|
'address': address,
|
1563
1563
|
'closedOnly': True,
|
1564
1564
|
}
|
@@ -1585,8 +1585,8 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1585
1585
|
# ]
|
1586
1586
|
return self.parse_orders(response, market, since, limit)
|
1587
1587
|
|
1588
|
-
def parse_order_status(self, status):
|
1589
|
-
statuses = {
|
1588
|
+
def parse_order_status(self, status: Str):
|
1589
|
+
statuses: dict = {
|
1590
1590
|
'Cancelled': 'canceled',
|
1591
1591
|
'Accepted': 'open',
|
1592
1592
|
'Filled': 'closed',
|
@@ -1600,7 +1600,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1600
1600
|
quoteId = self.safe_string(assetPair, 'priceAsset', 'WAVES')
|
1601
1601
|
return self.safe_currency_code(baseId) + '/' + self.safe_currency_code(quoteId)
|
1602
1602
|
|
1603
|
-
def parse_order(self, order, market: Market = None) -> Order:
|
1603
|
+
def parse_order(self, order: dict, market: Market = None) -> Order:
|
1604
1604
|
#
|
1605
1605
|
# createOrder
|
1606
1606
|
#
|
@@ -1726,7 +1726,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1726
1726
|
def get_waves_address(self):
|
1727
1727
|
cachedAddreess = self.safe_string(self.options, 'wavesAddress')
|
1728
1728
|
if cachedAddreess is None:
|
1729
|
-
request = {
|
1729
|
+
request: dict = {
|
1730
1730
|
'publicKey': self.apiKey,
|
1731
1731
|
}
|
1732
1732
|
response = self.nodeGetAddressesPublicKeyPublicKey(request)
|
@@ -1751,7 +1751,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1751
1751
|
self.check_required_keys()
|
1752
1752
|
self.load_markets()
|
1753
1753
|
wavesAddress = self.get_waves_address()
|
1754
|
-
request = {
|
1754
|
+
request: dict = {
|
1755
1755
|
'address': wavesAddress,
|
1756
1756
|
}
|
1757
1757
|
totalBalance = self.nodeGetAssetsBalanceAddress(request)
|
@@ -1790,7 +1790,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1790
1790
|
# ]
|
1791
1791
|
# }
|
1792
1792
|
balances = self.safe_value(totalBalance, 'balances', [])
|
1793
|
-
result = {}
|
1793
|
+
result: dict = {}
|
1794
1794
|
timestamp = None
|
1795
1795
|
assetIds = []
|
1796
1796
|
nonStandardBalances = []
|
@@ -1813,7 +1813,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1813
1813
|
result[code]['total'] = self.from_precision(balance, decimals)
|
1814
1814
|
nonStandardAssets = len(assetIds)
|
1815
1815
|
if nonStandardAssets:
|
1816
|
-
requestInner = {
|
1816
|
+
requestInner: dict = {
|
1817
1817
|
'ids': assetIds,
|
1818
1818
|
}
|
1819
1819
|
response = self.publicGetAssets(requestInner)
|
@@ -1835,7 +1835,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1835
1835
|
binary = self.binary_concat_array(byteArray)
|
1836
1836
|
hexSecret = self.binary_to_base16(self.base58_to_binary(self.secret))
|
1837
1837
|
signature = self.axolotl(self.binary_to_base16(binary), hexSecret, 'ed25519')
|
1838
|
-
matcherRequest = {
|
1838
|
+
matcherRequest: dict = {
|
1839
1839
|
'publicKey': self.apiKey,
|
1840
1840
|
'signature': signature,
|
1841
1841
|
'timestamp': str(currentTimestamp),
|
@@ -1853,7 +1853,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1853
1853
|
result[code]['used'] = self.currency_from_precision(code, amount)
|
1854
1854
|
else:
|
1855
1855
|
result[code]['used'] = amount
|
1856
|
-
wavesRequest = {
|
1856
|
+
wavesRequest: dict = {
|
1857
1857
|
'address': wavesAddress,
|
1858
1858
|
}
|
1859
1859
|
wavesTotal = self.nodeGetAddressesBalanceAddress(wavesRequest)
|
@@ -1884,7 +1884,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1884
1884
|
"""
|
1885
1885
|
self.load_markets()
|
1886
1886
|
address = self.get_waves_address()
|
1887
|
-
request = {
|
1887
|
+
request: dict = {
|
1888
1888
|
'sender': address,
|
1889
1889
|
}
|
1890
1890
|
market = None
|
@@ -1973,7 +1973,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1973
1973
|
"""
|
1974
1974
|
self.load_markets()
|
1975
1975
|
market = self.market(symbol)
|
1976
|
-
request = {
|
1976
|
+
request: dict = {
|
1977
1977
|
'amountAsset': market['baseId'],
|
1978
1978
|
'priceAsset': market['quoteId'],
|
1979
1979
|
}
|
@@ -2051,7 +2051,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
2051
2051
|
#
|
2052
2052
|
return self.parse_trades(data, market, since, limit)
|
2053
2053
|
|
2054
|
-
def parse_trade(self, trade, market: Market = None) -> Trade:
|
2054
|
+
def parse_trade(self, trade: dict, market: Market = None) -> Trade:
|
2055
2055
|
#
|
2056
2056
|
# {__type: "transaction",
|
2057
2057
|
# "data":
|
@@ -2141,7 +2141,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
2141
2141
|
}, market)
|
2142
2142
|
|
2143
2143
|
def parse_deposit_withdraw_fees(self, response, codes: Strings = None, currencyIdKey=None) -> Any:
|
2144
|
-
depositWithdrawFees = {}
|
2144
|
+
depositWithdrawFees: dict = {}
|
2145
2145
|
codes = self.market_codes(codes)
|
2146
2146
|
for i in range(0, len(response)):
|
2147
2147
|
entry = response[i]
|
@@ -2307,7 +2307,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
2307
2307
|
# currently only works for BTC and WAVES
|
2308
2308
|
if code != 'WAVES':
|
2309
2309
|
supportedCurrencies = self.privateGetWithdrawCurrencies()
|
2310
|
-
currencies = {}
|
2310
|
+
currencies: dict = {}
|
2311
2311
|
items = self.safe_value(supportedCurrencies, 'items', [])
|
2312
2312
|
for i in range(0, len(items)):
|
2313
2313
|
entry = items[i]
|
@@ -2318,7 +2318,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
2318
2318
|
raise ExchangeError(self.id + ' withdraw() ' + code + ' not supported. Currency code must be one of ' + str(codes))
|
2319
2319
|
self.load_markets()
|
2320
2320
|
hexChars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']
|
2321
|
-
set = {}
|
2321
|
+
set: dict = {}
|
2322
2322
|
for i in range(0, len(hexChars)):
|
2323
2323
|
key = hexChars[i]
|
2324
2324
|
set[key] = True
|
@@ -2336,7 +2336,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
2336
2336
|
if code == 'WAVES' and not isErc20:
|
2337
2337
|
proxyAddress = address
|
2338
2338
|
else:
|
2339
|
-
withdrawAddressRequest = {
|
2339
|
+
withdrawAddressRequest: dict = {
|
2340
2340
|
'address': address,
|
2341
2341
|
'currency': code,
|
2342
2342
|
}
|
@@ -2391,7 +2391,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
2391
2391
|
binary = self.binary_concat_array(byteArray)
|
2392
2392
|
hexSecret = self.binary_to_base16(self.base58_to_binary(self.secret))
|
2393
2393
|
signature = self.axolotl(self.binary_to_base16(binary), hexSecret, 'ed25519')
|
2394
|
-
request = {
|
2394
|
+
request: dict = {
|
2395
2395
|
'senderPublicKey': self.apiKey,
|
2396
2396
|
'amount': amountInteger,
|
2397
2397
|
'fee': fee,
|
@@ -2420,7 +2420,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
2420
2420
|
#
|
2421
2421
|
return self.parse_transaction(result, currency)
|
2422
2422
|
|
2423
|
-
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
2423
|
+
def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
|
2424
2424
|
#
|
2425
2425
|
# withdraw
|
2426
2426
|
#
|
ccxt/wazirx.py
CHANGED
@@ -322,7 +322,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
322
322
|
"""
|
323
323
|
self.load_markets()
|
324
324
|
market = self.market(symbol)
|
325
|
-
request = {
|
325
|
+
request: dict = {
|
326
326
|
'symbol': market['id'],
|
327
327
|
'interval': self.safe_string(self.timeframes, timeframe, timeframe),
|
328
328
|
}
|
@@ -367,7 +367,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
367
367
|
"""
|
368
368
|
self.load_markets()
|
369
369
|
market = self.market(symbol)
|
370
|
-
request = {
|
370
|
+
request: dict = {
|
371
371
|
'symbol': market['id'],
|
372
372
|
}
|
373
373
|
if limit is not None:
|
@@ -399,7 +399,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
399
399
|
"""
|
400
400
|
self.load_markets()
|
401
401
|
market = self.market(symbol)
|
402
|
-
request = {
|
402
|
+
request: dict = {
|
403
403
|
'symbol': market['id'],
|
404
404
|
}
|
405
405
|
ticker = self.publicGetTicker24hr(self.extend(request, params))
|
@@ -447,7 +447,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
447
447
|
# ...
|
448
448
|
# ]
|
449
449
|
#
|
450
|
-
result = {}
|
450
|
+
result: dict = {}
|
451
451
|
for i in range(0, len(tickers)):
|
452
452
|
ticker = tickers[i]
|
453
453
|
parsedTicker = self.parse_ticker(ticker)
|
@@ -467,7 +467,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
467
467
|
"""
|
468
468
|
self.load_markets()
|
469
469
|
market = self.market(symbol)
|
470
|
-
request = {
|
470
|
+
request: dict = {
|
471
471
|
'symbol': market['id'],
|
472
472
|
}
|
473
473
|
if limit is not None:
|
@@ -490,7 +490,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
490
490
|
# ]
|
491
491
|
return self.parse_trades(response, market, since, limit)
|
492
492
|
|
493
|
-
def parse_trade(self, trade, market: Market = None) -> Trade:
|
493
|
+
def parse_trade(self, trade: dict, market: Market = None) -> Trade:
|
494
494
|
#
|
495
495
|
# {
|
496
496
|
# "id":322307791,
|
@@ -615,7 +615,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
615
615
|
}, market)
|
616
616
|
|
617
617
|
def parse_balance(self, response) -> Balances:
|
618
|
-
result = {'info': response}
|
618
|
+
result: dict = {'info': response}
|
619
619
|
for i in range(0, len(response)):
|
620
620
|
balance = response[i]
|
621
621
|
id = self.safe_string(balance, 'asset')
|
@@ -660,7 +660,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
660
660
|
raise ArgumentsRequired(self.id + ' fetchOrders() requires a symbol argument')
|
661
661
|
self.load_markets()
|
662
662
|
market = self.market(symbol)
|
663
|
-
request = {
|
663
|
+
request: dict = {
|
664
664
|
'symbol': market['id'],
|
665
665
|
}
|
666
666
|
if since is not None:
|
@@ -712,7 +712,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
712
712
|
:returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
713
713
|
"""
|
714
714
|
self.load_markets()
|
715
|
-
request = {}
|
715
|
+
request: dict = {}
|
716
716
|
market: Market = None
|
717
717
|
if symbol is not None:
|
718
718
|
market = self.market(symbol)
|
@@ -760,7 +760,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
760
760
|
raise ArgumentsRequired(self.id + ' cancelAllOrders() requires a symbol argument')
|
761
761
|
self.load_markets()
|
762
762
|
market = self.market(symbol)
|
763
|
-
request = {
|
763
|
+
request: dict = {
|
764
764
|
'symbol': market['id'],
|
765
765
|
}
|
766
766
|
return self.privateDeleteOpenOrders(self.extend(request, params))
|
@@ -778,7 +778,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
778
778
|
raise ArgumentsRequired(self.id + ' cancelOrder() requires a symbol argument')
|
779
779
|
self.load_markets()
|
780
780
|
market = self.market(symbol)
|
781
|
-
request = {
|
781
|
+
request: dict = {
|
782
782
|
'symbol': market['id'],
|
783
783
|
'orderId': id,
|
784
784
|
}
|
@@ -804,7 +804,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
804
804
|
raise ExchangeError(self.id + ' createOrder() requires a price argument')
|
805
805
|
self.load_markets()
|
806
806
|
market = self.market(symbol)
|
807
|
-
request = {
|
807
|
+
request: dict = {
|
808
808
|
'symbol': market['id'],
|
809
809
|
'side': side,
|
810
810
|
'quantity': amount,
|
@@ -830,7 +830,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
830
830
|
# }
|
831
831
|
return self.parse_order(response, market)
|
832
832
|
|
833
|
-
def parse_order(self, order, market: Market = None) -> Order:
|
833
|
+
def parse_order(self, order: dict, market: Market = None) -> Order:
|
834
834
|
# {
|
835
835
|
# "id":1949417813,
|
836
836
|
# "symbol":"ltcusdt",
|
@@ -877,8 +877,8 @@ class wazirx(Exchange, ImplicitAPI):
|
|
877
877
|
'trades': [],
|
878
878
|
}, market)
|
879
879
|
|
880
|
-
def parse_order_status(self, status):
|
881
|
-
statuses = {
|
880
|
+
def parse_order_status(self, status: Str):
|
881
|
+
statuses: dict = {
|
882
882
|
'wait': 'open',
|
883
883
|
'done': 'closed',
|
884
884
|
'cancel': 'canceled',
|
@@ -941,14 +941,14 @@ class wazirx(Exchange, ImplicitAPI):
|
|
941
941
|
# }
|
942
942
|
# ]
|
943
943
|
#
|
944
|
-
result = {}
|
944
|
+
result: dict = {}
|
945
945
|
for i in range(0, len(response)):
|
946
946
|
currency = response[i]
|
947
947
|
currencyId = self.safe_string(currency, 'currency')
|
948
948
|
code = self.safe_currency_code(currencyId)
|
949
949
|
name = self.safe_string(currency, 'name')
|
950
950
|
chains = self.safe_list(currency, 'networkList', [])
|
951
|
-
networks = {}
|
951
|
+
networks: dict = {}
|
952
952
|
minPrecision = None
|
953
953
|
minWithdrawFeeString = None
|
954
954
|
minWithdrawString = None
|
@@ -1041,7 +1041,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
1041
1041
|
params = self.omit(params, 'network')
|
1042
1042
|
if networkCode is None:
|
1043
1043
|
raise ArgumentsRequired(self.id + ' fetchDepositAddress() requires a network parameter')
|
1044
|
-
request = {
|
1044
|
+
request: dict = {
|
1045
1045
|
'coin': currency['id'],
|
1046
1046
|
'network': self.network_code_to_id(networkCode, code),
|
1047
1047
|
}
|
@@ -1073,7 +1073,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
1073
1073
|
:returns dict[]: a list of `transaction structures <https://docs.ccxt.com/#/?id=transaction-structure>`
|
1074
1074
|
"""
|
1075
1075
|
self.load_markets()
|
1076
|
-
request = {}
|
1076
|
+
request: dict = {}
|
1077
1077
|
currency = None
|
1078
1078
|
if code is not None:
|
1079
1079
|
currency = self.currency(code)
|
@@ -1108,7 +1108,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
1108
1108
|
return self.parse_transactions(response, currency, since, limit)
|
1109
1109
|
|
1110
1110
|
def parse_transaction_status(self, status):
|
1111
|
-
statuses = {
|
1111
|
+
statuses: dict = {
|
1112
1112
|
'0': 'ok',
|
1113
1113
|
'1': 'fail',
|
1114
1114
|
'2': 'pending',
|
@@ -1116,7 +1116,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
1116
1116
|
}
|
1117
1117
|
return self.safe_string(statuses, status, status)
|
1118
1118
|
|
1119
|
-
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
1119
|
+
def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
|
1120
1120
|
#
|
1121
1121
|
# {
|
1122
1122
|
# "address": "0x94df8b352de7f46f64b01d3666bf6e936e44ce60",
|