ccxt 4.4.72__py2.py3-none-any.whl → 4.4.74__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 (68) hide show
  1. ccxt/__init__.py +1 -7
  2. ccxt/abstract/bitmart.py +2 -0
  3. ccxt/ace.py +39 -1
  4. ccxt/alpaca.py +49 -0
  5. ccxt/ascendex.py +7 -1
  6. ccxt/async_support/__init__.py +1 -7
  7. ccxt/async_support/ace.py +39 -1
  8. ccxt/async_support/alpaca.py +49 -0
  9. ccxt/async_support/ascendex.py +7 -1
  10. ccxt/async_support/base/exchange.py +1 -1
  11. ccxt/async_support/bequant.py +1 -0
  12. ccxt/async_support/binance.py +18 -14
  13. ccxt/async_support/binanceusdm.py +1 -1
  14. ccxt/async_support/bit2c.py +37 -0
  15. ccxt/async_support/bitbank.py +32 -0
  16. ccxt/async_support/bitbns.py +1 -1
  17. ccxt/async_support/bitflyer.py +1 -0
  18. ccxt/async_support/bitget.py +6 -5
  19. ccxt/async_support/bithumb.py +34 -0
  20. ccxt/async_support/bitmart.py +70 -6
  21. ccxt/async_support/bitrue.py +1 -1
  22. ccxt/async_support/blofin.py +1 -1
  23. ccxt/async_support/bybit.py +42 -26
  24. ccxt/async_support/coinlist.py +81 -11
  25. ccxt/async_support/defx.py +1 -1
  26. ccxt/async_support/deribit.py +19 -0
  27. ccxt/async_support/derive.py +2 -0
  28. ccxt/async_support/gate.py +11 -7
  29. ccxt/async_support/hitbtc.py +7 -1
  30. ccxt/async_support/okx.py +4 -0
  31. ccxt/base/errors.py +0 -6
  32. ccxt/base/exchange.py +26 -14
  33. ccxt/bequant.py +1 -0
  34. ccxt/binance.py +18 -14
  35. ccxt/binanceusdm.py +1 -1
  36. ccxt/bit2c.py +37 -0
  37. ccxt/bitbank.py +32 -0
  38. ccxt/bitbns.py +1 -1
  39. ccxt/bitflyer.py +1 -0
  40. ccxt/bitget.py +6 -5
  41. ccxt/bithumb.py +34 -0
  42. ccxt/bitmart.py +70 -6
  43. ccxt/bitrue.py +1 -1
  44. ccxt/blofin.py +1 -1
  45. ccxt/bybit.py +42 -26
  46. ccxt/coinlist.py +81 -11
  47. ccxt/defx.py +1 -1
  48. ccxt/deribit.py +19 -0
  49. ccxt/derive.py +2 -0
  50. ccxt/gate.py +11 -7
  51. ccxt/hitbtc.py +7 -1
  52. ccxt/okx.py +4 -0
  53. ccxt/pro/__init__.py +1 -7
  54. ccxt/pro/ascendex.py +1 -1
  55. ccxt/pro/bingx.py +9 -1
  56. ccxt/pro/bitget.py +9 -1
  57. ccxt/pro/bitmart.py +9 -1
  58. ccxt/pro/bitopro.py +5 -4
  59. ccxt/test/tests_async.py +6 -3
  60. ccxt/test/tests_sync.py +6 -3
  61. {ccxt-4.4.72.dist-info → ccxt-4.4.74.dist-info}/METADATA +5 -5
  62. {ccxt-4.4.72.dist-info → ccxt-4.4.74.dist-info}/RECORD +65 -68
  63. ccxt/abstract/bitcoincom.py +0 -115
  64. ccxt/abstract/bitfinex1.py +0 -69
  65. ccxt/abstract/bitpanda.py +0 -23
  66. {ccxt-4.4.72.dist-info → ccxt-4.4.74.dist-info}/LICENSE.txt +0 -0
  67. {ccxt-4.4.72.dist-info → ccxt-4.4.74.dist-info}/WHEEL +0 -0
  68. {ccxt-4.4.72.dist-info → ccxt-4.4.74.dist-info}/top_level.txt +0 -0
ccxt/pro/bitget.py CHANGED
@@ -77,6 +77,9 @@ class bitget(ccxt.async_support.bitget):
77
77
  'watchOrderBook': {
78
78
  'checksum': True,
79
79
  },
80
+ 'watchTrades': {
81
+ 'ignoreDuplicates': True,
82
+ },
80
83
  },
81
84
  'streaming': {
82
85
  'ping': self.ping,
@@ -767,7 +770,12 @@ class bitget(ccxt.async_support.bitget):
767
770
  first = self.safe_value(trades, 0)
768
771
  tradeSymbol = self.safe_string(first, 'symbol')
769
772
  limit = trades.getLimit(tradeSymbol, limit)
770
- return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
773
+ result = self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
774
+ if self.handle_option('watchTrades', 'ignoreDuplicates', True):
775
+ filtered = self.remove_repeated_trades_from_array(result)
776
+ filtered = self.sort_by(filtered, 'timestamp')
777
+ return filtered
778
+ return result
771
779
 
772
780
  async def un_watch_trades(self, symbol: str, params={}) -> Any:
773
781
  """
ccxt/pro/bitmart.py CHANGED
@@ -71,6 +71,9 @@ class bitmart(ccxt.async_support.bitmart):
71
71
  'watchOrderBookForSymbols': {
72
72
  'depth': 'depth/increase100',
73
73
  },
74
+ 'watchTrades': {
75
+ 'ignoreDuplicates': True,
76
+ },
74
77
  'ws': {
75
78
  'inflate': True,
76
79
  },
@@ -299,7 +302,12 @@ class bitmart(ccxt.async_support.bitmart):
299
302
  first = self.safe_dict(trades, 0)
300
303
  tradeSymbol = self.safe_string(first, 'symbol')
301
304
  limit = trades.getLimit(tradeSymbol, limit)
302
- return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
305
+ result = self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
306
+ if self.handle_option('watchTrades', 'ignoreDuplicates', True):
307
+ filtered = self.remove_repeated_trades_from_array(result)
308
+ filtered = self.sort_by(filtered, 'timestamp')
309
+ return filtered
310
+ return result
303
311
 
304
312
  def get_params_for_multiple_sub(self, methodName: str, symbols: List[str], limit: Int = None, params={}):
305
313
  symbols = self.market_symbols(symbols, None, False, True)
ccxt/pro/bitopro.py CHANGED
@@ -343,15 +343,16 @@ class bitopro(ccxt.async_support.bitopro):
343
343
  # }
344
344
  #
345
345
  marketId = self.safe_string(message, 'pair')
346
- market = self.safe_market(marketId, None, '_')
346
+ # market-ids are lowercase in REST API and uppercase in WS API
347
+ market = self.safe_market(marketId.lower(), None, '_')
347
348
  symbol = market['symbol']
348
349
  event = self.safe_string(message, 'event')
349
350
  messageHash = event + ':' + symbol
350
- result = self.parse_ticker(message)
351
+ result = self.parse_ticker(message, market)
352
+ result['symbol'] = self.safe_string(market, 'symbol') # symbol returned from REST's parseTicker is distorted for WS, so re-set it from market object
351
353
  timestamp = self.safe_integer(message, 'timestamp')
352
- datetime = self.safe_string(message, 'datetime')
353
354
  result['timestamp'] = timestamp
354
- result['datetime'] = datetime
355
+ result['datetime'] = self.iso8601(timestamp) # we shouldn't set "datetime" string provided by server, values are obviously wrong offset from UTC
355
356
  self.tickers[symbol] = result
356
357
  client.resolve(result, messageHash)
357
358
 
ccxt/test/tests_async.py CHANGED
@@ -1156,7 +1156,9 @@ class testMainClass:
1156
1156
 
1157
1157
  async def test_binance(self):
1158
1158
  exchange = self.init_offline_exchange('binance')
1159
- spot_id = 'x-R4BD3S82'
1159
+ spot_id = 'x-TKT5PX2F'
1160
+ swap_id = 'x-cvBPrNm9'
1161
+ inverse_swap_id = 'x-xcKtGhcu'
1160
1162
  spot_order_request = None
1161
1163
  try:
1162
1164
  await exchange.create_order('BTC/USDT', 'limit', 'buy', 1, 20000)
@@ -1165,7 +1167,6 @@ class testMainClass:
1165
1167
  client_order_id = spot_order_request['newClientOrderId']
1166
1168
  spot_id_string = str(spot_id)
1167
1169
  assert client_order_id.startswith(spot_id_string), 'binance - spot clientOrderId: ' + client_order_id + ' does not start with spotId' + spot_id_string
1168
- swap_id = 'x-xcKtGhcu'
1169
1170
  swap_order_request = None
1170
1171
  try:
1171
1172
  await exchange.create_order('BTC/USDT:USDT', 'limit', 'buy', 1, 20000)
@@ -1176,11 +1177,13 @@ class testMainClass:
1176
1177
  await exchange.create_order('BTC/USD:BTC', 'limit', 'buy', 1, 20000)
1177
1178
  except Exception as e:
1178
1179
  swap_inverse_order_request = self.urlencoded_to_dict(exchange.last_request_body)
1180
+ # linear swap
1179
1181
  client_order_id_swap = swap_order_request['newClientOrderId']
1180
1182
  swap_id_string = str(swap_id)
1181
1183
  assert client_order_id_swap.startswith(swap_id_string), 'binance - swap clientOrderId: ' + client_order_id_swap + ' does not start with swapId' + swap_id_string
1184
+ # inverse swap
1182
1185
  client_order_id_inverse = swap_inverse_order_request['newClientOrderId']
1183
- assert client_order_id_inverse.startswith(swap_id_string), 'binance - swap clientOrderIdInverse: ' + client_order_id_inverse + ' does not start with swapId' + swap_id_string
1186
+ assert client_order_id_inverse.startswith(inverse_swap_id), 'binance - swap clientOrderIdInverse: ' + client_order_id_inverse + ' does not start with swapId' + inverse_swap_id
1184
1187
  create_orders_request = None
1185
1188
  try:
1186
1189
  orders = [{
ccxt/test/tests_sync.py CHANGED
@@ -1153,7 +1153,9 @@ class testMainClass:
1153
1153
 
1154
1154
  def test_binance(self):
1155
1155
  exchange = self.init_offline_exchange('binance')
1156
- spot_id = 'x-R4BD3S82'
1156
+ spot_id = 'x-TKT5PX2F'
1157
+ swap_id = 'x-cvBPrNm9'
1158
+ inverse_swap_id = 'x-xcKtGhcu'
1157
1159
  spot_order_request = None
1158
1160
  try:
1159
1161
  exchange.create_order('BTC/USDT', 'limit', 'buy', 1, 20000)
@@ -1162,7 +1164,6 @@ class testMainClass:
1162
1164
  client_order_id = spot_order_request['newClientOrderId']
1163
1165
  spot_id_string = str(spot_id)
1164
1166
  assert client_order_id.startswith(spot_id_string), 'binance - spot clientOrderId: ' + client_order_id + ' does not start with spotId' + spot_id_string
1165
- swap_id = 'x-xcKtGhcu'
1166
1167
  swap_order_request = None
1167
1168
  try:
1168
1169
  exchange.create_order('BTC/USDT:USDT', 'limit', 'buy', 1, 20000)
@@ -1173,11 +1174,13 @@ class testMainClass:
1173
1174
  exchange.create_order('BTC/USD:BTC', 'limit', 'buy', 1, 20000)
1174
1175
  except Exception as e:
1175
1176
  swap_inverse_order_request = self.urlencoded_to_dict(exchange.last_request_body)
1177
+ # linear swap
1176
1178
  client_order_id_swap = swap_order_request['newClientOrderId']
1177
1179
  swap_id_string = str(swap_id)
1178
1180
  assert client_order_id_swap.startswith(swap_id_string), 'binance - swap clientOrderId: ' + client_order_id_swap + ' does not start with swapId' + swap_id_string
1181
+ # inverse swap
1179
1182
  client_order_id_inverse = swap_inverse_order_request['newClientOrderId']
1180
- assert client_order_id_inverse.startswith(swap_id_string), 'binance - swap clientOrderIdInverse: ' + client_order_id_inverse + ' does not start with swapId' + swap_id_string
1183
+ assert client_order_id_inverse.startswith(inverse_swap_id), 'binance - swap clientOrderIdInverse: ' + client_order_id_inverse + ' does not start with swapId' + inverse_swap_id
1181
1184
  create_orders_request = None
1182
1185
  try:
1183
1186
  orders = [{
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.4.72
3
+ Version: 4.4.74
4
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
@@ -49,7 +49,7 @@ Requires-Dist: mypy==1.6.1; extra == "type"
49
49
 
50
50
  # CCXT – CryptoCurrency eXchange Trading Library
51
51
 
52
- [![NPM Downloads](https://img.shields.io/npm/dy/ccxt.svg)](https://www.npmjs.com/package/ccxt) [![npm](https://img.shields.io/npm/v/ccxt.svg)](https://npmjs.com/package/ccxt) [![PyPI](https://img.shields.io/pypi/v/ccxt.svg)](https://pypi.python.org/pypi/ccxt) [![NuGet version](https://img.shields.io/nuget/v/ccxt)](https://www.nuget.org/packages/ccxt) [![GoDoc](https://pkg.go.dev/badge/github.com/ccxt/ccxt/go/v4?utm_source=godoc)](https://godoc.org/github.com/ccxt/ccxt/go/v4) [![Discord](https://img.shields.io/discord/690203284119617602?logo=discord&logoColor=white)](https://discord.gg/ccxt) [![Supported Exchanges](https://img.shields.io/badge/exchanges-110-blue.svg)](https://github.com/ccxt/ccxt/wiki/Exchange-Markets) [![Follow CCXT at x.com](https://img.shields.io/twitter/follow/ccxt_official.svg?style=social&label=CCXT)](https://x.com/ccxt_official)
52
+ [![NPM Downloads](https://img.shields.io/npm/dy/ccxt.svg)](https://www.npmjs.com/package/ccxt) [![npm](https://img.shields.io/npm/v/ccxt.svg)](https://npmjs.com/package/ccxt) [![PyPI](https://img.shields.io/pypi/v/ccxt.svg)](https://pypi.python.org/pypi/ccxt) [![NuGet version](https://img.shields.io/nuget/v/ccxt)](https://www.nuget.org/packages/ccxt) [![GoDoc](https://pkg.go.dev/badge/github.com/ccxt/ccxt/go/v4?utm_source=godoc)](https://godoc.org/github.com/ccxt/ccxt/go/v4) [![Discord](https://img.shields.io/discord/690203284119617602?logo=discord&logoColor=white)](https://discord.gg/ccxt) [![Supported Exchanges](https://img.shields.io/badge/exchanges-107-blue.svg)](https://github.com/ccxt/ccxt/wiki/Exchange-Markets) [![Follow CCXT at x.com](https://img.shields.io/twitter/follow/ccxt_official.svg?style=social&label=CCXT)](https://x.com/ccxt_official)
53
53
 
54
54
  A `JavaScript` / `Python` / `PHP` / `C#` / `Go` library for cryptocurrency trading and e-commerce with support for many bitcoin/ether/altcoin exchange markets and merchant APIs.
55
55
 
@@ -275,13 +275,13 @@ console.log(version, Object.keys(exchanges));
275
275
 
276
276
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
277
277
 
278
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.72/dist/ccxt.browser.min.js
279
- * unpkg: https://unpkg.com/ccxt@4.4.72/dist/ccxt.browser.min.js
278
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.74/dist/ccxt.browser.min.js
279
+ * unpkg: https://unpkg.com/ccxt@4.4.74/dist/ccxt.browser.min.js
280
280
 
281
281
  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.
282
282
 
283
283
  ```HTML
284
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.72/dist/ccxt.browser.min.js"></script>
284
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.74/dist/ccxt.browser.min.js"></script>
285
285
  ```
286
286
 
287
287
  Creates a global `ccxt` object:
@@ -1,40 +1,40 @@
1
- ccxt/__init__.py,sha256=3LVIMhq_lHbIefb2hpE1v8eYAyJPP2a2_libLCieXG0,16670
2
- ccxt/ace.py,sha256=l_4-pNkkJBINgPsBtM4b9Ff6t8Tp59tKCXstLesMzvc,44752
3
- ccxt/alpaca.py,sha256=t8ahjPZQEENMElUyPzH_1-I0i5VGsJpoUknpKl-IkKM,78428
4
- ccxt/ascendex.py,sha256=GhYPzSBRgwywQAXzLeog16aDydpl8jQXklyAMeZA1rA,155991
5
- ccxt/bequant.py,sha256=gNe6tFy91-lEW8pEYv2-SmmjpwAm403ZxIpuN_QZqVw,1193
1
+ ccxt/__init__.py,sha256=Mm5rKKggFbgWbPN1i_U1Cwxq_M1j2gw17Ls7j5YXJUo,16370
2
+ ccxt/ace.py,sha256=waqSDmnGLRzi_0YjNNv93r1zC0v58yoVbKxNImhx-iM,46490
3
+ ccxt/alpaca.py,sha256=S-PvXknJDcYUqHZWg4isZKGbTa8oU2G4Z0BqbvObNPI,80687
4
+ ccxt/ascendex.py,sha256=XZnzDjRSe1_EKkzg1xZeyc4-aRPa56UqP8ObkMUfPHA,156277
5
+ ccxt/bequant.py,sha256=pH1kcVZs4JMBa-fqei_arIIp9hlRQK8kYpyYrIM1K_w,1218
6
6
  ccxt/bigone.py,sha256=3FADYcYU_fryjR1a3EoLFc4VRnY5pa7bUaWx1gnoA-s,95960
7
- ccxt/binance.py,sha256=sVP1qflHIb4koLVj3503yBqgRutpWQ-FmTl73OmI9fg,688251
7
+ ccxt/binance.py,sha256=BcOYc0qeMHJu2lvkTCDw5MUsnmDPYQtk1WkrW2TKJnM,688461
8
8
  ccxt/binancecoinm.py,sha256=UEJd_dZQkrLdJpaCE_t9aHCwJdxpjheyTaWJ8RKWIm8,1720
9
9
  ccxt/binanceus.py,sha256=fPaJxinZbmJbrXMW1aYW32n6fXX_VL7odjLEng77wdI,9500
10
- ccxt/binanceusdm.py,sha256=BI4hya6nydNHC7hiYw6FVk7QaQWHG6emVnCx1K6R02k,2650
10
+ ccxt/binanceusdm.py,sha256=U962JuxLu2_GXtWke4m-kLjtYRF-4H9ZlZ87FpXPYHo,2651
11
11
  ccxt/bingx.py,sha256=z_a38o2AqO-0Yu6fxtBaYU9biV5wD8oHXIypfxVPq-8,274636
12
- ccxt/bit2c.py,sha256=cphPmWwrnHYSGpHJz48BYu3zPGkj_oJIUYFXNLdl_Q4,39471
13
- ccxt/bitbank.py,sha256=eoSBMt-CZi6p2Xy5dq17N0sGNlfiERmPRdqlhVZHOG4,46286
14
- ccxt/bitbns.py,sha256=rysY94AjfqPhC3rvPBp-7OL79rJgMS5gKMnYc200A0Y,50903
12
+ ccxt/bit2c.py,sha256=Yyxj7tK5kRxRJPIvsQwboWi6HwPfUOAMDr1uTrEfhyQ,41190
13
+ ccxt/bitbank.py,sha256=foAoge13WzWGHKUEn6LTTGsxqKhU7tXyTHkzFgqlkNQ,47774
14
+ ccxt/bitbns.py,sha256=5GqPAa7MEbUA2BcDzlus-GGW2rjUliqeWTg4P5gm0us,50931
15
15
  ccxt/bitcoincom.py,sha256=kpGs1gz2443UrgEsWYeCR5L6FJyYqK5XLmFWaL-I0xM,541
16
16
  ccxt/bitfinex.py,sha256=fwh4ENtKOMlPI3UtE1urj71r220zz6v4tT1kMLUk5o8,166096
17
17
  ccxt/bitfinex1.py,sha256=cC6NuPoQlWY5RoTnoRRgNK8yCr1GbF1NrOaZ341ZOkc,74223
18
- ccxt/bitflyer.py,sha256=tSKipH_SKEK8iChF94sxIjizx_volR1xaElIF2PGABI,46888
19
- ccxt/bitget.py,sha256=IKtzvX7WNU5MJyDWd0YhrB5AwUYLlXW5ZLq0zDAWNUY,436218
20
- ccxt/bithumb.py,sha256=akxyY_PY_7qnAkSEvG8V2DbOhfHZnCNW_OkJDUzUawY,50065
21
- ccxt/bitmart.py,sha256=hWhCICJl9EMFzcESneSAA9eANyBi6b89On5Z09SpBgM,245514
18
+ ccxt/bitflyer.py,sha256=Z0HxGjHf49mVHxYDralmWzpv8_sj1n4gDQ42iXwdt5c,46898
19
+ ccxt/bitget.py,sha256=Gv8LW2P3dVT0d79eTlQUU5m-BiFLm3bMwogSqgUdnIE,436199
20
+ ccxt/bithumb.py,sha256=GHYK_Xwzk9nwINHN1lhnRvnTX8mL98RZQ3Khz213A1s,51640
21
+ ccxt/bitmart.py,sha256=OD4GvkRT4GgUz4E9yJOxMkGBuvXkUDikjRexNrFd-fw,247895
22
22
  ccxt/bitmex.py,sha256=bCgSeL8i0djDfb5aPXVljngTmmMpx73Cp6Kou5ngDGw,131447
23
23
  ccxt/bitopro.py,sha256=UGH7MklI1wSm0yjXstw7E3Rj-pQjQ2su3sXcgsi_TM4,73487
24
24
  ccxt/bitpanda.py,sha256=X1xluJEGWtDs5ovAf8djIMZNW-V-3brs4UjdqiWoanE,510
25
- ccxt/bitrue.py,sha256=srpRNYirNWoteG11-LKcDA_agRwjRxvPHd_iMEtJBhM,139698
25
+ ccxt/bitrue.py,sha256=d6d61DB0luJf9q1jzerKERADt4GJcOLWRpcP-Rp8yuw,139716
26
26
  ccxt/bitso.py,sha256=e2_gds0NESHx1EyRmQDwGPKBJu_-wRmZ06PuSxT3yy0,74161
27
27
  ccxt/bitstamp.py,sha256=nus2MaPtVHbewqnexouhrDRmlCSL7EwaPz8FD3cZEEQ,95597
28
28
  ccxt/bitteam.py,sha256=8vxluU2p50rTg9XzQTsWLH3Fye-F79DmZhvza_Xk9h0,105198
29
29
  ccxt/bitvavo.py,sha256=LYzuMpYYxBZy29UTw492FVLYrx4FMhAGSyvdejLgxOI,94501
30
30
  ccxt/bl3p.py,sha256=Rrnd-iFo3BwqxO1miRG9iL7O7vQ9O22y5B7LzchgNmI,22258
31
31
  ccxt/blockchaincom.py,sha256=8U9YcQEycLVDyJLBX5GSqzYKrI9qWG7eOGSythVmOx0,51717
32
- ccxt/blofin.py,sha256=XDowniqRtTJ234NrzeP0-hN1z_aZVh9cLNJRzhEeGWY,107370
32
+ ccxt/blofin.py,sha256=mOOD0JUTfvi4_JQSP1UJWdr_oxBAVL2eUhRoPEVdKfQ,107369
33
33
  ccxt/btcalpha.py,sha256=t9ku28FD2yE4rc-V4U-eRhsHKz4izMSCK8xb7wQ4kNE,39704
34
34
  ccxt/btcbox.py,sha256=nsJrbfky_4wC-O1oXb4oWr3EYiO49L-sa4-0NxB9Zkg,30034
35
35
  ccxt/btcmarkets.py,sha256=jC6RA5Tn1DR4FZpZln-KZKkz9WYT6o_MNJ6s6G-Dhjs,55829
36
36
  ccxt/btcturk.py,sha256=mNG1uJqcPgTQ0g2sozq5Up1xNndrF_vraYEYsOs3jKw,39482
37
- ccxt/bybit.py,sha256=6gWHCc6mke9rPv62ZRO3oBteEtW7jC8Q_X2QEN8_z9w,437013
37
+ ccxt/bybit.py,sha256=ch6ENUm9VdrCH8-l4C1dGlfbH57ZyFd_VfAG662JUQI,438469
38
38
  ccxt/cex.py,sha256=5yB96CM_tmyANEzTS2KM2yvbCfSListIRhGD2QR1OFQ,72422
39
39
  ccxt/coinbase.py,sha256=vrwEzhBSqn-ix9ISm1C3VF5i16YZPl5Lmilj_uN_cPY,235254
40
40
  ccxt/coinbaseadvanced.py,sha256=Eb1X4_VtdNEu1q0Anr-MzdHG55OhCiZYgdeZv2kFuPg,577
@@ -43,7 +43,7 @@ ccxt/coinbaseinternational.py,sha256=VH3RCIjvr9Y1FH-qcry92faMAEOzLR67XADKWjLDSV4
43
43
  ccxt/coincatch.py,sha256=hCZCgNDEX496Xtos1QIdrFrH-IUPG2ZRkHRIGcujECk,244228
44
44
  ccxt/coincheck.py,sha256=CAuMcY3JvLbwpGHR4W1qUt-P7zKRqRRLsObxK5C9I0I,38011
45
45
  ccxt/coinex.py,sha256=Mvi_vVZJZNL9yqhJIPg3v2C69igyUYhmMPsnQFjwQeo,267224
46
- ccxt/coinlist.py,sha256=QSg_z-kbvREkm0bSgdV_V-ypvxdlyjvBkjmu5vOCsmA,107446
46
+ ccxt/coinlist.py,sha256=Pvx97VEWnw4QaT6MT60C2-7QbiHKWG7XHU959-QT4m8,110311
47
47
  ccxt/coinmate.py,sha256=ZbhFH_ALCbB9UpkSFlyh8RP4ZiLH7IbjJGX2PEOtUOs,48773
48
48
  ccxt/coinmetro.py,sha256=idTmegdHUed_nMhk6G-wOrMs1f3g4vjwX98W_IXwMF0,84058
49
49
  ccxt/coinone.py,sha256=J68O8a4oOoCBQ2u_kqWTfspAmNDYhYleD709VLbjf58,49256
@@ -51,19 +51,19 @@ ccxt/coinsph.py,sha256=kc8u9WFexGiD4EjDlsktLU5goZekE6rQ3P2vDGv1kWo,94117
51
51
  ccxt/coinspot.py,sha256=jQsrrLsUbHKpG1fe1lYEed4LNVLG3TJhx49NrkVyN2w,25997
52
52
  ccxt/cryptocom.py,sha256=MqHql1i3rEqSdJHunGVHlqv6gl4p68YyPENMnseYJiU,141103
53
53
  ccxt/cryptomus.py,sha256=s6tum4nnC5DYt8Ki0Ci83Art3dlNsure_J3TGV8-qyQ,49365
54
- ccxt/defx.py,sha256=iji6X8h3qclX-CIbu5PmiA6-4qWfDQ3jIPsY31Ulw1k,85272
54
+ ccxt/defx.py,sha256=De6JxZmnWS5uqxpJiqvYI7oOTFZs7KCCqayqsChDN1I,85273
55
55
  ccxt/delta.py,sha256=JPSd5GoqifEZU1bVRTd_OiO0e8AK28XkGwNQuGIgoJw,154855
56
- ccxt/deribit.py,sha256=po5t94NF-pqzmQ6KKcqQ7WHUnEuNgEhQ_OrMckgpCOg,166136
57
- ccxt/derive.py,sha256=1PkHSXUwA8p-EkER1oXjm6J3okEhJU6f2ejkwYDz_bY,120402
56
+ ccxt/deribit.py,sha256=bSo41Gmc-CHDsbLEs-otLnXGU4P8OQdHTHni5CXfmPU,167109
57
+ ccxt/derive.py,sha256=hqzzxeBDAL8W24lIW7vh_cYmPBO1-WFcW5_86do4Il4,120456
58
58
  ccxt/digifinex.py,sha256=8ctj-Nrgt2gM9UWB8DpGIYqtgaLA7eVEbsMaBhCUSpc,177404
59
59
  ccxt/ellipx.py,sha256=oBPWB0503KrU-FmD3w27IZCvEqGoqUu2c8QZ33dGl9E,78966
60
60
  ccxt/exmo.py,sha256=unemEt52-1fmPvdp51TFXX0ctNaNwAj6LJVpWTXFx-I,120604
61
61
  ccxt/fmfwio.py,sha256=a1VjvGxdm6bVGDyC0UhyB-0QgUmxsWUWs0ZAAK2RI9E,1275
62
- ccxt/gate.py,sha256=NbDBe4mOzrG9GVCq9FG9pXf9C0FGgp473-zwJLrmlWs,350851
62
+ ccxt/gate.py,sha256=ZxQ41kj6pUzdE5ZVItIBEhcpt8vhjYYa1TStZeW85dw,351132
63
63
  ccxt/gateio.py,sha256=7KbnH56kBK0tb_CN-wT10jaF5DfTrnHarhu27eknsLI,484
64
64
  ccxt/gemini.py,sha256=3iRVx5L_ImLVOH4e8z0f9boWFMoAtNvlpWncAqA2wPQ,83628
65
65
  ccxt/hashkey.py,sha256=PyavBK1tJBxIqIGme7Rxa6O-UBRQhN7DJ9XalMrXWD4,191779
66
- ccxt/hitbtc.py,sha256=cG93-C8yBwiZ0ILVH1D1vC7BMmydZDsPYVHsMnxHjyo,159310
66
+ ccxt/hitbtc.py,sha256=JyIneGoIzbj6Z96cuM9bXfFzBt4alum5mRACGaXx8IE,159579
67
67
  ccxt/hollaex.py,sha256=8t7uAozunXEjN3xSeWQXEt0xN5CCouNaQ4l0Dw1_03w,79098
68
68
  ccxt/htx.py,sha256=FrFTgzk99miRlYc72rWQXmGEJ7rLxLifgM5sZuc03g8,444534
69
69
  ccxt/huobi.py,sha256=rQI8HyRj6Jt9XgJYdTbu4tzu85sv0SWT3rvO_HY8r_E,477
@@ -87,7 +87,7 @@ ccxt/ndax.py,sha256=qBDsdMjWDflk80pGm_KrLZ_kTSMA1nhNWEw2yNMoeLw,113607
87
87
  ccxt/novadax.py,sha256=8K6mKIBY5KyyunyBsYJEosfkr2yDrPVgJfFUpET242k,67583
88
88
  ccxt/oceanex.py,sha256=YhvVgresX7nm8sFxD8Yr5pQI5IzuuRllW-JdA9RkDSM,44195
89
89
  ccxt/okcoin.py,sha256=fuAOZXqsGaDttvVlLIN2-KVev3Ga-HJ6oSrk0q5tf9I,154935
90
- ccxt/okx.py,sha256=ZhVnk7rcXrYgkHEkHXZxHbG5CwKFnmt07sGx4EVMuTM,392956
90
+ ccxt/okx.py,sha256=1028I3t8FmyUNPyW4YI3WSVL9k-FE2fWK4ak0PkZsZM,393135
91
91
  ccxt/onetrading.py,sha256=mNmwMVK-7qQEW6L35kfN6OwqvGLiVXrot4B2SDx3_TQ,76305
92
92
  ccxt/oxfun.py,sha256=XfF-kErOOwLBHVpqxpXngFj8EZmXqAGtpmGE_2Q5Ssg,127504
93
93
  ccxt/p2b.py,sha256=2mkYFm3h_lFtgEu13F6sDgbj3UxYyTG-3R_l-w7NZiM,56725
@@ -124,16 +124,13 @@ ccxt/abstract/bingx.py,sha256=8hKhc4Oy6rMIsrO9cEf9h4HRWzHFje7iR4kwRE6xMRA,24350
124
124
  ccxt/abstract/bit2c.py,sha256=np6i756kSB5dO3Nj6POLKxkWkpYcsGg-4LS8BwPrizI,2830
125
125
  ccxt/abstract/bitbank.py,sha256=7NfcFZ4u4osVPeYc9VVBuw65thDCr8qSrlzk_1P3D1U,3398
126
126
  ccxt/abstract/bitbns.py,sha256=3T3cHS7SgzGipd6F8vzPnmM0x3XNfQXEPjoInD-C1Sw,4082
127
- ccxt/abstract/bitcoincom.py,sha256=OTBtNu3DQeAqAC_Lbi0NePUs-ZQQllcLrVDI2G04nwQ,15601
128
127
  ccxt/abstract/bitfinex.py,sha256=LvMGq5mhAfkGTah3YDrvbU95jnX5_8v18NI-5QRlrgc,19290
129
- ccxt/abstract/bitfinex1.py,sha256=OLUXdJEycyN_qrBhPuTTOVlwu3jkqVWenoTmS-W3bOE,7605
130
128
  ccxt/abstract/bitflyer.py,sha256=fcVd6Nm4o2Rn8MaSuclvNbBBrIL5JCnWcXoXsOxZFbw,3679
131
129
  ccxt/abstract/bitget.py,sha256=jbL-2S9MlDloP2yACzptr6DkUwzoWH5ALpcjPCHInj0,91042
132
130
  ccxt/abstract/bithumb.py,sha256=GR7QJ6CwTBne59SaGRVj9Rdz_zecG-8imRWX7oe6MoQ,3443
133
- ccxt/abstract/bitmart.py,sha256=zYFFdysW3eiSYIERFkU-mUdLyeUCNN2F6NjcJPHmrOA,16895
131
+ ccxt/abstract/bitmart.py,sha256=JF2hfATRDwmQoP9bSy9jPv_IYM0aQicSp-9Mat4tA4o,17240
134
132
  ccxt/abstract/bitmex.py,sha256=v15OP-vSO_eotD6KVf1BgKrbPxCPl2eXXYIuzWF1dl4,10774
135
133
  ccxt/abstract/bitopro.py,sha256=SS3nKP1sS7GxRHFcOF27lW4vEXmGDaVa1ShLLyqomPQ,3400
136
- ccxt/abstract/bitpanda.py,sha256=w4DO3mhMZOrwQ-8zrX8zFUFItZgUPOPV72kcSWCP4SU,2278
137
134
  ccxt/abstract/bitrue.py,sha256=TROYNjLmdzCLpf3DrtJTRjfkoeTauGkuRLyIFdqH_04,9412
138
135
  ccxt/abstract/bitso.py,sha256=aWtuVoQ3CLMBTukWz3L3-gagyhIeEcEf4G5J48Hz_3k,4025
139
136
  ccxt/abstract/bitstamp.py,sha256=YcFXFGm3RrCTF-Hi3x3v2wFt3BaH2PYslUVIoZOmcWE,29877
@@ -221,43 +218,43 @@ ccxt/abstract/xt.py,sha256=p0fG3O8kIeMYIvMlqxrhpXeo7lraee6lIlu9yqu6f10,27340
221
218
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
222
219
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
223
220
  ccxt/abstract/zonda.py,sha256=X-hCW0SdX3YKZWixDyW-O2211M58Rno8kKJ6quY7rw4,7183
224
- ccxt/async_support/__init__.py,sha256=69JPEUQMNC9iFwiDEJLa_8uO5HxMx2fEJYlqidmLnHQ,16493
225
- ccxt/async_support/ace.py,sha256=BCcZ8TexOxR93v8dEICqhRlDvvzJPiLz999kp58GzwM,44976
226
- ccxt/async_support/alpaca.py,sha256=VHP3C7c3jIefKBSleXbTWjnY6RQnBGRNYe5HgrG0PVg,78874
227
- ccxt/async_support/ascendex.py,sha256=JSgYodmeKLokC8HGE-HbHl8k--5rNIkt5ufP6cmCa-Q,156804
228
- ccxt/async_support/bequant.py,sha256=Szyla1q_L8o_mX09QYxltw4tfMWpxXkj95I4WxnjB8A,1207
221
+ ccxt/async_support/__init__.py,sha256=Do3vuBaR7EBx4byDUv6FYk6sBIkyNz-rUjboCADXak8,16163
222
+ ccxt/async_support/ace.py,sha256=apWhPVYnqyNeDDk_uwu-rus8x-pCFe9M1rNgV88s8_Q,46714
223
+ ccxt/async_support/alpaca.py,sha256=Tag0HpHxho_qrXoQ8rjZBVJZj9T38qg8g-mZR39_m18,81133
224
+ ccxt/async_support/ascendex.py,sha256=Z9nw2WDkLqLHV338kw0qGaqECBC-bKc7H7p8YGeEpPU,157090
225
+ ccxt/async_support/bequant.py,sha256=wMwmsTUd5cKYqt1rWyIqgyVzoznhEBtClG_vncshz5w,1232
229
226
  ccxt/async_support/bigone.py,sha256=1g0eoESEzEwVy7ryotNtSh8Tv8WuVPI4C1KG-NspU3Y,96414
230
- ccxt/async_support/binance.py,sha256=tl5LJNQ_a3M1SPcDEERaFWIObpzFW5LqGRVm4ne39ZM,691164
227
+ ccxt/async_support/binance.py,sha256=jGkyd7nTbFRlZsyCQhEeB107vAYgeGHMYd5xj3nBWF0,691374
231
228
  ccxt/async_support/binancecoinm.py,sha256=1NC5yuHlkNgXH5mEz20lU7O7u3pODa6fluSmHO7W5Lc,1758
232
229
  ccxt/async_support/binanceus.py,sha256=fD4Rm2iJZ6YZuJAbRt5TPh2p8dIyN8yQkovnSWKF6F8,9514
233
- ccxt/async_support/binanceusdm.py,sha256=7SvgLSpu0-VWHDP_WH8Zo-SEORsyF-tuHhWdQnFMf80,2688
230
+ ccxt/async_support/binanceusdm.py,sha256=pSIfePaOra0ikZLqFbvBAgHXbj1bhmuSt1G-DiNbgIk,2689
234
231
  ccxt/async_support/bingx.py,sha256=g3ZQb9WHDpOhicO7txVOEJbrDwsNmg60U4zMeN_qvrc,276002
235
- ccxt/async_support/bit2c.py,sha256=iIOBj76HMlV1iCqUGnWZje_MOwZeVIa1e8Yj6S6IvQA,39683
236
- ccxt/async_support/bitbank.py,sha256=xi8LvBORSMhn5jQk8AlPG6-F_PDXDE4mMzyR1FybQ1I,46546
237
- ccxt/async_support/bitbns.py,sha256=L2_GDjTTycASkstkfizQ7pcBVzOWYvC7CoBk1nt4h-4,51157
232
+ ccxt/async_support/bit2c.py,sha256=CYx7PSZNdg3JyN08DTYRtLYPxsz8gOoYxpgN02h1LjI,41402
233
+ ccxt/async_support/bitbank.py,sha256=1LUSR3ePVrdT80QWVMAlKDr3Ld9vYRj98Yg6IpYIoIE,48034
234
+ ccxt/async_support/bitbns.py,sha256=L6wAlhQu7ydl8R1kph7_K6QvnMAKuvjWQd_4w7d_uzY,51185
238
235
  ccxt/async_support/bitcoincom.py,sha256=NN_AWmT0tzikiwFDtf3aUqRXbgFTbdRIeL0kPbL5QpQ,555
239
236
  ccxt/async_support/bitfinex.py,sha256=OQLjMJVv-6D1FoIV1Oa2nUJgCbKTWaxoBST815iGYg4,166856
240
237
  ccxt/async_support/bitfinex1.py,sha256=5wTplLdKMIEoWUwrG5_W5rXhrPbrch1358Bwa6TU1ek,74689
241
- ccxt/async_support/bitflyer.py,sha256=DoKSbGzqMRXt2d91fHG-DFd6ZuH0qIqzj9cYr0FyYCk,47214
242
- ccxt/async_support/bitget.py,sha256=IijXQHDVtKjUojgj7t7yRbAwZuciBMtGQ9aD6vhiuBY,437908
243
- ccxt/async_support/bithumb.py,sha256=JUj5gTAtb71KlO-rpNOacV-m7isAzkjRfh3iS0JhSpY,50344
244
- ccxt/async_support/bitmart.py,sha256=2KJA_yqf_br2WvOSQUvQE5yPyTif68NNHyL5Ks54ULg,246608
238
+ ccxt/async_support/bitflyer.py,sha256=LuAqWed7hBXBJZomKayzpzDsmeBISMNyct-rV8tNPQk,47224
239
+ ccxt/async_support/bitget.py,sha256=B0KcbXhCO4g6ahGBHC1b05Fa-rHLKsJYtvqVR7Qm56o,437889
240
+ ccxt/async_support/bithumb.py,sha256=ar0QoFintFU7qv7wW6xjnYqBR3keNYN4qN5cbybYxEY,51919
241
+ ccxt/async_support/bitmart.py,sha256=m_tcJec63zJqcMMgeb1aiQpRYaSgaEdgpgjNx1taicI,249019
245
242
  ccxt/async_support/bitmex.py,sha256=BG2V3EfAb0omoPnvfi3CcaWrernaMeJJ8WeEH2CiW1Y,132025
246
243
  ccxt/async_support/bitopro.py,sha256=pjKbqTBiaD5qUkz7LRd9-ohkrkFGol9FjUgFLUxBOqs,73897
247
244
  ccxt/async_support/bitpanda.py,sha256=zj2ad7e9spjosP19nGH2s9oJnlSsJ7CZFNK4alIt51w,524
248
- ccxt/async_support/bitrue.py,sha256=B4kiD4YDPORyeLcB476UxKQBaRzBI5ygyNu3Sne_00c,140356
245
+ ccxt/async_support/bitrue.py,sha256=qJoihFg5EZQAHvsReXGwbM9xJWBvIkVrOn32roWDwTw,140374
249
246
  ccxt/async_support/bitso.py,sha256=PbF9iC4-Wea_msXhO614VPX6o-8RAqzK0reSC_dxwIc,74547
250
247
  ccxt/async_support/bitstamp.py,sha256=7MNcyr9yI9jR4e3CzIp2H9sku979VtjM4Tp2hGfWJSo,96097
251
248
  ccxt/async_support/bitteam.py,sha256=hucr7t-uGSsn6otP90c4ohzW4U9DwrWRieHZcW_J2Ig,105530
252
249
  ccxt/async_support/bitvavo.py,sha256=97AHiQQv58JU5nj_BKg_N-V_DomnydpdmFpOx96eXRs,94935
253
250
  ccxt/async_support/bl3p.py,sha256=9KnX8oJej2PmbzX6zHfBnvZZ4Vil7c50AcVN4Hxgou8,22386
254
251
  ccxt/async_support/blockchaincom.py,sha256=t6fKdJrwSTZH6Ztki45oV_mt2FORVwmSpJxwn1DFtrM,52109
255
- ccxt/async_support/blofin.py,sha256=TscQXJ2NG6H4tX8wwMjYHKxiFKl23261DO2F7RLEW7M,107972
252
+ ccxt/async_support/blofin.py,sha256=5zsb0cTQdGTCJXasplE85Mgike2YazKGJ9Bo--RF7E0,107971
256
253
  ccxt/async_support/btcalpha.py,sha256=KXc-Xl6ZeSwYkYYXPPMSQalbY-XwFCOvNCcVx9_qCZU,39982
257
254
  ccxt/async_support/btcbox.py,sha256=bY4LZaCVh2eEyrHF0rRc65D8ws53oAcC0MqbJyU_odE,30258
258
255
  ccxt/async_support/btcmarkets.py,sha256=ByaubB2c6aGB5BQGi6mZq65EYHAWEEu7Tuoj9Kauucw,56179
259
256
  ccxt/async_support/btcturk.py,sha256=ox_4BvoFHyn8BJJTmJMX5-UB8tZt03KGAMMCqe8yUhE,39700
260
- ccxt/async_support/bybit.py,sha256=8-WWI5FDCBLKvimlvsoGr4bjjJp2WhvzC_Mh0hwe1LA,438827
257
+ ccxt/async_support/bybit.py,sha256=a8QJaV_YFbg3vuECyWFrMgHn_7PnhiJBiYkXc1hlCq4,440289
261
258
  ccxt/async_support/cex.py,sha256=KFwJCXNn653tOiRKnwgd2Dxav2KNMwexrzJF8G-oekU,72894
262
259
  ccxt/async_support/coinbase.py,sha256=Wz0ePPCxWRfLgl5dcYmN0eOfwdWVnOmOdw3BsDPhqQI,236498
263
260
  ccxt/async_support/coinbaseadvanced.py,sha256=TnsUS2r5fvHIEfQmJh7J6Muyg8tPqDJphKYmK7gUQGE,591
@@ -266,7 +263,7 @@ ccxt/async_support/coinbaseinternational.py,sha256=0wTE9n8B_GOeHOH0CdA_2hnhe0abq
266
263
  ccxt/async_support/coincatch.py,sha256=LxtDw2TGjbf5zQfqwV5HJ_DdXfm3YeyO919kx9H_2DE,245286
267
264
  ccxt/async_support/coincheck.py,sha256=riQpuspYXE3FXgjQQaNFSjnWGtsPUBwdOrq9Hy3eTO8,38217
268
265
  ccxt/async_support/coinex.py,sha256=0JPbf9b12J3xP4--A1oJQF4cZ8-mm0bgnBiR_7zSOig,268512
269
- ccxt/async_support/coinlist.py,sha256=uXg9sVeImjIv2AAHTtmzpdKHHdYNs4rEY28EUUzcj14,107934
266
+ ccxt/async_support/coinlist.py,sha256=w_QC8jULDdOjmzOh58Z-JhWS-oKjwrs_Z_iKdCDVam8,110799
270
267
  ccxt/async_support/coinmate.py,sha256=iC1zJju22iTcFtrQKFSsOyPkgTFQkUDa_2FWOOH029w,49039
271
268
  ccxt/async_support/coinmetro.py,sha256=j--kJNppZEMGBBsxR9P_W6W7JeizLAVER55_0ivNrrY,84378
272
269
  ccxt/async_support/coinone.py,sha256=lgNQvv3yRVotcDMnl_k1tpiLgpaDA-tANM4orHiVPYs,49498
@@ -274,19 +271,19 @@ ccxt/async_support/coinsph.py,sha256=-Ah82PH0mChd3T9ZQcHyCN_1ZTRsux8zR3cD4d_O00U
274
271
  ccxt/async_support/coinspot.py,sha256=TpccNE4N4g2lVcPPVzDVR5P2rD8TxqYXzpmNqpxRulQ,26155
275
272
  ccxt/async_support/cryptocom.py,sha256=GCtbWxu0SD3kW4SuECPYKP-ZQiV0VuIhVswWjuCmikE,141711
276
273
  ccxt/async_support/cryptomus.py,sha256=p6hDlvDUyOic62x_SM7QPA13Y0jNzuxRxQ-u5ZqIXFE,49565
277
- ccxt/async_support/defx.py,sha256=n3QTbZzLmtrwGJg6SEE0P7ZMfe71HZsjeCdM7Slgyig,85774
274
+ ccxt/async_support/defx.py,sha256=un6WAsBM-xkHk6Hj7Xgi21swWoPiTjGhIfk8pnYgYPc,85775
278
275
  ccxt/async_support/delta.py,sha256=ZgrxGTbXprUn9XrsNtbo7wasyVoAAy5W0gf-v-4wiI4,155463
279
- ccxt/async_support/deribit.py,sha256=zYlQZfmIcGs-4Qtrxw1oTu7E-o_7MS5dUoa4X-G0u-w,166918
280
- ccxt/async_support/derive.py,sha256=BwrAI5_Couk-iXxdUgj1uGHNaXX8cHOgvy-9fqvvBQA,120898
276
+ ccxt/async_support/deribit.py,sha256=a-ukPFI8My3Oaiq82kaiAnq6Drmsm8Mw8JQtkzR-KVQ,167891
277
+ ccxt/async_support/derive.py,sha256=iLumdamXnz1WNM4iY9ZeSyUClK_OAhwOhF_0DR4CpMc,120952
281
278
  ccxt/async_support/digifinex.py,sha256=dHYmMTTwAslYtwcsYarCwBV0e1omt5EoJjEzgEVP3Y8,178392
282
279
  ccxt/async_support/ellipx.py,sha256=rNGNBp2Wko2yG-Fx0p9TM862Md6MOmloxbugb4ngh9U,79274
283
280
  ccxt/async_support/exmo.py,sha256=G8SrYyKO0yIjLXjM9MYdBN6n0AU2a8aHN11RbXf-66I,121290
284
281
  ccxt/async_support/fmfwio.py,sha256=daZ_yHYGThtJQV2LIh0wSS1uotTY-CH8e8pdNLr_Otw,1289
285
- ccxt/async_support/gate.py,sha256=mNHJb2W3DfzwzCoWo6j2Qv6sjO8lRknx-9G52n9Wp-s,352810
282
+ ccxt/async_support/gate.py,sha256=np6lAr9DztlNuRiaWSLeIcjHj49Y5oP7u_jB8OmuiQU,353091
286
283
  ccxt/async_support/gateio.py,sha256=Sy9taiR0_0k4oh5GHjTjpwuCzskKiCCEQljuz7OxDVs,498
287
284
  ccxt/async_support/gemini.py,sha256=E9eGYX1DojVJ2Zbgmg11kfplbYmOTbhtP5Hx9sNYMs8,84152
288
285
  ccxt/async_support/hashkey.py,sha256=K4cruVZA7kKO_jeOSZv4YVpesXnO0vkXu_N5MjYbygI,192621
289
- ccxt/async_support/hitbtc.py,sha256=T-1MphOGUYgrk28C-7vwb6BXVZrfbPU2Ab9JF8q4LV0,160374
286
+ ccxt/async_support/hitbtc.py,sha256=Tz_P5hV2HqpctGMnsMt96cYEzd8C5g9zQ8Kkt7xiZDo,160643
290
287
  ccxt/async_support/hollaex.py,sha256=BV9mvkIadvhYBq5aExd2NSHqGQcAUz6a0mdaEfQ9E20,79532
291
288
  ccxt/async_support/htx.py,sha256=9TCQrbOcax789BQMDfSClQIRCs-fIZQH43vy2t45DGI,446944
292
289
  ccxt/async_support/huobi.py,sha256=D4CTKw-2sl7iiX3yh7hMMkhBXHvQQ3to9_tW4WKm0rA,491
@@ -310,7 +307,7 @@ ccxt/async_support/ndax.py,sha256=8JiB4Eu1CqAqkTXDVJ-h5iKv9IjR6aya7il6HJKXuCI,11
310
307
  ccxt/async_support/novadax.py,sha256=QIFIoZdkkq2odkX7V0wGn9ytgtzEDOTr4MnFGlgnKEk,67951
311
308
  ccxt/async_support/oceanex.py,sha256=_vi8sI3aucMmMPXwqqrpdfnWWHpfLYN_QaBpo2s9zvg,44533
312
309
  ccxt/async_support/okcoin.py,sha256=ybHgnBUymd-vpAlyT5F1sX8bcmSIb6IQtrxha0opRvg,155459
313
- ccxt/async_support/okx.py,sha256=Zu7cio8KQUlI-Qe8JdMJjxxqb3rYa16qe__VB6tDyqU,394621
310
+ ccxt/async_support/okx.py,sha256=KMKCMA7IipK122SCQAjZk7NvLQvQlQ7_E25B-rLnVRg,394800
314
311
  ccxt/async_support/onetrading.py,sha256=rHzlEI2JW61LbuNUtSZeICL7Pa71lwJthU8lJJn3O9M,76661
315
312
  ccxt/async_support/oxfun.py,sha256=Hd4A3Ym0UCoxINhjMuD_d19MP8K1Kkk7K6plK114e5k,128048
316
313
  ccxt/async_support/p2b.py,sha256=A_RPhOvbOMozI8Ypvw_Qzon5c6609l-fle3hYMT4j4w,56967
@@ -334,7 +331,7 @@ ccxt/async_support/yobit.py,sha256=B2T9UXo0ke-YyXxNW9avOPJ8cReVGXWD9OpkORI9ZSU,5
334
331
  ccxt/async_support/zaif.py,sha256=jZZv3ZjGQgkPNRfY5B5p5DNMvanHWTTS8m6BLBWm9tA,31357
335
332
  ccxt/async_support/zonda.py,sha256=2QL_B9CmBu4SU4K-Y8segpj57vzAd4aUT2H2cD3b07g,85320
336
333
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
337
- ccxt/async_support/base/exchange.py,sha256=KAsKEfcM2w4vjLa0zmUEMXiBsNduSWfo1A6h15pOLGA,117223
334
+ ccxt/async_support/base/exchange.py,sha256=mMxtiu0GZhMpOlfWcWUIDNsHDCGXOZg1W0BUK03YRig,117223
338
335
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
339
336
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
340
337
  ccxt/async_support/base/ws/aiohttp_client.py,sha256=Y5HxAVXyyYduj6b6SbbUZETlq3GrVMzrkW1r-TMgpb8,6329
@@ -347,27 +344,27 @@ ccxt/async_support/base/ws/order_book.py,sha256=uBUaIHhzMRykpmo4BCsdJ-t_HozS6Vxh
347
344
  ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmBJLCI5FHIRdMz1O-g,6551
348
345
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
349
346
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
350
- ccxt/base/errors.py,sha256=MvCrL_sAM3de616T6RE0PSxiF2xV6Qqz5b1y1ghidbk,4888
351
- ccxt/base/exchange.py,sha256=Fr_Du0LL1ud6tVY0ldQ0Vl3PZVDAo_lkqkEIuQi-8hI,321957
347
+ ccxt/base/errors.py,sha256=Pad-6ugvGUwhoYuKUliX-N7FTrcnKCQGFjsaq2tMn0I,4610
348
+ ccxt/base/exchange.py,sha256=hZV6eV0Y239MH-k_7zDw9Ay4syKUBP-pmg6ZLz9z0m0,322577
352
349
  ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
353
350
  ccxt/base/types.py,sha256=SfxIKDSsxP7MPHWiOVI965Nr5NSEPpAno5fuveTRi3w,11423
354
- ccxt/pro/__init__.py,sha256=0OdIkYROyYVwM7r8eHPT07F0_SPcxtswURaQq3smQBE,7908
351
+ ccxt/pro/__init__.py,sha256=TYfm3ec07-NAFWmwJohP20ST5fHuaFl_D4rvJcUdKkc,7596
355
352
  ccxt/pro/alpaca.py,sha256=_WEorh5thYhvhn7R8hBvHW2m1P2foIbp8URjIt_9vcg,27623
356
- ccxt/pro/ascendex.py,sha256=P6a81iK_T6uyEK6JHcNQbjJwLvurrUeQVoQqvp2_IU8,37512
353
+ ccxt/pro/ascendex.py,sha256=aSbIEzJ0Og_Nc5UGTYj3DVjGfIJ0-q0DdXSWJcQCKb4,37512
357
354
  ccxt/pro/bequant.py,sha256=reG2yXBhxn_TuOIg4J2BiLxl8Lw5Lag3IBMGBkiQCd0,1591
358
355
  ccxt/pro/binance.py,sha256=k_XL-0F5Ej9-i_Tf_BUipQ8uCDhKlXNgPovQ__6aGgw,204491
359
356
  ccxt/pro/binancecoinm.py,sha256=AfOWR--71YCCYSUsX50G4sW2OxvLKJX00XcpItnfG7o,1075
360
357
  ccxt/pro/binanceus.py,sha256=PMx1G5RD-whXM02hRF8A6aW_-4-LJqPbx9o63nBp_8o,2034
361
358
  ccxt/pro/binanceusdm.py,sha256=n01dbMu25CEcaJXNve--Ngf2Toqg3yWHstqTz4vtOUU,1551
362
- ccxt/pro/bingx.py,sha256=yOAJVhhsrnotRpNoIZni9fG_enddmZOj4AKj-BJx15U,61274
359
+ ccxt/pro/bingx.py,sha256=jcjyR3FyMBN9Q2MMtOWCzOkavjkFZqFLdia8cKt5hqw,61625
363
360
  ccxt/pro/bitcoincom.py,sha256=a0dw4oSbeq43tRYIwPGCmQP3dc4BxfW0tPDxCMUc2bs,1220
364
361
  ccxt/pro/bitfinex.py,sha256=ZLQEFVjWb94XHBsRE6QBEtA4cpvL5gD_K3UV1SCTmD8,43115
365
362
  ccxt/pro/bitfinex1.py,sha256=6SHvEOedkCAfYjXOSVvl9yAmwezip-GAVg0vaG8Cu34,25323
366
- ccxt/pro/bitget.py,sha256=Z663Yd9MqQvFPVzXaG1i0s65ddhhSMJij_4QXbea31E,89980
363
+ ccxt/pro/bitget.py,sha256=RG3ePuPfGNY0XW0kGOxaDlwQ_MKpA99ZMVYBe1G_ZUg,90331
367
364
  ccxt/pro/bithumb.py,sha256=SigdB02sLM-3cp8aY29B1qpkbCj3G_Ce3nGAfFtu22Q,17407
368
- ccxt/pro/bitmart.py,sha256=f28bE39SdPFZTZU4y-gCwrCnPRAeidwqrTwT7tlZlo0,66859
365
+ ccxt/pro/bitmart.py,sha256=Kuw1n-SuUT_vVs2HObJkE6jtieS55qeD9dcWbZGBeT0,67210
369
366
  ccxt/pro/bitmex.py,sha256=Vwb7J6ToIKLsx00OdX3Om47bufLi6d7HRm9hP2w9zSg,74652
370
- ccxt/pro/bitopro.py,sha256=0vCN6aWWurQJBCb7sGGvHPDSKw_sgTkynNKrQxlv3dI,18813
367
+ ccxt/pro/bitopro.py,sha256=9Fq3ICU9prweuUzSksjyJKIyjzngQq8uYiQt0cEJVYU,19117
371
368
  ccxt/pro/bitpanda.py,sha256=pWAN2rWrntjapwWahyy6JZDOggYToEXqo3rk5plQZsg,454
372
369
  ccxt/pro/bitrue.py,sha256=DRsz1IoSc6LjujnBCs33t7vmN2Ltr4LQj9McqmfOShU,16292
373
370
  ccxt/pro/bitstamp.py,sha256=tpxhfcQQXOmu2pJyzR1DGINaUixcwwlWtqQM6-OT9BE,20976
@@ -654,12 +651,12 @@ ccxt/static_dependencies/toolz/curried/operator.py,sha256=ML92mknkAwzBl2NCm-4wer
654
651
  ccxt/static_dependencies/typing_inspect/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
655
652
  ccxt/static_dependencies/typing_inspect/typing_inspect.py,sha256=5gIWomLPfuDpgd3gX1GlnX0MuXM3VorR4j2W2qXORiQ,28269
656
653
  ccxt/test/__init__.py,sha256=GKPbEcj0Rrz5HG-GUm-iY1IHhDYmlvcBXZAGk6-m2CI,141
657
- ccxt/test/tests_async.py,sha256=xgTuZheAP_s_alGbYh8AJ-9duVljLXLV4Mi2nh4C3YI,92496
654
+ ccxt/test/tests_async.py,sha256=_eOeOojWW2Twyd62H485whALy9IKSlUd4JlrKN26qws,92582
658
655
  ccxt/test/tests_helpers.py,sha256=egM69A2ZFYeVF5hwC1Qt-c5DOeClY5bv4jowmceeFV8,9736
659
656
  ccxt/test/tests_init.py,sha256=qM0-Gb0h0p6CANWTkyYZI7wl-iYOcrPur7aj_OKh7m0,1212
660
- ccxt/test/tests_sync.py,sha256=bSMMVJjBRapF6YuWUvp0KT-rnG-Lc_H1EdsyeQNC6WU,91480
661
- ccxt-4.4.72.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
662
- ccxt-4.4.72.dist-info/METADATA,sha256=9BVZ2cnVqs5lvI0aeu3b8UVBdvEASgaHzTEzOGuLCB4,131033
663
- ccxt-4.4.72.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
664
- ccxt-4.4.72.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
665
- ccxt-4.4.72.dist-info/RECORD,,
657
+ ccxt/test/tests_sync.py,sha256=5qKpTyujmxiXJ0jNwYNdYzzwbkXHHfiO0QuQCBCjbqI,91566
658
+ ccxt-4.4.74.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
659
+ ccxt-4.4.74.dist-info/METADATA,sha256=m-KHdFgBOfWXLedbZ3RMNArlohAE9jBO-GVeYhDOrb0,131033
660
+ ccxt-4.4.74.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
661
+ ccxt-4.4.74.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
662
+ ccxt-4.4.74.dist-info/RECORD,,
@@ -1,115 +0,0 @@
1
- from ccxt.base.types import Entry
2
-
3
-
4
- class ImplicitAPI:
5
- public_get_public_currency = publicGetPublicCurrency = Entry('public/currency', 'public', 'GET', {'cost': 10})
6
- public_get_public_currency_currency = publicGetPublicCurrencyCurrency = Entry('public/currency/{currency}', 'public', 'GET', {'cost': 10})
7
- public_get_public_symbol = publicGetPublicSymbol = Entry('public/symbol', 'public', 'GET', {'cost': 10})
8
- public_get_public_symbol_symbol = publicGetPublicSymbolSymbol = Entry('public/symbol/{symbol}', 'public', 'GET', {'cost': 10})
9
- public_get_public_ticker = publicGetPublicTicker = Entry('public/ticker', 'public', 'GET', {'cost': 10})
10
- public_get_public_ticker_symbol = publicGetPublicTickerSymbol = Entry('public/ticker/{symbol}', 'public', 'GET', {'cost': 10})
11
- public_get_public_price_rate = publicGetPublicPriceRate = Entry('public/price/rate', 'public', 'GET', {'cost': 10})
12
- public_get_public_price_history = publicGetPublicPriceHistory = Entry('public/price/history', 'public', 'GET', {'cost': 10})
13
- public_get_public_price_ticker = publicGetPublicPriceTicker = Entry('public/price/ticker', 'public', 'GET', {'cost': 10})
14
- public_get_public_price_ticker_symbol = publicGetPublicPriceTickerSymbol = Entry('public/price/ticker/{symbol}', 'public', 'GET', {'cost': 10})
15
- public_get_public_trades = publicGetPublicTrades = Entry('public/trades', 'public', 'GET', {'cost': 10})
16
- public_get_public_trades_symbol = publicGetPublicTradesSymbol = Entry('public/trades/{symbol}', 'public', 'GET', {'cost': 10})
17
- public_get_public_orderbook = publicGetPublicOrderbook = Entry('public/orderbook', 'public', 'GET', {'cost': 10})
18
- public_get_public_orderbook_symbol = publicGetPublicOrderbookSymbol = Entry('public/orderbook/{symbol}', 'public', 'GET', {'cost': 10})
19
- public_get_public_candles = publicGetPublicCandles = Entry('public/candles', 'public', 'GET', {'cost': 10})
20
- public_get_public_candles_symbol = publicGetPublicCandlesSymbol = Entry('public/candles/{symbol}', 'public', 'GET', {'cost': 10})
21
- public_get_public_converted_candles = publicGetPublicConvertedCandles = Entry('public/converted/candles', 'public', 'GET', {'cost': 10})
22
- public_get_public_converted_candles_symbol = publicGetPublicConvertedCandlesSymbol = Entry('public/converted/candles/{symbol}', 'public', 'GET', {'cost': 10})
23
- public_get_public_futures_info = publicGetPublicFuturesInfo = Entry('public/futures/info', 'public', 'GET', {'cost': 10})
24
- public_get_public_futures_info_symbol = publicGetPublicFuturesInfoSymbol = Entry('public/futures/info/{symbol}', 'public', 'GET', {'cost': 10})
25
- public_get_public_futures_history_funding = publicGetPublicFuturesHistoryFunding = Entry('public/futures/history/funding', 'public', 'GET', {'cost': 10})
26
- public_get_public_futures_history_funding_symbol = publicGetPublicFuturesHistoryFundingSymbol = Entry('public/futures/history/funding/{symbol}', 'public', 'GET', {'cost': 10})
27
- public_get_public_futures_candles_index_price = publicGetPublicFuturesCandlesIndexPrice = Entry('public/futures/candles/index_price', 'public', 'GET', {'cost': 10})
28
- public_get_public_futures_candles_index_price_symbol = publicGetPublicFuturesCandlesIndexPriceSymbol = Entry('public/futures/candles/index_price/{symbol}', 'public', 'GET', {'cost': 10})
29
- public_get_public_futures_candles_mark_price = publicGetPublicFuturesCandlesMarkPrice = Entry('public/futures/candles/mark_price', 'public', 'GET', {'cost': 10})
30
- public_get_public_futures_candles_mark_price_symbol = publicGetPublicFuturesCandlesMarkPriceSymbol = Entry('public/futures/candles/mark_price/{symbol}', 'public', 'GET', {'cost': 10})
31
- public_get_public_futures_candles_premium_index = publicGetPublicFuturesCandlesPremiumIndex = Entry('public/futures/candles/premium_index', 'public', 'GET', {'cost': 10})
32
- public_get_public_futures_candles_premium_index_symbol = publicGetPublicFuturesCandlesPremiumIndexSymbol = Entry('public/futures/candles/premium_index/{symbol}', 'public', 'GET', {'cost': 10})
33
- public_get_public_futures_candles_open_interest = publicGetPublicFuturesCandlesOpenInterest = Entry('public/futures/candles/open_interest', 'public', 'GET', {'cost': 10})
34
- public_get_public_futures_candles_open_interest_symbol = publicGetPublicFuturesCandlesOpenInterestSymbol = Entry('public/futures/candles/open_interest/{symbol}', 'public', 'GET', {'cost': 10})
35
- private_get_spot_balance = privateGetSpotBalance = Entry('spot/balance', 'private', 'GET', {'cost': 15})
36
- private_get_spot_balance_currency = privateGetSpotBalanceCurrency = Entry('spot/balance/{currency}', 'private', 'GET', {'cost': 15})
37
- private_get_spot_order = privateGetSpotOrder = Entry('spot/order', 'private', 'GET', {'cost': 1})
38
- private_get_spot_order_client_order_id = privateGetSpotOrderClientOrderId = Entry('spot/order/{client_order_id}', 'private', 'GET', {'cost': 1})
39
- private_get_spot_fee = privateGetSpotFee = Entry('spot/fee', 'private', 'GET', {'cost': 15})
40
- private_get_spot_fee_symbol = privateGetSpotFeeSymbol = Entry('spot/fee/{symbol}', 'private', 'GET', {'cost': 15})
41
- private_get_spot_history_order = privateGetSpotHistoryOrder = Entry('spot/history/order', 'private', 'GET', {'cost': 15})
42
- private_get_spot_history_trade = privateGetSpotHistoryTrade = Entry('spot/history/trade', 'private', 'GET', {'cost': 15})
43
- private_get_margin_account = privateGetMarginAccount = Entry('margin/account', 'private', 'GET', {'cost': 1})
44
- private_get_margin_account_isolated_symbol = privateGetMarginAccountIsolatedSymbol = Entry('margin/account/isolated/{symbol}', 'private', 'GET', {'cost': 1})
45
- private_get_margin_account_cross_currency = privateGetMarginAccountCrossCurrency = Entry('margin/account/cross/{currency}', 'private', 'GET', {'cost': 1})
46
- private_get_margin_order = privateGetMarginOrder = Entry('margin/order', 'private', 'GET', {'cost': 1})
47
- private_get_margin_order_client_order_id = privateGetMarginOrderClientOrderId = Entry('margin/order/{client_order_id}', 'private', 'GET', {'cost': 1})
48
- private_get_margin_config = privateGetMarginConfig = Entry('margin/config', 'private', 'GET', {'cost': 15})
49
- private_get_margin_history_order = privateGetMarginHistoryOrder = Entry('margin/history/order', 'private', 'GET', {'cost': 15})
50
- private_get_margin_history_trade = privateGetMarginHistoryTrade = Entry('margin/history/trade', 'private', 'GET', {'cost': 15})
51
- private_get_margin_history_positions = privateGetMarginHistoryPositions = Entry('margin/history/positions', 'private', 'GET', {'cost': 15})
52
- private_get_margin_history_clearing = privateGetMarginHistoryClearing = Entry('margin/history/clearing', 'private', 'GET', {'cost': 15})
53
- private_get_futures_balance = privateGetFuturesBalance = Entry('futures/balance', 'private', 'GET', {'cost': 15})
54
- private_get_futures_balance_currency = privateGetFuturesBalanceCurrency = Entry('futures/balance/{currency}', 'private', 'GET', {'cost': 15})
55
- private_get_futures_account = privateGetFuturesAccount = Entry('futures/account', 'private', 'GET', {'cost': 1})
56
- private_get_futures_account_isolated_symbol = privateGetFuturesAccountIsolatedSymbol = Entry('futures/account/isolated/{symbol}', 'private', 'GET', {'cost': 1})
57
- private_get_futures_order = privateGetFuturesOrder = Entry('futures/order', 'private', 'GET', {'cost': 1})
58
- private_get_futures_order_client_order_id = privateGetFuturesOrderClientOrderId = Entry('futures/order/{client_order_id}', 'private', 'GET', {'cost': 1})
59
- private_get_futures_config = privateGetFuturesConfig = Entry('futures/config', 'private', 'GET', {'cost': 15})
60
- private_get_futures_fee = privateGetFuturesFee = Entry('futures/fee', 'private', 'GET', {'cost': 15})
61
- private_get_futures_fee_symbol = privateGetFuturesFeeSymbol = Entry('futures/fee/{symbol}', 'private', 'GET', {'cost': 15})
62
- private_get_futures_history_order = privateGetFuturesHistoryOrder = Entry('futures/history/order', 'private', 'GET', {'cost': 15})
63
- private_get_futures_history_trade = privateGetFuturesHistoryTrade = Entry('futures/history/trade', 'private', 'GET', {'cost': 15})
64
- private_get_futures_history_positions = privateGetFuturesHistoryPositions = Entry('futures/history/positions', 'private', 'GET', {'cost': 15})
65
- private_get_futures_history_clearing = privateGetFuturesHistoryClearing = Entry('futures/history/clearing', 'private', 'GET', {'cost': 15})
66
- private_get_wallet_balance = privateGetWalletBalance = Entry('wallet/balance', 'private', 'GET', {'cost': 30})
67
- private_get_wallet_balance_currency = privateGetWalletBalanceCurrency = Entry('wallet/balance/{currency}', 'private', 'GET', {'cost': 30})
68
- private_get_wallet_crypto_address = privateGetWalletCryptoAddress = Entry('wallet/crypto/address', 'private', 'GET', {'cost': 30})
69
- private_get_wallet_crypto_address_recent_deposit = privateGetWalletCryptoAddressRecentDeposit = Entry('wallet/crypto/address/recent-deposit', 'private', 'GET', {'cost': 30})
70
- private_get_wallet_crypto_address_recent_withdraw = privateGetWalletCryptoAddressRecentWithdraw = Entry('wallet/crypto/address/recent-withdraw', 'private', 'GET', {'cost': 30})
71
- private_get_wallet_crypto_address_check_mine = privateGetWalletCryptoAddressCheckMine = Entry('wallet/crypto/address/check-mine', 'private', 'GET', {'cost': 30})
72
- private_get_wallet_transactions = privateGetWalletTransactions = Entry('wallet/transactions', 'private', 'GET', {'cost': 30})
73
- private_get_wallet_transactions_tx_id = privateGetWalletTransactionsTxId = Entry('wallet/transactions/{tx_id}', 'private', 'GET', {'cost': 30})
74
- private_get_wallet_crypto_fee_estimate = privateGetWalletCryptoFeeEstimate = Entry('wallet/crypto/fee/estimate', 'private', 'GET', {'cost': 30})
75
- private_get_wallet_airdrops = privateGetWalletAirdrops = Entry('wallet/airdrops', 'private', 'GET', {'cost': 30})
76
- private_get_wallet_amount_locks = privateGetWalletAmountLocks = Entry('wallet/amount-locks', 'private', 'GET', {'cost': 30})
77
- private_get_sub_account = privateGetSubAccount = Entry('sub-account', 'private', 'GET', {'cost': 15})
78
- private_get_sub_account_acl = privateGetSubAccountAcl = Entry('sub-account/acl', 'private', 'GET', {'cost': 15})
79
- private_get_sub_account_balance_subaccid = privateGetSubAccountBalanceSubAccID = Entry('sub-account/balance/{subAccID}', 'private', 'GET', {'cost': 15})
80
- private_get_sub_account_crypto_address_subaccid_currency = privateGetSubAccountCryptoAddressSubAccIDCurrency = Entry('sub-account/crypto/address/{subAccID}/{currency}', 'private', 'GET', {'cost': 15})
81
- private_post_spot_order = privatePostSpotOrder = Entry('spot/order', 'private', 'POST', {'cost': 1})
82
- private_post_spot_order_list = privatePostSpotOrderList = Entry('spot/order/list', 'private', 'POST', {'cost': 1})
83
- private_post_margin_order = privatePostMarginOrder = Entry('margin/order', 'private', 'POST', {'cost': 1})
84
- private_post_margin_order_list = privatePostMarginOrderList = Entry('margin/order/list', 'private', 'POST', {'cost': 1})
85
- private_post_futures_order = privatePostFuturesOrder = Entry('futures/order', 'private', 'POST', {'cost': 1})
86
- private_post_futures_order_list = privatePostFuturesOrderList = Entry('futures/order/list', 'private', 'POST', {'cost': 1})
87
- private_post_wallet_crypto_address = privatePostWalletCryptoAddress = Entry('wallet/crypto/address', 'private', 'POST', {'cost': 30})
88
- private_post_wallet_crypto_withdraw = privatePostWalletCryptoWithdraw = Entry('wallet/crypto/withdraw', 'private', 'POST', {'cost': 30})
89
- private_post_wallet_convert = privatePostWalletConvert = Entry('wallet/convert', 'private', 'POST', {'cost': 30})
90
- private_post_wallet_transfer = privatePostWalletTransfer = Entry('wallet/transfer', 'private', 'POST', {'cost': 30})
91
- private_post_wallet_internal_withdraw = privatePostWalletInternalWithdraw = Entry('wallet/internal/withdraw', 'private', 'POST', {'cost': 30})
92
- private_post_wallet_crypto_check_offchain_available = privatePostWalletCryptoCheckOffchainAvailable = Entry('wallet/crypto/check-offchain-available', 'private', 'POST', {'cost': 30})
93
- private_post_wallet_crypto_fees_estimate = privatePostWalletCryptoFeesEstimate = Entry('wallet/crypto/fees/estimate', 'private', 'POST', {'cost': 30})
94
- private_post_wallet_airdrops_id_claim = privatePostWalletAirdropsIdClaim = Entry('wallet/airdrops/{id}/claim', 'private', 'POST', {'cost': 30})
95
- private_post_sub_account_freeze = privatePostSubAccountFreeze = Entry('sub-account/freeze', 'private', 'POST', {'cost': 15})
96
- private_post_sub_account_activate = privatePostSubAccountActivate = Entry('sub-account/activate', 'private', 'POST', {'cost': 15})
97
- private_post_sub_account_transfer = privatePostSubAccountTransfer = Entry('sub-account/transfer', 'private', 'POST', {'cost': 15})
98
- private_post_sub_account_acl = privatePostSubAccountAcl = Entry('sub-account/acl', 'private', 'POST', {'cost': 15})
99
- private_patch_spot_order_client_order_id = privatePatchSpotOrderClientOrderId = Entry('spot/order/{client_order_id}', 'private', 'PATCH', {'cost': 1})
100
- private_patch_margin_order_client_order_id = privatePatchMarginOrderClientOrderId = Entry('margin/order/{client_order_id}', 'private', 'PATCH', {'cost': 1})
101
- private_patch_futures_order_client_order_id = privatePatchFuturesOrderClientOrderId = Entry('futures/order/{client_order_id}', 'private', 'PATCH', {'cost': 1})
102
- private_delete_spot_order = privateDeleteSpotOrder = Entry('spot/order', 'private', 'DELETE', {'cost': 1})
103
- private_delete_spot_order_client_order_id = privateDeleteSpotOrderClientOrderId = Entry('spot/order/{client_order_id}', 'private', 'DELETE', {'cost': 1})
104
- private_delete_margin_position = privateDeleteMarginPosition = Entry('margin/position', 'private', 'DELETE', {'cost': 1})
105
- private_delete_margin_position_isolated_symbol = privateDeleteMarginPositionIsolatedSymbol = Entry('margin/position/isolated/{symbol}', 'private', 'DELETE', {'cost': 1})
106
- private_delete_margin_order = privateDeleteMarginOrder = Entry('margin/order', 'private', 'DELETE', {'cost': 1})
107
- private_delete_margin_order_client_order_id = privateDeleteMarginOrderClientOrderId = Entry('margin/order/{client_order_id}', 'private', 'DELETE', {'cost': 1})
108
- private_delete_futures_position = privateDeleteFuturesPosition = Entry('futures/position', 'private', 'DELETE', {'cost': 1})
109
- private_delete_futures_position_margin_mode_symbol = privateDeleteFuturesPositionMarginModeSymbol = Entry('futures/position/{margin_mode}/{symbol}', 'private', 'DELETE', {'cost': 1})
110
- private_delete_futures_order = privateDeleteFuturesOrder = Entry('futures/order', 'private', 'DELETE', {'cost': 1})
111
- private_delete_futures_order_client_order_id = privateDeleteFuturesOrderClientOrderId = Entry('futures/order/{client_order_id}', 'private', 'DELETE', {'cost': 1})
112
- private_delete_wallet_crypto_withdraw_id = privateDeleteWalletCryptoWithdrawId = Entry('wallet/crypto/withdraw/{id}', 'private', 'DELETE', {'cost': 30})
113
- private_put_margin_account_isolated_symbol = privatePutMarginAccountIsolatedSymbol = Entry('margin/account/isolated/{symbol}', 'private', 'PUT', {'cost': 1})
114
- private_put_futures_account_isolated_symbol = privatePutFuturesAccountIsolatedSymbol = Entry('futures/account/isolated/{symbol}', 'private', 'PUT', {'cost': 1})
115
- private_put_wallet_crypto_withdraw_id = privatePutWalletCryptoWithdrawId = Entry('wallet/crypto/withdraw/{id}', 'private', 'PUT', {'cost': 30})