ccxt 4.3.62__py2.py3-none-any.whl → 4.3.64__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.
Files changed (74) hide show
  1. ccxt/__init__.py +2 -1
  2. ccxt/abstract/binance.py +5 -5
  3. ccxt/abstract/binancecoinm.py +5 -5
  4. ccxt/abstract/binanceus.py +5 -5
  5. ccxt/abstract/binanceusdm.py +5 -5
  6. ccxt/abstract/cryptocom.py +11 -0
  7. ccxt/abstract/kucoin.py +1 -0
  8. ccxt/abstract/kucoinfutures.py +1 -0
  9. ccxt/abstract/woo.py +3 -0
  10. ccxt/ace.py +33 -15
  11. ccxt/alpaca.py +1 -0
  12. ccxt/async_support/__init__.py +2 -1
  13. ccxt/async_support/ace.py +33 -15
  14. ccxt/async_support/alpaca.py +1 -0
  15. ccxt/async_support/base/exchange.py +4 -4
  16. ccxt/async_support/binance.py +6 -9
  17. ccxt/async_support/bingx.py +534 -152
  18. ccxt/async_support/bitfinex.py +1 -1
  19. ccxt/async_support/bitfinex2.py +1 -1
  20. ccxt/async_support/coinbaseinternational.py +1 -1
  21. ccxt/async_support/cryptocom.py +17 -2
  22. ccxt/async_support/independentreserve.py +103 -1
  23. ccxt/async_support/kucoin.py +2 -0
  24. ccxt/async_support/mercado.py +5 -1
  25. ccxt/async_support/whitebit.py +1 -1
  26. ccxt/async_support/woo.py +321 -81
  27. ccxt/async_support/xt.py +3 -3
  28. ccxt/async_support/yobit.py +1 -1
  29. ccxt/async_support/zonda.py +1 -1
  30. ccxt/base/errors.py +8 -1
  31. ccxt/base/exchange.py +11 -5
  32. ccxt/binance.py +6 -9
  33. ccxt/bingx.py +534 -152
  34. ccxt/bitfinex.py +1 -1
  35. ccxt/bitfinex2.py +1 -1
  36. ccxt/coinbaseinternational.py +1 -1
  37. ccxt/cryptocom.py +17 -2
  38. ccxt/independentreserve.py +103 -1
  39. ccxt/kucoin.py +2 -0
  40. ccxt/mercado.py +5 -1
  41. ccxt/pro/__init__.py +1 -1
  42. ccxt/pro/binance.py +56 -35
  43. ccxt/pro/bitfinex2.py +6 -4
  44. ccxt/pro/bitget.py +5 -2
  45. ccxt/pro/bitmart.py +3 -3
  46. ccxt/pro/bitvavo.py +1 -1
  47. ccxt/pro/bybit.py +41 -18
  48. ccxt/pro/cryptocom.py +7 -2
  49. ccxt/pro/gate.py +7 -4
  50. ccxt/pro/gemini.py +4 -2
  51. ccxt/pro/htx.py +5 -1
  52. ccxt/pro/independentreserve.py +6 -4
  53. ccxt/pro/kraken.py +79 -6
  54. ccxt/pro/okx.py +5 -5
  55. ccxt/pro/onetrading.py +3 -2
  56. ccxt/pro/oxfun.py +1 -1
  57. ccxt/pro/poloniexfutures.py +5 -2
  58. ccxt/pro/vertex.py +3 -2
  59. ccxt/pro/woo.py +2 -1
  60. ccxt/pro/woofipro.py +3 -2
  61. ccxt/test/tests_async.py +3 -3
  62. ccxt/test/tests_helpers.py +1 -1
  63. ccxt/test/tests_init.py +3 -3
  64. ccxt/test/tests_sync.py +3 -3
  65. ccxt/whitebit.py +1 -1
  66. ccxt/woo.py +321 -81
  67. ccxt/xt.py +3 -3
  68. ccxt/yobit.py +1 -1
  69. ccxt/zonda.py +1 -1
  70. {ccxt-4.3.62.dist-info → ccxt-4.3.64.dist-info}/METADATA +4 -4
  71. {ccxt-4.3.62.dist-info → ccxt-4.3.64.dist-info}/RECORD +74 -74
  72. {ccxt-4.3.62.dist-info → ccxt-4.3.64.dist-info}/LICENSE.txt +0 -0
  73. {ccxt-4.3.62.dist-info → ccxt-4.3.64.dist-info}/WHEEL +0 -0
  74. {ccxt-4.3.62.dist-info → ccxt-4.3.64.dist-info}/top_level.txt +0 -0
ccxt/base/exchange.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.62'
7
+ __version__ = '4.3.64'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2378,6 +2378,9 @@ class Exchange(object):
2378
2378
  def after_construct(self):
2379
2379
  self.create_networks_by_id_object()
2380
2380
 
2381
+ def orderbook_checksum_message(self, symbol: Str):
2382
+ return symbol + ' = False'
2383
+
2381
2384
  def create_networks_by_id_object(self):
2382
2385
  # automatically generate network-id-to-code mappings
2383
2386
  networkIdsToCodesGenerated = self.invert_flat_string_dictionary(self.safe_value(self.options, 'networks', {})) # invert defined networks dictionary
@@ -4179,14 +4182,14 @@ class Exchange(object):
4179
4182
  self.load_markets()
4180
4183
  market = self.market(symbol)
4181
4184
  symbol = market['symbol']
4182
- tickers = self.fetch_ticker_ws(symbol, params)
4185
+ tickers = self.fetch_tickers_ws([symbol], params)
4183
4186
  ticker = self.safe_dict(tickers, symbol)
4184
4187
  if ticker is None:
4185
- raise NullResponse(self.id + ' fetchTickers() could not find a ticker for ' + symbol)
4188
+ raise NullResponse(self.id + ' fetchTickerWs() could not find a ticker for ' + symbol)
4186
4189
  else:
4187
4190
  return ticker
4188
4191
  else:
4189
- raise NotSupported(self.id + ' fetchTicker() is not supported yet')
4192
+ raise NotSupported(self.id + ' fetchTickerWs() is not supported yet')
4190
4193
 
4191
4194
  def watch_ticker(self, symbol: str, params={}):
4192
4195
  raise NotSupported(self.id + ' watchTicker() is not supported yet')
@@ -5719,8 +5722,11 @@ class Exchange(object):
5719
5722
  return [request, params]
5720
5723
 
5721
5724
  def safe_open_interest(self, interest, market: Market = None):
5725
+ symbol = self.safe_string(interest, 'symbol')
5726
+ if symbol is None:
5727
+ symbol = self.safe_string(market, 'symbol')
5722
5728
  return self.extend(interest, {
5723
- 'symbol': self.safe_string(market, 'symbol'),
5729
+ 'symbol': symbol,
5724
5730
  'baseVolume': self.safe_number(interest, 'baseVolume'), # deprecated
5725
5731
  'quoteVolume': self.safe_number(interest, 'quoteVolume'), # deprecated
5726
5732
  'openInterestAmount': self.safe_number(interest, 'openInterestAmount'),
ccxt/binance.py CHANGED
@@ -836,7 +836,7 @@ class binance(Exchange, ImplicitAPI):
836
836
  'forceOrders': {'cost': 20, 'noSymbol': 50},
837
837
  'allOrders': 5,
838
838
  'openOrder': 1,
839
- 'openOrders': 1,
839
+ 'openOrders': {'cost': 1, 'noSymbol': 40},
840
840
  'order': 1,
841
841
  'account': 5,
842
842
  'balance': 5,
@@ -1028,18 +1028,18 @@ class binance(Exchange, ImplicitAPI):
1028
1028
  'ping': 1,
1029
1029
  'um/order': 1, # 1
1030
1030
  'um/openOrder': 1, # 1
1031
- 'um/openOrders': 1, # 1
1031
+ 'um/openOrders': {'cost': 1, 'noSymbol': 40},
1032
1032
  'um/allOrders': 5, # 5
1033
1033
  'cm/order': 1, # 1
1034
1034
  'cm/openOrder': 1, # 1
1035
- 'cm/openOrders': 1, # 1
1035
+ 'cm/openOrders': {'cost': 1, 'noSymbol': 40},
1036
1036
  'cm/allOrders': 20, # 20
1037
1037
  'um/conditional/openOrder': 1,
1038
- 'um/conditional/openOrders': 40,
1038
+ 'um/conditional/openOrders': {'cost': 1, 'noSymbol': 40},
1039
1039
  'um/conditional/orderHistory': 1,
1040
1040
  'um/conditional/allOrders': 40,
1041
1041
  'cm/conditional/openOrder': 1,
1042
- 'cm/conditional/openOrders': 40,
1042
+ 'cm/conditional/openOrders': {'cost': 1, 'noSymbol': 40},
1043
1043
  'cm/conditional/orderHistory': 1,
1044
1044
  'cm/conditional/allOrders': 40,
1045
1045
  'margin/order': 5,
@@ -6201,10 +6201,7 @@ class binance(Exchange, ImplicitAPI):
6201
6201
  marketType = market['type'] if ('type' in market) else defaultType
6202
6202
  type = self.safe_string(params, 'type', marketType)
6203
6203
  elif self.options['warnOnFetchOpenOrdersWithoutSymbol']:
6204
- symbols = self.symbols
6205
- numSymbols = len(symbols)
6206
- fetchOpenOrdersRateLimit = self.parse_to_int(numSymbols / 2)
6207
- raise ExchangeError(self.id + ' fetchOpenOrders() WARNING: fetching open orders without specifying a symbol is rate-limited to one call per ' + str(fetchOpenOrdersRateLimit) + ' seconds. Do not call self method frequently to avoid ban. Set ' + self.id + '.options["warnOnFetchOpenOrdersWithoutSymbol"] = False to suppress self warning message.')
6204
+ raise ExchangeError(self.id + ' fetchOpenOrders() WARNING: fetching open orders without specifying a symbol has stricter rate limits(10 times more for spot, 40 times more for other markets) compared to requesting with symbol argument. To acknowledge self warning, set ' + self.id + '.options["warnOnFetchOpenOrdersWithoutSymbol"] = False to suppress self warning message.')
6208
6205
  else:
6209
6206
  defaultType = self.safe_string_2(self.options, 'fetchOpenOrders', 'defaultType', 'spot')
6210
6207
  type = self.safe_string(params, 'type', defaultType)