ccxt 4.1.88__py2.py3-none-any.whl → 4.1.90__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.

Potentially problematic release.


This version of ccxt might be problematic. Click here for more details.

Files changed (56) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/abstract/phemex.py +1 -0
  3. ccxt/async_support/__init__.py +1 -1
  4. ccxt/async_support/base/exchange.py +3 -3
  5. ccxt/async_support/bigone.py +8 -1
  6. ccxt/async_support/binance.py +1 -1
  7. ccxt/async_support/bitforex.py +2 -0
  8. ccxt/async_support/bitget.py +9 -4
  9. ccxt/async_support/bitmex.py +2 -0
  10. ccxt/async_support/blockchaincom.py +0 -37
  11. ccxt/async_support/bybit.py +23 -14
  12. ccxt/async_support/coinex.py +12 -0
  13. ccxt/async_support/coinlist.py +2 -0
  14. ccxt/async_support/coinsph.py +2 -0
  15. ccxt/async_support/cryptocom.py +2 -0
  16. ccxt/async_support/gate.py +258 -11
  17. ccxt/async_support/htx.py +223 -207
  18. ccxt/async_support/kuna.py +2 -0
  19. ccxt/async_support/mexc.py +2 -0
  20. ccxt/async_support/okcoin.py +56 -16
  21. ccxt/async_support/phemex.py +151 -28
  22. ccxt/async_support/poloniex.py +23 -2
  23. ccxt/async_support/tokocrypto.py +25 -12
  24. ccxt/async_support/wazirx.py +2 -0
  25. ccxt/async_support/whitebit.py +2 -0
  26. ccxt/async_support/woo.py +38 -12
  27. ccxt/base/exchange.py +3 -3
  28. ccxt/bigone.py +8 -1
  29. ccxt/binance.py +1 -1
  30. ccxt/bitforex.py +2 -0
  31. ccxt/bitget.py +9 -4
  32. ccxt/bitmex.py +2 -0
  33. ccxt/blockchaincom.py +0 -37
  34. ccxt/bybit.py +23 -14
  35. ccxt/coinex.py +12 -0
  36. ccxt/coinlist.py +2 -0
  37. ccxt/coinsph.py +2 -0
  38. ccxt/cryptocom.py +2 -0
  39. ccxt/gate.py +258 -11
  40. ccxt/htx.py +223 -207
  41. ccxt/kuna.py +2 -0
  42. ccxt/mexc.py +2 -0
  43. ccxt/okcoin.py +56 -16
  44. ccxt/phemex.py +151 -28
  45. ccxt/poloniex.py +23 -2
  46. ccxt/pro/__init__.py +1 -1
  47. ccxt/pro/binance.py +6 -6
  48. ccxt/pro/poloniex.py +15 -11
  49. ccxt/tokocrypto.py +25 -12
  50. ccxt/wazirx.py +2 -0
  51. ccxt/whitebit.py +2 -0
  52. ccxt/woo.py +38 -12
  53. {ccxt-4.1.88.dist-info → ccxt-4.1.90.dist-info}/METADATA +5 -5
  54. {ccxt-4.1.88.dist-info → ccxt-4.1.90.dist-info}/RECORD +56 -56
  55. {ccxt-4.1.88.dist-info → ccxt-4.1.90.dist-info}/WHEEL +0 -0
  56. {ccxt-4.1.88.dist-info → ccxt-4.1.90.dist-info}/top_level.txt +0 -0
ccxt/pro/poloniex.py CHANGED
@@ -10,8 +10,8 @@ from ccxt.base.types import Balances, Int, Order, OrderBook, OrderSide, OrderTyp
10
10
  from ccxt.async_support.base.ws.client import Client
11
11
  from typing import List
12
12
  from ccxt.base.errors import ExchangeError
13
- from ccxt.base.errors import ArgumentsRequired
14
13
  from ccxt.base.errors import BadRequest
14
+ from ccxt.base.errors import InvalidOrder
15
15
  from ccxt.base.errors import AuthenticationError
16
16
  from ccxt.base.precise import Precise
17
17
 
@@ -194,6 +194,7 @@ class poloniex(ccxt.async_support.poloniex):
194
194
  :param dict [params]: extra parameters specific to the poloniex api endpoint
195
195
  :param str [params.timeInForce]: GTC(default), IOC, FOK
196
196
  :param str [params.clientOrderId]: Maximum 64-character length.*
197
+ :param float [params.cost]: *spot market buy only* the quote quantity that can be used alternative for the amount
197
198
  *
198
199
  * EXCHANGE SPECIFIC PARAMETERS
199
200
  :param str [params.amount]: quote units for the order
@@ -216,21 +217,24 @@ class poloniex(ccxt.async_support.poloniex):
216
217
  'type': type.upper(),
217
218
  }
218
219
  if (uppercaseType == 'MARKET') and (uppercaseSide == 'BUY'):
219
- quoteAmount = self.safe_string(params, 'amount')
220
- if (quoteAmount is None) and (self.options['createMarketBuyOrderRequiresPrice']):
221
- cost = self.safe_number(params, 'cost')
222
- params = self.omit(params, 'cost')
223
- if price is None and cost is None:
224
- raise ArgumentsRequired(self.id + ' createOrder() requires the price argument with market buy orders to calculate total order cost(amount to spend), where cost = amount * price. Supply a price argument to createOrder() call if you want the cost to be calculated for you from price and amount, or, alternatively, add .options["createMarketBuyOrderRequiresPrice"] = False to supply the cost in the amount argument(the exchange-specific behaviour)')
220
+ quoteAmount = None
221
+ createMarketBuyOrderRequiresPrice = True
222
+ createMarketBuyOrderRequiresPrice, params = self.handle_option_and_params(params, 'createOrder', 'createMarketBuyOrderRequiresPrice', True)
223
+ cost = self.safe_number(params, 'cost')
224
+ params = self.omit(params, 'cost')
225
+ if cost is not None:
226
+ quoteAmount = self.cost_to_precision(symbol, cost)
227
+ elif createMarketBuyOrderRequiresPrice:
228
+ if price is None:
229
+ raise InvalidOrder(self.id + ' createOrder() requires the price argument for market buy orders to calculate the total cost to spend(amount * price), alternatively set the createMarketBuyOrderRequiresPrice option or param to False and pass the cost to spend(quote quantity) in the amount argument')
225
230
  else:
226
231
  amountString = self.number_to_string(amount)
227
232
  priceString = self.number_to_string(price)
228
- quote = Precise.string_mul(amountString, priceString)
229
- amount = cost if (cost is not None) else self.parse_number(quote)
230
- quoteAmount = self.cost_to_precision(symbol, amount)
233
+ costRequest = Precise.string_mul(amountString, priceString)
234
+ quoteAmount = self.cost_to_precision(symbol, costRequest)
231
235
  else:
232
236
  quoteAmount = self.cost_to_precision(symbol, amount)
233
- request['amount'] = self.amount_to_precision(market['symbol'], quoteAmount)
237
+ request['amount'] = quoteAmount
234
238
  else:
235
239
  request['quantity'] = self.amount_to_precision(market['symbol'], amount)
236
240
  if price is not None:
ccxt/tokocrypto.py CHANGED
@@ -59,6 +59,9 @@ class tokocrypto(Exchange, ImplicitAPI):
59
59
  'cancelOrder': True,
60
60
  'cancelOrders': None,
61
61
  'createDepositAddress': False,
62
+ 'createMarketBuyOrderWithCost': True,
63
+ 'createMarketOrderWithCost': False,
64
+ 'createMarketSellOrderWithCost': False,
62
65
  'createOrder': True,
63
66
  'createReduceOnlyOrder': None,
64
67
  'createStopLimitOrder': True,
@@ -126,6 +129,8 @@ class tokocrypto(Exchange, ImplicitAPI):
126
129
  'fetchWithdrawals': True,
127
130
  'fetchWithdrawalWhitelist': False,
128
131
  'reduceMargin': False,
132
+ 'repayCrossMargin': False,
133
+ 'repayIsolatedMargin': False,
129
134
  'setLeverage': False,
130
135
  'setMargin': False,
131
136
  'setMarginMode': False,
@@ -1544,6 +1549,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1544
1549
  :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1545
1550
  :param dict [params]: extra parameters specific to the exchange API endpoint
1546
1551
  :param float [params.triggerPrice]: the price at which a trigger order would be triggered
1552
+ :param float [params.cost]: for spot market buy orders, the quote quantity that can be used alternative for the amount
1547
1553
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
1548
1554
  """
1549
1555
  self.load_markets()
@@ -1610,18 +1616,25 @@ class tokocrypto(Exchange, ImplicitAPI):
1610
1616
  # LIMIT_MAKER quantity, price
1611
1617
  #
1612
1618
  if uppercaseType == 'MARKET':
1613
- quoteOrderQtyInner = self.safe_value_2(params, 'quoteOrderQty', 'cost')
1614
- if self.options['createMarketBuyOrderRequiresPrice'] and (side == 'buy') and (price is None) and (quoteOrderQtyInner is None):
1615
- raise InvalidOrder(self.id + ' createOrder() requires price argument for market buy orders on spot markets to calculate the total amount to spend(amount * price), alternatively set the createMarketBuyOrderRequiresPrice option to False and pass in the cost to spend into the amount parameter')
1616
- precision = market['precision']['price']
1617
- if quoteOrderQtyInner is not None:
1618
- request['quoteOrderQty'] = self.decimal_to_precision(quoteOrderQtyInner, TRUNCATE, precision, self.precisionMode)
1619
- params = self.omit(params, ['quoteOrderQty', 'cost'])
1620
- elif price is not None:
1621
- amountString = self.number_to_string(amount)
1622
- priceString = self.number_to_string(price)
1623
- quoteOrderQty = Precise.string_mul(amountString, priceString)
1624
- request['quoteOrderQty'] = self.decimal_to_precision(quoteOrderQty, TRUNCATE, precision, self.precisionMode)
1619
+ if side == 'buy':
1620
+ precision = market['precision']['price']
1621
+ quoteAmount = None
1622
+ createMarketBuyOrderRequiresPrice = True
1623
+ createMarketBuyOrderRequiresPrice, params = self.handle_option_and_params(params, 'createOrder', 'createMarketBuyOrderRequiresPrice', True)
1624
+ cost = self.safe_number_2(params, 'cost', 'quoteOrderQty')
1625
+ params = self.omit(params, ['cost', 'quoteOrderQty'])
1626
+ if cost is not None:
1627
+ quoteAmount = cost
1628
+ elif createMarketBuyOrderRequiresPrice:
1629
+ if price is None:
1630
+ raise InvalidOrder(self.id + ' createOrder() requires the price argument for market buy orders to calculate the total cost to spend(amount * price), alternatively set the createMarketBuyOrderRequiresPrice option or param to False and pass the cost to spend(quote quantity) in the amount argument')
1631
+ else:
1632
+ amountString = self.number_to_string(amount)
1633
+ priceString = self.number_to_string(price)
1634
+ quoteAmount = Precise.string_mul(amountString, priceString)
1635
+ else:
1636
+ quoteAmount = amount
1637
+ request['quoteOrderQty'] = self.decimal_to_precision(quoteAmount, TRUNCATE, precision, self.precisionMode)
1625
1638
  else:
1626
1639
  quantityIsRequired = True
1627
1640
  elif uppercaseType == 'LIMIT':
ccxt/wazirx.py CHANGED
@@ -98,6 +98,8 @@ class wazirx(Exchange, ImplicitAPI):
98
98
  'fetchTransfers': False,
99
99
  'fetchWithdrawals': False,
100
100
  'reduceMargin': False,
101
+ 'repayCrossMargin': False,
102
+ 'repayIsolatedMargin': False,
101
103
  'setLeverage': False,
102
104
  'setMargin': False,
103
105
  'setMarginMode': False,
ccxt/whitebit.py CHANGED
@@ -86,6 +86,8 @@ class whitebit(Exchange, ImplicitAPI):
86
86
  'fetchTradingFee': False,
87
87
  'fetchTradingFees': True,
88
88
  'fetchTransactionFees': True,
89
+ 'repayCrossMargin': False,
90
+ 'repayIsolatedMargin': False,
89
91
  'setLeverage': True,
90
92
  'transfer': True,
91
93
  'withdraw': True,
ccxt/woo.py CHANGED
@@ -12,6 +12,7 @@ from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import ArgumentsRequired
13
13
  from ccxt.base.errors import BadRequest
14
14
  from ccxt.base.errors import InvalidOrder
15
+ from ccxt.base.errors import NotSupported
15
16
  from ccxt.base.errors import RateLimitExceeded
16
17
  from ccxt.base.errors import AuthenticationError
17
18
  from ccxt.base.decimal_to_precision import TICK_SIZE
@@ -44,7 +45,10 @@ class woo(Exchange, ImplicitAPI):
44
45
  'closeAllPositions': False,
45
46
  'closePosition': False,
46
47
  'createDepositAddress': False,
48
+ 'createMarketBuyOrderWithCost': True,
47
49
  'createMarketOrder': False,
50
+ 'createMarketOrderWithCost': False,
51
+ 'createMarketSellOrderWithCost': False,
48
52
  'createOrder': True,
49
53
  'createReduceOnlyOrder': True,
50
54
  'createStopLimitOrder': False,
@@ -728,6 +732,22 @@ class woo(Exchange, ImplicitAPI):
728
732
  }
729
733
  return result
730
734
 
735
+ def create_market_buy_order_with_cost(self, symbol: str, cost, params={}):
736
+ """
737
+ create a market buy order by providing the symbol and cost
738
+ :see: https://docs.woo.org/#send-order
739
+ :param str symbol: unified symbol of the market to create an order in
740
+ :param float cost: how much you want to trade in units of the quote currency
741
+ :param dict [params]: extra parameters specific to the exchange API endpoint
742
+ :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
743
+ """
744
+ self.load_markets()
745
+ market = self.market(symbol)
746
+ if not market['spot']:
747
+ raise NotSupported(self.id + ' createMarketBuyOrderWithCost() supports spot orders only')
748
+ params['createMarketBuyOrderRequiresPrice'] = False
749
+ return self.create_order(symbol, 'market', 'buy', cost, None, params)
750
+
731
751
  def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount, price=None, params={}):
732
752
  """
733
753
  :see: https://docs.woo.org/#send-order
@@ -745,9 +765,11 @@ class woo(Exchange, ImplicitAPI):
745
765
  :param dict [params.stopLoss]: *stopLoss object in params* containing the triggerPrice at which the attached stop loss order will be triggered(perpetual swap markets only)
746
766
  :param float [params.stopLoss.triggerPrice]: stop loss trigger price
747
767
  :param float [params.algoType]: 'STOP'or 'TRAILING_STOP' or 'OCO' or 'CLOSE_POSITION'
768
+ :param float [params.cost]: *spot market buy only* the quote quantity that can be used alternative for the amount
748
769
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
749
770
  """
750
771
  reduceOnly = self.safe_value_2(params, 'reduceOnly', 'reduce_only')
772
+ params = self.omit(params, ['reduceOnly', 'reduce_only'])
751
773
  orderType = type.upper()
752
774
  self.load_markets()
753
775
  market = self.market(symbol)
@@ -784,20 +806,24 @@ class woo(Exchange, ImplicitAPI):
784
806
  if isMarket and not isStop:
785
807
  # for market buy it requires the amount of quote currency to spend
786
808
  if market['spot'] and orderSide == 'BUY':
787
- cost = self.safe_number(params, 'cost')
788
- if self.safe_value(self.options, 'createMarketBuyOrderRequiresPrice', True):
789
- if cost is None:
790
- if price is None:
791
- raise InvalidOrder(self.id + " createOrder() requires the price argument for market buy orders to calculate total order cost. Supply a price argument to createOrder() call if you want the cost to be calculated for you from price and amount, or alternatively, supply the total cost value in the 'order_amount' in exchange-specific parameters")
792
- else:
793
- amountString = self.number_to_string(amount)
794
- priceString = self.number_to_string(price)
795
- orderAmount = Precise.string_mul(amountString, priceString)
796
- request['order_amount'] = self.cost_to_precision(symbol, orderAmount)
809
+ quoteAmount = None
810
+ createMarketBuyOrderRequiresPrice = True
811
+ createMarketBuyOrderRequiresPrice, params = self.handle_option_and_params(params, 'createOrder', 'createMarketBuyOrderRequiresPrice', True)
812
+ cost = self.safe_number_2(params, 'cost', 'order_amount')
813
+ params = self.omit(params, ['cost', 'order_amount'])
814
+ if cost is not None:
815
+ quoteAmount = self.cost_to_precision(symbol, cost)
816
+ elif createMarketBuyOrderRequiresPrice:
817
+ if price is None:
818
+ raise InvalidOrder(self.id + ' createOrder() requires the price argument for market buy orders to calculate the total cost to spend(amount * price), alternatively set the createMarketBuyOrderRequiresPrice option or param to False and pass the cost to spend(quote quantity) in the amount argument')
797
819
  else:
798
- request['order_amount'] = self.cost_to_precision(symbol, cost)
820
+ amountString = self.number_to_string(amount)
821
+ priceString = self.number_to_string(price)
822
+ costRequest = Precise.string_mul(amountString, priceString)
823
+ quoteAmount = self.cost_to_precision(symbol, costRequest)
799
824
  else:
800
- request['order_amount'] = self.cost_to_precision(symbol, amount)
825
+ quoteAmount = self.cost_to_precision(symbol, amount)
826
+ request['order_amount'] = quoteAmount
801
827
  else:
802
828
  request['order_quantity'] = self.amount_to_precision(symbol, amount)
803
829
  elif algoType != 'POSITIONAL_TP_SL':
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.1.88
4
- Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges
3
+ Version: 4.1.90
4
+ Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges
5
5
  Home-page: https://ccxt.com
6
6
  Author: Igor Kroitor
7
7
  Author-email: igor.kroitor@gmail.com
@@ -257,13 +257,13 @@ console.log(version, Object.keys(exchanges));
257
257
 
258
258
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
259
259
 
260
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.1.88/dist/ccxt.browser.js
261
- * unpkg: https://unpkg.com/ccxt@4.1.88/dist/ccxt.browser.js
260
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.1.90/dist/ccxt.browser.js
261
+ * unpkg: https://unpkg.com/ccxt@4.1.90/dist/ccxt.browser.js
262
262
 
263
263
  CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
264
264
 
265
265
  ```HTML
266
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.1.88/dist/ccxt.browser.js"></script>
266
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.1.90/dist/ccxt.browser.js"></script>
267
267
  ```
268
268
 
269
269
  Creates a global `ccxt` object:
@@ -1,10 +1,10 @@
1
- ccxt/__init__.py,sha256=3tE7_shRGCeg-4QqaKC65EZvrUmV3KOq4f3t2RXqXy4,14879
1
+ ccxt/__init__.py,sha256=Pnr-RQOS2i0W0k8N-6PRdTkluTkot-Ua0w1dDPrO5Bw,14879
2
2
  ccxt/ace.py,sha256=bB8RjymWAEI2MYEHMW70GwbIowmOMN9r4RY1tlj4gjY,41348
3
3
  ccxt/alpaca.py,sha256=95D1m218p28MXCHzibPZ2XpfpkVw7qsS9niLGpXR_z4,46029
4
4
  ccxt/ascendex.py,sha256=ds46YV2dVeADiYUgp3SUHNcSwRbH_rFlOpSPJgFSKRc,143331
5
5
  ccxt/bequant.py,sha256=O9tDvk7O1De-k3-G5lwXUVoNqzgfo_AJqQy4bXifdhM,1148
6
- ccxt/bigone.py,sha256=yMtRGGNuf_cAP5ISEkq_DzILRusim8aQkKWpA5LpFsM,79464
7
- ccxt/binance.py,sha256=X_-yawVHEENoCSshcfbHNEvWxiu5CnyqAKpLqrpzgFY,440623
6
+ ccxt/bigone.py,sha256=fM8bABciTFsyFVgoiQX7BZWFz_855MrYXqBlQJE23H8,79878
7
+ ccxt/binance.py,sha256=k-bnEihgO5naj8RWgOCw-13uoNsmAXVP44so4WemVM8,440744
8
8
  ccxt/binancecoinm.py,sha256=pncdw6Xw2X1Po-vEvAB4nL37scoS_axGAVxetPy1YQs,1645
9
9
  ccxt/binanceus.py,sha256=CS7rpvZ-PT3mFqhKde1IxmBoPMk5AWkFfkjezidTY1E,3477
10
10
  ccxt/binanceusdm.py,sha256=KPQGlCalQ0eGlPCs2tSanOxaP8O0zFRQjGntA16Yprw,2480
@@ -17,11 +17,11 @@ ccxt/bitcoincom.py,sha256=PyWIl4nC4jp5Uba2lI1At0N_hhNyWD0DoZC_MSyL_s4,502
17
17
  ccxt/bitfinex.py,sha256=jZaKtVwezPEjvRmPI1P2hvBKLmHzz3BysCiXJjprfyw,69725
18
18
  ccxt/bitfinex2.py,sha256=6fxd__vHHZ0CjXWLrg2JShLkoT8Szdm3ueT-rYX_ZRE,128904
19
19
  ccxt/bitflyer.py,sha256=q-lKdcT9mZ6jdswP4AGIj_6yhKxcCXyePueTd_nrmAk,40105
20
- ccxt/bitforex.py,sha256=wTwRfnX2UmgL5lEKXayo8BEvgYhWD-xNfelscPAEI0A,33684
21
- ccxt/bitget.py,sha256=EHRWpRX6K0rJKcn66GbBP_IoZkh0jfTj1jj7O7Kg7P8,387615
20
+ ccxt/bitforex.py,sha256=nqYgHhub2u2I2S7U91MvPZGip8tGl6NEsyQgyHUvEG4,33773
21
+ ccxt/bitget.py,sha256=wuxGGiTmgrYGJm5i72wKfsewgoSawPRX4RY_OYy2hfI,387907
22
22
  ccxt/bithumb.py,sha256=mji93l7rEBQVhoJKxHQnEIMtMvk7wkIRrfN7o0hxYPI,43325
23
23
  ccxt/bitmart.py,sha256=1bPOwvk-bsUcDmItWQAzVO34J8qPjJEgUDF-5fuV2sY,185678
24
- ccxt/bitmex.py,sha256=alMWVBGJex6Dofq6RHpuh9OVZVXkFPKz8MoxKchoBzc,119675
24
+ ccxt/bitmex.py,sha256=_f9mAzgVTEo5FYRFmO0N57mVE9Jj4HKYdU3Qq19oj5Y,119758
25
25
  ccxt/bitopro.py,sha256=ziUX4lmEIcgQgnGIXvcot97X9tvZ0pBLr8jZMCDYREQ,68055
26
26
  ccxt/bitpanda.py,sha256=udZVycV9g-XXGNYudNwvnHZL7eEK16zp8AlSoQbGmQk,87916
27
27
  ccxt/bitrue.py,sha256=bTjy5FdKi5KfutpQDBaR7Vbpltkq1RCkEK2AidmRAN4,136147
@@ -29,23 +29,23 @@ ccxt/bitso.py,sha256=tXGh_sjBF3xWciIBR26Ql6VzJvkBcarNIVy8V6w5_iI,69522
29
29
  ccxt/bitstamp.py,sha256=6d8S_jBUBsHh8QfmEal_zmbsysc93qSuVk2SQfaDqZQ,85459
30
30
  ccxt/bitvavo.py,sha256=hiSDtxO3fNsuTDM99cyuBsD4lMlsRUYUUjba6BTBA5E,84672
31
31
  ccxt/bl3p.py,sha256=X9vdABvIrH0-PyPX2nwJM_3ErKYdxmnq8WJTvsOAWts,17767
32
- ccxt/blockchaincom.py,sha256=0IBSGRcpO39-CS0zqW59WYCZzRoM_f-_KLIJ0aSa_ik,48593
32
+ ccxt/blockchaincom.py,sha256=gHsqKZ9JR7Nkr_mSxapVmFU0kwCwQhPYXFkL7ATvIOc,47152
33
33
  ccxt/btcalpha.py,sha256=TxEyASsptUwEXr1sQBM4Fc2RZy_iZOrQ8SMwo6iPXN0,35628
34
34
  ccxt/btcbox.py,sha256=ZrOJ_VC4n5113Sn2C1whQZTAhMxX5gYYe0QoayvvmKY,22849
35
35
  ccxt/btcmarkets.py,sha256=d9il29c2YsdPO56SKy1WsfxuILIHxQJRF-fVJ37rl4E,48582
36
36
  ccxt/btcturk.py,sha256=j51LBBkUqnikl6Xa7AZ1Wl8XAvA_KnFLzb42dMZoSds,35458
37
- ccxt/bybit.py,sha256=opRM2MFZJIUQ_FDEwCvJks8vszINzjhZ4i6rxtdA44I,354599
37
+ ccxt/bybit.py,sha256=vRMK72IA0ZGsZviSPm3R9PcV8LkqFuoV-oGj4jW3G40,355478
38
38
  ccxt/cex.py,sha256=vz2cWRDEOLVBJQOWEFK4CwuASndkUe8ZmgIw80v0sAE,69502
39
39
  ccxt/coinbase.py,sha256=ovFQUhKFOByMjKmWC0oICTmdfdy6rnM1PW0uqHzg3Ug,145559
40
40
  ccxt/coinbasepro.py,sha256=S5Aw_2jXTIBOaL2_eVKZxlmBEEiwzDQZhRRX0631e68,78168
41
41
  ccxt/coincheck.py,sha256=g_gMrlcnNimI3k1SxI9Du7gmmpqd9dZSn-u3SVgHgkQ,34627
42
- ccxt/coinex.py,sha256=yYIlxSTRbCVNYOo4zzOn5fUY6SRT202v2GNCGDSNrx8,221891
43
- ccxt/coinlist.py,sha256=oxNtENSvLT2XGpdklcIdz8mYeBmQR5gWI-pkvyKGU0U,102157
42
+ ccxt/coinex.py,sha256=Ppn99_GVPo2IgZWhRk4R46Q_SNnjtThn7oGFB-wXW1M,222784
43
+ ccxt/coinlist.py,sha256=qnStsQ6-J5P47CQ_xn_slOp6EtLsdUPU12dz1T224c0,102246
44
44
  ccxt/coinmate.py,sha256=CpLkuF-T12P_q-W-nYrnl4PXcHjnGKt8us66ebHSFtI,39954
45
45
  ccxt/coinone.py,sha256=LE5LfNq5q6Ryg7Rw6FNSIpimvQAcDFIm8vpDfnMu-nA,35708
46
- ccxt/coinsph.py,sha256=gkj5Iwvl5T0-_1H7f1O5PLmgCsm3wwNFxO31Hq15oyk,87412
46
+ ccxt/coinsph.py,sha256=p-TqoSbhqAo0v7Tx37cH6a7XLl0HbTLaNeAG2UBseVA,87501
47
47
  ccxt/coinspot.py,sha256=j8xSGIHF_WhLGZcDmdIwpCMw77vjvdaNcNNk0_kEu-Y,23024
48
- ccxt/cryptocom.py,sha256=QzlyzkY0Nxso5_MOWZ3aCjsB3Ovu1PDYcQBzRGYpGv8,127627
48
+ ccxt/cryptocom.py,sha256=7VDNuf7qolcV4xJ4h8ABGoxlJiynNr5oQ_rJicRRXuA,127716
49
49
  ccxt/currencycom.py,sha256=JqJEzS_6UBomIGqf_y5LwsnBTOXCwbgiQfnSghvIGuU,84218
50
50
  ccxt/delta.py,sha256=qdmqSJ_P2S0eOiodtcquSd9LxTGwt1uWMMRGamVgmbw,138693
51
51
  ccxt/deribit.py,sha256=sRg16zOi9PGxaexxsa9ewCEeknFvM7OHqd2fp77GmgQ,143732
@@ -53,13 +53,13 @@ ccxt/digifinex.py,sha256=aEkzcqY4fkoYd8fB31z2-PlCEXB3RO2CdWhxnAvVgLA,168932
53
53
  ccxt/exmo.py,sha256=Vpp-5PSHf4sC8C_2aNIQG9MO2vavYftf2WpZHK3DIhs,111768
54
54
  ccxt/flowbtc.py,sha256=YPvm6tbsHJJUQBspFcHuVPQfVmiWzwnVvfzRqBdQX6U,1169
55
55
  ccxt/fmfwio.py,sha256=RbVLvzPwnqfDsE7Ea-N13ISCC82eJVPsXYjrleASmew,1236
56
- ccxt/gate.py,sha256=nwaq3BfDySwOHE0MieJ8OzBftbDKmWnkhbnZ3GWE_5o,286061
56
+ ccxt/gate.py,sha256=sKIol1b0rcGkMJd8jCU45PR7kTY_Grg_I2zaNeg0yjM,297267
57
57
  ccxt/gateio.py,sha256=86AETJWODl_vA5VNeQRHZprmpNIY1HAxCddKZcnKSi8,445
58
58
  ccxt/gemini.py,sha256=rkaX7CKqeOQZW8PyR96uV-yn5nMwsql6wg1pvaW9IGQ,74656
59
59
  ccxt/hitbtc.py,sha256=fn6sMiijdfiwC_sEDR4VGrxS5MMHjXAgiJQgqOH1PCU,148532
60
60
  ccxt/hitbtc3.py,sha256=qRAr4Zvaju9IQWRZUohdoN7xRnzIMPq8AyYb3gPv-Is,455
61
61
  ccxt/hollaex.py,sha256=Be8erGcnmxZGOdlgmSmsJSVq4xf9_zIgW5Epg6_cbkI,74416
62
- ccxt/htx.py,sha256=euaq1vmeJinwDSI1PCphmefbMBbssqvSLmlCPTy0Y2k,396320
62
+ ccxt/htx.py,sha256=GyCvveplGUoReW02QLl4NbizSTeLbCd4KvyGKwT6r7Y,399154
63
63
  ccxt/huobi.py,sha256=4vaG7IRN7fyjaJ_ac6S-njlHOfSEN5de7aq0noznxYw,438
64
64
  ccxt/huobijp.py,sha256=22xidSkRT0KKKo_lrntNh0TJivI3OWS_X4JeqAu7Azc,87899
65
65
  ccxt/idex.py,sha256=gBerY3h1aZQ4UuuVcBaPOkaqMTTDSYlnHDhdPrGWfck,68258
@@ -69,31 +69,31 @@ ccxt/kraken.py,sha256=iJYVRxuwbl2jFjA5oDUqppCCReDIeD7ogLNwUZjNuoU,117064
69
69
  ccxt/krakenfutures.py,sha256=vzsDHSK6QJBv6vu-Maj-n9zrs6eAggxhvL51FABeKR4,99971
70
70
  ccxt/kucoin.py,sha256=nIoP9LRmJDbHYBrE4MeDWAC7PzwvfDJ-66tX0H-pct8,194616
71
71
  ccxt/kucoinfutures.py,sha256=behtGE7lxmaSJXGl96rIU9Idk4TdSaW-mpvMSUJ7gpY,105682
72
- ccxt/kuna.py,sha256=_Jqxo4b4jBo51ngQ9Oxq789maxN5_-94kr8h39NYnR4,96288
72
+ ccxt/kuna.py,sha256=J8eCBlZyQuPzCykn4tb2KZU3htBcfR5L2Ngwdtx9bts,96377
73
73
  ccxt/latoken.py,sha256=FAB-I6B--KVBeU4ekcc9hFF1qjHhN-HaRkBJhVN4zV0,77015
74
74
  ccxt/lbank.py,sha256=6qxMqDzrXGbRtbJIWF-9kdc1geWt2CjRsFMTlicJPMQ,113644
75
75
  ccxt/luno.py,sha256=9hmecvOA6F_BgAh8rzmjziGlCnOXkewjPzNHLGuhLmg,40842
76
76
  ccxt/lykke.py,sha256=OmKlgb4HOkumUQSgTh3EC0k8_2VeMtg7YWGEmUQz_Ho,48929
77
77
  ccxt/mercado.py,sha256=IAFK2QHvTD7ImkzFNDClp5i1QYRe6LGAvdcfufz_Ii4,34995
78
- ccxt/mexc.py,sha256=7RR0UG_UxKEHiMpiLhZURFI1CAqhEbE5RRvncNv8BlQ,226028
78
+ ccxt/mexc.py,sha256=lNa7co0ZZtI1m3AOku3x54NSuY8PbhdJuNMNeE-4hKE,226117
79
79
  ccxt/ndax.py,sha256=sVd5ZqZf1UnOlF58WNBMp-8mgT7qbchDz59w8E_I_GQ,107204
80
80
  ccxt/novadax.py,sha256=xx2cGnSX0CRyA3PQUkbXBggyqFZUVcRStDqTZDE1YeU,63817
81
81
  ccxt/oceanex.py,sha256=aEnK9rjZYACIw_heL0NQ9AsvxlTq2dnhXx_LTkZyIgw,37630
82
- ccxt/okcoin.py,sha256=6u71iartsuUKvHu4sQIp9tmy7-iysSI79oPVsrNUYFs,146103
82
+ ccxt/okcoin.py,sha256=OgBUWV1ubrhXAw8xJFXxheQyhkJMzWXsEoffZwmNTqM,147995
83
83
  ccxt/okx.py,sha256=dBD6tXnCoQVmfU0NZRlRA7S9_CP93SAadDAPPPh35gI,327159
84
84
  ccxt/p2b.py,sha256=KIdfah9Mwiiw9Zk2tLhdW8ZpDPj8Sp_3NF-k4Xfxh9E,54021
85
85
  ccxt/paymium.py,sha256=oH4zQkMF7IGkq9co953Riz8wuhUj6xxKSmqs7Rz2n1s,24122
86
- ccxt/phemex.py,sha256=LgkusilxAEpZazFkIaiUbRX4RF4hOMHlpYctVtqZQ1Q,205280
87
- ccxt/poloniex.py,sha256=Mm2qIZTRtSJ5IkVdypcNtJA1l1NZO-nHHniVGbH84l8,100078
86
+ ccxt/phemex.py,sha256=oKOrR-UEGbB2IjlbA5nnaze7lJqxb6YZgVTBu4l7BQI,212622
87
+ ccxt/poloniex.py,sha256=KEnUepy3vo13fpkMNC96b9Nw9v42WwP8AmFnt0qNQow,101646
88
88
  ccxt/poloniexfutures.py,sha256=T35rN-4OvNbTHmDgZCIpSclK8jophgbeVoVi4At0vv4,76628
89
89
  ccxt/probit.py,sha256=dHW7O5q3GVaRLiyki-GnKR0Or2_BuIe4UOz3drlciG8,76059
90
90
  ccxt/timex.py,sha256=vRX_heY_zVk374MKBMZSmWL_csBTCkAwgwTBGaN9iJY,65632
91
- ccxt/tokocrypto.py,sha256=E0gWqUsnQc7snMEZJoYYC6yWAU2deMD1DBe0o_oqQnk,121635
91
+ ccxt/tokocrypto.py,sha256=7X-3WFq7Ez-_X1vU_0uXATtpBlW02oB_0ECHUAIye44,122226
92
92
  ccxt/upbit.py,sha256=Z8NwMhDhmneVWIuPb3pA_dgY-UO8bHYOtrzTxWN9bqA,77093
93
93
  ccxt/wavesexchange.py,sha256=NmThO0R-81ctpRs6N2goiIr-xq1E6WNd1JywmcCPMFM,113315
94
- ccxt/wazirx.py,sha256=OaJM_kFILhhrbvCsO60ZME8hxpf377v_hwQ7EgCkMyM,36776
95
- ccxt/whitebit.py,sha256=XUQCScaIP8ziplg7ECvzDKndKS8pWxpkAPDcacI2-8s,100570
96
- ccxt/woo.py,sha256=i0kpSUWifCUd_ZVcf_YvgdW9hL_k6GY-cAZZiweskuY,107636
94
+ ccxt/wazirx.py,sha256=DyQ67oqkCNk3F0jCRDRMVPPhy34Z5LOqY9RmAGpV-2Y,36865
95
+ ccxt/whitebit.py,sha256=s0L8Pv1uSOwD2iuyCw-8dJ7UP_QFJrB-oeUkzJq4Dco,100659
96
+ ccxt/woo.py,sha256=k62IFajoan3gpSMyV5cnwJfSiwadjakgA_JJ1ivADUs,109132
97
97
  ccxt/yobit.py,sha256=gIVMiECMs6-Cl8qmMnWfgX3lokiSYzfuq7ngS9hRqw4,51888
98
98
  ccxt/zaif.py,sha256=MiJlnoWHd3gMGSoQc-_FzeU9F0y9uG4jxKrPGbn2I-0,27976
99
99
  ccxt/zonda.py,sha256=tk8q645TxGNMrg68KZtKWrbONs4j3LGZjwGcAyxUANo,80362
@@ -181,7 +181,7 @@ ccxt/abstract/okcoin.py,sha256=3NmYh-68W_4AXmkqjkf9dRaJcPgNYQG5mKZssJKT4gs,9414
181
181
  ccxt/abstract/okx.py,sha256=yMldHdLfzFD-pQ4RtRDbARHD1DI-8YZ5VL5VUFDdMoY,43282
182
182
  ccxt/abstract/p2b.py,sha256=XwaH1hLIi2T6RHltUwFj28Y5fbo6dc0jbjI01sVeOJw,2054
183
183
  ccxt/abstract/paymium.py,sha256=Bol6PEkHg_47betqBnL4aQQ4IhIp4owID_12VfDqn0E,2843
184
- ccxt/abstract/phemex.py,sha256=9zBDpowV_XBT4KJAnwueclMHnvO7lq3LhIwIRcj74Cs,14918
184
+ ccxt/abstract/phemex.py,sha256=6If1VvZ40gepCktSVwEWMCNvBDU4sNHmsBszx3wSUlk,15020
185
185
  ccxt/abstract/poloniex.py,sha256=dtTdTobCR2mMhCKJRqSxa1bjl9T94QiF0y31RoaqR_Y,8073
186
186
  ccxt/abstract/poloniexfutures.py,sha256=MlPqv9DdaJn9U4eW1MYjzwtL2WI_EEaYT6607hGI4SA,5219
187
187
  ccxt/abstract/probit.py,sha256=PxQkrvv3EQ2TvOxJmc_mAF_aH8xFFw6pZaVVjjUo5_4,1969
@@ -195,13 +195,13 @@ ccxt/abstract/woo.py,sha256=xilL7EbvUmJ_zBb_r1Q7cTi4bHsBQN2mFu0TGu7WHG0,8890
195
195
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
196
196
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
197
197
  ccxt/abstract/zonda.py,sha256=aSfewvRojzmuymX6QbOnDR8v9VFqWTULMHX9Y7kKD1M,5820
198
- ccxt/async_support/__init__.py,sha256=MbAZ8jHFAtqm7C9McG-Vkinayk0TGOdvW-GY1HQeYkI,14572
198
+ ccxt/async_support/__init__.py,sha256=U2--Jm_2EeOlnuVR-en1d1yHGSp-SIFfX39CU80ZFic,14572
199
199
  ccxt/async_support/ace.py,sha256=5fHmmLyH7G-Dh0RvvHYmO7X6kmuMlanS4LmD_RqX8-s,41572
200
200
  ccxt/async_support/alpaca.py,sha256=PBZqBViTt3fAzlIABvszvXBQJzjC8ub4vKTcaKVRtZQ,46241
201
201
  ccxt/async_support/ascendex.py,sha256=SP6sXuN3V2A8hwTCxvBqxMdZ-5VwOVDDtnrX2q_i2Pk,144071
202
202
  ccxt/async_support/bequant.py,sha256=kLA0e9URC1rDEHgpb61pEGAn5jZXzE715lEcJjPdLRo,1162
203
- ccxt/async_support/bigone.py,sha256=ZMIngs1xG4GrxQHp_L7k8t6hb0Ps21SXtvOU7hE4mQA,79862
204
- ccxt/async_support/binance.py,sha256=oT8eQb25UlBR9OuislsG45yw1MOPgV3vpLYDHYYRt3k,442139
203
+ ccxt/async_support/bigone.py,sha256=IrzxL7K3cUYjHuklb4GDJQaD_ZUvB0eJAh_cm-aeoEE,80282
204
+ ccxt/async_support/binance.py,sha256=EO0UmLNAQ1fQZKx-czxGyOnzfnJVNBNVUDu1HjtNYuc,442260
205
205
  ccxt/async_support/binancecoinm.py,sha256=IY3RLZptQA2nmZaUYRGfTa5ZY4VMWBpFYfwHc8zTHw0,1683
206
206
  ccxt/async_support/binanceus.py,sha256=lZIb9M5xcWxqiq5LgLWB1-Ouarrn36rMVKTchZERINk,3491
207
207
  ccxt/async_support/binanceusdm.py,sha256=-1r4A4tmV2pCiLGO80hzq7MIIj4MTzOD7buZGv6JauA,2518
@@ -214,11 +214,11 @@ ccxt/async_support/bitcoincom.py,sha256=RiqwhK3RfxQ_PXTa860fphDCvwA8dalL-_rXlK85
214
214
  ccxt/async_support/bitfinex.py,sha256=PNzSR9cYWQRIsTG4uz6tcYg0jrH0nqH2N7WDtbVUEXo,70165
215
215
  ccxt/async_support/bitfinex2.py,sha256=A1krXmnYd8UsQwPYgqzU_lYYxx8mjHbFih61_i6EeAI,129464
216
216
  ccxt/async_support/bitflyer.py,sha256=mmoPJEr2nBxfthieD8rLH7gxo0Wn5c_FkRm4DD5_1Ns,40413
217
- ccxt/async_support/bitforex.py,sha256=cFaclUm_1dTjg00eG_ttJaZRJmY89rM_dgV0M6w7Ww4,33908
218
- ccxt/async_support/bitget.py,sha256=P-s7G4XSQdM5b-S8KLvVCi_FP_hydqQA5I-aFmb_dy8,389083
217
+ ccxt/async_support/bitforex.py,sha256=JNuA3x41Sss39FW4WzzV4sIQkThtOIatcOm9cXabE_k,33997
218
+ ccxt/async_support/bitget.py,sha256=2pO10BovYHgTBkniZ6RUN9urOVvsSq3GFVSW0BIu0yU,389375
219
219
  ccxt/async_support/bithumb.py,sha256=6Ml9aysmbCwFHKaFvLnkSZRlvIu9Xfyowix3fIr65xE,43555
220
220
  ccxt/async_support/bitmart.py,sha256=DOLAXSkZL0j2Y5RscYsXkTZJJdy_74j9LvO34HUOHq8,186586
221
- ccxt/async_support/bitmex.py,sha256=oZq7iHyDQrvrJkW9rbVL2oQpfwi-7s2qYQkrJFyaPcs,120217
221
+ ccxt/async_support/bitmex.py,sha256=A3099-IhFKy7V0087jBTparLSmpBOltIwe7iPDoBN0c,120300
222
222
  ccxt/async_support/bitopro.py,sha256=5OskBAj2d2Uk8REg6CaRJ9nxSQZSmHmRonuXWJFWW4Y,68459
223
223
  ccxt/async_support/bitpanda.py,sha256=4kMrriboIdTLslQUHV7wQkOC9wavo7tXDU5ArAmtWT8,88368
224
224
  ccxt/async_support/bitrue.py,sha256=0urgKMo9epxQgBKn41LdYGamM99jvmwoDfqFyDdPBiY,136817
@@ -226,23 +226,23 @@ ccxt/async_support/bitso.py,sha256=pzY1N0FQZOY23yVn4Gln3M5tGBCOmMzrQ_SWdPZOoCk,6
226
226
  ccxt/async_support/bitstamp.py,sha256=Yj-a1f6f-ua3kf7uCTYMrJv2zehvYIi-30XuqTLMsTM,85899
227
227
  ccxt/async_support/bitvavo.py,sha256=MOhbZQ21Z4QRtG3tP29Ltsq5eybQuhFolBhwkW5QpLk,85106
228
228
  ccxt/async_support/bl3p.py,sha256=8fvFQCUOGLYe2q2ElCTdpAWyqt0a4k09kbZ207leADM,17877
229
- ccxt/async_support/blockchaincom.py,sha256=VnQtvcW0zo8wfgNOWSltwzPEN6R1wHfSGSgj993GAWc,49021
229
+ ccxt/async_support/blockchaincom.py,sha256=y_jLjzBVniYFNBGWWwXE7ufPXXicHxQ--VVqu_vpxIU,47544
230
230
  ccxt/async_support/btcalpha.py,sha256=7OVYRu01mPKOnn73NrVT5TTO1QnvVJsqEi0TVS-63Ro,35906
231
231
  ccxt/async_support/btcbox.py,sha256=EywXOm_odHotrJdsaGMYfB3n3jKCIai0pWbShX-Z06I,23043
232
232
  ccxt/async_support/btcmarkets.py,sha256=i1H6KESr8nL7xDuFqmRvy0VQmHnAKrQkD_RPP7ZtV2Y,48932
233
233
  ccxt/async_support/btcturk.py,sha256=3zAGyyBqjTTbMhQNijsf5C9I1CdpElWz8B8gOkNYYCM,35676
234
- ccxt/async_support/bybit.py,sha256=nec36g-BMzQAiMzJaZ1nA5BizpYPW7qXL3v2O-NxCi0,356061
234
+ ccxt/async_support/bybit.py,sha256=GTHItqyOsB7BkloXZKk78HsxXNi9AlXU0XtVwHIsW6A,356940
235
235
  ccxt/async_support/cex.py,sha256=cQEKg7b7m8StCLiAqTqIgzJ_3j6LcTxG0gFO_x_fLTs,69846
236
236
  ccxt/async_support/coinbase.py,sha256=fNtDoQ0IdBBT29PSmOhW6m3aORe3FwYJaPIFbd7JIbE,146341
237
237
  ccxt/async_support/coinbasepro.py,sha256=B0HuqfS9teMp82UJcuhntI763uW7GHOzZwFHwBnIpTs,78674
238
238
  ccxt/async_support/coincheck.py,sha256=5W5TXe7eDAwy1LkuMOB1JE6wzQIQYlZ9orS2ct9uRk4,34833
239
- ccxt/async_support/coinex.py,sha256=86nOZe5hLeToHYQhnvxtoJzws8iTGkuofj_kR-BRv3Q,223077
240
- ccxt/async_support/coinlist.py,sha256=6CbqUjtEbTWZpS69k5GkU1Z7Vpc5cD4qHewhvhyybLM,102645
239
+ ccxt/async_support/coinex.py,sha256=DXP4d6eiPCNI5tbeFf5sfe8zD8U21F-tQ075XgOiieg,223976
240
+ ccxt/async_support/coinlist.py,sha256=tOWc4iBB_VlHwGzD5iFuCfe3jYWpgzP4Qu3LgMAf7FQ,102734
241
241
  ccxt/async_support/coinmate.py,sha256=BGiq-0tma9yngBGGyXoqDVRhiVfUxOo_IfKpX9h-pv0,40202
242
242
  ccxt/async_support/coinone.py,sha256=VywuP8WcZonpRAj4pB99RJNpaGSTvGtVBuKN1eR__K0,35932
243
- ccxt/async_support/coinsph.py,sha256=hNDLMtlAMuyfoo0Zj6sNk3vutc_gVmUU_nMbxhJA2sw,87816
243
+ ccxt/async_support/coinsph.py,sha256=JOCanh_WV0FaF1ufhfyiep4kFSpkUMp2RvYvrnWKfec,87905
244
244
  ccxt/async_support/coinspot.py,sha256=py_wOzt-2jYuD6W8LyD9Vtij2NbwcfmTAJRb-tPJUa0,23176
245
- ccxt/async_support/cryptocom.py,sha256=xbHkBKNzBDbYOInRsEx-SC1LaCGgR1V7auBgf4rmfm8,128181
245
+ ccxt/async_support/cryptocom.py,sha256=3QciU2YndDCPFWlMTm-QpKpsQ8N-Q0llM7zDDTFbBKE,128270
246
246
  ccxt/async_support/currencycom.py,sha256=1b_wbCu-M74vRVpTQHBc7ELkWP0YEtPBm0axIGJ7yEs,84640
247
247
  ccxt/async_support/delta.py,sha256=Bh7341LXF70gqLe5NfbP76-a1vWP8Kf5Aa_DH05rnH0,139241
248
248
  ccxt/async_support/deribit.py,sha256=62Z2o98VFpB-5q2m71lXb4PO-IHXN38OD8SCjr5zGvo,144406
@@ -250,13 +250,13 @@ ccxt/async_support/digifinex.py,sha256=alDU8uwSdhb-NiDkVmXqUJvDde5tleJzpii5LB9UO
250
250
  ccxt/async_support/exmo.py,sha256=PsAnyAt10JIr9sN0SsMiNOywcxoU6k_kz9qO-U4gv6I,112400
251
251
  ccxt/async_support/flowbtc.py,sha256=bCnvtcNnPxxaxqVjI1GGXKhIpz_1r4GIFWqqPokvCR0,1183
252
252
  ccxt/async_support/fmfwio.py,sha256=lzfSnPrB2ARcC3EIqAuBM4vyg6LJ6n8RE71Zvt3ez1s,1250
253
- ccxt/async_support/gate.py,sha256=PC5LLI6Nw2qu2lyitZldeCRevYV9ntCBotrbpB-fcHo,287505
253
+ ccxt/async_support/gate.py,sha256=Vy5sFc7jAt6HcMRPnstPH88YvJ_8gBAPyzxbT47XNUI,298813
254
254
  ccxt/async_support/gateio.py,sha256=6_t032F9p9x5KGTjtSuqGXITzFOx-XAQBYLpsuQjzxw,459
255
255
  ccxt/async_support/gemini.py,sha256=0RoCTcBqLiqhogTdZ07axXJqaqJHBcNrUX5BWwL8vBo,75158
256
256
  ccxt/async_support/hitbtc.py,sha256=vmn93xmvAWWOW9H3XojeF4M0WWAAyqx0Pv6JF07_1mg,149566
257
257
  ccxt/async_support/hitbtc3.py,sha256=dmSYoD2o4av_zzbZI8HNIoj8BWxA7QozsVpy8JaOXzU,469
258
258
  ccxt/async_support/hollaex.py,sha256=XftSb4pI6PhLJClM34Im7XVqzuzPRWNKPjDiYUZvIFA,74850
259
- ccxt/async_support/htx.py,sha256=ghb8LHU3xWlcj5din3srjhZcnxSlnWiC4bJobcUqcCA,398052
259
+ ccxt/async_support/htx.py,sha256=008yVHsAFBmNnnqFf-pT9Z8_X_llyIzMh7lHls4VM6I,401306
260
260
  ccxt/async_support/huobi.py,sha256=fup0j6wQ1khAtfbb1H4CSyJAOzhxuoHMmrM6sgTuhr8,452
261
261
  ccxt/async_support/huobijp.py,sha256=IIExVoDzxnQqhel296-CMKZiO3yQPle7YUc2bNHdg_0,88399
262
262
  ccxt/async_support/idex.py,sha256=gBc4Ps3iYtImjQlRb_QTFG05kKsA6R3uYu9bHzZUI58,68704
@@ -266,36 +266,36 @@ ccxt/async_support/kraken.py,sha256=pfY8pU_RlUKGuSj8IiHp_rGBJh3CwwgDYvppN77tcJc,
266
266
  ccxt/async_support/krakenfutures.py,sha256=Oj187yP-RmaapdKuaLo5f-bC25t7l26K89KnoXor560,100381
267
267
  ccxt/async_support/kucoin.py,sha256=gc33pEehHFjPkwTVAVQ4jNTBF8OrRZrZJ4rsoxHi4OQ,195562
268
268
  ccxt/async_support/kucoinfutures.py,sha256=tdU1xdV5uvbjmOmqduccjaOwSQ-x8Teypp_V40gusMQ,106200
269
- ccxt/async_support/kuna.py,sha256=whEDhy7yfXMrOAA_aIdYUPq_S809G9D2wd00puSLuS8,96704
269
+ ccxt/async_support/kuna.py,sha256=t_0KiEzeJmUdhvzTnL7IfUGGJUCabquZkgDVzh7fi_k,96793
270
270
  ccxt/async_support/latoken.py,sha256=f7_Z3N84I31z3ayCEbhYaAdO2OqUd9_D7K9O-A6r4YA,77491
271
271
  ccxt/async_support/lbank.py,sha256=dlYtCiD0SsuoWUxzL4zMmAYMUr8-sh7ETx_bkhy7-nQ,114308
272
272
  ccxt/async_support/luno.py,sha256=XC5WjZZ6tYQ-95bKyR_Z8TE7rolGLwi3z9eciXv-Qbk,41162
273
273
  ccxt/async_support/lykke.py,sha256=u5c1AF0kX68uFPcyM6X6JgO3aRTbFyCHFl0dnpTz1C8,49231
274
274
  ccxt/async_support/mercado.py,sha256=iWrbY3e0vLQupTsclLaD21jH8r6Nd3FlOLC9va-WZz0,35237
275
- ccxt/async_support/mexc.py,sha256=HafGj9tOWTG0_5otMCxER4nsyPJLDYbc0UVKFH4q6lU,227170
275
+ ccxt/async_support/mexc.py,sha256=0I6WScqPp4uPla-Q7NN08wSDbcXLTAyM0UJwkQrV9LI,227259
276
276
  ccxt/async_support/ndax.py,sha256=zK8hVmTJwum2ilEOyjHpq44M3nyePE2xiEgfsD0m_n8,107728
277
277
  ccxt/async_support/novadax.py,sha256=MhJuvidmZdR8dqFYVStIiihInIiG2xS_9P5a_zcjoLg,64185
278
278
  ccxt/async_support/oceanex.py,sha256=fvjFGdRVza2wPzwLCeShmf9ujJfsoSG2mieY-jiPxXU,37950
279
- ccxt/async_support/okcoin.py,sha256=klyINhUTjCfgLSoInyMnmGMFcluFIoOUQUOEao6Js_s,146609
279
+ ccxt/async_support/okcoin.py,sha256=G0wUxLNLdiBL7snzByYWxN5Vd7RFwWcD9VkeaUNRza4,148519
280
280
  ccxt/async_support/okx.py,sha256=QPXJQ4is0RO8ebhhid5EbsC8yBlqXTy72gfumiGHHN8,328524
281
281
  ccxt/async_support/p2b.py,sha256=lkrN13F1rNj6WsFkoPa2O5eBtDe4iKnl5v3dNc4ZI0M,54263
282
282
  ccxt/async_support/paymium.py,sha256=ytSECSpo34-Uz_AcKYmcXgfewmymtBEspkHlVyHLPAE,24310
283
- ccxt/async_support/phemex.py,sha256=bwvM7vG3aQ4aWYa07LnOyvaopaRS94rXp9dmz6XmQiI,206062
284
- ccxt/async_support/poloniex.py,sha256=DV5P0PAnZ3M9PdnglwBz5Pd4b8j-kxcJauPAUGmdwOg,100626
283
+ ccxt/async_support/phemex.py,sha256=yaRi6ta0_nj7BsUVpn-KRzGPVyPq-fnnjpanLQ5YtPo,213422
284
+ ccxt/async_support/poloniex.py,sha256=PPjukxoXwVxSOyv6JoMusAgPdWrBnmhFW7pQmSQzm6g,102194
285
285
  ccxt/async_support/poloniexfutures.py,sha256=MhEvZecnoy95lgv1kex4O-WkM3X2xqM-MZwqgoiKlf0,76996
286
286
  ccxt/async_support/probit.py,sha256=ZHIvcGJ_4V0hiI7k8Sr_idLndi2080eSv6VowJw3MU4,76451
287
287
  ccxt/async_support/timex.py,sha256=Stx6uS0xuN2BndKy6ivwdGXguT1K1M1jzfvy6SKgmHc,65964
288
- ccxt/async_support/tokocrypto.py,sha256=LVg1idJ3eeYxI8nWrkGR3PdBrTf8p_cVrXdy7tE0Tkc,121997
288
+ ccxt/async_support/tokocrypto.py,sha256=-t3PF1hzQhhUL4xwqyM2iHiscFS-Lr6xqOslLX7iErM,122588
289
289
  ccxt/async_support/upbit.py,sha256=uoCYyJDB3OqPuecuAXrfX9uaqAFu6oUTouW66hUCbXE,77539
290
290
  ccxt/async_support/wavesexchange.py,sha256=YQnBsUcZChdm1z4S56wiaTKTea37R5D8yASZkEfOnoU,113865
291
- ccxt/async_support/wazirx.py,sha256=iUvUxBb53TunSWYh0hRILTRsg0S8c7msl95IXgrPZFE,37030
292
- ccxt/async_support/whitebit.py,sha256=Ve0uNPzEQasflRcA9E62vqeHmxyw8Ci_nM5OxlgLKfs,101118
293
- ccxt/async_support/woo.py,sha256=sxstTjrOlaSxFZSKykGbAT8mbRWKZ8mjwqqJS0yMWPs,108286
291
+ ccxt/async_support/wazirx.py,sha256=63p9wpoc-xZpMOyagQAcJU8nRGos-9W7jt04-28-LOI,37119
292
+ ccxt/async_support/whitebit.py,sha256=OAYEOev6Li5CwusqiXZPEQNKq7KSVzmDjDxXOCayQPY,101207
293
+ ccxt/async_support/woo.py,sha256=TjLfDmjOWYUrrf6vglhXGwthPGeRU60gmx2uXHBfA5I,109800
294
294
  ccxt/async_support/yobit.py,sha256=d9bkNQqL47g7zwt4g_PnhoTQETISVwL8TfhmInvKvkU,52172
295
295
  ccxt/async_support/zaif.py,sha256=-YCjZLw87m9m-JXxUCr6AEC8KfnNX8b7IVSv5caW3QQ,28158
296
296
  ccxt/async_support/zonda.py,sha256=huZYyfwcqQ6kxkxnkf7CW0nXbYWe6nTWnSJjxy5W3po,80676
297
297
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
298
- ccxt/async_support/base/exchange.py,sha256=omV3XSpy7fqEYmvozHbS5zCQ7tMka0bLPZNle-umuIw,72150
298
+ ccxt/async_support/base/exchange.py,sha256=rWf7sI1DLGiKzvGo5s2hWtpCAby5ZR_k-MQlzD9cwOE,72134
299
299
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
300
300
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
301
301
  ccxt/async_support/base/ws/aiohttp_client.py,sha256=_qjsl_x-rd88QmzQeGVWovMDK0XoD3f4m5GHqxZRajs,5203
@@ -309,14 +309,14 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=Pxrq22nCODckJ6G1OXkYEmUunIu
309
309
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
310
310
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
311
311
  ccxt/base/errors.py,sha256=1C38u76jlNGq06N_uwfw8b8FZHK8_3_90wM1rKfU_Rg,3878
312
- ccxt/base/exchange.py,sha256=opO_elODi9g_X7FF2u_fmZmHBfC158rLHcZCSS8yJm8,216271
312
+ ccxt/base/exchange.py,sha256=esWXGX7Ho_6NOXbdaW_a0U0lMuwURCC5pWB-Iv2-QO4,216255
313
313
  ccxt/base/precise.py,sha256=_xfu54sV0vWNnOfGTKRFykeuWP8mn4K1m9lk1tcllX4,8565
314
314
  ccxt/base/types.py,sha256=_kkShzrcaWsH-YMr1J2FttpxXQq0oAMpOGmVQWg6X1Y,5690
315
- ccxt/pro/__init__.py,sha256=ECdQ6DrL9vRAvjlLELCDvAxaFoQA0IvNu6CeYK4NH4M,6166
315
+ ccxt/pro/__init__.py,sha256=rlAc0iqpkuVt7130_CgUrS-3gzFiUhSeC_mhA7enH3M,6166
316
316
  ccxt/pro/alpaca.py,sha256=RKNzGSV6WXuxygIzB4JrWyU7HRrKKRVxnFR--AVOedw,27105
317
317
  ccxt/pro/ascendex.py,sha256=2OX2v_774DDIlqEbAd2UWb-8hx-YfhjC0eXQhk2d_d4,34858
318
318
  ccxt/pro/bequant.py,sha256=3IeQ0vPg-eVqPiGMfX7yqH9qtXKm1ZqocQDeLwpA8EE,1093
319
- ccxt/pro/binance.py,sha256=7dgMeBFVnDbzE7-XIyS7uXsG67drQUoSLA_g-41KRSU,119849
319
+ ccxt/pro/binance.py,sha256=nq5cxy6VPevIn3nQoeg1CkzIUGHa79Ez1x93v-Sw_Sg,119886
320
320
  ccxt/pro/binancecoinm.py,sha256=vu5SUgP70T1Dax-Am3rch7ZldGrmUwxr_rI51Y38xjw,724
321
321
  ccxt/pro/binanceus.py,sha256=z3nif7plrd5DVrgqdnx9n-ZUbc826IkvudQ1Ec1DHpU,2078
322
322
  ccxt/pro/binanceusdm.py,sha256=S0eT662O2ReplsihWk42nhJWqw1XsODpeDQa9eFVVt8,1357
@@ -362,7 +362,7 @@ ccxt/pro/ndax.py,sha256=WvQju-OBHWNU63vxa4A_iQyVChjg-xmRCPsNhuU06Ms,22763
362
362
  ccxt/pro/okcoin.py,sha256=k4rngXz3IcMiQalWuLb49FrcsCxJCQhyHl5D8doAB2k,30485
363
363
  ccxt/pro/okx.py,sha256=_LBlXny8Oe6oKrqXfYSI8vEVbaPtGJMqhdr-4lnFg80,64464
364
364
  ccxt/pro/phemex.py,sha256=88UNbPjRQOA_qffCCT7VsCBw_ypnr-HxzA5nCTEleDs,60562
365
- ccxt/pro/poloniex.py,sha256=Tz4JHfiGtoOnGi7k2S6x7Gix8CUyU2y2WGOBGw4c9aQ,50970
365
+ ccxt/pro/poloniex.py,sha256=gnTqHg6XBBM3TJS6SAwP0-YEyLge5HKUFN2lpPtbvGo,51027
366
366
  ccxt/pro/poloniexfutures.py,sha256=uLH7_Yu6VlgEc8Z8bv7j3XQ4zCitHPW2aaf7ISsTgsM,41023
367
367
  ccxt/pro/probit.py,sha256=MfZyluWDkCSysRKz7fQ18idYUA9hreoS5DHJmPwGDYw,22819
368
368
  ccxt/pro/upbit.py,sha256=j3F_t2iWgUKIa7gN0OxLjpr8a5RUynT1-X8991fp8qY,9654
@@ -417,7 +417,7 @@ ccxt/test/base/test_ticker.py,sha256=5J8KHgFhJLgcWyFwt3bhJ-tldMho3K7LD5yJnnUyrT4
417
417
  ccxt/test/base/test_trade.py,sha256=AN3emAdEPhdFyunap43cKqZTS1cbaShZKTjYue67jEU,2297
418
418
  ccxt/test/base/test_trading_fee.py,sha256=2_WCp3qJ2UpraQQoGFlGJYwHD-T0Bm5W7KIw4zpFvSM,1068
419
419
  ccxt/test/base/test_transaction.py,sha256=BTbB4UHHXkrvYgwbrhh867nVRlevmIkIrz1W_odlQJI,1434
420
- ccxt-4.1.88.dist-info/METADATA,sha256=SkCafnm2CHEJwQCSvH2p3nQQwdo9iFbJ17JV__6Zq0A,105684
421
- ccxt-4.1.88.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
422
- ccxt-4.1.88.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
423
- ccxt-4.1.88.dist-info/RECORD,,
420
+ ccxt-4.1.90.dist-info/METADATA,sha256=tkZooj0FXbIJH3DREAwXBJtfLwVOjQ949yhaQI6OVFE,105684
421
+ ccxt-4.1.90.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
422
+ ccxt-4.1.90.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
423
+ ccxt-4.1.90.dist-info/RECORD,,
File without changes