ccxt 4.4.32__py2.py3-none-any.whl → 4.4.33__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
ccxt/kucoinfutures.py CHANGED
@@ -1423,7 +1423,7 @@ class kucoinfutures(kucoin, ImplicitAPI):
1423
1423
  :param str [params.postOnly]: Post only flag, invalid when timeInForce is IOC or FOK
1424
1424
  :param float [params.cost]: the cost of the order in units of USDT
1425
1425
  ----------------- Exchange Specific Parameters -----------------
1426
- :param float [params.leverage]: Leverage size of the order
1426
+ :param float [params.leverage]: Leverage size of the order(mandatory param in request, default is 1)
1427
1427
  :param str [params.clientOid]: client order id, defaults to uuid if not passed
1428
1428
  :param str [params.remark]: remark for the order, length cannot exceed 100 utf8 characters
1429
1429
  :param str [params.stop]: 'up' or 'down', the direction the stopPrice is triggered from, requires stopPrice. down: Triggers when the price reaches or goes below the stopPrice. up: Triggers when the price reaches or goes above the stopPrice.
ccxt/lbank.py CHANGED
@@ -221,6 +221,7 @@ class lbank(Exchange, ImplicitAPI):
221
221
  },
222
222
  },
223
223
  'commonCurrencies': {
224
+ 'HIT': 'Hiver',
224
225
  'VET_ERC20': 'VEN',
225
226
  'PNT': 'Penta',
226
227
  },
ccxt/okx.py CHANGED
@@ -1199,6 +1199,97 @@ class okx(Exchange, ImplicitAPI):
1199
1199
  },
1200
1200
  'brokerId': 'e847386590ce4dBC',
1201
1201
  },
1202
+ 'features': {
1203
+ # https://www.okx.com/docs-v5/en/#order-book-trading-trade-post-place-order
1204
+ 'default': {
1205
+ 'sandbox': True,
1206
+ 'createOrder': {
1207
+ 'triggerPrice': True,
1208
+ 'triggerPriceType': {
1209
+ 'last': True,
1210
+ 'mark': True,
1211
+ 'index': True,
1212
+ },
1213
+ 'triggerDirection': False,
1214
+ 'stopLossPrice': True,
1215
+ 'takeProfitPrice': True,
1216
+ 'marginMode': True,
1217
+ 'attachedStopLossTakeProfit': {
1218
+ 'triggerPriceType': {
1219
+ 'last': True,
1220
+ 'mark': True,
1221
+ 'index': True,
1222
+ },
1223
+ 'limitPrice': True,
1224
+ },
1225
+ 'timeInForce': {
1226
+ 'GTC': True,
1227
+ 'IOC': True,
1228
+ 'FOK': True,
1229
+ 'PO': True,
1230
+ 'GTD': False,
1231
+ },
1232
+ 'hedged': True,
1233
+ # even though the below params not unified yet, it's useful metadata for users to know that exchange supports them
1234
+ 'selfTradePrevention': True,
1235
+ 'trailing': True,
1236
+ 'twap': True,
1237
+ 'iceberg': True,
1238
+ 'oco': True,
1239
+ },
1240
+ 'createOrders': {
1241
+ 'max': 20,
1242
+ },
1243
+ 'fetchMyTrades': {
1244
+ 'daysBack': 90,
1245
+ 'limit': 100,
1246
+ 'untilDays': 10000,
1247
+ },
1248
+ 'fetchOrder': {
1249
+ 'marginMode': False,
1250
+ 'trigger': True,
1251
+ 'trailing': True,
1252
+ },
1253
+ 'fetchOpenOrders': {
1254
+ 'limit': 100,
1255
+ 'marginMode': False,
1256
+ 'trigger': True,
1257
+ 'trailing': True,
1258
+ },
1259
+ 'fetchOrders': None, # not supported
1260
+ 'fetchClosedOrders': {
1261
+ 'limit': 100,
1262
+ 'daysBackClosed': 90, # 3 months
1263
+ 'daysBackCanceled': 1 / 12, # 2 hour
1264
+ 'untilDays': None,
1265
+ 'marginMode': False,
1266
+ 'trigger': True,
1267
+ 'trailing': True,
1268
+ },
1269
+ 'fetchOHLCV': {
1270
+ 'limit': 300,
1271
+ },
1272
+ },
1273
+ 'spot': {
1274
+ 'extends': 'default',
1275
+ },
1276
+ 'swap': {
1277
+ 'linear': {
1278
+ 'extends': 'default',
1279
+ },
1280
+ 'inverse': {
1281
+ 'extends': 'default',
1282
+ },
1283
+ },
1284
+ 'future': {
1285
+ 'linear': {
1286
+ 'extends': 'default',
1287
+ },
1288
+ 'inverse': {
1289
+ 'extends': 'default',
1290
+ },
1291
+ },
1292
+ },
1202
1293
  'commonCurrencies': {
1203
1294
  # the exchange refers to ERC20 version of Aeternity(AEToken)
1204
1295
  'AE': 'AET', # https://github.com/ccxt/ccxt/issues/4981
@@ -3077,7 +3168,7 @@ class okx(Exchange, ImplicitAPI):
3077
3168
  if not isAlgoOrder:
3078
3169
  if price is not None:
3079
3170
  request['newPx'] = self.price_to_precision(symbol, price)
3080
- params = self.omit(params, ['clOrdId', 'clientOrderId', 'takeProfitPrice', 'stopLossPrice', 'stopLoss', 'takeProfit'])
3171
+ params = self.omit(params, ['clOrdId', 'clientOrderId', 'takeProfitPrice', 'stopLossPrice', 'stopLoss', 'takeProfit', 'postOnly'])
3081
3172
  return self.extend(request, params)
3082
3173
 
3083
3174
  def edit_order(self, id: str, symbol: str, type: OrderType, side: OrderSide, amount: Num = None, price: Num = None, params={}):
ccxt/phemex.py CHANGED
@@ -525,7 +525,7 @@ class phemex(Exchange, ImplicitAPI):
525
525
  def parse_swap_market(self, market: dict):
526
526
  #
527
527
  # {
528
- # "symbol":"BTCUSD",
528
+ # "symbol":"BTCUSD", #
529
529
  # "code":"1",
530
530
  # "type":"Perpetual",
531
531
  # "displaySymbol":"BTC / USD",
@@ -533,7 +533,7 @@ class phemex(Exchange, ImplicitAPI):
533
533
  # "markSymbol":".MBTC",
534
534
  # "fundingRateSymbol":".BTCFR",
535
535
  # "fundingRate8hSymbol":".BTCFR8H",
536
- # "contractUnderlyingAssets":"USD",
536
+ # "contractUnderlyingAssets":"USD", # or eg. `1000 SHIB`
537
537
  # "settleCurrency":"BTC",
538
538
  # "quoteCurrency":"USD",
539
539
  # "contractSize":"1 USD",
@@ -577,6 +577,7 @@ class phemex(Exchange, ImplicitAPI):
577
577
  quoteId = self.safe_string(market, 'quoteCurrency')
578
578
  settleId = self.safe_string(market, 'settleCurrency')
579
579
  base = self.safe_currency_code(baseId)
580
+ base = base.replace(' ', '') # replace space for junction codes, eg. `1000 SHIB`
580
581
  quote = self.safe_currency_code(quoteId)
581
582
  settle = self.safe_currency_code(settleId)
582
583
  inverse = False
@@ -2540,7 +2541,7 @@ class phemex(Exchange, ImplicitAPI):
2540
2541
  if stopLossDefined:
2541
2542
  stopLossTriggerPrice = self.safe_value_2(stopLoss, 'triggerPrice', 'stopPrice')
2542
2543
  if stopLossTriggerPrice is None:
2543
- raise InvalidOrder(self.id + ' createOrder() requires a trigger price in params["stopLoss"]["triggerPrice"], or params["stopLoss"]["stopPrice"] for a stop loss order')
2544
+ raise InvalidOrder(self.id + ' createOrder() requires a trigger price in params["stopLoss"]["triggerPrice"] for a stop loss order')
2544
2545
  if market['settle'] == 'USDT':
2545
2546
  request['stopLossRp'] = self.price_to_precision(symbol, stopLossTriggerPrice)
2546
2547
  else:
@@ -2554,7 +2555,7 @@ class phemex(Exchange, ImplicitAPI):
2554
2555
  if takeProfitDefined:
2555
2556
  takeProfitTriggerPrice = self.safe_value_2(takeProfit, 'triggerPrice', 'stopPrice')
2556
2557
  if takeProfitTriggerPrice is None:
2557
- raise InvalidOrder(self.id + ' createOrder() requires a trigger price in params["takeProfit"]["triggerPrice"], or params["takeProfit"]["stopPrice"] for a take profit order')
2558
+ raise InvalidOrder(self.id + ' createOrder() requires a trigger price in params["takeProfit"]["triggerPrice"] for a take profit order')
2558
2559
  if market['settle'] == 'USDT':
2559
2560
  request['takeProfitRp'] = self.price_to_precision(symbol, takeProfitTriggerPrice)
2560
2561
  else:
@@ -2715,13 +2716,13 @@ class phemex(Exchange, ImplicitAPI):
2715
2716
  request['orderQtyRq'] = self.amount_to_precision(market['symbol'], amount)
2716
2717
  else:
2717
2718
  request['baseQtyEV'] = self.to_ev(amount, market)
2718
- stopPrice = self.safe_string_2(params, 'stopPx', 'stopPrice')
2719
+ stopPrice = self.safe_string_n(params, ['triggerPrice', 'stopPx', 'stopPrice'])
2719
2720
  if stopPrice is not None:
2720
2721
  if isUSDTSettled:
2721
2722
  request['stopPxRp'] = self.price_to_precision(symbol, stopPrice)
2722
2723
  else:
2723
2724
  request['stopPxEp'] = self.to_ep(stopPrice, market)
2724
- params = self.omit(params, ['stopPx', 'stopPrice'])
2725
+ params = self.omit(params, ['triggerPrice', 'stopPx', 'stopPrice'])
2725
2726
  response = None
2726
2727
  if isUSDTSettled:
2727
2728
  posSide = self.safe_string(params, 'posSide')
@@ -3960,6 +3961,9 @@ class phemex(Exchange, ImplicitAPI):
3960
3961
  def set_margin_mode(self, marginMode: str, symbol: Str = None, params={}):
3961
3962
  """
3962
3963
  set margin mode to 'cross' or 'isolated'
3964
+
3965
+ https://phemex-docs.github.io/#set-leverage
3966
+
3963
3967
  :param str marginMode: 'cross' or 'isolated'
3964
3968
  :param str symbol: unified market symbol
3965
3969
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -4223,6 +4227,10 @@ class phemex(Exchange, ImplicitAPI):
4223
4227
  def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}) -> TransferEntry:
4224
4228
  """
4225
4229
  transfer currency internally between wallets on the same account
4230
+
4231
+ https://phemex-docs.github.io/#transfer-between-spot-and-futures
4232
+ https://phemex-docs.github.io/#universal-transfer-main-account-only-transfer-between-sub-to-main-main-to-sub-or-sub-to-sub
4233
+
4226
4234
  :param str code: unified currency code
4227
4235
  :param float amount: amount to transfer
4228
4236
  :param str fromAccount: account to transfer from
@@ -4299,6 +4307,9 @@ class phemex(Exchange, ImplicitAPI):
4299
4307
  def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[TransferEntry]:
4300
4308
  """
4301
4309
  fetch a history of internal transfers made on an account
4310
+
4311
+ https://phemex-docs.github.io/#query-transfer-history
4312
+
4302
4313
  :param str code: unified currency code of the currency transferred
4303
4314
  :param int [since]: the earliest time in ms to fetch transfers for
4304
4315
  :param int [limit]: the maximum number of transfers structures to retrieve
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.32'
7
+ __version__ = '4.4.33'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
ccxt/pro/okx.py CHANGED
@@ -2135,6 +2135,7 @@ class okx(ccxt.async_support.okx):
2135
2135
  #
2136
2136
  # {event: 'error', msg: "Illegal request: {"op":"subscribe","args":["spot/ticker:BTC-USDT"]}", code: "60012"}
2137
2137
  # {event: 'error", msg: "channel:ticker,instId:BTC-USDT doesn"t exist", code: "60018"}
2138
+ # {"event":"error","msg":"Illegal request: {\\"id\\":\\"17321173472466905\\",\\"op\\":\\"amend-order\\",\\"args\\":[{\\"instId\\":\\"ETH-USDC\\",\\"ordId\\":\\"2000345622407479296\\",\\"newSz\\":\\"0.050857\\",\\"newPx\\":\\"2949.4\\",\\"postOnly\\":true}],\\"postOnly\\":true}","code":"60012","connId":"0808af6c"}
2138
2139
  #
2139
2140
  errorCode = self.safe_string(message, 'code')
2140
2141
  try:
@@ -2160,6 +2161,13 @@ class okx(ccxt.async_support.okx):
2160
2161
  # if the message contains an id, it means it is a response to a request
2161
2162
  # so we only reject that promise, instead of deleting all futures, destroying the authentication future
2162
2163
  id = self.safe_string(message, 'id')
2164
+ if id is None:
2165
+ # try to parse it from the stringified json inside msg
2166
+ msg = self.safe_string(message, 'msg')
2167
+ if msg is not None and msg.startswith('Illegal request: {'):
2168
+ stringifiedJson = msg.replace('Illegal request: ', '')
2169
+ parsedJson = self.parse_json(stringifiedJson)
2170
+ id = self.safe_string(parsedJson, 'id')
2163
2171
  if id is not None:
2164
2172
  client.reject(e, id)
2165
2173
  return False
ccxt/test/tests_async.py CHANGED
@@ -183,6 +183,7 @@ class testMainClass:
183
183
  is_load_markets = (method_name == 'loadMarkets')
184
184
  is_fetch_currencies = (method_name == 'fetchCurrencies')
185
185
  is_proxy_test = (method_name == self.proxy_test_file_name)
186
+ is_feature_test = (method_name == 'features')
186
187
  # if this is a private test, and the implementation was already tested in public, then no need to re-test it in private test (exception is fetchCurrencies, because our approach in base exchange)
187
188
  if not is_public and (method_name in self.checked_public_tests) and not is_fetch_currencies:
188
189
  return
@@ -190,7 +191,7 @@ class testMainClass:
190
191
  supported_by_exchange = (method_name in exchange.has) and exchange.has[method_name]
191
192
  if not is_load_markets and (len(self.only_specific_tests) > 0 and not exchange.in_array(method_name, self.only_specific_tests)):
192
193
  skip_message = '[INFO] IGNORED_TEST'
193
- elif not is_load_markets and not supported_by_exchange and not is_proxy_test:
194
+ elif not is_load_markets and not supported_by_exchange and not is_proxy_test and not is_feature_test:
194
195
  skip_message = '[INFO] UNSUPPORTED_TEST' # keep it aligned with the longest message
195
196
  elif isinstance(skipped_properties_for_method, str):
196
197
  skip_message = '[INFO] SKIPPED_TEST'
@@ -336,6 +337,7 @@ class testMainClass:
336
337
 
337
338
  async def run_public_tests(self, exchange, symbol):
338
339
  tests = {
340
+ 'features': [],
339
341
  'fetchCurrencies': [],
340
342
  'fetchTicker': [symbol],
341
343
  'fetchTickers': [symbol],
@@ -228,7 +228,7 @@ def init_exchange(exchangeId, args, is_ws=False):
228
228
 
229
229
  def get_test_files_sync(properties, ws=False):
230
230
  tests = {}
231
- finalPropList = properties + [PROXY_TEST_FILE_NAME]
231
+ finalPropList = properties + [PROXY_TEST_FILE_NAME, 'features']
232
232
  for i in range(0, len(finalPropList)):
233
233
  methodName = finalPropList[i]
234
234
  name_snake_case = convert_to_snake_case(methodName)
ccxt/test/tests_sync.py CHANGED
@@ -180,6 +180,7 @@ class testMainClass:
180
180
  is_load_markets = (method_name == 'loadMarkets')
181
181
  is_fetch_currencies = (method_name == 'fetchCurrencies')
182
182
  is_proxy_test = (method_name == self.proxy_test_file_name)
183
+ is_feature_test = (method_name == 'features')
183
184
  # if this is a private test, and the implementation was already tested in public, then no need to re-test it in private test (exception is fetchCurrencies, because our approach in base exchange)
184
185
  if not is_public and (method_name in self.checked_public_tests) and not is_fetch_currencies:
185
186
  return
@@ -187,7 +188,7 @@ class testMainClass:
187
188
  supported_by_exchange = (method_name in exchange.has) and exchange.has[method_name]
188
189
  if not is_load_markets and (len(self.only_specific_tests) > 0 and not exchange.in_array(method_name, self.only_specific_tests)):
189
190
  skip_message = '[INFO] IGNORED_TEST'
190
- elif not is_load_markets and not supported_by_exchange and not is_proxy_test:
191
+ elif not is_load_markets and not supported_by_exchange and not is_proxy_test and not is_feature_test:
191
192
  skip_message = '[INFO] UNSUPPORTED_TEST' # keep it aligned with the longest message
192
193
  elif isinstance(skipped_properties_for_method, str):
193
194
  skip_message = '[INFO] SKIPPED_TEST'
@@ -333,6 +334,7 @@ class testMainClass:
333
334
 
334
335
  def run_public_tests(self, exchange, symbol):
335
336
  tests = {
337
+ 'features': [],
336
338
  'fetchCurrencies': [],
337
339
  'fetchTicker': [symbol],
338
340
  'fetchTickers': [symbol],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.4.32
3
+ Version: 4.4.33
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
@@ -273,13 +273,13 @@ console.log(version, Object.keys(exchanges));
273
273
 
274
274
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
275
275
 
276
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.32/dist/ccxt.browser.min.js
277
- * unpkg: https://unpkg.com/ccxt@4.4.32/dist/ccxt.browser.min.js
276
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.33/dist/ccxt.browser.min.js
277
+ * unpkg: https://unpkg.com/ccxt@4.4.33/dist/ccxt.browser.min.js
278
278
 
279
279
  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.
280
280
 
281
281
  ```HTML
282
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.32/dist/ccxt.browser.min.js"></script>
282
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.33/dist/ccxt.browser.min.js"></script>
283
283
  ```
284
284
 
285
285
  Creates a global `ccxt` object:
@@ -1,10 +1,10 @@
1
- ccxt/__init__.py,sha256=wcrYeQeP-Ue6l6G7pyvBfe1lWG3AZvG_G1BYQylU9lw,16586
1
+ ccxt/__init__.py,sha256=x9YRP59O8Gi4c955ZWo0AoksKjIx_Bw14epIKwNyNGI,16586
2
2
  ccxt/ace.py,sha256=UaRnqw4wwXqFZATcADG2EXWEcZADVW0vN-AZwmt4xpU,42350
3
3
  ccxt/alpaca.py,sha256=ww58sz4ka_Yf8rDwpOIqnhGeT4ZI8r_HDpk5VUBEwyU,68949
4
4
  ccxt/ascendex.py,sha256=kE9zNgHgORDwfrFL9WoT-eUJSb89Z0WJGrCw6aRl5LE,151609
5
5
  ccxt/bequant.py,sha256=XePxHZlKFJ-2FwVR9hIpdM-Ng9-ZnIhTjemMnap7H0Q,1154
6
6
  ccxt/bigone.py,sha256=DfRPqC7CX1OC_h62CEFAAPoyU-w7KqjvFY-mAtt8I_k,91288
7
- ccxt/binance.py,sha256=uJPTyXD96arcDzVJsx3t9U4QctayU-fwkBC1jLj2DGY,662763
7
+ ccxt/binance.py,sha256=vBAp6HS2Yc9KeR6CCsNMnBoprhxoyKaBi5CiicBs1wQ,668812
8
8
  ccxt/binancecoinm.py,sha256=2nFh2PcLqhqQK1uuQjsZa0eFkP-ew3liJ01ctdHcCd4,1681
9
9
  ccxt/binanceus.py,sha256=IT0iDdiWKzRu2ZCUB56YGfaHxCuFEEV4xi40Tp6Emxc,9182
10
10
  ccxt/binanceusdm.py,sha256=yoCcFvGD4MFYkShMpArxk_eLm8RR2ugyYHLk5e2AV08,2611
@@ -35,15 +35,15 @@ ccxt/btcalpha.py,sha256=EgTdyJSCKrdhsb-rya1FVi0pJq92T3s4Q6Sv5XnLjEo,36667
35
35
  ccxt/btcbox.py,sha256=1K37C76sTvl_AYMAUHVcoltbKoxzlh3MzlRqzZqWkm4,27723
36
36
  ccxt/btcmarkets.py,sha256=OIDF7Dg7WwT8jWc8vj30F52Nk3p_4lL8dLpsrERoLzw,52651
37
37
  ccxt/btcturk.py,sha256=nksPhEqDy5xoG16bjm1H0gShOykWhlFSFqrPbGpsL0k,36955
38
- ccxt/bybit.py,sha256=9FRUt-Yqg8xeT-mIXvXwIE7AgUbG6YTPBpz47_qbUxk,422512
39
- ccxt/cex.py,sha256=5xsbfhz3qYMTXXe-gbNIGNxPNGoYElDmxtDJdOZuSsE,69469
40
- ccxt/coinbase.py,sha256=GZpB9YGfRiaUQcuphwvKW7khpJPt1w94q6hXmIpXZYM,223086
38
+ ccxt/bybit.py,sha256=-6aU2zsNQtY3OMpR3p2xfpHqFfaJjO59BlCcow6HQyw,427598
39
+ ccxt/cex.py,sha256=VMoz5iMO1vDZB7IY_37MZB4ERphahbD3Ug69wR1ynFk,69591
40
+ ccxt/coinbase.py,sha256=ANxCXousQd-KHb5JeNszHldbpsMeeFJbeno1vPNmWG4,222108
41
41
  ccxt/coinbaseadvanced.py,sha256=d5g6nRx-NCcCwZDdtp8FsI2D-pRjSvnAP9ISSKY_nCQ,538
42
- ccxt/coinbaseexchange.py,sha256=eZ73lRk1HFXAyKhq90CALZckeSbL4DZvBK4VH1SIMSE,79066
42
+ ccxt/coinbaseexchange.py,sha256=_QfGfNlb6criH_G1Tx1dTHzbVfmtQBYpZ7Twi--Fu4M,79118
43
43
  ccxt/coinbaseinternational.py,sha256=mMRFXhDedcNhsfOeCskwrFazAV63T60B4ovb1ybt2CA,97423
44
44
  ccxt/coincatch.py,sha256=DCo-LdjJceJipXOMUCJ2giNIBJMzlhwI5geeyr-4WU0,240962
45
45
  ccxt/coincheck.py,sha256=V8gc6_tyhmKlom8uYc8FGdoNLQNGi_-WDUcWKS-sPAQ,35898
46
- ccxt/coinex.py,sha256=GL28QidDRrsd3kE64I6L-iurGxRP240fWfnmdbME554,263644
46
+ ccxt/coinex.py,sha256=ys994bqg8Ng8AFp_PnmsrSosc1B8fb0AwsChboKcCYE,263674
47
47
  ccxt/coinlist.py,sha256=J0VyFGXpHDXvO2Y7cJMDwFG17a8GTw5jeifwy1YOTho,104196
48
48
  ccxt/coinmate.py,sha256=72R0wPYvEr1xI3P2TSujjwvrR38L13fugqofUdidQN8,46123
49
49
  ccxt/coinmetro.py,sha256=I_OBHQMNOMSEtfIb6NC6lPGLDYX5vZBivafZaBcZjCY,80573
@@ -67,17 +67,17 @@ ccxt/hollaex.py,sha256=SogXiRDxepLL-hPtgp-lcZURVEU-L6EW2jnrHoER83I,76193
67
67
  ccxt/htx.py,sha256=Xa8N69mnix0cA93k--AHEFxxqhh45jNZHzTTCu-LJFg,432845
68
68
  ccxt/huobi.py,sha256=4vaG7IRN7fyjaJ_ac6S-njlHOfSEN5de7aq0noznxYw,438
69
69
  ccxt/huobijp.py,sha256=e3T66Ob89fHk9zXeXOH8dxtu1gL7NaztcczacfFDhAw,89788
70
- ccxt/hyperliquid.py,sha256=hRLYdVMiTBfU4ezfk3W5JD9ZlzA9NNg6fAlg9VQKnbM,128858
70
+ ccxt/hyperliquid.py,sha256=4b3MFxyz5q7BveyFDgIN7l9fUOAKPUN5y8lvCrPVIx0,129228
71
71
  ccxt/idex.py,sha256=wHPL_QmG3uZvumqfcdK3d_nMOl3gGLFwv9YPl1Uo56k,73258
72
72
  ccxt/independentreserve.py,sha256=Uv_hZM0vKDA08wCJTa0Dv3GDhsjfkrIKZFsS1iJEfes,37914
73
73
  ccxt/indodax.py,sha256=XZ4_SS38bg21eKxpN6fOJCQxpQri9A_T6AxKnBGYqjM,55181
74
- ccxt/kraken.py,sha256=wNP-IPFbH_F6qFknQ8ozr5XlxHW8Pa_z5yyj_aPKYtw,137092
74
+ ccxt/kraken.py,sha256=B47Ex2baUarnVYH16OIcJHAK6mI0WHjs2bo0_F7JX9w,137133
75
75
  ccxt/krakenfutures.py,sha256=7on0RG5Dv5TysFif6NjW8pbGWznm5-snaBFGYrY0C3s,120011
76
76
  ccxt/kucoin.py,sha256=7VSuLN2BVp_4e-9oAWD1MqSD0Gw0lpCgmWQkeSAcdjw,229811
77
- ccxt/kucoinfutures.py,sha256=09XKBFW4xscMenYa2TeLh8QSJLqAb5cTzBPEmOWVLF4,142386
77
+ ccxt/kucoinfutures.py,sha256=Ch7VtMjHWoi4aY1i9wiArF1OpbKCFGpqDFWSnC7tLR8,142428
78
78
  ccxt/kuna.py,sha256=PlxKm5KvVAsXnfQSakCQylxN61TAA9Hc97QA96qI6OQ,95851
79
79
  ccxt/latoken.py,sha256=nnbKqJP1aXnokDqlK85FoLJn1YsKb_wLZUau5mu2paw,79652
80
- ccxt/lbank.py,sha256=ynjXegWScdqO-KXh7_Yw6MJT8YkRMASynxK2fUFu7ok,120548
80
+ ccxt/lbank.py,sha256=VTEg2QHA-BNLcnN3eDnGZquk2XszgBqDBcP7e2IDUcM,120580
81
81
  ccxt/luno.py,sha256=9_F54GaXTcoPwvxpd-7IMi7s6aVX3lHc9hAJUlKsaIE,46305
82
82
  ccxt/lykke.py,sha256=pV1U244HJxgbNyg4YbzzllihT3Opp62Xu-C6AbCTV6E,51517
83
83
  ccxt/mercado.py,sha256=g2r-u6PAFoCtngem9wFcP45m7M-Ve2DhbuPvWZAyXDU,35757
@@ -86,13 +86,13 @@ ccxt/ndax.py,sha256=1afhBswLxEv7cQruXSDfuw0RCbO35-CS-wll7-5y628,110401
86
86
  ccxt/novadax.py,sha256=OJ0frNRD8mQVTqJZp64w3-4pmX5fOp2VHoyeKOkMYsY,64395
87
87
  ccxt/oceanex.py,sha256=yL9IXtxy06b_1X2p4zT7v7jdNHSyEaRV9KRAQk-PKIQ,41228
88
88
  ccxt/okcoin.py,sha256=dJpA_W3IRkE0wcu83YIpplylwKPi9rhY1xABrKHUcdY,151208
89
- ccxt/okx.py,sha256=kzA7ilpU18SrzvTq0_hzGFYweCd75DLzvnwB57GDyJ8,387906
89
+ ccxt/okx.py,sha256=A3v6Bo-4H4F5L30p47LEnv-OBmmdKTnhgqm06uQiU7M,391479
90
90
  ccxt/onetrading.py,sha256=ZHVXh-_m86q2SZnz3wgQfOdBtcLozWTy77wn1IDXNrE,88491
91
91
  ccxt/oxfun.py,sha256=x18BhPvyEjSnMA-gZ2pNxDK_W7Wf9kzTeK_IQNE_03c,124889
92
92
  ccxt/p2b.py,sha256=tnMiWHryM0MXQKBkscBLiPbrWdnzCZyW6OVxKkEcad8,54138
93
93
  ccxt/paradex.py,sha256=oxEdo_Mrc5cUaza7X43IApIu62mf1xCbNTgkQAnPenI,85746
94
94
  ccxt/paymium.py,sha256=4kZxtSd1T4rJNXfTOdlroXBbEDQcz1Gfm_arMmFg438,24506
95
- ccxt/phemex.py,sha256=B4du8ZyIAtSdMVtyZKcoL5KHHjUIocecR1FAPg-mT6E,225927
95
+ ccxt/phemex.py,sha256=roWv5FoQWOkZHS8bz94kKORyhhOGxv41DC9Y-2ryZUA,226326
96
96
  ccxt/poloniex.py,sha256=5tcS15C-5pDKkVAh8cOsOoEyYbx1JHugeZV8LZhvfsM,102624
97
97
  ccxt/poloniexfutures.py,sha256=05bJcp9vFjOjjpHMA__xrcP84twrGv8k5c9Rl4pLvVw,79967
98
98
  ccxt/probit.py,sha256=E1GtCgAaCEIU218diUX5dQPQb0TuUZt4ueb4Dyk1eGw,76265
@@ -150,7 +150,7 @@ ccxt/abstract/bybit.py,sha256=DszUkG6CBTh8WCeujod0k_eQsBIZB4VP8wXN1vfnbgo,47407
150
150
  ccxt/abstract/cex.py,sha256=59oASCpeYdLPKnhD6Ih62I5FhjgwZDcU9BiHewUDoew,3600
151
151
  ccxt/abstract/coinbase.py,sha256=GFXDh_Bf65Gsx_DmgOrRG2jpM3IdITE3Agqz_LZTJfo,15507
152
152
  ccxt/abstract/coinbaseadvanced.py,sha256=GFXDh_Bf65Gsx_DmgOrRG2jpM3IdITE3Agqz_LZTJfo,15507
153
- ccxt/abstract/coinbaseexchange.py,sha256=eQMtsIw94xJqQO_xXmrrHdc_YFmhVZNW4OXCWv4Nx1w,7162
153
+ ccxt/abstract/coinbaseexchange.py,sha256=cZPDCBe-sdOaeJ0mn9haTM6JwMuRq9NQQSdTpTkchM0,7290
154
154
  ccxt/abstract/coinbaseinternational.py,sha256=ic3EjzSwsOAZpMQQk2yVO8iO8_ZfkGysaiglH9sUfMc,4861
155
155
  ccxt/abstract/coincatch.py,sha256=mCUMZarGuKB1EfwWeXQkRclHiye9wUIXxjghcRGQu5A,14248
156
156
  ccxt/abstract/coincheck.py,sha256=3IIVmryXmzxXqi6IleUmfDZIUMOn_L_4G9Iw8BuEEGo,3417
@@ -181,7 +181,7 @@ ccxt/abstract/hyperliquid.py,sha256=ZMYSShrl1iN_TSO4p2lL38qfo65zBWpyHw9kQvJ_mpw,
181
181
  ccxt/abstract/idex.py,sha256=kFcWa8PauxofzN_k2DyQ0aZxQ70VPNAWMcEUZrl7XqE,2129
182
182
  ccxt/abstract/independentreserve.py,sha256=Cue0hud5acRs2Q6oSvQ7Rx-YWS_fuACs6uV3aIE20ZM,4165
183
183
  ccxt/abstract/indodax.py,sha256=E16v8W6Ac9kmV9hFEqf_kwV6VQmK74lc1LEUEkuDpYg,2488
184
- ccxt/abstract/kraken.py,sha256=AUpdQHWHZFXseHNx1-cuLqRutYwYEUVqQ7mjc0TQR_s,5883
184
+ ccxt/abstract/kraken.py,sha256=glI0xp23zwl3KVtmfRPS6yoMlD86IhihUPi6LjFzM6I,5989
185
185
  ccxt/abstract/krakenfutures.py,sha256=pu81cKhQgBkQd8F9-Ly3b7xQD-qQ8WLi8EUMfmAUJcM,4080
186
186
  ccxt/abstract/kucoin.py,sha256=kVrVEXiigc36arfbSS8lDUMnG7uFdKgUKHIhVb0Am_8,28626
187
187
  ccxt/abstract/kucoinfutures.py,sha256=W6PBPwLtaFPMjWjTWmrmhnj348iBJywJxr-_a_YJY28,32531
@@ -220,13 +220,13 @@ ccxt/abstract/xt.py,sha256=JkWvsic3L2O968BCr9H5Wd5NIbRE9aTT2A-9WbAtl0c,27146
220
220
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
221
221
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
222
222
  ccxt/abstract/zonda.py,sha256=X-hCW0SdX3YKZWixDyW-O2211M58Rno8kKJ6quY7rw4,7183
223
- ccxt/async_support/__init__.py,sha256=1t7GJyR0Odc0HsEwhpH-RUfal_fEQ06wnY80rthAhNA,16399
223
+ ccxt/async_support/__init__.py,sha256=pQ_3eZNaUmvckVz4q7s4Px-FyPVLuRS2yevX9wKo10E,16399
224
224
  ccxt/async_support/ace.py,sha256=I6CCZND1P23-4-F9nbj1FztEPjnQH-z7ALqsST4IrS8,42574
225
225
  ccxt/async_support/alpaca.py,sha256=wdyduKBco1ztezhYAqtqC3qmU1Ry0ttp5_JyzBx4OU0,69323
226
226
  ccxt/async_support/ascendex.py,sha256=eFQv7WvMc_sQxlY5Kqz4GfVC_lKlvhVJ0785hB2j6Ac,152422
227
227
  ccxt/async_support/bequant.py,sha256=bSsnySbxWEjgt-yH1HtyLfky1ypFpb_xKHf52Ru9h5I,1168
228
228
  ccxt/async_support/bigone.py,sha256=z33jwmyO5b8yfpEbOqZ12QdSdp5DWENfjw85HTGILcI,91742
229
- ccxt/async_support/binance.py,sha256=ohJYzUFmjHwZzLkECJupbaPNWYfbcF3039kSu6fDWQc,665640
229
+ ccxt/async_support/binance.py,sha256=prJcK-vqpgdlpi6SioOxLmTUbRbtrv2JmZrOP1GLWAI,671689
230
230
  ccxt/async_support/binancecoinm.py,sha256=9ICnDf1wzSr_SN8HXdjIoheiNmP6isQ8yHT-8a4yQ3Y,1719
231
231
  ccxt/async_support/binanceus.py,sha256=OnMcoIPXyNos7x3Lqerc0wmfPHsGYn7d6nF7tPEscu4,9196
232
232
  ccxt/async_support/binanceusdm.py,sha256=dEN2QxzfmfrQELFE_B8E5sLywnpogUq3R73jENVQMu0,2649
@@ -257,15 +257,15 @@ ccxt/async_support/btcalpha.py,sha256=BaVeu2EBdOjnGkbyRulYJV5NLBZm9ohNZxfUJyYYnT
257
257
  ccxt/async_support/btcbox.py,sha256=UVxRITystCBzLFMNrG_126-jnv3GTHgUBe39G9gy0Yw,27947
258
258
  ccxt/async_support/btcmarkets.py,sha256=xXGtx1nCyuBxCgtTVfvyWNrcy9g3VSl9VzLpiAJZpFU,53001
259
259
  ccxt/async_support/btcturk.py,sha256=epA0XdEIhM2BTiNehALcIhHeUp6THPzKUWCMz0UjeAQ,37173
260
- ccxt/async_support/bybit.py,sha256=JWZw_mggPUgjLf157ncBTu0BeiMahmFtzq7_YGFplQU,424296
261
- ccxt/async_support/cex.py,sha256=BBEbAVFi1W30p38RAoJ-b6f4A_SR5Trr7mySxtsN0Tw,69941
262
- ccxt/async_support/coinbase.py,sha256=0F0HmG8QH8EGQ_SXGjU8IVjSFyHZLIP2ZZ8FyiGU58k,224270
260
+ ccxt/async_support/bybit.py,sha256=cQNs3mPLwecLJRJhFoo_KCvKrQ87EG5gTB9TunduoIk,429382
261
+ ccxt/async_support/cex.py,sha256=uOeHQwzMNG8uUNFzvhWysOH0fZzPvWqL7wTZq_6Ujm0,70063
262
+ ccxt/async_support/coinbase.py,sha256=fAEk4OQMPjNMcnxG7Oxa7tZ3JAVSVZGpz_Vg1oVQ-eY,223292
263
263
  ccxt/async_support/coinbaseadvanced.py,sha256=Kupwnuxiu_qTjwCNV2asacoDUNFQvcaHNAznUJPhdQs,552
264
- ccxt/async_support/coinbaseexchange.py,sha256=SrdtSSVqYLFFl95usnuLx9Nz3xGppIxBAEW4e0L8HsM,79572
264
+ ccxt/async_support/coinbaseexchange.py,sha256=HAvIpeemkEniNaHnJdPDbK74N39cTlU-9B19B9Q-ZpA,79624
265
265
  ccxt/async_support/coinbaseinternational.py,sha256=XAQr85yqyH4xJg3YOvS5ohxnaNrSgjqFm_1c4TknYuw,98037
266
266
  ccxt/async_support/coincatch.py,sha256=SCfTDw0oYlFQ9EzvM33RgnYa0dbnKj-v1WFJL9sEBaQ,242020
267
267
  ccxt/async_support/coincheck.py,sha256=tMLtn82eRNcqqNIJT1cVmReuhOHeIYS2x9o04_KJWfE,36104
268
- ccxt/async_support/coinex.py,sha256=B36VZF2INhcPb4fn9gE2FJZPDi8au2hpQEU23bnIbuo,264932
268
+ ccxt/async_support/coinex.py,sha256=FMYVNWtJhqa33yNd89RxT_J1f3xPBoyW8iOiH7rMw5I,264962
269
269
  ccxt/async_support/coinlist.py,sha256=VmJO4vbhFA3MWydXRIOrKaHR4XZm6s6Q65WBauFmPik,104684
270
270
  ccxt/async_support/coinmate.py,sha256=_NrwDlvFC6haeNN65Jbf_DoCSGekAGKqX1qONXygcl8,46389
271
271
  ccxt/async_support/coinmetro.py,sha256=4z4_rfeRscFuqxiHCWUqVmxqm2JCbsJidRT1IixOI40,80893
@@ -289,17 +289,17 @@ ccxt/async_support/hollaex.py,sha256=7G_9X0hv22I_VJ-8lQ8mtCCK5Zvw_E-YOl8v-A41d-0
289
289
  ccxt/async_support/htx.py,sha256=mNWINzfZOoOT5saXZhZ8R4irpE2uh283AG7JFON7cj8,435219
290
290
  ccxt/async_support/huobi.py,sha256=fup0j6wQ1khAtfbb1H4CSyJAOzhxuoHMmrM6sgTuhr8,452
291
291
  ccxt/async_support/huobijp.py,sha256=8AxLadMz_GuORYMhCcrxn7PzwtY7S5pTCwwLGZdwA2g,90288
292
- ccxt/async_support/hyperliquid.py,sha256=Pmbydfl3gGts6b5OjFBrjYD2xztyHfQHEJytepNR280,129534
292
+ ccxt/async_support/hyperliquid.py,sha256=ekA7JjA9yq13wXsE48-fAqrJPcM_e8Jbx8IMOQbDKYU,129916
293
293
  ccxt/async_support/idex.py,sha256=C2eFRXeacmeSFcteMwIGTrSTBQkty_skQjTcdnszW7s,73734
294
294
  ccxt/async_support/independentreserve.py,sha256=lQDBlGtZAwjoSjEla5SPXHjaW5FE8aBZuOqPHuuaODQ,38212
295
295
  ccxt/async_support/indodax.py,sha256=vh9a97WBANyeLOvuhUbqX8chQQuIMxzCDmlMBA3owe4,55489
296
- ccxt/async_support/kraken.py,sha256=eK1gbWbfSDT4NR3rdM9pq_0MXCYqpDNU25i63iDaFVc,137748
296
+ ccxt/async_support/kraken.py,sha256=dOyylPWAcIPi5gVmiN4beqm45GGD--l6lkpyQ_CaUPk,137789
297
297
  ccxt/async_support/krakenfutures.py,sha256=IrzUkfTz5-0bAou0EbT-FbHd9b1KhuI-rr214xJoJ-0,120499
298
298
  ccxt/async_support/kucoin.py,sha256=lPRse1PgiS1Et7enacqmNaA0WlUAF7FtHXHUg7L3gu4,230972
299
- ccxt/async_support/kucoinfutures.py,sha256=zE1-y0cFFQEjReCGGj-eaDycO7Q64FnF3CKLbiCwe28,143174
299
+ ccxt/async_support/kucoinfutures.py,sha256=a_M34puD66tSbCiT2lo5rugWOGPGPY4zhSXxVQfoOxY,143216
300
300
  ccxt/async_support/kuna.py,sha256=7o_EWLEJWaQ0dBk0T13OACfxcHAgRWzXrW3ku95H3xQ,96267
301
301
  ccxt/async_support/latoken.py,sha256=ZS13BfGhq38HZAYGr0SKfEPQT1G3WuOfYR66a8R-kLk,80128
302
- ccxt/async_support/lbank.py,sha256=FDwgLhrwaDSjP_wHU5KmDstaXkO8OlVzWcmq0CPOUPw,121296
302
+ ccxt/async_support/lbank.py,sha256=ywVYLq1UzoO8JcqPOWs3pGOo52Jwrs8_xPHiaqsT7Yw,121328
303
303
  ccxt/async_support/luno.py,sha256=27OPfQxs0MXkBy8phG9nm-hjNSvrQNRMf8_Y5QSyPyc,46643
304
304
  ccxt/async_support/lykke.py,sha256=xiG8M2wtxSlMbgiv_2WXr1mEX9geiBZk_loyrA_zpco,51831
305
305
  ccxt/async_support/mercado.py,sha256=zwxRYEtnzqMk6n56cAlfrV3NvCSND8Y-CW64QAhrg1w,35999
@@ -308,13 +308,13 @@ ccxt/async_support/ndax.py,sha256=8TfxK1AnmyXPaQTMDRs0eu2NBXtbohUqE2OVCbNS3Gk,11
308
308
  ccxt/async_support/novadax.py,sha256=ezRfmynJXOyIcVpBcm8WsjPg4Z8xXOjKI5vvlRd5MZE,64763
309
309
  ccxt/async_support/oceanex.py,sha256=INpTbkDnaXuNWO28xWlJbJIxzj1kgbctWthdUUKVLgM,41566
310
310
  ccxt/async_support/okcoin.py,sha256=eydsVAly3MCzJF1vDbjZ5aoQp-YVOQKXIOT-ym1dDKM,151732
311
- ccxt/async_support/okx.py,sha256=ZHeZU29yjgRnVvBHpeepawkqAhsrDpy_wH5hsObaM8s,389565
311
+ ccxt/async_support/okx.py,sha256=708iKk-yo8MYAV-ra7gNK34Jei_NvSaBj9VJv_-Slzw,393138
312
312
  ccxt/async_support/onetrading.py,sha256=yyuSWvb1_vftSSBbhwD9HwcE-J7bS3MT1BzWybVLrys,88943
313
313
  ccxt/async_support/oxfun.py,sha256=8FwNPbbdSYQTUgyRtKWmkzxTEASyt9o-U2TTDd6he2c,125433
314
314
  ccxt/async_support/p2b.py,sha256=oUaWStGWK0bMSLp2PPyXttWRDOf0zP-1IM-koUtdsFQ,54380
315
315
  ccxt/async_support/paradex.py,sha256=MnhLjFOF3hq0_-M4ClWxM-7dEx-hQsfyRxJkLsp7QG4,86354
316
316
  ccxt/async_support/paymium.py,sha256=6hMZkYM92EDkCUobmAZo3rjA2o6CA7eBXQl_y46KhgA,24694
317
- ccxt/async_support/phemex.py,sha256=xoBbudlR8_8CjerUd25KlQf1Lf8-qF_K-yt_YJHZaQI,226763
317
+ ccxt/async_support/phemex.py,sha256=mWmeVbXg3-3XyylI5NvsEFpy7sNpe2lAEtGRg3dBWxI,227162
318
318
  ccxt/async_support/poloniex.py,sha256=P8klfqQJatPN3ndg3VJMQt-WmRhqbmC2NKuR8bY8P6o,103172
319
319
  ccxt/async_support/poloniexfutures.py,sha256=j3MANhg6O1CGplxENOLKmC_UXUCHK-01TlzOvbi9NCM,80365
320
320
  ccxt/async_support/probit.py,sha256=h5NA_YoGMhTbt8HLgEkzEKdvkCKZNbugcYvQFuHU9rM,76657
@@ -333,7 +333,7 @@ ccxt/async_support/yobit.py,sha256=cDHapsfErdKrRWZMFJKvqulXZTv_3ZjEY126uP0V7NM,5
333
333
  ccxt/async_support/zaif.py,sha256=DMK10ffQdvMW_UlnnIzNM8zoVxxt26Z8ErACGFrgM6E,29019
334
334
  ccxt/async_support/zonda.py,sha256=5dPcmg_1rjeM7URfkThhlt24bdOFX6S8kemDDTov-Zg,83059
335
335
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
336
- ccxt/async_support/base/exchange.py,sha256=Kg8Cr53wrASFGWfEEoNiPs9IT1JiYgzu03nTi-Geb3A,115371
336
+ ccxt/async_support/base/exchange.py,sha256=4lAL-5eY9x3hv9SN9-bx8WSYQ0DacjExxCHrsnw-UqA,115371
337
337
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
338
338
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
339
339
  ccxt/async_support/base/ws/aiohttp_client.py,sha256=8IVvhwKQagDguWaZQLo-GnzTzBpYbf_Bib8PAjyk9Eo,6283
@@ -347,10 +347,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
347
347
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
348
348
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
349
349
  ccxt/base/errors.py,sha256=Pad-6ugvGUwhoYuKUliX-N7FTrcnKCQGFjsaq2tMn0I,4610
350
- ccxt/base/exchange.py,sha256=aRwfMIqiM7bPM7HVs_kRUbbxHdmTU0vHgoh3bNLY9V0,304915
350
+ ccxt/base/exchange.py,sha256=PRDLAm8DwbzYj2X0_G2fL34EO-9ACx_ugGBGJ91Z0S4,308152
351
351
  ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
352
352
  ccxt/base/types.py,sha256=2ygze4z72AGOkCRjNcwLqO-Y_Lkp9e2xJCH3LW7pYCo,10488
353
- ccxt/pro/__init__.py,sha256=SceS6m1--7KJ_6o0farF0rnh_55sj_b7T8V1dbVQfAI,7925
353
+ ccxt/pro/__init__.py,sha256=FaEB8ZW_DGXPB__RFgCtMCxqevsz-iMpjHinVv5DbZQ,7925
354
354
  ccxt/pro/alpaca.py,sha256=Imdm0wlioL9MMI7ytu0l-wrTIBzNGnHOf8h8Ux2XpJg,27611
355
355
  ccxt/pro/ascendex.py,sha256=BJh0w31wjTIZJriDqWWC1NbEgiW7X4VboYC3g61c4w4,37500
356
356
  ccxt/pro/bequant.py,sha256=33OEUWBi4D9-2w8CmkwN3aF1qS-AlLqX3pxrWwNbXPY,1552
@@ -408,7 +408,7 @@ ccxt/pro/luno.py,sha256=gSt6LJKVpR39PYm50AfCZgvXu05IdkxV6VtJKqEmfz0,12380
408
408
  ccxt/pro/mexc.py,sha256=aRuJf0ruLBbu9zL2SpUD7dYD_lMb4GSHtdj_507BFIg,56419
409
409
  ccxt/pro/ndax.py,sha256=f2JfMhHkQQcEUnYuLv6uwholUno8VNCQHzZ_fuvrJ7E,22963
410
410
  ccxt/pro/okcoin.py,sha256=w0Z527prDqmRvacdc1QGa2f9VUy31Wtm_SB4KJAWEFo,31024
411
- ccxt/pro/okx.py,sha256=uCWqXSyLLzUlQztj9LWRhIjcOONWXfp0BPtxa_nIi7E,103835
411
+ ccxt/pro/okx.py,sha256=NUbwCxyI_eO0w8p94Qr6t17AVGLJ1hY8cKRs7Ix_AAo,104593
412
412
  ccxt/pro/onetrading.py,sha256=U1t8dxk1QIslcr6_bgbEWt0WMI43RahJbENhJLhfJVY,54821
413
413
  ccxt/pro/oxfun.py,sha256=LQqOEAMjxd2-gIrK1Ng2Ww22J1nrVYY89s0zhvZH9yI,46647
414
414
  ccxt/pro/p2b.py,sha256=Rhg-9SzoiVYKvZ0V-a3yxvAkm9KJQClN_SRKVfCdbsQ,20857
@@ -651,12 +651,12 @@ ccxt/static_dependencies/toolz/curried/operator.py,sha256=ML92mknkAwzBl2NCm-4wer
651
651
  ccxt/static_dependencies/typing_inspect/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
652
652
  ccxt/static_dependencies/typing_inspect/typing_inspect.py,sha256=5gIWomLPfuDpgd3gX1GlnX0MuXM3VorR4j2W2qXORiQ,28269
653
653
  ccxt/test/__init__.py,sha256=GKPbEcj0Rrz5HG-GUm-iY1IHhDYmlvcBXZAGk6-m2CI,141
654
- ccxt/test/tests_async.py,sha256=8TdpWiswLAVMF85CVBfMRqt8lFByr1Su7w5IgZ_w72w,86205
655
- ccxt/test/tests_helpers.py,sha256=PsF2I55_UaKkpqwMeUUBXhF3FBzdOjP-KnRgV7-dvD8,9854
654
+ ccxt/test/tests_async.py,sha256=rLvarVUZqLuCIgiPghCBDNxQ2mBvEG47m1ihYSKXI1E,86311
655
+ ccxt/test/tests_helpers.py,sha256=zK8j08es1EeQ8HzlKR4QK_vCEI7OPhze5MlDClXxKZc,9866
656
656
  ccxt/test/tests_init.py,sha256=GodMIrJue4KBHHqD4vSPZxokPWpxbZIuEp19UdxlFAg,1166
657
- ccxt/test/tests_sync.py,sha256=EEc20Cjl7u-EJ6S-lR0VXJmjpX1ew-oRS7uYceVxQ4A,85249
658
- ccxt-4.4.32.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
659
- ccxt-4.4.32.dist-info/METADATA,sha256=DdyD07wYYwZldNPKL5jX-PVBTVuVgyhVgRH2zBN-2BY,115051
660
- ccxt-4.4.32.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
661
- ccxt-4.4.32.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
662
- ccxt-4.4.32.dist-info/RECORD,,
657
+ ccxt/test/tests_sync.py,sha256=zzJOVr2wZaN28-2-HZdwGVpo08AQfQW2-bhnBGZGBWQ,85355
658
+ ccxt-4.4.33.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
659
+ ccxt-4.4.33.dist-info/METADATA,sha256=_Q72bDVnTZq1OQfdLwY1fzFGWfYvDEZlmeeSCXpQAVo,115051
660
+ ccxt-4.4.33.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
661
+ ccxt-4.4.33.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
662
+ ccxt-4.4.33.dist-info/RECORD,,
File without changes