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

ccxt/bybit.py CHANGED
@@ -368,6 +368,7 @@ class bybit(Exchange, ImplicitAPI):
368
368
  'user/v3/private/frozen-sub-member': 10, # 5/s
369
369
  'user/v3/private/query-sub-members': 5, # 10/s
370
370
  'user/v3/private/query-api': 5, # 10/s
371
+ 'user/v3/private/get-member-type': 1,
371
372
  'asset/v3/private/transfer/transfer-coin/list/query': 0.84, # 60/s
372
373
  'asset/v3/private/transfer/account-coin/balance/query': 0.84, # 60/s
373
374
  'asset/v3/private/transfer/account-coins/balance/query': 50,
ccxt/cryptocom.py CHANGED
@@ -79,6 +79,7 @@ class cryptocom(Exchange, ImplicitAPI):
79
79
  'fetchOrders': True,
80
80
  'fetchPositionMode': False,
81
81
  'fetchPositions': False,
82
+ 'fetchSettlementHistory': True,
82
83
  'fetchStatus': False,
83
84
  'fetchTicker': True,
84
85
  'fetchTickers': True,
@@ -2476,6 +2477,88 @@ class cryptocom(Exchange, ImplicitAPI):
2476
2477
  'info': account,
2477
2478
  }
2478
2479
 
2480
+ def fetch_settlement_history(self, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
2481
+ """
2482
+ fetches historical settlement records
2483
+ see https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#public-get-expired-settlement-price
2484
+ :param str symbol: unified market symbol of the settlement history
2485
+ :param int|None since: timestamp in ms
2486
+ :param int|None limit: number of records
2487
+ :param dict params: exchange specific params
2488
+ :param int|None params['type']: 'future', 'option'
2489
+ :returns [dict]: a list of [settlement history objects]
2490
+ """
2491
+ self.load_markets()
2492
+ market = None
2493
+ if symbol is not None:
2494
+ market = self.market(symbol)
2495
+ type = None
2496
+ type, params = self.handle_market_type_and_params('fetchSettlementHistory', market, params)
2497
+ self.check_required_argument('fetchSettlementHistory', type, 'type', ['future', 'option', 'WARRANT', 'FUTURE'])
2498
+ if type == 'option':
2499
+ type = 'WARRANT'
2500
+ request = {
2501
+ 'instrument_type': type.upper(),
2502
+ }
2503
+ response = self.v1PublicGetPublicGetExpiredSettlementPrice(self.extend(request, params))
2504
+ #
2505
+ # {
2506
+ # "id": -1,
2507
+ # "method": "public/get-expired-settlement-price",
2508
+ # "code": 0,
2509
+ # "result": {
2510
+ # "data": [
2511
+ # {
2512
+ # "i": "BTCUSD-230526",
2513
+ # "x": 1685088000000,
2514
+ # "v": "26464.1",
2515
+ # "t": 1685087999500
2516
+ # }
2517
+ # ]
2518
+ # }
2519
+ # }
2520
+ #
2521
+ result = self.safe_value(response, 'result', {})
2522
+ data = self.safe_value(result, 'data', [])
2523
+ settlements = self.parse_settlements(data, market)
2524
+ sorted = self.sort_by(settlements, 'timestamp')
2525
+ return self.filter_by_symbol_since_limit(sorted, symbol, since, limit)
2526
+
2527
+ def parse_settlement(self, settlement, market):
2528
+ #
2529
+ # {
2530
+ # "i": "BTCUSD-230526",
2531
+ # "x": 1685088000000,
2532
+ # "v": "26464.1",
2533
+ # "t": 1685087999500
2534
+ # }
2535
+ #
2536
+ timestamp = self.safe_integer(settlement, 'x')
2537
+ marketId = self.safe_string(settlement, 'i')
2538
+ return {
2539
+ 'info': settlement,
2540
+ 'symbol': self.safe_symbol(marketId, market),
2541
+ 'price': self.safe_number(settlement, 'v'),
2542
+ 'timestamp': timestamp,
2543
+ 'datetime': self.iso8601(timestamp),
2544
+ }
2545
+
2546
+ def parse_settlements(self, settlements, market):
2547
+ #
2548
+ # [
2549
+ # {
2550
+ # "i": "BTCUSD-230526",
2551
+ # "x": 1685088000000,
2552
+ # "v": "26464.1",
2553
+ # "t": 1685087999500
2554
+ # }
2555
+ # ]
2556
+ #
2557
+ result = []
2558
+ for i in range(0, len(settlements)):
2559
+ result.append(self.parse_settlement(settlements[i], market))
2560
+ return result
2561
+
2479
2562
  def nonce(self):
2480
2563
  return self.milliseconds()
2481
2564
 
ccxt/deribit.py CHANGED
@@ -559,6 +559,7 @@ class deribit(Exchange, ImplicitAPI):
559
559
  # testnet: False
560
560
  # }
561
561
  #
562
+ parsedMarkets = {}
562
563
  currenciesResult = self.safe_value(currenciesResponse, 'result', [])
563
564
  result = []
564
565
  for i in range(0, len(currenciesResult)):
@@ -679,6 +680,10 @@ class deribit(Exchange, ImplicitAPI):
679
680
  optionType = self.safe_string(market, 'option_type')
680
681
  letter = 'C' if (optionType == 'call') else 'P'
681
682
  symbol = symbol + '-' + self.number_to_string(strike) + '-' + letter
683
+ parsedMarketValue = self.safe_value(parsedMarkets, symbol)
684
+ if parsedMarketValue:
685
+ continue
686
+ parsedMarkets[symbol] = True
682
687
  minTradeAmount = self.safe_number(market, 'min_trade_amount')
683
688
  tickSize = self.safe_number(market, 'tick_size')
684
689
  result.append({
ccxt/kucoin.py CHANGED
@@ -77,7 +77,7 @@ class kucoin(Exchange, ImplicitAPI):
77
77
  'fetchDepositAddressesByNetwork': True,
78
78
  'fetchDeposits': True,
79
79
  'fetchDepositWithdrawFee': True,
80
- 'fetchDepositWithdrawFees': False,
80
+ 'fetchDepositWithdrawFees': True,
81
81
  'fetchFundingHistory': False,
82
82
  'fetchFundingRate': False,
83
83
  'fetchFundingRateHistory': False,
@@ -752,6 +752,7 @@ class kucoin(Exchange, ImplicitAPI):
752
752
  def fetch_currencies(self, params={}):
753
753
  """
754
754
  fetches all available currencies on an exchange
755
+ see https://docs.kucoin.com/#get-currencies
755
756
  :param dict params: extra parameters specific to the kucoin api endpoint
756
757
  :returns dict: an associative dictionary of currencies
757
758
  """
@@ -930,22 +931,33 @@ class kucoin(Exchange, ImplicitAPI):
930
931
  # "chain": "ERC20"
931
932
  # }
932
933
  #
933
- result = self.deposit_withdraw_fee(fee)
934
+ result = {
935
+ 'info': fee,
936
+ 'withdraw': {
937
+ 'fee': None,
938
+ 'percentage': None,
939
+ },
940
+ 'deposit': {
941
+ 'fee': None,
942
+ 'percentage': None,
943
+ },
944
+ 'networks': {},
945
+ }
934
946
  isWithdrawEnabled = self.safe_value(fee, 'isWithdrawEnabled')
935
947
  if isWithdrawEnabled:
948
+ result['withdraw']['fee'] = self.safe_number(fee, 'withdrawalMinFee')
949
+ result['withdraw']['percentage'] = False
936
950
  networkId = self.safe_string(fee, 'chain')
937
- networkCode = self.network_id_to_code(networkId, self.safe_string(currency, 'code'))
938
- result['networks'][networkCode] = {
939
- 'withdraw': {
940
- 'fee': self.safe_number(fee, 'withdrawMinFee'),
941
- 'percentage': None,
942
- },
943
- 'deposit': {
944
- 'fee': None,
945
- 'percentage': None,
946
- },
947
- }
948
- return self.assign_default_deposit_withdraw_fees(result)
951
+ if networkId:
952
+ networkCode = self.network_id_to_code(networkId, self.safe_string(currency, 'code'))
953
+ result['networks'][networkCode] = {
954
+ 'withdraw': result['withdraw'],
955
+ 'deposit': {
956
+ 'fee': None,
957
+ 'percentage': None,
958
+ },
959
+ }
960
+ return result
949
961
 
950
962
  def is_futures_method(self, methodName, params):
951
963
  #
@@ -3497,6 +3509,37 @@ class kucoin(Exchange, ImplicitAPI):
3497
3509
  'info': info,
3498
3510
  }
3499
3511
 
3512
+ def fetch_deposit_withdraw_fees(self, codes: Optional[List[str]] = None, params={}):
3513
+ """
3514
+ fetch deposit and withdraw fees - *IMPORTANT* use fetchDepositWithdrawFee to get more in-depth info
3515
+ see https://docs.kucoin.com/#get-currencies
3516
+ :param [str]|None codes: list of unified currency codes
3517
+ :param dict params: extra parameters specific to the kucoin api endpoint
3518
+ :returns dict: a list of `fee structures <https://docs.ccxt.com/en/latest/manual.html#fee-structure>`
3519
+ """
3520
+ self.load_markets()
3521
+ response = self.publicGetCurrencies(params)
3522
+ #
3523
+ # [
3524
+ # {
3525
+ # "currency": "CSP",
3526
+ # "name": "CSP",
3527
+ # "fullName": "Caspian",
3528
+ # "precision": 8,
3529
+ # "confirms": 12,
3530
+ # "contractAddress": "0xa6446d655a0c34bc4f05042ee88170d056cbaf45",
3531
+ # "withdrawalMinSize": "2000",
3532
+ # "withdrawalMinFee": "1000",
3533
+ # "isWithdrawEnabled": True,
3534
+ # "isDepositEnabled": True,
3535
+ # "isMarginEnabled": False,
3536
+ # "isDebitEnabled": False
3537
+ # },
3538
+ # ]
3539
+ #
3540
+ data = self.safe_value(response, 'data', [])
3541
+ return self.parse_deposit_withdraw_fees(data, codes, 'currency')
3542
+
3500
3543
  def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
3501
3544
  #
3502
3545
  # the v2 URL is https://openapi-v2.kucoin.com/api/v1/endpoint
ccxt/luno.py CHANGED
@@ -727,7 +727,7 @@ class luno(Exchange, ImplicitAPI):
727
727
  self.load_markets()
728
728
  market = self.market(symbol)
729
729
  request = {
730
- 'symbol': market['id'],
730
+ 'pair': market['id'],
731
731
  }
732
732
  response = self.privateGetFeeInfo(self.extend(request, params))
733
733
  #
ccxt/okx.py CHANGED
@@ -187,6 +187,7 @@ class okx(Exchange, ImplicitAPI):
187
187
  'market/index-candles': 1,
188
188
  'market/mark-price-candles': 1,
189
189
  'market/trades': 1,
190
+ 'market/history-trades': 2,
190
191
  'market/platform-24-volume': 10,
191
192
  'market/open-oracle': 40,
192
193
  'market/index-components': 1,
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '3.1.52'
7
+ __version__ = '3.1.54'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
ccxt/pro/deribit.py CHANGED
@@ -445,7 +445,7 @@ class deribit(ccxt.async_support.deribit):
445
445
  channel = self.safe_string(params, 'channel')
446
446
  marketId = self.safe_string(data, 'instrument_name')
447
447
  symbol = self.safe_symbol(marketId)
448
- timestamp = self.safe_number(data, 'timestamp')
448
+ timestamp = self.safe_integer(data, 'timestamp')
449
449
  storedOrderBook = self.safe_value(self.orderbooks, symbol)
450
450
  if storedOrderBook is None:
451
451
  storedOrderBook = self.counted_order_book()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 3.1.52
3
+ Version: 3.1.54
4
4
  Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges
5
5
  Home-page: https://ccxt.com
6
6
  Author: Igor Kroitor
@@ -63,14 +63,6 @@ Current feature list:
63
63
  - works in Node 10.4+, Python 3, PHP 8.1+, netstandard2.0/2.1 and web browsers
64
64
 
65
65
 
66
- ## Sponsored Promotion
67
-
68
- [![Bitget + CCXT Trading Competition](https://github-production-user-asset-6210df.s3.amazonaws.com/1294454/239791258-60aeae70-6f72-4c4b-8f09-1963eb6909ab.png)](https://github.com/ccxt/ccxt/issues/17983)
69
-
70
- [![Bitget + CCXT Messi Merch](https://github-production-user-asset-6210df.s3.amazonaws.com/1294454/239791257-99eb5ce0-88bd-4ba0-aae1-9662b34b3cb3.png)](https://github.com/ccxt/ccxt/issues/17983)
71
-
72
-
73
-
74
66
  ## See Also
75
67
 
76
68
  - <sub>[![TabTrader](https://user-images.githubusercontent.com/1294454/66755907-9c3e8880-eea1-11e9-846e-0bff349ceb87.png)](https://tab-trader.com/?utm_source=ccxt)</sub> **[TabTrader](https://tab-trader.com/?utm_source=ccxt)** – trading on all exchanges in one app. Available on **[Android](https://play.google.com/store/apps/details?id=com.tabtrader.android&referrer=utm_source%3Dccxt)** and **[iOS](https://itunes.apple.com/app/apple-store/id1095716562?mt=8)**!
@@ -261,13 +253,13 @@ console.log(version, Object.keys(exchanges));
261
253
 
262
254
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
263
255
 
264
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@3.1.52/dist/ccxt.browser.js
265
- * unpkg: https://unpkg.com/ccxt@3.1.52/dist/ccxt.browser.js
256
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@3.1.54/dist/ccxt.browser.js
257
+ * unpkg: https://unpkg.com/ccxt@3.1.54/dist/ccxt.browser.js
266
258
 
267
259
  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.
268
260
 
269
261
  ```HTML
270
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@3.1.52/dist/ccxt.browser.js"></script>
262
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@3.1.54/dist/ccxt.browser.js"></script>
271
263
  ```
272
264
 
273
265
  Creates a global `ccxt` object:
@@ -1,4 +1,4 @@
1
- ccxt/__init__.py,sha256=kZsrpVz0-pN6RBbF7erXTYNdTJ-eA7MjlKE4OFxU1uU,15342
1
+ ccxt/__init__.py,sha256=VU5QQ_14t__yaZ1p8Ghu9M1A49PeUHP8GZ567l0-CK8,15342
2
2
  ccxt/ace.py,sha256=X4xNSn-7c-K-KFZBUZXwdijv2gsSo1AjiuDV2Ay_qI8,41378
3
3
  ccxt/alpaca.py,sha256=5ssaX4ICqYmUwaIU-dtWIMCHvtgGQbfHW-M-eaTnTcU,33261
4
4
  ccxt/ascendex.py,sha256=pW_bPktHjJcgIHvSSyAc6R7R2KqVeXPRO7CThjcKOxo,132535
@@ -20,7 +20,7 @@ ccxt/bitforex.py,sha256=bEkzgW6lwa1y05ScVEau6sa7Awt1o9Smt9tizEAfwPQ,32194
20
20
  ccxt/bitget.py,sha256=kYxctAwNW3LBMG-2RmyliCWBJT_HncywyQ_aXOvhtSI,225653
21
21
  ccxt/bithumb.py,sha256=7ouyliU_gsTO6v8GT5W1Gz4W-1tDwK3W1JfgNRm8OBE,42621
22
22
  ccxt/bitmart.py,sha256=WHH8QZhEzFvJ0ibSxDhyQ2XkFqR5JrI6TzKvR6vIJME,131552
23
- ccxt/bitmex.py,sha256=2o2lsaEQHW3bdLaUIibPGlG96lu0ONSgdK9MMtVmoRA,111169
23
+ ccxt/bitmex.py,sha256=vVce9UrjSKgJZ81Qn01Pz1CWIDbQYy0Tp1w6hkm-LiQ,112309
24
24
  ccxt/bitopro.py,sha256=D8hgypFwM8k1-iLeR-5Sxp_h92RgRfjjWUpl-CWW8vg,65467
25
25
  ccxt/bitpanda.py,sha256=TJinc_4bEnXP6ZalWyRnAdse3oT7tGyhb00YXUrnMW0,87433
26
26
  ccxt/bitrue.py,sha256=Z2P4JNEDqvpqdquLImsS4vD5h0R6KSoNrMEdeoWh8ro,89715
@@ -39,7 +39,7 @@ ccxt/btcmarkets.py,sha256=0nR5dkMQa6CU7KjVRH7WsOJEFV4EKcsilMDvnPeb4yQ,48654
39
39
  ccxt/btctradeua.py,sha256=d287qqW0xyMJy2Oa0fPRJ-FkaxE3N4WAyWJJR2Kb9is,22226
40
40
  ccxt/btcturk.py,sha256=WdR5W0jzDnlwJNUOf7OmSIripBM2FF9ArWL9i5PTjGU,35433
41
41
  ccxt/buda.py,sha256=HdPsfWEZcr-l4c4Y0Gq1atqEi7BO_dbDgJmjxop_S2I,45591
42
- ccxt/bybit.py,sha256=FE8t3RHe4nF8DFRXAfo2z0a6X0gTrxRRFMwpWL2lddY,403075
42
+ ccxt/bybit.py,sha256=VI7ZQudeDfwfWXFbWqu0XPHLWLkjdVyZSzEPjk8iQmM,403137
43
43
  ccxt/cex.py,sha256=xXfkLbwB2_vuTI1VfCJx_vEktMHgHrqT_VALV42uczY,65022
44
44
  ccxt/coinbase.py,sha256=Ezgsk9b9FS-qw7rG7dDiZbYg06GRciV0X_3qlU5HNLw,124631
45
45
  ccxt/coinbaseprime.py,sha256=Ygvljulxb2uKdei5yimCj1LMjLlUJNvP-G7ns1HpUFk,1219
@@ -51,10 +51,10 @@ ccxt/coinmate.py,sha256=Z5obIgXZFY1eZIXtU03u8rc4HVFFRm9ztzLHuDYbAzo,39568
51
51
  ccxt/coinone.py,sha256=g5vBXLjBTqCSch8z3PJ6H208kysePjzGSAGoPE0axek,35260
52
52
  ccxt/coinsph.py,sha256=VfXFfk8k85-5G2w7dgR3A983cYlbL3_SyPUDI1NJWAI,81141
53
53
  ccxt/coinspot.py,sha256=fE-XtfERfLFWFUCJNS0PLlwr4VdHhRYRhUMEaNaDHgI,18827
54
- ccxt/cryptocom.py,sha256=FbbrTJkN1NE_yzTJQddWXNNW0GyX4wUEc26fHYo-LDY,112387
54
+ ccxt/cryptocom.py,sha256=PgUJxBOf4PzcjBgfuCljtFIApAOBa9yAfLHereydYaI,115625
55
55
  ccxt/currencycom.py,sha256=0dopSNHlU3gCuLrmLl8M32H3VeUivI681EFKr9379fE,82228
56
56
  ccxt/delta.py,sha256=TFYYjwggLWpkqjdvSSxsKwC5e33-vDGRQbcHIPihHRo,84114
57
- ccxt/deribit.py,sha256=Rkm4KKxHU66FvfqxQHYSRI1ndKzZP4wDeepYuCPHkN4,119067
57
+ ccxt/deribit.py,sha256=XO5MvVGvavgk8n9Qj8H-_DbyI3yvES8tyyQdaq1TXAM,119281
58
58
  ccxt/digifinex.py,sha256=unUcTaXocWWEn--3VDrDery2WuLTooyWh-tnD8isfZ8,152232
59
59
  ccxt/exmo.py,sha256=rIhAOFSzjXUYO-CFsrHV3MwDFPQo4dTelSFAUfJiOXo,88958
60
60
  ccxt/flowbtc.py,sha256=YPvm6tbsHJJUQBspFcHuVPQfVmiWzwnVvfzRqBdQX6U,1169
@@ -74,13 +74,13 @@ ccxt/indodax.py,sha256=cif-rfqPY8-fIdFx685CBj-nTAeNYaETQERqbHZ5MV4,42544
74
74
  ccxt/itbit.py,sha256=raVWHPOc3hNcpmTB9VymcPH8I3su9V3DLuuCTj5EAgY,34960
75
75
  ccxt/kraken.py,sha256=d4xSO7yQD4cNitoTFbJnOshNYvT-eQVQ_wRwbLXxVb0,102381
76
76
  ccxt/krakenfutures.py,sha256=ZBQ6ibX5KIrtgG_LQUjMzm-ZNE3954qU2KSoPjr55Y0,85654
77
- ccxt/kucoin.py,sha256=6l2iofmOBIl-65gaHQYeyjebvvQt6RSIAozz9UXBCYo,168018
77
+ ccxt/kucoin.py,sha256=tSFXysIpraXblThLNKYEQe4pUqzMV83b6c6ywTbd5o0,169689
78
78
  ccxt/kucoinfutures.py,sha256=v8q1zocCNaHQQf-nNhcRrzi04UX2wbjUDH16cRU8nKg,101499
79
79
  ccxt/kuna.py,sha256=9Xvk8E1MWenPP_kwk8YR3SAWAwu9GRIY3P3TSd6eVMg,37799
80
80
  ccxt/latoken.py,sha256=VnOV1RjxeBzYVpmPXXkOMOyw-gcdgizhv313SZBDwQc,70114
81
81
  ccxt/lbank.py,sha256=Mu8xKXzetCzxfyE9UBm2NO-uFK5YtGzeI6kOfo-EzaQ,33766
82
82
  ccxt/lbank2.py,sha256=Rxxhb0BTzynhAEuN3YzQUsAIISCL8gQy5XWs-m5YMMA,97414
83
- ccxt/luno.py,sha256=ovZfG0i1gqHWHqL8NIbjGnY4uNcAo8dROtOYrO-aSLQ,40529
83
+ ccxt/luno.py,sha256=SkxjcwfAVDcEugZNNsDtxiotv1TDxXnOaHwhZ2DWCX0,40527
84
84
  ccxt/lykke.py,sha256=ZEsfZf8uxeUJr-eyzJv_xVjbi1gU7hHgSo6WemMKUo8,48568
85
85
  ccxt/mercado.py,sha256=ConAckh2qGUdnkE60YU9l-yDZH5gfP7eJOKJI3_vY6Y,34688
86
86
  ccxt/mexc.py,sha256=MfKjWgLZayTUZhiCRRUjAVXtCKMR6x_3lgt7Ty3WrPI,211253
@@ -91,7 +91,7 @@ ccxt/oceanex.py,sha256=MVh4NntprehZM5Y-STu_IBZuYH6t9c5TpzkYGswVaLI,37135
91
91
  ccxt/okcoin.py,sha256=rtzwhSiTQ8qh0hVml3hCn3t_qhIN7iP8wyKkKWVhu_g,177864
92
92
  ccxt/okex.py,sha256=nVDSzVztmboH593DVByjzFoOpFTzumcQFH_T9kdVKlE,434
93
93
  ccxt/okex5.py,sha256=LKTogVF1svNkqW_-Cx0AuAopu6esgFf7ucbv7CaodUg,441
94
- ccxt/okx.py,sha256=-dljAM0-fH2g4tEmDTWO-LMLWDFdqzP5Y4TMiRD8Fr4,284152
94
+ ccxt/okx.py,sha256=Qk5v-gytfqCstsTnzQKtDMD_Wm1k2hR9COkgEco82qc,284204
95
95
  ccxt/paymium.py,sha256=LPrrw7IUDEFp8Y4BPfsU7nDi8Y_LhOYE7wrj2xq_Hr4,23936
96
96
  ccxt/phemex.py,sha256=2k-gtjk_EjLPhjauy6n_3xqwOetEIn8IlECmOilWGCI,197735
97
97
  ccxt/poloniex.py,sha256=eK7BUNYcjAmN-imEW3nYfq38oxHXoKEIfaq0F_Arf00,93720
@@ -151,7 +151,7 @@ ccxt/abstract/btcbox.py,sha256=PtZ2DZyXaPVPCQ5VLa9AEIZ9S0Y-mPrIu6P9BnfJ7dg,849
151
151
  ccxt/abstract/btcmarkets.py,sha256=dQ2yTZ_8T2TEeAYIuKE0ATImbOLDLGSK7HbbBd8XVJQ,3690
152
152
  ccxt/abstract/btctradeua.py,sha256=n2EQMOpdzLNNZrnwZWnpMvnazzoY1vzmdUcLVE7fRho,1407
153
153
  ccxt/abstract/btcturk.py,sha256=081t4ZptWBV-W13Y449RbIC_7w-Y1Q7Ozyu9DWCMr0w,1403
154
- ccxt/abstract/bybit.py,sha256=RqSo0jN05hOKoCLiCCPbKEur2fIOmbijcsIDf1cLGgA,74157
154
+ ccxt/abstract/bybit.py,sha256=5XYzAekFEIrYnUAiReFckPUCwGEL7tZpyrMlLihA8X4,74318
155
155
  ccxt/abstract/cex.py,sha256=Q0NJeDuJ4Kn_mtokYqBenhXWvLIiMSVTqbgbfcLGgv4,3311
156
156
  ccxt/abstract/coinbase.py,sha256=fWcoQs-uOWpvKCjiTjyI_AqdWYYX24M7xlV6q7PM6Ko,9017
157
157
  ccxt/abstract/coinbaseprime.py,sha256=lLp2coY-wJx7MT34jLsIOOSocQxLCi9uyvQ5xplylhw,6952
@@ -199,9 +199,9 @@ ccxt/abstract/ndax.py,sha256=M98Ys406KT6T19Y98dXriD6YjzfglHHbnfQw-PDYWtM,11878
199
199
  ccxt/abstract/novadax.py,sha256=Yy-lYKteQyZTaajK5oQTTikd5sU33cct4ZdtNxo2j30,2565
200
200
  ccxt/abstract/oceanex.py,sha256=a0xAelMYDY_J3QwwLyIX2tGQcv4z2gmX_yJyC6FqoFg,1721
201
201
  ccxt/abstract/okcoin.py,sha256=aaKdO53NvRjbEFTh8NL1YsHyaTyfApO4xkh0NQZdQWA,25825
202
- ccxt/abstract/okex.py,sha256=ZgmKN74kifZEBo8PAEz0Cps1RWIrxWxAQl5YDcWbyt0,30060
203
- ccxt/abstract/okex5.py,sha256=ZgmKN74kifZEBo8PAEz0Cps1RWIrxWxAQl5YDcWbyt0,30060
204
- ccxt/abstract/okx.py,sha256=ZgmKN74kifZEBo8PAEz0Cps1RWIrxWxAQl5YDcWbyt0,30060
202
+ ccxt/abstract/okex.py,sha256=GHUKRYogpKqxU0TmnWSSoUy8NYjoyTaKKDivMdFtC68,30191
203
+ ccxt/abstract/okex5.py,sha256=GHUKRYogpKqxU0TmnWSSoUy8NYjoyTaKKDivMdFtC68,30191
204
+ ccxt/abstract/okx.py,sha256=GHUKRYogpKqxU0TmnWSSoUy8NYjoyTaKKDivMdFtC68,30191
205
205
  ccxt/abstract/paymium.py,sha256=PvsQHHBYBGyWP4eDX_4Ezqq88FPqdSyhkdy5BPJG9s4,2752
206
206
  ccxt/abstract/phemex.py,sha256=lAk6NPuqxxPHAWTjxGDz_W3x9U88v8tjJU4uCIXykQk,12172
207
207
  ccxt/abstract/poloniex.py,sha256=zPyRTMRU_z8wnXdwFVU2a6qgrBHxveUH-lDIySfRRuk,6301
@@ -218,7 +218,7 @@ ccxt/abstract/woo.py,sha256=TeCBts3gIXlBFIyUjzq4y4Iw0O3_FGHkrfIS4bjxwFs,7852
218
218
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
219
219
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
220
220
  ccxt/abstract/zonda.py,sha256=VoxuPkSq8vAvKnDvOqnByhwsIf09m7yIrs8HejFrDk4,5482
221
- ccxt/async_support/__init__.py,sha256=YLds9GR9W8aoGu_FBBACXO5r0G0hfe2QV_bzixtpMPw,15115
221
+ ccxt/async_support/__init__.py,sha256=Hz08cGFFrnvV87hztkqOIHYvqV3Xb8N6ZDGWGqtZSS8,15115
222
222
  ccxt/async_support/ace.py,sha256=cpzMJrG4paMTXdrfdHuJtSXND1NKhfKLNxaYeicMalc,41602
223
223
  ccxt/async_support/alpaca.py,sha256=Jt21OlCY7B4SjX1nIe2OAyUbVyiNfSuEmQR_8Wdaqh0,33407
224
224
  ccxt/async_support/ascendex.py,sha256=NwzC40xL7AhwX4hOW3_P085pfp62esbrUpG2NWsZgxA,133167
@@ -240,7 +240,7 @@ ccxt/async_support/bitforex.py,sha256=qSYt8LjR1Cf_ZFhO9U64B9ywwvHDwSuKdqRHeJ84i4
240
240
  ccxt/async_support/bitget.py,sha256=HgB9AXDm3_4w-NGhikUYgtCRHTSTfsdpbO5LDFo6laA,226545
241
241
  ccxt/async_support/bithumb.py,sha256=DynBg-aTjHGhTqXKMYERrLk9QFfs59Z7Kwi73envhao,42839
242
242
  ccxt/async_support/bitmart.py,sha256=WGSuhTi3k7LKTGPKtWRxZfL_nq5w7AynJJKRlXpLfOM,132190
243
- ccxt/async_support/bitmex.py,sha256=48qd6R_MSY2Qp11slGxbSTPfZsZzrGILsUNhmEdJv1U,111633
243
+ ccxt/async_support/bitmex.py,sha256=mfpg_LBz883rz0GtruJhZolvLsAXdNywMm8OEA1dtpY,112803
244
244
  ccxt/async_support/bitopro.py,sha256=_MPgvZtU8U_ujaU6id9Yu_ueLbwBRL5V8undABxr5bs,65853
245
245
  ccxt/async_support/bitpanda.py,sha256=xUH5ltzMZWHTvZdx20KEFwCnJNmDAf47PFTvMQHsUA0,87885
246
246
  ccxt/async_support/bitrue.py,sha256=RCop7PJ6bfptYkfXxbtVGZQ_lh9a6TYanAkP6Tat5dM,90089
@@ -259,7 +259,7 @@ ccxt/async_support/btcmarkets.py,sha256=98BrNYi8kZaQvpCtrX3MmDEdqSSubdf9HDmuFT-5
259
259
  ccxt/async_support/btctradeua.py,sha256=uoprkdzsBQDHSGqsu4PAhMEsEN2OwBEMUQXYq5k1YNw,22372
260
260
  ccxt/async_support/btcturk.py,sha256=DSwCH5EdcOrzLDQEyk1a3lhc27UllePmyi8X_C4-RPk,35651
261
261
  ccxt/async_support/buda.py,sha256=52OEMVpDkitF15CWUh0CG5uM-sE30f8G9xAkOhrcqtU,45959
262
- ccxt/async_support/bybit.py,sha256=NeaCbzoq8XQJ-7GiPWjJe1Pg_gSfVAy7rr4PgXFTtyw,404981
262
+ ccxt/async_support/bybit.py,sha256=0Mk9kHFU8tkXkWs8eG2K5zF3nWJd-cGxxN9nCURScMM,405043
263
263
  ccxt/async_support/cex.py,sha256=s6b8mpG9VKLoPLNiudyGAhJO_Cr-noACtmm7F7Ukq-w,65348
264
264
  ccxt/async_support/coinbase.py,sha256=4Z8t8Q8E-KTu_2gH7NqcvTUt3mtJiWyzrt2TWeMgx3I,125275
265
265
  ccxt/async_support/coinbaseprime.py,sha256=M5Ez1DsFcW3-vJ-4QoZzwYBAKjAAtJnJpkfnV4sWAIc,1233
@@ -271,10 +271,10 @@ ccxt/async_support/coinmate.py,sha256=i9mOZuPT7R7Xa_yeNaArhP4shROdWhjC8fLzaEWw90
271
271
  ccxt/async_support/coinone.py,sha256=9JpcmpKiWhDpWWzOTpyfPU_0E-BrB-BqAJNErTRnh9g,35484
272
272
  ccxt/async_support/coinsph.py,sha256=uY-8IeGYl3kDqaMCnLks7X2lhbs0o5MwzqOrXsf51L0,81545
273
273
  ccxt/async_support/coinspot.py,sha256=VcpBGJ1ZPuyZb2kgSAsIrfmctthDN2_-J_AOrXHkkFA,18961
274
- ccxt/async_support/cryptocom.py,sha256=lAtqcoKnkunXBmu8GnI64f9IqWwrPXkvb7AhqFVH-2k,112893
274
+ ccxt/async_support/cryptocom.py,sha256=oaFPcu9p158W-WxkANTcgeJd-r0NIQ_1kNIq_hrTn9Y,116149
275
275
  ccxt/async_support/currencycom.py,sha256=xbrDg-EtqqgGd4RVbZKzyCYhUB3nW3N61h_Qo4MHIN0,82638
276
276
  ccxt/async_support/delta.py,sha256=L-1sKiiNKGolX6AyOhf6Ba7iofOw162BYkxobF1D-8Y,84494
277
- ccxt/async_support/deribit.py,sha256=ilyeGEGlywUrv4EwKwe5j6mlOwsqLmhDdGTI8g76aJY,119609
277
+ ccxt/async_support/deribit.py,sha256=sb8KNI_VomLZtijwPiJ_NJWoEwScmWEhdZRbtmJ1hxg,119823
278
278
  ccxt/async_support/digifinex.py,sha256=h0ZoZWl1bujR0NnjEQ8nv8F5E69PYQ121ZRH45aRVJw,152938
279
279
  ccxt/async_support/exmo.py,sha256=FXcly_XEDp-N3ZoK9IhSbLeSFgIwOzNtR7r8vAesXLw,89500
280
280
  ccxt/async_support/flowbtc.py,sha256=bCnvtcNnPxxaxqVjI1GGXKhIpz_1r4GIFWqqPokvCR0,1183
@@ -294,13 +294,13 @@ ccxt/async_support/indodax.py,sha256=YPICECYq7qvlrHXOS5zqgbhkKRfJhe6h921tmUIYJiI
294
294
  ccxt/async_support/itbit.py,sha256=nSiSPygyEAiDm5kcpRYFJGXjx631XB3oGK6M8zGoiDs,35208
295
295
  ccxt/async_support/kraken.py,sha256=-ydLs5IzXsZfEhdFydQB4fPTnuio0swMSNkPzLvLcmM,102923
296
296
  ccxt/async_support/krakenfutures.py,sha256=6sTQruGFLFUWhgpMHbuRqrUg-XKlSBbMrs-YNuxlk1w,85974
297
- ccxt/async_support/kucoin.py,sha256=3icBIaZMhzBRx-WFMEQGU4GyvAdBr4mr_2kUPOX1H9M,168650
297
+ ccxt/async_support/kucoin.py,sha256=Fst2Shl0LGXth3bIwX3uCbv8UP6sfiwr7V_OYP2Q7Xg,170339
298
298
  ccxt/async_support/kucoinfutures.py,sha256=AwVtdjq-y8DXkPmJnDn8dCT2908GPlGzzMpl45kUmA0,101969
299
299
  ccxt/async_support/kuna.py,sha256=TDidt-wI2_z28I51qRoCVhAVL5bXmUsiZdfEkDOhPFI,38047
300
300
  ccxt/async_support/latoken.py,sha256=5JBeHMaZ2fLo32oKvXnFkZP2MgBOIy2dK4ePjjonVxM,70506
301
301
  ccxt/async_support/lbank.py,sha256=ZaSJs8cVgFxCn7upTR8-vFBsXBL9VlmBxnpXt07Z2rM,34002
302
302
  ccxt/async_support/lbank2.py,sha256=w8s6uVNob0ajW7d3il-HPfipA9U3TPipcWPvPIEjgLs,97962
303
- ccxt/async_support/luno.py,sha256=5IqMOVZ18jXEcJUokWmRUC3eDaxpJlfE7ZWYPZucsK0,40837
303
+ ccxt/async_support/luno.py,sha256=Rv_GvuPlCBCJcxATaLrFvfnaIXA0GIyqt36h0SPjJ9I,40835
304
304
  ccxt/async_support/lykke.py,sha256=mpxh8XGR4Rht_w8hR1ucph605Dl8OPRDgQiOu6jHHtE,48870
305
305
  ccxt/async_support/mercado.py,sha256=knmxmmGRJyRNysyju9jJuRneQbkTU0e2NE2o-s1XG6I,34930
306
306
  ccxt/async_support/mexc.py,sha256=jqV0RIHra5lWhaE0w4eoWwZrCNJ_0asPcgjHg35erWY,212299
@@ -311,7 +311,7 @@ ccxt/async_support/oceanex.py,sha256=tkeBxNTx00ujVki1MiCeBre7jZni3-1bF-lTIm8U8g4
311
311
  ccxt/async_support/okcoin.py,sha256=iIVDYwE1BycxHU-4YnEyVONuHTyTiNR6e0LjNeAZHSM,178328
312
312
  ccxt/async_support/okex.py,sha256=6dbtH4bC1C2x4cQUK6W62y7PuDgO3YazuFa7DYhM4Jw,448
313
313
  ccxt/async_support/okex5.py,sha256=tq41tKx06j3DDO9pu9iKInpjayVprbobVNTK8qb7hoM,455
314
- ccxt/async_support/okx.py,sha256=0cBPL-hrmooG2E5lv1rDGym6e8KsBOyoB6wxoLYiQJI,285218
314
+ ccxt/async_support/okx.py,sha256=P3D5G58iaUpOWHwJAbe4aLxAAJLbSCaF4DXDj09KRfg,285270
315
315
  ccxt/async_support/paymium.py,sha256=mtOB_A5_kGtJUmWld9aLgZ3FxgTkb8u28U8hzcZvPow,24124
316
316
  ccxt/async_support/phemex.py,sha256=qzEvyUIMxmzFAokP5004ourskK9heZqSlNEQKjMGYwg,198331
317
317
  ccxt/async_support/poloniex.py,sha256=_0D9EXcDYbMhWn_ShUuEqbfSZkLwNDTbxJV_0hr5Llo,94220
@@ -333,7 +333,7 @@ ccxt/async_support/zaif.py,sha256=eCR5rPQU9BpP2b-X0hPtOtN2FXiKZ4URHyyZ53Di6T4,29
333
333
  ccxt/async_support/zb.py,sha256=W8HHyssjCLTugSRs80TnAwGJl85vp7nyNPOn9RLpXFk,184533
334
334
  ccxt/async_support/zonda.py,sha256=i1QaMWMKiFXms-oEXKbdKPgwQ2dGjM98qs6Nuj5cGQY,79854
335
335
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
336
- ccxt/async_support/base/exchange.py,sha256=1aZ_qxoYuuBV22qFRGoBwRMykEji0ZCzlDmFYp67T-0,141122
336
+ ccxt/async_support/base/exchange.py,sha256=IywhH_k4n8AN5XFOTUfwqsfpchHRi-kgGSMD-bjDcGM,140890
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=xmlZV30Vb9Kq7JCm3D5FuEmuj1zp5H4F4hrz8-Y-Ir4,4999
@@ -347,10 +347,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GH-475Ni0mLOx7mUDnz4jjzaGkh
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=-LVeTNyXvu3QEgb-p-KzMpcBgzHlvFTwDzmZK7Gfc14,3401
350
- ccxt/base/exchange.py,sha256=qcEA4Z-JAL6B1pbBq_hvoSHsTy5EdYdK9YISdvG92fI,180437
350
+ ccxt/base/exchange.py,sha256=moEsjSiGfzIZK_ywoaqM7gROUP-fJ2WGe30ZpW7vXRY,180205
351
351
  ccxt/base/precise.py,sha256=_xfu54sV0vWNnOfGTKRFykeuWP8mn4K1m9lk1tcllX4,8565
352
352
  ccxt/base/types.py,sha256=be7MU-iLHhynL-GmIzPxb0SD6GIps-w3PmPN05irsAA,1406
353
- ccxt/pro/__init__.py,sha256=zStVTK3GLwE2bry1OYd99VZZrQkGsDe6ATXbaQ0ASMY,6377
353
+ ccxt/pro/__init__.py,sha256=_QW8XfAKbOzioVdJsKr8Mh0Yhqe0AvFzv1JVd2m6tYU,6377
354
354
  ccxt/pro/alpaca.py,sha256=CmaU0MJq0HiNaYvBHeDJfTa-letDiEQonRON7Q_3W_k,26686
355
355
  ccxt/pro/ascendex.py,sha256=k6rpuiPhj3ipeWRG5vwR22SS4iAzQPe1q1WxJaaucLk,34565
356
356
  ccxt/pro/bequant.py,sha256=qz8JjnpkAQY_CFiFSKGqrjjgZ2167_TBKjSJOb9NeDw,1081
@@ -379,7 +379,7 @@ ccxt/pro/coinbasepro.py,sha256=lZkAbpKDJOzDi-sdywzwVkBkoXRv6QTz6DbKvcadj24,30116
379
379
  ccxt/pro/coinex.py,sha256=Sqbbxgas20a0L9YaOO7bS__zbpJl3xe6j70crtZ7DBg,40960
380
380
  ccxt/pro/cryptocom.py,sha256=CRKYAUZq_Kz5BY3uB0886ob384kNXFlbNIRmtI6Qntw,22993
381
381
  ccxt/pro/currencycom.py,sha256=fuP5lnGZTM8jDdeRTMN1TgN7fGwJL9S2ZEsiFTeXYkk,22099
382
- ccxt/pro/deribit.py,sha256=hR6DumIO1s1yYM-_X1nbNZl1rhLoYp_cAL8gKvKg9rg,34022
382
+ ccxt/pro/deribit.py,sha256=u8xQDCDokNSd1FEPP-FZVz2kiLsL6ha5IHtt_6lxU80,34023
383
383
  ccxt/pro/exmo.py,sha256=lCluhhAOxz0qHtKFl2iQqrXdAW3nZEiK3Jsjt8v037Y,24409
384
384
  ccxt/pro/gate.py,sha256=y4iby831xVytdosXuwDEM2qLr9TeK_FNwZMhVd-xWkw,42116
385
385
  ccxt/pro/gateio.py,sha256=_uBWXYQbmsHRivKnZOJDmxJ9tWLO_0HAxmOjAEUy9nE,391
@@ -460,7 +460,7 @@ ccxt/test/base/test_ticker.py,sha256=h9AV_O6s-Ax3vB3sFoN0Mz22rMOi65i9BDv0SNejH98
460
460
  ccxt/test/base/test_trade.py,sha256=bL9o3S_TGW8Nnlxu-BYkRG8NyRzKAWrU66uO5jJCM3A,2259
461
461
  ccxt/test/base/test_trading_fee.py,sha256=yRCpLHLg_ca9JQXdZB3_pIMHgHLGEfeQF95E6d1e2Bc,1125
462
462
  ccxt/test/base/test_transaction.py,sha256=BTbB4UHHXkrvYgwbrhh867nVRlevmIkIrz1W_odlQJI,1434
463
- ccxt-3.1.52.dist-info/METADATA,sha256=oUwuMN8xReshebAM58c9pVfe4ZP0NRqukx6IL7D_6PE,108224
464
- ccxt-3.1.52.dist-info/WHEEL,sha256=a-zpFRIJzOq5QfuhBzbhiA1eHTzNCJn8OdRvhdNX0Rk,110
465
- ccxt-3.1.52.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
466
- ccxt-3.1.52.dist-info/RECORD,,
463
+ ccxt-3.1.54.dist-info/METADATA,sha256=SoK5Me6D7-wXnZm3Qc3KlRRmlKSxaUujh0NLgRtfyVo,107798
464
+ ccxt-3.1.54.dist-info/WHEEL,sha256=a-zpFRIJzOq5QfuhBzbhiA1eHTzNCJn8OdRvhdNX0Rk,110
465
+ ccxt-3.1.54.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
466
+ ccxt-3.1.54.dist-info/RECORD,,
File without changes