ccxt 4.2.20__py2.py3-none-any.whl → 4.2.22__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 (62) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/abstract/binance.py +3 -0
  3. ccxt/abstract/binancecoinm.py +3 -0
  4. ccxt/abstract/binanceus.py +16 -12
  5. ccxt/abstract/binanceusdm.py +3 -0
  6. ccxt/abstract/gate.py +1 -0
  7. ccxt/abstract/gateio.py +1 -0
  8. ccxt/abstract/novadax.py +22 -18
  9. ccxt/abstract/phemex.py +1 -0
  10. ccxt/async_support/__init__.py +1 -1
  11. ccxt/async_support/base/exchange.py +16 -4
  12. ccxt/async_support/bigone.py +1 -0
  13. ccxt/async_support/binance.py +14 -3
  14. ccxt/async_support/bitget.py +11 -1
  15. ccxt/async_support/bitrue.py +1 -0
  16. ccxt/async_support/bitvavo.py +250 -152
  17. ccxt/async_support/blockchaincom.py +3 -1
  18. ccxt/async_support/bybit.py +49 -10
  19. ccxt/async_support/coinbasepro.py +1 -0
  20. ccxt/async_support/coinex.py +34 -12
  21. ccxt/async_support/deribit.py +145 -0
  22. ccxt/async_support/gate.py +30 -1
  23. ccxt/async_support/novadax.py +27 -23
  24. ccxt/async_support/okcoin.py +3 -0
  25. ccxt/async_support/phemex.py +7 -3
  26. ccxt/async_support/poloniex.py +1 -0
  27. ccxt/async_support/woo.py +1 -1
  28. ccxt/base/exchange.py +17 -5
  29. ccxt/bigone.py +1 -0
  30. ccxt/binance.py +14 -3
  31. ccxt/bitget.py +11 -1
  32. ccxt/bitrue.py +1 -0
  33. ccxt/bitvavo.py +250 -152
  34. ccxt/blockchaincom.py +3 -1
  35. ccxt/bybit.py +49 -10
  36. ccxt/coinbasepro.py +1 -0
  37. ccxt/coinex.py +34 -12
  38. ccxt/deribit.py +145 -0
  39. ccxt/gate.py +30 -1
  40. ccxt/novadax.py +27 -23
  41. ccxt/okcoin.py +3 -0
  42. ccxt/phemex.py +7 -3
  43. ccxt/poloniex.py +1 -0
  44. ccxt/pro/__init__.py +1 -1
  45. ccxt/pro/bequant.py +7 -1
  46. ccxt/pro/binance.py +7 -4
  47. ccxt/pro/binancecoinm.py +7 -1
  48. ccxt/pro/binanceus.py +7 -1
  49. ccxt/pro/bitcoincom.py +7 -1
  50. ccxt/pro/bitget.py +1 -1
  51. ccxt/pro/bitopro.py +7 -3
  52. ccxt/pro/bitrue.py +5 -1
  53. ccxt/pro/bitvavo.py +623 -19
  54. ccxt/pro/lbank.py +1 -1
  55. ccxt/pro/okx.py +10 -2
  56. ccxt/test/test_async.py +14 -1
  57. ccxt/test/test_sync.py +14 -1
  58. ccxt/woo.py +1 -1
  59. {ccxt-4.2.20.dist-info → ccxt-4.2.22.dist-info}/METADATA +4 -4
  60. {ccxt-4.2.20.dist-info → ccxt-4.2.22.dist-info}/RECORD +62 -62
  61. {ccxt-4.2.20.dist-info → ccxt-4.2.22.dist-info}/WHEEL +0 -0
  62. {ccxt-4.2.20.dist-info → ccxt-4.2.22.dist-info}/top_level.txt +0 -0
ccxt/pro/lbank.py CHANGED
@@ -658,7 +658,7 @@ class lbank(ccxt.async_support.lbank):
658
658
  }
659
659
  request = self.deep_extend(subscribe, params)
660
660
  orderbook = await self.watch(url, messageHash, request, messageHash)
661
- return orderbook.limit(limit)
661
+ return orderbook.limit()
662
662
 
663
663
  async def watch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
664
664
  """
ccxt/pro/okx.py CHANGED
@@ -949,17 +949,20 @@ class okx(ccxt.async_support.okx):
949
949
 
950
950
  async def watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
951
951
  """
952
- :see: https://www.okx.com/docs-v5/en/#order-book-trading-trade-ws-order-channel
953
952
  watches information on multiple orders made by the user
954
- :param str [symbol]: unified market symbol of the market orders were made in
953
+ :see: https://www.okx.com/docs-v5/en/#order-book-trading-trade-ws-order-channel
954
+ :param str [symbol]: unified market symbol of the market the orders were made in
955
955
  :param int [since]: the earliest time in ms to fetch orders for
956
956
  :param int [limit]: the maximum number of order structures to retrieve
957
957
  :param dict [params]: extra parameters specific to the exchange API endpoint
958
958
  :param bool [params.stop]: True if fetching trigger or conditional orders
959
+ :param str [params.type]: 'spot', 'swap', 'future', 'option', 'ANY', 'SPOT', 'MARGIN', 'SWAP', 'FUTURES' or 'OPTION'
960
+ :param str [params.marginMode]: 'cross' or 'isolated', for automatically setting the type to spot margin
959
961
  :returns dict[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
960
962
  """
961
963
  type = None
962
964
  # By default, receive order updates from any instrument type
965
+ type, params = self.handle_option_and_params(params, 'watchOrders', 'defaultType')
963
966
  type, params = self.handle_option_and_params(params, 'watchOrders', 'type', 'ANY')
964
967
  isStop = self.safe_value_2(params, 'stop', 'trigger', False)
965
968
  params = self.omit(params, ['stop', 'trigger'])
@@ -973,6 +976,11 @@ class okx(ccxt.async_support.okx):
973
976
  if type == 'future':
974
977
  type = 'futures'
975
978
  uppercaseType = type.upper()
979
+ marginMode = None
980
+ marginMode, params = self.handle_margin_mode_and_params('watchOrders', params)
981
+ if uppercaseType == 'SPOT':
982
+ if marginMode is not None:
983
+ uppercaseType = 'MARGIN'
976
984
  request = {
977
985
  'instType': uppercaseType,
978
986
  }
ccxt/test/test_async.py CHANGED
@@ -274,6 +274,10 @@ class testMainClass(baseMainTestClass):
274
274
 
275
275
  async def init(self, exchange_id, symbol_argv):
276
276
  self.parse_cli_args()
277
+ if self.request_tests and self.response_tests:
278
+ await self.run_static_request_tests(exchange_id, symbol_argv)
279
+ await self.run_static_response_tests(exchange_id, symbol_argv)
280
+ return
277
281
  if self.response_tests:
278
282
  await self.run_static_response_tests(exchange_id, symbol_argv)
279
283
  return
@@ -1053,6 +1057,9 @@ class testMainClass(baseMainTestClass):
1053
1057
  results = methods[method]
1054
1058
  for j in range(0, len(results)):
1055
1059
  result = results[j]
1060
+ old_exchange_options = exchange.options # snapshot options;
1061
+ test_exchange_options = exchange.safe_value(result, 'options', {})
1062
+ exchange.options = exchange.deep_extend(old_exchange_options, test_exchange_options) # custom options to be used in the tests
1056
1063
  description = exchange.safe_value(result, 'description')
1057
1064
  if (test_name is not None) and (test_name != description):
1058
1065
  continue
@@ -1062,6 +1069,8 @@ class testMainClass(baseMainTestClass):
1062
1069
  type = exchange.safe_string(exchange_data, 'outputType')
1063
1070
  skip_keys = exchange.safe_value(exchange_data, 'skipKeys', [])
1064
1071
  await self.test_method_statically(exchange, method, result, type, skip_keys)
1072
+ # reset options
1073
+ exchange.options = old_exchange_options
1065
1074
  await close(exchange)
1066
1075
 
1067
1076
  async def test_exchange_response_statically(self, exchange_name, exchange_data, test_name=None):
@@ -1076,6 +1085,9 @@ class testMainClass(baseMainTestClass):
1076
1085
  for j in range(0, len(results)):
1077
1086
  result = results[j]
1078
1087
  description = exchange.safe_value(result, 'description')
1088
+ old_exchange_options = exchange.options # snapshot options;
1089
+ test_exchange_options = exchange.safe_value(result, 'options', {})
1090
+ exchange.options = exchange.deep_extend(old_exchange_options, test_exchange_options) # custom options to be used in the tests
1079
1091
  is_disabled = exchange.safe_value(result, 'disabled', False)
1080
1092
  if is_disabled:
1081
1093
  continue
@@ -1086,6 +1098,8 @@ class testMainClass(baseMainTestClass):
1086
1098
  continue
1087
1099
  skip_keys = exchange.safe_value(exchange_data, 'skipKeys', [])
1088
1100
  await self.test_response_statically(exchange, method, skip_keys, result)
1101
+ # reset options
1102
+ exchange.options = old_exchange_options
1089
1103
  await close(exchange)
1090
1104
 
1091
1105
  def get_number_of_tests_from_exchange(self, exchange, exchange_data):
@@ -1130,7 +1144,6 @@ class testMainClass(baseMainTestClass):
1130
1144
  else:
1131
1145
  success_message = '[' + self.lang + '][TEST_SUCCESS] ' + str(sum) + ' static ' + type + ' tests passed.'
1132
1146
  dump('[INFO]' + success_message)
1133
- exit_script(0)
1134
1147
 
1135
1148
  async def run_static_response_tests(self, exchange_name=None, test=None):
1136
1149
  # -----------------------------------------------------------------------------
ccxt/test/test_sync.py CHANGED
@@ -273,6 +273,10 @@ class testMainClass(baseMainTestClass):
273
273
 
274
274
  def init(self, exchange_id, symbol_argv):
275
275
  self.parse_cli_args()
276
+ if self.request_tests and self.response_tests:
277
+ self.run_static_request_tests(exchange_id, symbol_argv)
278
+ self.run_static_response_tests(exchange_id, symbol_argv)
279
+ return
276
280
  if self.response_tests:
277
281
  self.run_static_response_tests(exchange_id, symbol_argv)
278
282
  return
@@ -1052,6 +1056,9 @@ class testMainClass(baseMainTestClass):
1052
1056
  results = methods[method]
1053
1057
  for j in range(0, len(results)):
1054
1058
  result = results[j]
1059
+ old_exchange_options = exchange.options # snapshot options;
1060
+ test_exchange_options = exchange.safe_value(result, 'options', {})
1061
+ exchange.options = exchange.deep_extend(old_exchange_options, test_exchange_options) # custom options to be used in the tests
1055
1062
  description = exchange.safe_value(result, 'description')
1056
1063
  if (test_name is not None) and (test_name != description):
1057
1064
  continue
@@ -1061,6 +1068,8 @@ class testMainClass(baseMainTestClass):
1061
1068
  type = exchange.safe_string(exchange_data, 'outputType')
1062
1069
  skip_keys = exchange.safe_value(exchange_data, 'skipKeys', [])
1063
1070
  self.test_method_statically(exchange, method, result, type, skip_keys)
1071
+ # reset options
1072
+ exchange.options = old_exchange_options
1064
1073
  close(exchange)
1065
1074
 
1066
1075
  def test_exchange_response_statically(self, exchange_name, exchange_data, test_name=None):
@@ -1075,6 +1084,9 @@ class testMainClass(baseMainTestClass):
1075
1084
  for j in range(0, len(results)):
1076
1085
  result = results[j]
1077
1086
  description = exchange.safe_value(result, 'description')
1087
+ old_exchange_options = exchange.options # snapshot options;
1088
+ test_exchange_options = exchange.safe_value(result, 'options', {})
1089
+ exchange.options = exchange.deep_extend(old_exchange_options, test_exchange_options) # custom options to be used in the tests
1078
1090
  is_disabled = exchange.safe_value(result, 'disabled', False)
1079
1091
  if is_disabled:
1080
1092
  continue
@@ -1085,6 +1097,8 @@ class testMainClass(baseMainTestClass):
1085
1097
  continue
1086
1098
  skip_keys = exchange.safe_value(exchange_data, 'skipKeys', [])
1087
1099
  self.test_response_statically(exchange, method, skip_keys, result)
1100
+ # reset options
1101
+ exchange.options = old_exchange_options
1088
1102
  close(exchange)
1089
1103
 
1090
1104
  def get_number_of_tests_from_exchange(self, exchange, exchange_data):
@@ -1129,7 +1143,6 @@ class testMainClass(baseMainTestClass):
1129
1143
  else:
1130
1144
  success_message = '[' + self.lang + '][TEST_SUCCESS] ' + str(sum) + ' static ' + type + ' tests passed.'
1131
1145
  dump('[INFO]' + success_message)
1132
- exit_script(0)
1133
1146
 
1134
1147
  def run_static_response_tests(self, exchange_name=None, test=None):
1135
1148
  # -----------------------------------------------------------------------------
ccxt/woo.py CHANGED
@@ -66,7 +66,7 @@ class woo(Exchange, ImplicitAPI):
66
66
  'fetchClosedOrder': False,
67
67
  'fetchClosedOrders': False,
68
68
  'fetchCurrencies': True,
69
- 'fetchDepositAddress': False,
69
+ 'fetchDepositAddress': True,
70
70
  'fetchDeposits': True,
71
71
  'fetchDepositsWithdrawals': True,
72
72
  'fetchFundingHistory': True,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.2.20
3
+ Version: 4.2.22
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
@@ -258,13 +258,13 @@ console.log(version, Object.keys(exchanges));
258
258
 
259
259
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
260
260
 
261
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.20/dist/ccxt.browser.js
262
- * unpkg: https://unpkg.com/ccxt@4.2.20/dist/ccxt.browser.js
261
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.22/dist/ccxt.browser.js
262
+ * unpkg: https://unpkg.com/ccxt@4.2.22/dist/ccxt.browser.js
263
263
 
264
264
  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.
265
265
 
266
266
  ```HTML
267
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.20/dist/ccxt.browser.js"></script>
267
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.22/dist/ccxt.browser.js"></script>
268
268
  ```
269
269
 
270
270
  Creates a global `ccxt` object:
@@ -1,10 +1,10 @@
1
- ccxt/__init__.py,sha256=A81uAeAvDAV_3rdz9AeuuMG8ryBx6aTTl1cN7FDHvGQ,15244
1
+ ccxt/__init__.py,sha256=4ozz_o83KQME2KV2O37fEPCqlTvLdnjzF6sf0cj6120,15244
2
2
  ccxt/ace.py,sha256=_KEE3eOIkZE2MRJ66Z3ohFGaoKG7Pnmci2iQyRkThOc,41348
3
3
  ccxt/alpaca.py,sha256=N3f-RLsB71gQop8w-2ZivGQyAxNwYLclMoh8q_qC0S8,46244
4
4
  ccxt/ascendex.py,sha256=EaUpWMs7W8jHIjT0bVbRUoHXS5RCrFGOUie4CRlF8co,143729
5
5
  ccxt/bequant.py,sha256=RBiAmaTbL35DgiV3Hl6uchLUd78V0z1T9riTlNsrpdc,1174
6
- ccxt/bigone.py,sha256=rHSdXB1aNoqRMNigSZNBM5a5m5WBppx9xuF9GmwNuWE,90372
7
- ccxt/binance.py,sha256=kUEgUoJTZ9LohXYXF7cC3NIBpJFZendTH6UcU4fDHa0,453179
6
+ ccxt/bigone.py,sha256=_OfhxTc0GIOPwmLacXgijDNlfLzk4NIeMSg7LRNa9fM,90415
7
+ ccxt/binance.py,sha256=AUSQfMCuxmG-xgTgjcei8FMBLael0KOdjEN-nqKhjyk,454292
8
8
  ccxt/binancecoinm.py,sha256=pncdw6Xw2X1Po-vEvAB4nL37scoS_axGAVxetPy1YQs,1645
9
9
  ccxt/binanceus.py,sha256=xVbLMMS009rzRvbmPyuUWag-PSRiKp8CLiLs0dsbn3E,4488
10
10
  ccxt/binanceusdm.py,sha256=KPQGlCalQ0eGlPCs2tSanOxaP8O0zFRQjGntA16Yprw,2480
@@ -18,29 +18,29 @@ ccxt/bitfinex.py,sha256=r9xS-gPOPuXBJVE_zdvkBt-qEuSCGfwi7UNZw1n4Gvk,69661
18
18
  ccxt/bitfinex2.py,sha256=pghgN20z53jH46Vtgy1PlxNxilw1yQf5kg6Df_MoNtY,128840
19
19
  ccxt/bitflyer.py,sha256=FsoSqTO6uQ8mCq_wNzeshlJyWSksUZ6utEHSPXGJgmY,40105
20
20
  ccxt/bitforex.py,sha256=nqYgHhub2u2I2S7U91MvPZGip8tGl6NEsyQgyHUvEG4,33773
21
- ccxt/bitget.py,sha256=qXLBPQOE7zGxjbTY8-4MLr4UvjQnfAUq-wbTLFfI5AA,397149
21
+ ccxt/bitget.py,sha256=bHs62qoFjzIO8MOyGrualI4AZ8AA8Aj8jh4nr7_N7Fk,397605
22
22
  ccxt/bithumb.py,sha256=mji93l7rEBQVhoJKxHQnEIMtMvk7wkIRrfN7o0hxYPI,43325
23
23
  ccxt/bitmart.py,sha256=u2yw7jxMmv49rob-ry_kL23jbG-mEvivefXs32CRFgw,196836
24
24
  ccxt/bitmex.py,sha256=AvQ4MEzYVWRgXpz1bhjC-MDGrxi7bUiIqGohK6fPKiU,122388
25
25
  ccxt/bitopro.py,sha256=Zz28PIDUFMhzC1wy8b5t3QPUEfqE8JlJNBrUnAxub7k,68055
26
26
  ccxt/bitpanda.py,sha256=aiwPkx9lKbVzt4ggoYdq_mIbMGtg5ZtGl2yRHO5xyz8,471
27
- ccxt/bitrue.py,sha256=k3J8f6Hg_pCNRvlvVMKKoiggJElQvUKb-mliWULxlAo,135834
27
+ ccxt/bitrue.py,sha256=rUXlHyo8nO-KO69fDrgN904pWbLYC-k_nvvkPHWXPBw,135877
28
28
  ccxt/bitso.py,sha256=tXGh_sjBF3xWciIBR26Ql6VzJvkBcarNIVy8V6w5_iI,69522
29
29
  ccxt/bitstamp.py,sha256=5BVtpDSxQFdRG1o5jXrXGqdpq4rKAvdklDzYIZ_TWag,86936
30
30
  ccxt/bitteam.py,sha256=FKR7rXlnlBw4pBFkiUEEbj7dxh6JNOXLPLA_OJmMF1g,101780
31
- ccxt/bitvavo.py,sha256=dLgxHuUcPVvoq6WURyqQXA6nH-cCw8QZCATg3RSmito,87064
31
+ ccxt/bitvavo.py,sha256=slHJT2j4lWxNCLC-NPhw1KWBYrq00SIqobXTQjSZZQM,91211
32
32
  ccxt/bl3p.py,sha256=HMgLNOY-RZNcu1XMvBKEkvhIbnm9PuDl_4ZsGyqqqt4,17833
33
- ccxt/blockchaincom.py,sha256=WcThiqzQFaUZTKG86esgnLL9VoTF1EhLie81QDmKHL0,47152
33
+ ccxt/blockchaincom.py,sha256=wWhAhcgYQHhcDp4V-ZELB8uIZdZdfV0dqj4ExeYZxHQ,47260
34
34
  ccxt/btcalpha.py,sha256=cS8lOVvcKois-HFwu7f-221xF7KzGuqtCqIsuGGIdJ8,35694
35
35
  ccxt/btcbox.py,sha256=_Ojq-aEg-NWeF4pYss9xI-l3VMQgWgNASXIVuNTT9bI,22785
36
36
  ccxt/btcmarkets.py,sha256=b-3evyYLvIzX6quM7XBU5eQZtq2lVcTCn--Uk06Vhxk,48582
37
37
  ccxt/btcturk.py,sha256=kDLTM6hdNShrcnKOBRSvIlHhPdvGR-L-_Ei878MC9GA,35458
38
- ccxt/bybit.py,sha256=2usg00T5lm-qbSAyhZolBbmxiwihYBXgd4uhDqzdYsY,355738
38
+ ccxt/bybit.py,sha256=WBP07WtTBVBIx-RTGvZdJ-Gs2hgEUOnDlqGrTIrR5Ec,358065
39
39
  ccxt/cex.py,sha256=wcO4_bJ3QENtv7ynMj_diSfjJ_E2a6G5Reptd6KhNsk,69523
40
40
  ccxt/coinbase.py,sha256=jYqsrNRIKBwR4kmc05u9O034ErUes65sbmK6m-upJWk,154275
41
- ccxt/coinbasepro.py,sha256=xOXOvA4jMTgVOHqP2TDjkgSjYzVS8NC2-VDDWBJ0FQM,78168
41
+ ccxt/coinbasepro.py,sha256=XxkBeS2lTL6IfHvErGCiv_Ad52YujQil0ZrB594kHo8,78211
42
42
  ccxt/coincheck.py,sha256=XwKYDZKqAiUZHC2HCsSn5n1yteB7AgHTliGMb2HoIHk,34655
43
- ccxt/coinex.py,sha256=83rmWFJdod6h7n85SacSdQ8-H2V_DqIh_QljCidSu6g,224768
43
+ ccxt/coinex.py,sha256=8r7UNtSYEm4alIrUgFRSfknaTDHXk7glC9msmu7Q7tg,225958
44
44
  ccxt/coinlist.py,sha256=HuxnBNtVhgLTjx-5eOgn79QinSqLZShICI0jAX1yX9I,102671
45
45
  ccxt/coinmate.py,sha256=CpLkuF-T12P_q-W-nYrnl4PXcHjnGKt8us66ebHSFtI,39954
46
46
  ccxt/coinone.py,sha256=Y271N7pEhnOFyydoHTXSbyUlxIGHOb2HHMI-85RWqVc,46676
@@ -49,12 +49,12 @@ ccxt/coinspot.py,sha256=j8xSGIHF_WhLGZcDmdIwpCMw77vjvdaNcNNk0_kEu-Y,23024
49
49
  ccxt/cryptocom.py,sha256=gsQTAHYN3oxuaMQA_jYu5vdaKXHD7AqbtlffXcPbqgE,127900
50
50
  ccxt/currencycom.py,sha256=JqJEzS_6UBomIGqf_y5LwsnBTOXCwbgiQfnSghvIGuU,84218
51
51
  ccxt/delta.py,sha256=dtUYyWML0Oq4ttrqH8Vs3R2CLeC4TDvTwosmSzy3OxI,139225
52
- ccxt/deribit.py,sha256=Gk2o3auhMcLlQ1NTz5REMWD9IuwRgj4J3xgWrbAMXmQ,146005
52
+ ccxt/deribit.py,sha256=XK1u_oTjONZScubq_GzEiMT6bP3UUftmsEDpP5F3JeU,150888
53
53
  ccxt/digifinex.py,sha256=SFZp4eSMRI-0wxuDjLaX6HOWCLGD2YQqlFzJ3LTIrMc,168932
54
54
  ccxt/exmo.py,sha256=Vpp-5PSHf4sC8C_2aNIQG9MO2vavYftf2WpZHK3DIhs,111768
55
55
  ccxt/flowbtc.py,sha256=YPvm6tbsHJJUQBspFcHuVPQfVmiWzwnVvfzRqBdQX6U,1169
56
56
  ccxt/fmfwio.py,sha256=RbVLvzPwnqfDsE7Ea-N13ISCC82eJVPsXYjrleASmew,1236
57
- ccxt/gate.py,sha256=Dl2tdirP-ySZIC7dDkZDgf3xXVXRnZ1NdS1cjX9xZiU,295657
57
+ ccxt/gate.py,sha256=xYN0LQhUTSovbJ0H4MVmIwc8G0A2RF0Di_gm-C79hiQ,297276
58
58
  ccxt/gateio.py,sha256=86AETJWODl_vA5VNeQRHZprmpNIY1HAxCddKZcnKSi8,445
59
59
  ccxt/gemini.py,sha256=CqP6BMAoIXbUi9zhHgyqMddN63guUQskY1NvGGqtz0o,74666
60
60
  ccxt/hitbtc.py,sha256=BTTlQa_vaEyIYc5w1AD0I3BzEn885u9rNd9TR0a7oYQ,150038
@@ -78,15 +78,15 @@ ccxt/lykke.py,sha256=JKyEXlXtr7nHdyLt2Q0G2y0XnCci_LmT85XFJJhKexg,49260
78
78
  ccxt/mercado.py,sha256=IAFK2QHvTD7ImkzFNDClp5i1QYRe6LGAvdcfufz_Ii4,34995
79
79
  ccxt/mexc.py,sha256=yWib5F1lj-6B9Rh0q8yIkKRbB0yRX-bVAvlHTKdD8i4,226098
80
80
  ccxt/ndax.py,sha256=dFVL620mkhpDPD0TfPVTsSuHYauEnr5FZbcLdCCwYG4,107270
81
- ccxt/novadax.py,sha256=4kF_WsyYfdMKh0U0idCZ8XjP03Rmgn2vEr1wHxl1ld4,63817
81
+ ccxt/novadax.py,sha256=w1tJXPgo1TWgTe98q0mWy81FekWSnqvDW97BsJjJNN8,63998
82
82
  ccxt/oceanex.py,sha256=IgVkmoayN9y0ocjLV5Q0ORFO_VmWZV4Sd8y8nzV5Qvw,37641
83
- ccxt/okcoin.py,sha256=88Lvxf3GLhNIPcHvp3FD_R9ASjkE-Hefa9FgNQVnbGU,148019
83
+ ccxt/okcoin.py,sha256=Zqd61fWcBvL-FuwGtoVbSN4_TKu0WxHHNweBqmCscNk,148158
84
84
  ccxt/okx.py,sha256=FUKemp8ZxIDZSAM4Vt0KvYfaJ9KmIQtFlw4GY6BlpOI,329519
85
85
  ccxt/onetrading.py,sha256=bQcoXrjcJiv-iuoH2noAZqyL8O8mjdFgyakdw65co3I,87865
86
86
  ccxt/p2b.py,sha256=KIdfah9Mwiiw9Zk2tLhdW8ZpDPj8Sp_3NF-k4Xfxh9E,54021
87
87
  ccxt/paymium.py,sha256=oH4zQkMF7IGkq9co953Riz8wuhUj6xxKSmqs7Rz2n1s,24122
88
- ccxt/phemex.py,sha256=-l9QoQysup26x2_BSIqThvTwbE-cDK4ljhCN6cPPEvA,216980
89
- ccxt/poloniex.py,sha256=KEnUepy3vo13fpkMNC96b9Nw9v42WwP8AmFnt0qNQow,101646
88
+ ccxt/phemex.py,sha256=DCr8Vm6eOPkqDH_FPWb4ECDWq4sY_fhCfiimH0YD8l4,217419
89
+ ccxt/poloniex.py,sha256=NfQGpZUw06oz97nnZzN80riFmvfcnqbDVxqaRlRkqsE,101689
90
90
  ccxt/poloniexfutures.py,sha256=xKBS_cwmWpm0hlBXrLCJmeHegDJUQt-AnN9l__9I_uc,76955
91
91
  ccxt/probit.py,sha256=loKgEwCbE1Jz_mvWTCKQZmPsH9eP_8EJXIqMNv1VQ_Q,76111
92
92
  ccxt/timex.py,sha256=mMeN-XGSrHzHeLxjyd1aRK3_QetmEVgS5d_NIww0xyM,65632
@@ -95,7 +95,7 @@ ccxt/upbit.py,sha256=wyifuZ6aauvfCH-WDhzD-hN0bfUl2x0-SXWyACqZSno,77222
95
95
  ccxt/wavesexchange.py,sha256=xo7qVevuM2iAinym8ahBgCgmpDpv6mTKnvUzUFlGd50,113325
96
96
  ccxt/wazirx.py,sha256=DyQ67oqkCNk3F0jCRDRMVPPhy34Z5LOqY9RmAGpV-2Y,36865
97
97
  ccxt/whitebit.py,sha256=U_EyjuXqQV2Lwsf4746liCKZLp_JXWX6TFQorjT8KLQ,100696
98
- ccxt/woo.py,sha256=bQjNlnOhKDipWiErxPl46uRg6CvG8GhkYPw-0DQ8PP4,115726
98
+ ccxt/woo.py,sha256=X_FYWMQs4CyBbvxyosPZj8-ZGIKc9Y-QukvuM2oDvx0,115725
99
99
  ccxt/yobit.py,sha256=gIVMiECMs6-Cl8qmMnWfgX3lokiSYzfuq7ngS9hRqw4,51888
100
100
  ccxt/zaif.py,sha256=oCHzWkTqi2DvL6IeBCoasD-Ube7rZYH3Ocwd28zFopg,27912
101
101
  ccxt/zonda.py,sha256=tk8q645TxGNMrg68KZtKWrbONs4j3LGZjwGcAyxUANo,80362
@@ -105,10 +105,10 @@ ccxt/abstract/alpaca.py,sha256=vgzqnRTvEnAbLYgfDzGpmVUZxRLWC8BWA6nQ16m-xXY,10382
105
105
  ccxt/abstract/ascendex.py,sha256=5A8Zgq77jsdHlEzlTW_2nDybUUVfNVVOu6BgY3TWqRM,11394
106
106
  ccxt/abstract/bequant.py,sha256=LNKAn7NXHT8z9Jbz2fOyj5iFmk13jlhylFUNVAMZzfo,15297
107
107
  ccxt/abstract/bigone.py,sha256=bQdIXCVkKgnZ7ZjpQ1widGDlXNe0PtP_12EQKoEN9z0,4895
108
- ccxt/abstract/binance.py,sha256=1ql5wXJ3dwwlUxj8yDm8GsjJT3QrsOFw33XvEu_5Qo0,89607
109
- ccxt/abstract/binancecoinm.py,sha256=1ql5wXJ3dwwlUxj8yDm8GsjJT3QrsOFw33XvEu_5Qo0,89607
110
- ccxt/abstract/binanceus.py,sha256=1ql5wXJ3dwwlUxj8yDm8GsjJT3QrsOFw33XvEu_5Qo0,89607
111
- ccxt/abstract/binanceusdm.py,sha256=1ql5wXJ3dwwlUxj8yDm8GsjJT3QrsOFw33XvEu_5Qo0,89607
108
+ ccxt/abstract/binance.py,sha256=ooFVLTfJfs56OMYtmjsgo49jHY55AkzZXlPmdnedFjc,90048
109
+ ccxt/abstract/binancecoinm.py,sha256=ooFVLTfJfs56OMYtmjsgo49jHY55AkzZXlPmdnedFjc,90048
110
+ ccxt/abstract/binanceus.py,sha256=Sa2rrCyIWhXiPhkdFCmz_GBTRUyZd3m3EghpCcDF3JY,90119
111
+ ccxt/abstract/binanceusdm.py,sha256=ooFVLTfJfs56OMYtmjsgo49jHY55AkzZXlPmdnedFjc,90048
112
112
  ccxt/abstract/bingx.py,sha256=nxGiJpsy0GC8OP1nfHhvFL2pJH-SOtXdrKj2omMNhAs,14264
113
113
  ccxt/abstract/bit2c.py,sha256=np6i756kSB5dO3Nj6POLKxkWkpYcsGg-4LS8BwPrizI,2830
114
114
  ccxt/abstract/bitbank.py,sha256=hrHsD7Uvtyy2o2lzCHau3-eNq16pnZ3-YDQ6Tq_sxYU,2735
@@ -154,8 +154,8 @@ ccxt/abstract/deribit.py,sha256=rS_982u8dOVsh2vGSB5TO7K8Tye0Alq-Rg9fYZwz8hg,1549
154
154
  ccxt/abstract/digifinex.py,sha256=1JzOaqvLTgBuooJSVJ70riBgODfzZwxHwTmYHe_AnqU,11452
155
155
  ccxt/abstract/exmo.py,sha256=yq9zis5G9Qjsecs-YSHAghDjad6y52jFteWSBJZFg8o,6177
156
156
  ccxt/abstract/fmfwio.py,sha256=LNKAn7NXHT8z9Jbz2fOyj5iFmk13jlhylFUNVAMZzfo,15297
157
- ccxt/abstract/gate.py,sha256=5uT427lEXh4d3oy4NYKuT7_LsMbZIKc4AP2ewXoFfbk,41086
158
- ccxt/abstract/gateio.py,sha256=5uT427lEXh4d3oy4NYKuT7_LsMbZIKc4AP2ewXoFfbk,41086
157
+ ccxt/abstract/gate.py,sha256=Sxn9vXYRscTWpEorTo1t6AmfcwYQqy5FrGro81PzyN8,41273
158
+ ccxt/abstract/gateio.py,sha256=Sxn9vXYRscTWpEorTo1t6AmfcwYQqy5FrGro81PzyN8,41273
159
159
  ccxt/abstract/gemini.py,sha256=6TyBUDw-e4b02J5ToCX0eaXQfF0Knvkf7ToLcseqcIY,6915
160
160
  ccxt/abstract/hitbtc.py,sha256=LNKAn7NXHT8z9Jbz2fOyj5iFmk13jlhylFUNVAMZzfo,15297
161
161
  ccxt/abstract/hitbtc3.py,sha256=LNKAn7NXHT8z9Jbz2fOyj5iFmk13jlhylFUNVAMZzfo,15297
@@ -178,14 +178,14 @@ ccxt/abstract/lykke.py,sha256=PyLaU4RVPYTkPYsGgL2e2c9mtnz0xiy-LMOBSA4w_1g,2960
178
178
  ccxt/abstract/mercado.py,sha256=qs3Fr6C_K8M-YIsGx-W9iUiFXcgQ0SA8uADvhV8mDQM,2357
179
179
  ccxt/abstract/mexc.py,sha256=flgbnn-U3tmK0RMAoz1k2uHx3ZJGWB5DXlmkgxvxrrY,25902
180
180
  ccxt/abstract/ndax.py,sha256=M98Ys406KT6T19Y98dXriD6YjzfglHHbnfQw-PDYWtM,11878
181
- ccxt/abstract/novadax.py,sha256=Yy-lYKteQyZTaajK5oQTTikd5sU33cct4ZdtNxo2j30,2565
181
+ ccxt/abstract/novadax.py,sha256=IvQFP_v2Q-Sx0tK2bXx4oY81rtNwC7gkc75p_E2jhKw,3093
182
182
  ccxt/abstract/oceanex.py,sha256=a0xAelMYDY_J3QwwLyIX2tGQcv4z2gmX_yJyC6FqoFg,1721
183
183
  ccxt/abstract/okcoin.py,sha256=3NmYh-68W_4AXmkqjkf9dRaJcPgNYQG5mKZssJKT4gs,9414
184
184
  ccxt/abstract/okx.py,sha256=KXdxDb8Kn0xpMH1Z5b4yKYlvn252zPmkyYz228ryTeY,43666
185
185
  ccxt/abstract/onetrading.py,sha256=TtJq4d44lrutV8wcK0lX4v0EfQ72ly6fxR-zB7-FSuI,3859
186
186
  ccxt/abstract/p2b.py,sha256=XwaH1hLIi2T6RHltUwFj28Y5fbo6dc0jbjI01sVeOJw,2054
187
187
  ccxt/abstract/paymium.py,sha256=Bol6PEkHg_47betqBnL4aQQ4IhIp4owID_12VfDqn0E,2843
188
- ccxt/abstract/phemex.py,sha256=6If1VvZ40gepCktSVwEWMCNvBDU4sNHmsBszx3wSUlk,15020
188
+ ccxt/abstract/phemex.py,sha256=kzAIkrs2gVUYoggXpwypT-IbYAlqRRyXfGIMk3XrwLs,15203
189
189
  ccxt/abstract/poloniex.py,sha256=dtTdTobCR2mMhCKJRqSxa1bjl9T94QiF0y31RoaqR_Y,8073
190
190
  ccxt/abstract/poloniexfutures.py,sha256=MlPqv9DdaJn9U4eW1MYjzwtL2WI_EEaYT6607hGI4SA,5219
191
191
  ccxt/abstract/probit.py,sha256=PxQkrvv3EQ2TvOxJmc_mAF_aH8xFFw6pZaVVjjUo5_4,1969
@@ -199,13 +199,13 @@ ccxt/abstract/woo.py,sha256=xilL7EbvUmJ_zBb_r1Q7cTi4bHsBQN2mFu0TGu7WHG0,8890
199
199
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
200
200
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
201
201
  ccxt/abstract/zonda.py,sha256=aSfewvRojzmuymX6QbOnDR8v9VFqWTULMHX9Y7kKD1M,5820
202
- ccxt/async_support/__init__.py,sha256=BPc5tLme7kvtuXAXin1OfJV1OxsMyl2PmOROYtRhKyk,14957
202
+ ccxt/async_support/__init__.py,sha256=0gKZlely_aqofa_uM7sFN8jW6L9DS8c1sl5oHfNcgOk,14957
203
203
  ccxt/async_support/ace.py,sha256=YIyqD5wpWNw6vQdgwmjQYWkVN5rhSSK9vO0NZtjSEjg,41572
204
204
  ccxt/async_support/alpaca.py,sha256=3qHXqfcFjU7XMrKeF2vlbZEnbbM018L7eQ9cRouE6e8,46456
205
205
  ccxt/async_support/ascendex.py,sha256=eD2K8_zCe2lhzmPqzCWuFrNB20WfSz0obacfNsL2nLg,144469
206
206
  ccxt/async_support/bequant.py,sha256=1hTwHovo1bW1XTIc8ZKjvJ-Xg6LfmpGdzT7TepykaVM,1188
207
- ccxt/async_support/bigone.py,sha256=8poRh1Ujf-XVflyJoe3qN_rSadICCLY0W9Iq_Tg0QhQ,90826
208
- ccxt/async_support/binance.py,sha256=0aaMv-B_JEFOM1FBIylfI5he94YJc56WJerw1uhgDiE,455151
207
+ ccxt/async_support/bigone.py,sha256=2a2VkU_Ckl3ZwF5JV015_HcDA85OzkU6wIvA_OtN860,90869
208
+ ccxt/async_support/binance.py,sha256=WnpMKwSnTsuEsuYYzR33a5WNx4A4VJ31VBiKVCEIYYU,456264
209
209
  ccxt/async_support/binancecoinm.py,sha256=IY3RLZptQA2nmZaUYRGfTa5ZY4VMWBpFYfwHc8zTHw0,1683
210
210
  ccxt/async_support/binanceus.py,sha256=6suIIYVzKDLbaQKe9flnkXakFmMtixYFwMCLVmdXVF8,4502
211
211
  ccxt/async_support/binanceusdm.py,sha256=-1r4A4tmV2pCiLGO80hzq7MIIj4MTzOD7buZGv6JauA,2518
@@ -219,29 +219,29 @@ ccxt/async_support/bitfinex.py,sha256=ZkASnFOr2yIoJ3Uk-172TLh-SqFGmjY2sF46GVq3lw
219
219
  ccxt/async_support/bitfinex2.py,sha256=PwUZYV-w2uoJuuwKtVnA68JBod1WBatOq7i5rRoRWWc,129400
220
220
  ccxt/async_support/bitflyer.py,sha256=-HnBntT5oTk50mofo6Lsi1wuK7815aPoylnKjfWeGts,40413
221
221
  ccxt/async_support/bitforex.py,sha256=JNuA3x41Sss39FW4WzzV4sIQkThtOIatcOm9cXabE_k,33997
222
- ccxt/async_support/bitget.py,sha256=bH2PLHR3p1zJcdwGW1hhz9fivUytL6tv0u_Nyb0SCoI,398659
222
+ ccxt/async_support/bitget.py,sha256=ZV27MnopcI82XCTofMigJ1RtZk4Dz1fZIs-zFQnmA7Y,399115
223
223
  ccxt/async_support/bithumb.py,sha256=6Ml9aysmbCwFHKaFvLnkSZRlvIu9Xfyowix3fIr65xE,43555
224
224
  ccxt/async_support/bitmart.py,sha256=4-0fLKk8kxkwbb-B-GWJIAB9G7jk6rHaRo_gWj5WQX4,197756
225
225
  ccxt/async_support/bitmex.py,sha256=YJnUPS3pUYv8g0ZjY7c7Eb0F3dU_H8-chE15IjYnA-M,122930
226
226
  ccxt/async_support/bitopro.py,sha256=FXBalVZQmj9pUuMj-S0WX5aKxEWGPy5_cFDxEaGFeUU,68459
227
227
  ccxt/async_support/bitpanda.py,sha256=2k3URBWrpnh2xHa7JiYenI7_4MW5UeOPGzetlmRkR4U,485
228
- ccxt/async_support/bitrue.py,sha256=fZQorbDnhiPtFfXhVmd1j4Mz_XoBoFBY6-hV4QuZ9io,136492
228
+ ccxt/async_support/bitrue.py,sha256=2i8Dh0UQQr8O4jn9vAJ4fUTXIt8Ia7l9aLFg8goO574,136535
229
229
  ccxt/async_support/bitso.py,sha256=pzY1N0FQZOY23yVn4Gln3M5tGBCOmMzrQ_SWdPZOoCk,69908
230
230
  ccxt/async_support/bitstamp.py,sha256=K8ggkLBcEVL47P671iLl8_60BfU_KtD5xLPr8--hr90,87412
231
231
  ccxt/async_support/bitteam.py,sha256=NiYdMFxTN9MnprhdK1AXlXTpgZ7Mff2D9ziE5yOBLPw,102112
232
- ccxt/async_support/bitvavo.py,sha256=l1LJooVQp2r3ER6bhL-9LNhkpHbi32MvPKgPQgFtWNY,87498
232
+ ccxt/async_support/bitvavo.py,sha256=faxO8Ese24_56CbXqjvenRwYBdONBkXfitbKPcp8rXA,91645
233
233
  ccxt/async_support/bl3p.py,sha256=MuCRUN5dUVzZX0pcMtBCw-Eb4fmwp2TvIYDSJZv7doQ,17943
234
- ccxt/async_support/blockchaincom.py,sha256=gYZe7NoAixdQdElH-sb5j_VHKPFxmHHTgrsCf_k57OM,47544
234
+ ccxt/async_support/blockchaincom.py,sha256=ggpnYeQW3Ad0v_ZBpg6Qt8XmCcLKv7cPiT42snD2b1s,47652
235
235
  ccxt/async_support/btcalpha.py,sha256=odkoSydTB54Z5Igct4ruxYfw-swNRRGnQI7iXvW-7os,35972
236
236
  ccxt/async_support/btcbox.py,sha256=0wO0Xiz0Y0dnoEq9gTWFHlWIkCoMjLa9LgAie5xsxyo,22979
237
237
  ccxt/async_support/btcmarkets.py,sha256=MRVRPbwsFouFk_kFQuzNCAZKmFUED7MTJjaU0Ooq684,48932
238
238
  ccxt/async_support/btcturk.py,sha256=sRHIm-_jNGAeOcpB0HBZ4GspCEgyfdjnk9BrN0Vkq48,35676
239
- ccxt/async_support/bybit.py,sha256=_FIV4W4Bn32B5rDb69Lwk4-l_ym7M_Nl5zLsRQeL3wY,357206
239
+ ccxt/async_support/bybit.py,sha256=cDJd0pDhznSaOMDKdkcbNDjj0dX5BXtzUEoOGlxnTSs,359563
240
240
  ccxt/async_support/cex.py,sha256=EhpfGzB3yt5rezoQAI3fSudDvMCJfePRRSaBUQgCn0M,69873
241
241
  ccxt/async_support/coinbase.py,sha256=ZH3-6eFyKSs_5phZCYmkdmMWtpgTNbnmJImQAoncNbs,155081
242
- ccxt/async_support/coinbasepro.py,sha256=Z0QoZgDSwxHFqfNMbGh7h1moqqHketMjVUWIU131krM,78674
242
+ ccxt/async_support/coinbasepro.py,sha256=XRCDQdcEuCWKpcTCyrx3qD5Jnj-sXIVrYQYZwX6-LCs,78717
243
243
  ccxt/async_support/coincheck.py,sha256=FCEJon-wjJR6wu-dE1XZSEhmGpzCCo1P1MgoN3qGfC0,34861
244
- ccxt/async_support/coinex.py,sha256=Kh58U_Okb-zx5BLOYYGPkQMJN5lUO2kxa7iACgQN6pU,225984
244
+ ccxt/async_support/coinex.py,sha256=ENquwAuN0C2BHDj0TwE-M_0SYEc1z5esQRux1Z3ivn4,227174
245
245
  ccxt/async_support/coinlist.py,sha256=Tnv-3YyXd5_P4Z7CZs8Dv8yENqJlK4jr3bsqSEpDvPA,103159
246
246
  ccxt/async_support/coinmate.py,sha256=BGiq-0tma9yngBGGyXoqDVRhiVfUxOo_IfKpX9h-pv0,40202
247
247
  ccxt/async_support/coinone.py,sha256=ucPf-vh5oaUSRp0sdALlDj5aRd1FWNxNPmq-VqdP-KM,46918
@@ -250,12 +250,12 @@ ccxt/async_support/coinspot.py,sha256=py_wOzt-2jYuD6W8LyD9Vtij2NbwcfmTAJRb-tPJUa
250
250
  ccxt/async_support/cryptocom.py,sha256=-JGmuUYlT1d6gZGVaEZoRndgVLa2wBl5DoLsV2NPEcs,128454
251
251
  ccxt/async_support/currencycom.py,sha256=1b_wbCu-M74vRVpTQHBc7ELkWP0YEtPBm0axIGJ7yEs,84640
252
252
  ccxt/async_support/delta.py,sha256=fvY__QhZ8nXJOGppXqIQLvPv9rHcLMG9O9Pxa7ARGSc,139797
253
- ccxt/async_support/deribit.py,sha256=2lm_9GNJAOscaBg4mPBthHOzqwfBGCtRYSdtBXT7MKc,146733
253
+ ccxt/async_support/deribit.py,sha256=tojvqbjiL6rdXrPxixBJkWhP_-o4ad-NPZV3F7U0un8,151616
254
254
  ccxt/async_support/digifinex.py,sha256=xBU-JS-dogoxoZquhzHk5SkNr4FDpTNmGN0yRzEwU5c,169902
255
255
  ccxt/async_support/exmo.py,sha256=PsAnyAt10JIr9sN0SsMiNOywcxoU6k_kz9qO-U4gv6I,112400
256
256
  ccxt/async_support/flowbtc.py,sha256=bCnvtcNnPxxaxqVjI1GGXKhIpz_1r4GIFWqqPokvCR0,1183
257
257
  ccxt/async_support/fmfwio.py,sha256=lzfSnPrB2ARcC3EIqAuBM4vyg6LJ6n8RE71Zvt3ez1s,1250
258
- ccxt/async_support/gate.py,sha256=7Jrx7tPq1gjjzX9WgwQFlbDL23KBfmAwhWfo7kOMcqc,297221
258
+ ccxt/async_support/gate.py,sha256=JRrhXsaQK2ECb3OZNeXW71uQsP10JcIfnddzE7z5F40,298840
259
259
  ccxt/async_support/gateio.py,sha256=6_t032F9p9x5KGTjtSuqGXITzFOx-XAQBYLpsuQjzxw,459
260
260
  ccxt/async_support/gemini.py,sha256=2-2qD50uAxnCugCnGnPJCW75JWWP58sr6uVJRFKmlms,75168
261
261
  ccxt/async_support/hitbtc.py,sha256=-O3Ttj_Twp3ry_mPtf2KZRp3Od7oYHlfJdlKzEgJmO8,151090
@@ -279,15 +279,15 @@ ccxt/async_support/lykke.py,sha256=eg_-tR1gJLbBiNuyDRF1BU9Tx8QwQJUIhTtwZqzliIE,4
279
279
  ccxt/async_support/mercado.py,sha256=iWrbY3e0vLQupTsclLaD21jH8r6Nd3FlOLC9va-WZz0,35237
280
280
  ccxt/async_support/mexc.py,sha256=IHC_Wd0ylzLClxlRiMAippKxa-kXwuvOEh69HTyanZk,227240
281
281
  ccxt/async_support/ndax.py,sha256=yzMpL0nnTardfR4o1dNCpYlGIppsyC1r5VyrclNRy6U,107794
282
- ccxt/async_support/novadax.py,sha256=Cb7DUku4wREZ4Kg7WVwyh-W5pRHX3Ff4GXJiww4zCrE,64185
282
+ ccxt/async_support/novadax.py,sha256=531073Rhs_VP0VLjoacBaTaulYXfQ8CwiE4w9Do8idw,64366
283
283
  ccxt/async_support/oceanex.py,sha256=mlcq8HPPNYcU6lZGrbavceRHkGJuEjZRLek7vRVY3NY,37961
284
- ccxt/async_support/okcoin.py,sha256=UZe_pfZU_OsvUNudW10_jPWLmhYeasyE9rKwpFFUpqo,148543
284
+ ccxt/async_support/okcoin.py,sha256=UPyEA7MsS-ulF756KFLXwQmZp-0QfNZdIrn6nxZ-7wI,148682
285
285
  ccxt/async_support/okx.py,sha256=hPV9jqX6XP2JxuivZ0JNn5TfjD-XuM6qOsdX30Jqf3I,330890
286
286
  ccxt/async_support/onetrading.py,sha256=HtsUSiimeqRy4-Nwx9mzOST6YUmcR2P2UnRwJxGQukk,88317
287
287
  ccxt/async_support/p2b.py,sha256=lkrN13F1rNj6WsFkoPa2O5eBtDe4iKnl5v3dNc4ZI0M,54263
288
288
  ccxt/async_support/paymium.py,sha256=ytSECSpo34-Uz_AcKYmcXgfewmymtBEspkHlVyHLPAE,24310
289
- ccxt/async_support/phemex.py,sha256=5nGgXf49T_ykGA1r4KooXek9mV1HGWctJFcj1q2kXNM,217786
290
- ccxt/async_support/poloniex.py,sha256=PPjukxoXwVxSOyv6JoMusAgPdWrBnmhFW7pQmSQzm6g,102194
289
+ ccxt/async_support/phemex.py,sha256=8hhxSV4y2SwMY64fQErTdZ6NIIVzwoCiMq9B1plilEc,218225
290
+ ccxt/async_support/poloniex.py,sha256=ZJBgHovXztyBFJ1d-FpaDaO8sqmdsvcblgUAhhsUTfg,102237
291
291
  ccxt/async_support/poloniexfutures.py,sha256=onMB9qgbTpJ8PjVq5JLyJj3ljh8LZxw72G9fAF1s7XA,77341
292
292
  ccxt/async_support/probit.py,sha256=-oOGJmZeobVuBDGqM9YofbQWJsJjJL9WMtIuYw5RjmY,76503
293
293
  ccxt/async_support/timex.py,sha256=ZITV1TgttU3qUa5m8wwjbf8BrRwfsdYyUHKyybs8Iew,65964
@@ -296,12 +296,12 @@ ccxt/async_support/upbit.py,sha256=pdGfNUxRaLIVuy2BxQEyw1St1Kvgli1vlzDjQLfhC48,7
296
296
  ccxt/async_support/wavesexchange.py,sha256=06EyIFMNdj2ejCUI3lOqa4cJAsyn0u7ZPZY8G5BEp6M,113875
297
297
  ccxt/async_support/wazirx.py,sha256=63p9wpoc-xZpMOyagQAcJU8nRGos-9W7jt04-28-LOI,37119
298
298
  ccxt/async_support/whitebit.py,sha256=HLMDWUQc2whrhV9_lk8FT_Vfm_tbrBJE_gZzAJqAhx8,101244
299
- ccxt/async_support/woo.py,sha256=WN4aoSn2CMvRjSQScnoQM0ogKvrkZLQEugyXsflPhAk,116418
299
+ ccxt/async_support/woo.py,sha256=H4k0RXOms4v1k8Nn3XH5E4hCQeZ59T6MV8a-1XT1drc,116417
300
300
  ccxt/async_support/yobit.py,sha256=d9bkNQqL47g7zwt4g_PnhoTQETISVwL8TfhmInvKvkU,52172
301
301
  ccxt/async_support/zaif.py,sha256=F-WWDIDZcd06wkzfl2mS757UC83RlCOydQqXXspGk4w,28094
302
302
  ccxt/async_support/zonda.py,sha256=huZYyfwcqQ6kxkxnkf7CW0nXbYWe6nTWnSJjxy5W3po,80676
303
303
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
304
- ccxt/async_support/base/exchange.py,sha256=hFZ0GbrsudRu0K0d8PdS5PLwFrB-i4YiTbRPJFxoztU,85289
304
+ ccxt/async_support/base/exchange.py,sha256=FKpDZ8HfV_3m2jFZBnuvwdnFH_OUdT_YlcNG716vqNI,86078
305
305
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
306
306
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
307
307
  ccxt/async_support/base/ws/aiohttp_client.py,sha256=6V696iYYJN1JWGtO7Ye4EjwyfPQDCiwLSZoMFcrZhzg,5638
@@ -315,29 +315,29 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=Pxrq22nCODckJ6G1OXkYEmUunIu
315
315
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
316
316
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
317
317
  ccxt/base/errors.py,sha256=eEbGQhEjDBg6xFYGuYzZvgHBcKdXLeBhSx9bzBacawM,4084
318
- ccxt/base/exchange.py,sha256=KrDCFoOWt-orOYh-2TmmO10XH_gfskN5WJc5WG4-z5s,231942
318
+ ccxt/base/exchange.py,sha256=BXTjKf6YPMcT-zmTlNTXfwluEhmeuPB1pumpg4JLIKc,232674
319
319
  ccxt/base/precise.py,sha256=_xfu54sV0vWNnOfGTKRFykeuWP8mn4K1m9lk1tcllX4,8565
320
320
  ccxt/base/types.py,sha256=_kkShzrcaWsH-YMr1J2FttpxXQq0oAMpOGmVQWg6X1Y,5690
321
- ccxt/pro/__init__.py,sha256=RUWefCsPa0oXzCy1qIWCShA1UbjhBwQxuYSPMhhsxGs,6577
321
+ ccxt/pro/__init__.py,sha256=yO_FUPpVDETNnkvLE2gkR0hr4Sk43VwNtxbycrC5HlE,6577
322
322
  ccxt/pro/alpaca.py,sha256=Ji-O_O7Oy-Kprof6Hot8PSmIiYK2AfgKVH7QYiWFka8,27105
323
323
  ccxt/pro/ascendex.py,sha256=WufmBj0dovENBocBpb29a6CcHuMpsSsdDUyL69W3Qrk,34858
324
- ccxt/pro/bequant.py,sha256=3IeQ0vPg-eVqPiGMfX7yqH9qtXKm1ZqocQDeLwpA8EE,1093
325
- ccxt/pro/binance.py,sha256=8zqGZGrjXcRd_LDYl735NHySeO_8WL32atvlqqCDzLg,122962
326
- ccxt/pro/binancecoinm.py,sha256=vu5SUgP70T1Dax-Am3rch7ZldGrmUwxr_rI51Y38xjw,724
327
- ccxt/pro/binanceus.py,sha256=z3nif7plrd5DVrgqdnx9n-ZUbc826IkvudQ1Ec1DHpU,2078
324
+ ccxt/pro/bequant.py,sha256=q6i8k79WVw8JMzCB4moxXzbolx5RT242Oe-Y4ybE1Fs,1330
325
+ ccxt/pro/binance.py,sha256=YnbkqRpLYHYvZ6iiCGT1a3kBlyfukZG6WhCAb-SnJME,123217
326
+ ccxt/pro/binancecoinm.py,sha256=s_evAyeT23VqscMRuSjrCK2CSaNsP-oc8A8noSuaLwQ,976
327
+ ccxt/pro/binanceus.py,sha256=uSPp40QW4aLUzZ0BYlJ7fXHUhsfeRA3ZDq6S8UBIlLY,2321
328
328
  ccxt/pro/binanceusdm.py,sha256=S0eT662O2ReplsihWk42nhJWqw1XsODpeDQa9eFVVt8,1357
329
329
  ccxt/pro/bingx.py,sha256=9tDKbmzB-RSmsPfhNbpyC8EMSM6O2IF43jFv1kquVoI,35363
330
- ccxt/pro/bitcoincom.py,sha256=ipRe4xMqvwh81FAJhzQI8P_sGCmmHFw42owF-FwcoD4,914
330
+ ccxt/pro/bitcoincom.py,sha256=__CLfFlQ4VyEwQP2Z5ZjHmkhGdz6AdYHf5LfuAtKk_k,1151
331
331
  ccxt/pro/bitfinex.py,sha256=B1woImutbpMHV0LzXAbnTXMKw4OnizgbgMAGH8rMnDI,24771
332
332
  ccxt/pro/bitfinex2.py,sha256=rSFgZGcnh5039qv8b5Hdako293jKtjlzVlLVWZYtCQM,42661
333
- ccxt/pro/bitget.py,sha256=J5aFk2ngbm-PqD-ayzgE-IpCglB9CqWRNXo5UA6taOw,70926
333
+ ccxt/pro/bitget.py,sha256=vhdeTaKAPFygWYc4M3zrNzZYw2xcpFwSyl0xWLN8nCA,70918
334
334
  ccxt/pro/bitmart.py,sha256=Jsn99JtFkXNcF9RtYxQ-t--7P4YS8Jj0veyJ5CPd9_M,58560
335
335
  ccxt/pro/bitmex.py,sha256=JEm0Kcgtm3--8GELavjEPvnVpECOKaNUX6C3vQ0KiNQ,66386
336
- ccxt/pro/bitopro.py,sha256=Pu20gUt-ixYiabM1jon-sGqjDYtOqYKc6I0x2UgSrCs,12708
336
+ ccxt/pro/bitopro.py,sha256=gL3PuVkCV0xl_zH1tuUVNsYRcM1qA3QU8OYH15mLT4Y,13145
337
337
  ccxt/pro/bitpanda.py,sha256=ELrhfFKN9YJJdmm9wBf-vpk6WsXGWGf-SyJdqm-E_Lg,415
338
- ccxt/pro/bitrue.py,sha256=zEaD5WsZwY511M0-iJJPwSypMcvYvopTTd4QdiUGQDE,16277
338
+ ccxt/pro/bitrue.py,sha256=ID5wKD_mcxcK24nxx1-r13U0NKcv-C2unK9nWxb_154,16443
339
339
  ccxt/pro/bitstamp.py,sha256=W7ves4-DtWJhzhCKEUEpdM3wZl1BNPgmYwuGcN1SY7I,20922
340
- ccxt/pro/bitvavo.py,sha256=Te0xM-6jGacvZqgSBKKUVX3R0pIUz9nreOm3mJXyT9Y,26604
340
+ ccxt/pro/bitvavo.py,sha256=Kkhp9GzykvXZlM3_-9ndDWrvDmzwljq4LQnMgkcJig0,55856
341
341
  ccxt/pro/blockchaincom.py,sha256=8bzpn6gsBZmrM-aHHN14_U1fP3ZdpaT58hZf7oEZ1Rw,30433
342
342
  ccxt/pro/bybit.py,sha256=XEYjvPExz3pr9bXGP46OXyKNiIG2eVaiZBk5YKesFJo,73881
343
343
  ccxt/pro/cex.py,sha256=5AQEVZf9-FAWPhi9fjMuA2ST86nzF4MH7q91tomEfy0,57476
@@ -364,12 +364,12 @@ ccxt/pro/kraken.py,sha256=fWIhnop_RzQbFD4NDnIb5eEVhwbgDijT8XC7C_dXzWY,56301
364
364
  ccxt/pro/krakenfutures.py,sha256=JwGlbudHWS_dGf7Y7yjAFQgIbLb5xhIWHwkgUIGccug,59973
365
365
  ccxt/pro/kucoin.py,sha256=IdQgApJfAm9lbZjfI3-WqY8QjaAU1Nst-VGIyT48DQY,43605
366
366
  ccxt/pro/kucoinfutures.py,sha256=Atfybpi2KZZEhQV1u0RvCJw-DcAS5vyx88gpGXkNxLQ,42454
367
- ccxt/pro/lbank.py,sha256=lMJNI-DlEmj0jC7d9zEK_Li3_-0mmZ0qAeMwRCpOBDs,35057
367
+ ccxt/pro/lbank.py,sha256=iYs4dRhF8d9tdnQsNK8V-0MYLvr5YcwaJPUD77QfvpI,35052
368
368
  ccxt/pro/luno.py,sha256=9VpFjzY9Ktba67KZu03fZfLck2Y6g3I0UswpwB9EskU,12450
369
369
  ccxt/pro/mexc.py,sha256=BDBo3NPWhFiPp-5rNlKHKB_PrZHT9Ry9fxnu0fEbbhA,42450
370
370
  ccxt/pro/ndax.py,sha256=WvQju-OBHWNU63vxa4A_iQyVChjg-xmRCPsNhuU06Ms,22763
371
371
  ccxt/pro/okcoin.py,sha256=jxMKEXWtrxlFWEjrWui7NZIBqS_Kl91RzDqQqMYlChw,30485
372
- ccxt/pro/okx.py,sha256=xQfsA5EYoEnEE0OnQQaPllS-5ZE6bCjWk_oXOKg_daw,67070
372
+ ccxt/pro/okx.py,sha256=X77aiA_7KY6YUfytAqDc5VEC9zdOJMO_pXf7lz2d_Nk,67632
373
373
  ccxt/pro/onetrading.py,sha256=n-sjg9uTz5s8iadbEjnY0ix3qg66BfK3pQDupF-mPEA,54744
374
374
  ccxt/pro/phemex.py,sha256=acpO5V93ToeVHd9APYYR7j9NrsiAVmpHyyfuVctY7Qs,60562
375
375
  ccxt/pro/poloniex.py,sha256=7twPOg46qpq2lKr7DnjGlGAJuMuKveAoV5L-4Q94pKU,51141
@@ -393,8 +393,8 @@ ccxt/static_dependencies/ecdsa/util.py,sha256=M0NQZ4dDQFTd8afSkF-7YyP9KbsXzOn-VU
393
393
  ccxt/static_dependencies/keccak/__init__.py,sha256=mfcrTChnMXsr-JmfN2VbzscTRt9XA2RRGchfHRMYncU,45
394
394
  ccxt/static_dependencies/keccak/keccak.py,sha256=RblmQEQkGpMhug0EU3hyE0kBjs1NDfGQqbwrBK7ZycY,6934
395
395
  ccxt/test/__init__.py,sha256=GKPbEcj0Rrz5HG-GUm-iY1IHhDYmlvcBXZAGk6-m2CI,141
396
- ccxt/test/test_async.py,sha256=q8_d-lAxRJJJjiUenSBogUvhbTzop3_YMjfK8GaxyzI,66643
397
- ccxt/test/test_sync.py,sha256=K6z0oyIoiQLFk8-3rS-bmWyzMAJm7v0VsbO5R3cgS0s,65708
396
+ ccxt/test/test_async.py,sha256=f4FEo30_Oj0gk5gnGxfIraA1HLWMP-XoMBDIzU1sROI,67621
397
+ ccxt/test/test_sync.py,sha256=N2JH-3jFDlpWC_RMwfmrv06HrsN1pGJXf6PXGbihWCc,66674
398
398
  ccxt/test/base/__init__.py,sha256=ds8P0F0yUif2RRYwKNIks8Tef3j6Kg_bCAOxZJqgxtA,1816
399
399
  ccxt/test/base/test_account.py,sha256=lxwZXsY8qZgomBoEiomUmWcseSp--orJx-xmm3E1vYs,978
400
400
  ccxt/test/base/test_balance.py,sha256=j8pa_6EJoWadWk-JcL--gI6kUrb6wiwffchOqjBY2_A,2614
@@ -428,7 +428,7 @@ ccxt/test/base/test_ticker.py,sha256=AMlFK-U3W64B0QQ_zzWZC_8OflDh0PFJrs4l3iv9lFk
428
428
  ccxt/test/base/test_trade.py,sha256=lhT9nxiSr0AEvKbdGXL9qJOkz1EiKEmA0TDfdCbubg8,2295
429
429
  ccxt/test/base/test_trading_fee.py,sha256=2aDCNJtqBkTC_AieO0l1HYGq5hz5qkWlkWb9Nv_fcwk,1066
430
430
  ccxt/test/base/test_transaction.py,sha256=BTbB4UHHXkrvYgwbrhh867nVRlevmIkIrz1W_odlQJI,1434
431
- ccxt-4.2.20.dist-info/METADATA,sha256=nk2yYuX_6NmTwFk8ldEla8954V0K1-8sc_EVSnZRr5Y,106247
432
- ccxt-4.2.20.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
433
- ccxt-4.2.20.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
434
- ccxt-4.2.20.dist-info/RECORD,,
431
+ ccxt-4.2.22.dist-info/METADATA,sha256=wLyRIQWBkpRJ-zrMQYlPqa64FPwD-z_L0O8Yg4e1ajI,106247
432
+ ccxt-4.2.22.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
433
+ ccxt-4.2.22.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
434
+ ccxt-4.2.22.dist-info/RECORD,,
File without changes