ccxt 4.2.80__py2.py3-none-any.whl → 4.2.82__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/okx.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.okx import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Account, Balances, Currency, Greeks, Int, Leverage, Market, MarketInterface, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
9
+ from ccxt.base.types import Account, Balances, Currency, Greeks, Int, Leverage, Market, MarketInterface, Num, Option, OptionChain, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -116,6 +116,8 @@ class okx(Exchange, ImplicitAPI):
116
116
  'fetchOpenInterestHistory': True,
117
117
  'fetchOpenOrder': None,
118
118
  'fetchOpenOrders': True,
119
+ 'fetchOption': True,
120
+ 'fetchOptionChain': True,
119
121
  'fetchOrder': True,
120
122
  'fetchOrderBook': True,
121
123
  'fetchOrderBooks': False,
@@ -1833,16 +1835,27 @@ class okx(Exchange, ImplicitAPI):
1833
1835
  first = self.safe_value(data, 0, {})
1834
1836
  return self.parse_ticker(first, market)
1835
1837
 
1836
- def fetch_tickers_by_type(self, type, symbols: Strings = None, params={}):
1838
+ def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
1839
+ """
1840
+ fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
1841
+ :see: https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-tickers
1842
+ :param str[] [symbols]: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
1843
+ :param dict [params]: extra parameters specific to the exchange API endpoint
1844
+ :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
1845
+ """
1837
1846
  self.load_markets()
1847
+ symbols = self.market_symbols(symbols)
1848
+ market = self.get_market_from_symbols(symbols)
1849
+ marketType = None
1850
+ marketType, params = self.handle_market_type_and_params('fetchTickers', market, params)
1838
1851
  request = {
1839
- 'instType': self.convert_to_instrument_type(type),
1852
+ 'instType': self.convert_to_instrument_type(marketType),
1840
1853
  }
1841
- if type == 'option':
1854
+ if marketType == 'option':
1842
1855
  defaultUnderlying = self.safe_value(self.options, 'defaultUnderlying', 'BTC-USD')
1843
1856
  currencyId = self.safe_string_2(params, 'uly', 'marketId', defaultUnderlying)
1844
1857
  if currencyId is None:
1845
- raise ArgumentsRequired(self.id + ' fetchTickersByType() requires an underlying uly or marketId parameter for options markets')
1858
+ raise ArgumentsRequired(self.id + ' fetchTickers() requires an underlying uly or marketId parameter for options markets')
1846
1859
  else:
1847
1860
  request['uly'] = currencyId
1848
1861
  response = self.publicGetMarketTickers(self.extend(request, params))
@@ -1872,26 +1885,9 @@ class okx(Exchange, ImplicitAPI):
1872
1885
  # ]
1873
1886
  # }
1874
1887
  #
1875
- tickers = self.safe_value(response, 'data', [])
1888
+ tickers = self.safe_list(response, 'data', [])
1876
1889
  return self.parse_tickers(tickers, symbols)
1877
1890
 
1878
- def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
1879
- """
1880
- fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
1881
- :see: https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-tickers
1882
- :param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
1883
- :param dict [params]: extra parameters specific to the exchange API endpoint
1884
- :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
1885
- """
1886
- self.load_markets()
1887
- symbols = self.market_symbols(symbols)
1888
- first = self.safe_string(symbols, 0)
1889
- market = None
1890
- if first is not None:
1891
- market = self.market(first)
1892
- type, query = self.handle_market_type_and_params('fetchTickers', market, params)
1893
- return self.fetch_tickers_by_type(type, symbols, query)
1894
-
1895
1891
  def parse_trade(self, trade, market: Market = None) -> Trade:
1896
1892
  #
1897
1893
  # public fetchTrades
@@ -4438,18 +4434,7 @@ class okx(Exchange, ImplicitAPI):
4438
4434
  if fee is None:
4439
4435
  raise ArgumentsRequired(self.id + ' withdraw() requires a "fee" string parameter, network transaction fee must be ≥ 0. Withdrawals to OKCoin or OKX are fee-free, please set "0". Withdrawing to external digital asset address requires network transaction fee.')
4440
4436
  request['fee'] = self.number_to_string(fee) # withdrawals to OKCoin or OKX are fee-free, please set 0
4441
- if 'password' in params:
4442
- request['pwd'] = params['password']
4443
- elif 'pwd' in params:
4444
- request['pwd'] = params['pwd']
4445
- else:
4446
- options = self.safe_value(self.options, 'withdraw', {})
4447
- password = self.safe_string_2(options, 'password', 'pwd')
4448
- if password is not None:
4449
- request['pwd'] = password
4450
- query = self.omit(params, ['fee', 'password', 'pwd'])
4451
- if not ('pwd' in request):
4452
- raise ExchangeError(self.id + ' withdraw() requires a password parameter or a pwd parameter, it must be the funding password, not the API passphrase')
4437
+ query = self.omit(params, ['fee'])
4453
4438
  response = self.privatePostAssetWithdrawal(self.extend(request, query))
4454
4439
  #
4455
4440
  # {
@@ -6926,6 +6911,139 @@ class okx(Exchange, ImplicitAPI):
6926
6911
  order = self.safe_value(data, 0)
6927
6912
  return self.parse_order(order, market)
6928
6913
 
6914
+ def fetch_option(self, symbol: str, params={}) -> Option:
6915
+ """
6916
+ fetches option data that is commonly found in an option chain
6917
+ :see: https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-ticker
6918
+ :param str symbol: unified market symbol
6919
+ :param dict [params]: extra parameters specific to the exchange API endpoint
6920
+ :returns dict: an `option chain structure <https://docs.ccxt.com/#/?id=option-chain-structure>`
6921
+ """
6922
+ self.load_markets()
6923
+ market = self.market(symbol)
6924
+ request = {
6925
+ 'instId': market['id'],
6926
+ }
6927
+ response = self.publicGetMarketTicker(self.extend(request, params))
6928
+ #
6929
+ # {
6930
+ # "code": "0",
6931
+ # "msg": "",
6932
+ # "data": [
6933
+ # {
6934
+ # "instType": "OPTION",
6935
+ # "instId": "BTC-USD-241227-60000-P",
6936
+ # "last": "",
6937
+ # "lastSz": "0",
6938
+ # "askPx": "",
6939
+ # "askSz": "0",
6940
+ # "bidPx": "",
6941
+ # "bidSz": "0",
6942
+ # "open24h": "",
6943
+ # "high24h": "",
6944
+ # "low24h": "",
6945
+ # "volCcy24h": "0",
6946
+ # "vol24h": "0",
6947
+ # "ts": "1711176035035",
6948
+ # "sodUtc0": "",
6949
+ # "sodUtc8": ""
6950
+ # }
6951
+ # ]
6952
+ # }
6953
+ #
6954
+ result = self.safe_list(response, 'data', [])
6955
+ chain = self.safe_dict(result, 0, {})
6956
+ return self.parse_option(chain, None, market)
6957
+
6958
+ def fetch_option_chain(self, code: str, params={}) -> OptionChain:
6959
+ """
6960
+ fetches data for an underlying asset that is commonly found in an option chain
6961
+ :see: https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-tickers
6962
+ :param str currency: base currency to fetch an option chain for
6963
+ :param dict [params]: extra parameters specific to the exchange API endpoint
6964
+ :param str [params.uly]: the underlying asset, can be obtained from fetchUnderlyingAssets()
6965
+ :returns dict: a list of `option chain structures <https://docs.ccxt.com/#/?id=option-chain-structure>`
6966
+ """
6967
+ self.load_markets()
6968
+ currency = self.currency(code)
6969
+ request = {
6970
+ 'uly': currency['code'] + '-USD',
6971
+ 'instType': 'OPTION',
6972
+ }
6973
+ response = self.publicGetMarketTickers(self.extend(request, params))
6974
+ #
6975
+ # {
6976
+ # "code": "0",
6977
+ # "msg": "",
6978
+ # "data": [
6979
+ # {
6980
+ # "instType": "OPTION",
6981
+ # "instId": "BTC-USD-240323-52000-C",
6982
+ # "last": "",
6983
+ # "lastSz": "0",
6984
+ # "askPx": "",
6985
+ # "askSz": "0",
6986
+ # "bidPx": "",
6987
+ # "bidSz": "0",
6988
+ # "open24h": "",
6989
+ # "high24h": "",
6990
+ # "low24h": "",
6991
+ # "volCcy24h": "0",
6992
+ # "vol24h": "0",
6993
+ # "ts": "1711176207008",
6994
+ # "sodUtc0": "",
6995
+ # "sodUtc8": ""
6996
+ # },
6997
+ # ]
6998
+ # }
6999
+ #
7000
+ result = self.safe_list(response, 'data', [])
7001
+ return self.parse_option_chain(result, None, 'instId')
7002
+
7003
+ def parse_option(self, chain, currency: Currency = None, market: Market = None):
7004
+ #
7005
+ # {
7006
+ # "instType": "OPTION",
7007
+ # "instId": "BTC-USD-241227-60000-P",
7008
+ # "last": "",
7009
+ # "lastSz": "0",
7010
+ # "askPx": "",
7011
+ # "askSz": "0",
7012
+ # "bidPx": "",
7013
+ # "bidSz": "0",
7014
+ # "open24h": "",
7015
+ # "high24h": "",
7016
+ # "low24h": "",
7017
+ # "volCcy24h": "0",
7018
+ # "vol24h": "0",
7019
+ # "ts": "1711176035035",
7020
+ # "sodUtc0": "",
7021
+ # "sodUtc8": ""
7022
+ # }
7023
+ #
7024
+ marketId = self.safe_string(chain, 'instId')
7025
+ market = self.safe_market(marketId, market)
7026
+ timestamp = self.safe_integer(chain, 'ts')
7027
+ return {
7028
+ 'info': chain,
7029
+ 'currency': None,
7030
+ 'symbol': market['symbol'],
7031
+ 'timestamp': timestamp,
7032
+ 'datetime': self.iso8601(timestamp),
7033
+ 'impliedVolatility': None,
7034
+ 'openInterest': None,
7035
+ 'bidPrice': self.safe_number(chain, 'bidPx'),
7036
+ 'askPrice': self.safe_number(chain, 'askPx'),
7037
+ 'midPrice': None,
7038
+ 'markPrice': None,
7039
+ 'lastPrice': self.safe_number(chain, 'last'),
7040
+ 'underlyingPrice': None,
7041
+ 'change': None,
7042
+ 'percentage': None,
7043
+ 'baseVolume': self.safe_number(chain, 'volCcy24h'),
7044
+ 'quoteVolume': None,
7045
+ }
7046
+
6929
7047
  def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
6930
7048
  if not response:
6931
7049
  return None # fallback to default error handler
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.2.80'
7
+ __version__ = '4.2.82'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.2.80
3
+ Version: 4.2.82
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
@@ -262,13 +262,13 @@ console.log(version, Object.keys(exchanges));
262
262
 
263
263
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
264
264
 
265
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.80/dist/ccxt.browser.js
266
- * unpkg: https://unpkg.com/ccxt@4.2.80/dist/ccxt.browser.js
265
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.82/dist/ccxt.browser.js
266
+ * unpkg: https://unpkg.com/ccxt@4.2.82/dist/ccxt.browser.js
267
267
 
268
268
  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.
269
269
 
270
270
  ```HTML
271
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.80/dist/ccxt.browser.js"></script>
271
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.82/dist/ccxt.browser.js"></script>
272
272
  ```
273
273
 
274
274
  Creates a global `ccxt` object:
@@ -1,10 +1,10 @@
1
- ccxt/__init__.py,sha256=qY9CkBOJ9TSDzdOkVVVCSJVgMSs4-inlwLJ4bQaRamg,15656
1
+ ccxt/__init__.py,sha256=AaH0NOSi-95K3k3M8lUwKpNw_0CE-teOK2wICcOuK4M,15656
2
2
  ccxt/ace.py,sha256=nK9SbduDWoKzecwoSK9VYwReNMscvJ_JWo5IZvFbcQo,41409
3
3
  ccxt/alpaca.py,sha256=dCp9cDDKAqaaOroIPfv3sMBsMcUM7TsSKNSYZ3LLTQg,46892
4
4
  ccxt/ascendex.py,sha256=Ma2iM3L3kyXf6d_iqushKWfN1BtunXcrDe-_BENaw5U,150809
5
5
  ccxt/bequant.py,sha256=RBiAmaTbL35DgiV3Hl6uchLUd78V0z1T9riTlNsrpdc,1174
6
6
  ccxt/bigone.py,sha256=I1ttsW3Iu0hGrb8e0_WMjyzb6utPdv8bV6qK6GtixIY,92155
7
- ccxt/binance.py,sha256=tjaercNB01OU_JsIz92Ds4Y1E-Td2sJIyLxC7rYMlig,587293
7
+ ccxt/binance.py,sha256=RBlHa60MFkF8xLHp0TzMIc2B6yXJVzL0uQRjd1wn5m8,590756
8
8
  ccxt/binancecoinm.py,sha256=pncdw6Xw2X1Po-vEvAB4nL37scoS_axGAVxetPy1YQs,1645
9
9
  ccxt/binanceus.py,sha256=hdcT4OnadcdFFFjF3GtM0nWv90jqojqwdVS3xWGuW40,9163
10
10
  ccxt/binanceusdm.py,sha256=KPQGlCalQ0eGlPCs2tSanOxaP8O0zFRQjGntA16Yprw,2480
@@ -23,7 +23,7 @@ ccxt/bitmart.py,sha256=vmtmyFhepEnk7Qse_lJHz2IUCrjZTHHuxt0FsDQU9s0,198947
23
23
  ccxt/bitmex.py,sha256=JQGOMKArh1AFbns8uvPgxrCdlvtFCB8hXSeKEwQ9vB0,125311
24
24
  ccxt/bitopro.py,sha256=HOLhSS50ITBr0UIWeON3KCt6i2QZ0M-zDhNj8B7MMHU,68081
25
25
  ccxt/bitpanda.py,sha256=aiwPkx9lKbVzt4ggoYdq_mIbMGtg5ZtGl2yRHO5xyz8,471
26
- ccxt/bitrue.py,sha256=F9PUD-Bp1HD_VG2BCX0tRp96lNch3hg3Gy8iuUmU3eU,135824
26
+ ccxt/bitrue.py,sha256=mxfU7bm1covUbkjLs2wgI4KT_Aqv-5T2QRuE7suoHW4,135898
27
27
  ccxt/bitso.py,sha256=J_pd9byYxQAAKEpFVQYFbswMUeWKvvfj-7Y6UjOZk_0,70690
28
28
  ccxt/bitstamp.py,sha256=69oVQdm3vR9KjJAcxntQ24u4HFrWIHphEjOWLovJmdQ,91526
29
29
  ccxt/bitteam.py,sha256=7p-66IqLY-SVNAD_SWVx2DKfQrqsusB-mcumpT2qK0c,101797
@@ -35,7 +35,7 @@ ccxt/btcalpha.py,sha256=W8vwhmpLK72hiMJtEfpxHeNeWF6pX9Dvod3lhNvdNps,36534
35
35
  ccxt/btcbox.py,sha256=XBgl9nPQUr0eL_El9-K4AuFODEXbesU6F0euVbvUs04,23341
36
36
  ccxt/btcmarkets.py,sha256=YEmwNq-K-YAgLqNKagyQYKKqIJzpSCKzxXyUxDKSx8I,51302
37
37
  ccxt/btcturk.py,sha256=9ogBoc1AHHvl0sosm-q0rdHvOmE9zFNCdSTcSHl7VSI,36417
38
- ccxt/bybit.py,sha256=rDKzRdrZ1pi3QOYOncY2C64gvpLCXNRaLbZo1Rb9DM8,392371
38
+ ccxt/bybit.py,sha256=CHe5tm-6Bw3hrsyZ24a1zQig-dTXLsAlcufbhTbdKGk,399904
39
39
  ccxt/cex.py,sha256=1lEHtvkhsokdUwcMsA9K1tOJtzdnjf5ovYOmWQGL8-8,69583
40
40
  ccxt/coinbase.py,sha256=oze3sKjBPuVqv2I1pbmGkPbiI9en-Uc2qqV1IuAYtf8,177031
41
41
  ccxt/coinbaseinternational.py,sha256=8Ejile-YQdH8YQvz48p_93A3NXZw_bI7-DhHV-Aqkag,87033
@@ -50,13 +50,13 @@ ccxt/coinsph.py,sha256=JHgkCYzNGRRc_s398dxbz_60QqeRx_7_-Xb3Anqkq3o,90258
50
50
  ccxt/coinspot.py,sha256=8aCFFIp8jB5NDVQLwbZdS5BxW4ML3TqTFaLqQKikkl0,23465
51
51
  ccxt/cryptocom.py,sha256=cEqvh5Z19n1f-bAhfIdcB8-aFf2cepPpgcB5sgLMHnc,128088
52
52
  ccxt/currencycom.py,sha256=sk1-z8ZYEpastKUoi-iGuK_Z8HNhrafU-2QmKFZyQGk,86679
53
- ccxt/delta.py,sha256=E_wCRMh_rYURHG20xCHp88LrZQJlSgTYjSs13n0nzdU,144318
54
- ccxt/deribit.py,sha256=5LjRVie7LjnbLIsSyYMK3qJ39aM11gkZchmdKbrImtI,160080
53
+ ccxt/delta.py,sha256=qAm-RBzG6vVhD8Cf3vKT80NlOb-JmwPbg3yLiXDLwPQ,150455
54
+ ccxt/deribit.py,sha256=CXwvLJ208USYgTKQzfnJBXkhK5vVuvsNb1CFzNG4iDg,160072
55
55
  ccxt/digifinex.py,sha256=v5Kk702BABJj-ilooFZBSWYPW_IYLXnF1dy-ODzbQGs,169358
56
56
  ccxt/exmo.py,sha256=ln3Sd9brSMAIxtAqMOyD-Rq5h4TPeYAMAlNpXTAijvE,114222
57
57
  ccxt/flowbtc.py,sha256=YPvm6tbsHJJUQBspFcHuVPQfVmiWzwnVvfzRqBdQX6U,1169
58
58
  ccxt/fmfwio.py,sha256=RbVLvzPwnqfDsE7Ea-N13ISCC82eJVPsXYjrleASmew,1236
59
- ccxt/gate.py,sha256=4xy-p8cb8VZ8amaZWGGt_3N9tGgynz1zRqyydsY7Rek,306534
59
+ ccxt/gate.py,sha256=vVar0U4Xy7PsJ3cHUhM_R1llN50C4Zx2UYaUiwztFoE,314396
60
60
  ccxt/gateio.py,sha256=86AETJWODl_vA5VNeQRHZprmpNIY1HAxCddKZcnKSi8,445
61
61
  ccxt/gemini.py,sha256=SWw8Rm19sB48DoQbrSnK6gLQDLS4ZD2gviR60kpuA8k,79373
62
62
  ccxt/hitbtc.py,sha256=sjDwsBjyuVRp-0bbPgdhQWmMX3p1-BIH22Rh7rrqWmE,151471
@@ -65,7 +65,7 @@ ccxt/hollaex.py,sha256=biaF8aAMAqQQU2MHySgfipZHYvyq5Qhjd7JlSyETtPI,75830
65
65
  ccxt/htx.py,sha256=K6qHgIxPBqfEKTzE-U6_ZLKu6Rmi8NHU5xjbjTyvPHQ,418804
66
66
  ccxt/huobi.py,sha256=4vaG7IRN7fyjaJ_ac6S-njlHOfSEN5de7aq0noznxYw,438
67
67
  ccxt/huobijp.py,sha256=0AcNDNAnWf-t9yFIE2FTVHm0xaBoBzX4gGO5dSJaElk,87907
68
- ccxt/hyperliquid.py,sha256=JS7RXpyhal00BR5cQG0kzkyZ0ZTWhoHCRyRspUTyKU4,83029
68
+ ccxt/hyperliquid.py,sha256=iTCiFgz8VVqtoL3FpYAjdJP9Ae2lAVnd1MJXRaPg33A,83106
69
69
  ccxt/idex.py,sha256=gpkfFnVxZUnYGaT--peh4IF1iB-HkoxknA6rJMq_3kk,72706
70
70
  ccxt/independentreserve.py,sha256=m8UP6mnYrl48623Y_tC6F0lZRx2rwTFmb-JZplnfzvA,31982
71
71
  ccxt/indodax.py,sha256=Su32yUkKr3OZlRYK3NcITfMipvErSjvSBgzO2Ljobdw,51765
@@ -84,7 +84,7 @@ ccxt/ndax.py,sha256=iHuUDxE3FBgfhwaDhCQ1X7QMQjXDl91YF2MFDxUz9dk,108327
84
84
  ccxt/novadax.py,sha256=bxCFcrWsntHJKmuODno4FzGVP_85joYW5Y9QEKsfFvM,64098
85
85
  ccxt/oceanex.py,sha256=G_7y2JVDAIKa8fMebx55Qq4EIYkmhWY3SoGy_pmgSd4,37811
86
86
  ccxt/okcoin.py,sha256=wmV93bnhpzJEOrOVpP92VCBZ_OulWrqJj7423pa_CHY,151013
87
- ccxt/okx.py,sha256=rBJKHi8BjWvnCQ8mfFSjRE26j7spedtQfVziqFI0D8E,338461
87
+ ccxt/okx.py,sha256=wR5WF1KSlMEOUaOw9GU8xxY8WBNcW-PJuTPBt6gPgcY,342942
88
88
  ccxt/onetrading.py,sha256=WQfDptspbWO-GXenGyJaJ8OWUWymlvKKyCXHYmCVhZ4,87891
89
89
  ccxt/p2b.py,sha256=l9zO6BqQdu_he6-TJl9zAO3HQJp_q3c6sr-eMO8Awm0,54065
90
90
  ccxt/paymium.py,sha256=2mBwmyT93k-dXBEKEix48G8PsA2IEN_5yScEM985Z10,24203
@@ -207,13 +207,13 @@ ccxt/abstract/woo.py,sha256=E-QXVJKVI4EOW72NX6wv99px9EyitWtd9KWvXUc9Tyo,10216
207
207
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
208
208
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
209
209
  ccxt/abstract/zonda.py,sha256=aSfewvRojzmuymX6QbOnDR8v9VFqWTULMHX9Y7kKD1M,5820
210
- ccxt/async_support/__init__.py,sha256=EydwL_nKCgcIHDOeQbf9If6cLVzyhLyRFrN9LJcq84A,15409
210
+ ccxt/async_support/__init__.py,sha256=bS68QDLi5TCHiMreqViqhZIxLCfPSRDnyTVkNQFbL1Q,15409
211
211
  ccxt/async_support/ace.py,sha256=MGP2VoA2plRgcW8ZBBXAAUg0NSOXlWtwbzYr00DFMaI,41633
212
212
  ccxt/async_support/alpaca.py,sha256=-vgtpCEqQWs-k7tA0PObflNKa7pM1HqQYYOMnCS9r24,47104
213
213
  ccxt/async_support/ascendex.py,sha256=K_mqPMdT9Q1oS8CRtoVYjlN4rbp86glU4sPQGFi4W6U,151597
214
214
  ccxt/async_support/bequant.py,sha256=1hTwHovo1bW1XTIc8ZKjvJ-Xg6LfmpGdzT7TepykaVM,1188
215
215
  ccxt/async_support/bigone.py,sha256=9_Xs69EbjqmchKlewEZh7mMpz1RYGNzAxiEMKANtgU8,92609
216
- ccxt/async_support/binance.py,sha256=-UkYVjh3oU9oPpPeaenf-vRiM_ci-1bJD90_laB8NgE,589811
216
+ ccxt/async_support/binance.py,sha256=y29nEjI-shjpYEM-wN-r7Kz2xHmIT_cMSHFZ7BJ1O8w,593292
217
217
  ccxt/async_support/binancecoinm.py,sha256=IY3RLZptQA2nmZaUYRGfTa5ZY4VMWBpFYfwHc8zTHw0,1683
218
218
  ccxt/async_support/binanceus.py,sha256=c-K3Tk7LaRJjmYdCx8vBOqsx01uXrtvt0PC2ekBiD0g,9177
219
219
  ccxt/async_support/binanceusdm.py,sha256=-1r4A4tmV2pCiLGO80hzq7MIIj4MTzOD7buZGv6JauA,2518
@@ -232,7 +232,7 @@ ccxt/async_support/bitmart.py,sha256=0_5IdMW8FyJV86h5XcJi70-ByLnI_oJL71MOznxCwcA
232
232
  ccxt/async_support/bitmex.py,sha256=NzN7OQdaHOm2pO6omyJfTzQQwjjJ9MCa1YWWp1n5Bqo,125871
233
233
  ccxt/async_support/bitopro.py,sha256=rITEIfcRAsTq7myJ7Nm-4hY26q6dyvtHXP56cZ2MD7M,68485
234
234
  ccxt/async_support/bitpanda.py,sha256=2k3URBWrpnh2xHa7JiYenI7_4MW5UeOPGzetlmRkR4U,485
235
- ccxt/async_support/bitrue.py,sha256=WZFRGIhf-Bmm0uteDDw-G9LJr6sUVbAIr-_vAvPnuOg,136482
235
+ ccxt/async_support/bitrue.py,sha256=jsC1neKiNCjYKuYEv1WlYJM0lDe_qfQ6U2-EzEtMXPw,136556
236
236
  ccxt/async_support/bitso.py,sha256=MdGEPa3N4Wuqx1_BZm9MWjyRi4CzDSGyoW41h1fLDqs,71076
237
237
  ccxt/async_support/bitstamp.py,sha256=IDGAsbqo9CTL-hw9W5aBU91njk9F3XuJ5RpRCckLGC0,92026
238
238
  ccxt/async_support/bitteam.py,sha256=Qiwoy3vH_ijxyGB5r4ssicm-nwzg3Yzbh_lgwIKeRSI,102129
@@ -244,7 +244,7 @@ ccxt/async_support/btcalpha.py,sha256=HWMJJ7XvZJKE_2-c0ReQQlKO2piZWDpu1q3QukvmLu
244
244
  ccxt/async_support/btcbox.py,sha256=pT_fg3eVRk4Qi2ymTyxozHBz4FZs0KcCrU3fmZ2L_r4,23535
245
245
  ccxt/async_support/btcmarkets.py,sha256=fo-pKVLZLrtviYJCNDBCqYkK-1V5_1zqZtMMJuYIrEY,51652
246
246
  ccxt/async_support/btcturk.py,sha256=srhsQoz0K0R0lCM6eNiP6tyMBrOxNlBxnhcr1B2sHpY,36635
247
- ccxt/async_support/bybit.py,sha256=7uP43b3jlVWn1fWqZDl3j_AW_jmKiv-tCn9ojP2ayok,394079
247
+ ccxt/async_support/bybit.py,sha256=F_eKwyOW_LIcMLGPjjBP47VX4kh-J-ETS-gyzKRZqRI,401648
248
248
  ccxt/async_support/cex.py,sha256=CaauzTM2uCeOKKiR1XkkrIOsEzRiDuEw0dsPJAjzmVc,69933
249
249
  ccxt/async_support/coinbase.py,sha256=1LCO0zixD5EbQh3qTUEXlvyzr3VwwJ8Ax9Mw-qA64EU,177988
250
250
  ccxt/async_support/coinbaseinternational.py,sha256=lfkw-ZPfs66UbIyDOtUIOli1K2tvCc30WccO74JBgW4,87587
@@ -259,13 +259,13 @@ ccxt/async_support/coinsph.py,sha256=jy6-3kWA0-KS8744QKa62ySyx8_4szOLsxo_F_ahXNA
259
259
  ccxt/async_support/coinspot.py,sha256=E0cj4OPK9nV43UzMIs88Y_bXtEzW49oeFP50Mj7wyrY,23617
260
260
  ccxt/async_support/cryptocom.py,sha256=kgC23ELiN77g0f1n3nuMEqhFYeOpz9K8RgHUZkXG8LI,128642
261
261
  ccxt/async_support/currencycom.py,sha256=DtKDSNV96umQDTf0Mixlls6Gq0LIifZFpCpu9EHPBUg,87101
262
- ccxt/async_support/delta.py,sha256=MVqiamG138Bk3D7C_7OLlOl4BzeBF8IeKH3HbyT7IyY,144908
263
- ccxt/async_support/deribit.py,sha256=heKhRntrSJypWb3XJ-ieeVe-oVwmzcXB5kgogROgGNQ,160844
262
+ ccxt/async_support/delta.py,sha256=Loc4ZB82SOfEyTEMN9SQMryKPYv00icQrWlIeo-PS_U,151063
263
+ ccxt/async_support/deribit.py,sha256=c1PAq3gvGzspnS9aOvL3QWn4HIi3OBH-wV0E1X6Kx6A,160836
264
264
  ccxt/async_support/digifinex.py,sha256=1NWewU2Uzm3ILr2kSlPvpfo0xIcQYE-sOx7YTlqhxL0,170328
265
265
  ccxt/async_support/exmo.py,sha256=fOIqQBiFW6U9hoct1K-vTZZ2vVi37SPcQ3Z5_WJxk6Q,114854
266
266
  ccxt/async_support/flowbtc.py,sha256=bCnvtcNnPxxaxqVjI1GGXKhIpz_1r4GIFWqqPokvCR0,1183
267
267
  ccxt/async_support/fmfwio.py,sha256=lzfSnPrB2ARcC3EIqAuBM4vyg6LJ6n8RE71Zvt3ez1s,1250
268
- ccxt/async_support/gate.py,sha256=bCQOU2NTOjAFMxuW1piQDhBMS3QTzQVwjjXeA2ILbH0,308152
268
+ ccxt/async_support/gate.py,sha256=pmxZZg7WpSwJEtis6efsg7eByO41Bv_NOu39qwJWQUQ,316050
269
269
  ccxt/async_support/gateio.py,sha256=6_t032F9p9x5KGTjtSuqGXITzFOx-XAQBYLpsuQjzxw,459
270
270
  ccxt/async_support/gemini.py,sha256=PPnLwDTyKdQS7LborOZlVymqPNzYqKnj9yC988zDqxU,79886
271
271
  ccxt/async_support/hitbtc.py,sha256=W5zLBFQlglCZVrQ0WBbbATD12aOODoowxcT2hMa2k1o,152517
@@ -274,7 +274,7 @@ ccxt/async_support/hollaex.py,sha256=LZ41Smk-7_s9XCOhTc0n4oG03ZeInCw-N_vEwLcETfA
274
274
  ccxt/async_support/htx.py,sha256=r5QKMwj6jJj9c1qs4fME3Jk22Uu7ZSd0UbxRLfaV6Vw,421142
275
275
  ccxt/async_support/huobi.py,sha256=fup0j6wQ1khAtfbb1H4CSyJAOzhxuoHMmrM6sgTuhr8,452
276
276
  ccxt/async_support/huobijp.py,sha256=HkXnX91fcHVQAfSknYmfgasEhVkwS0tcbMHCjXFD0e4,88407
277
- ccxt/async_support/hyperliquid.py,sha256=gouETtgBBxxZ3iKU6DmoZjREAoVzD7KwsmN9R8nxefM,83451
277
+ ccxt/async_support/hyperliquid.py,sha256=whZDHXz1vB37PtxxKzIf2OLCPizdzUVexpMph8Z8lDQ,83528
278
278
  ccxt/async_support/idex.py,sha256=4CNRYJX12rpfoqlHE2Nvm2ZL56P7F2cWdZ6KHiA1zlQ,73182
279
279
  ccxt/async_support/independentreserve.py,sha256=fEkWmaw4LZx3n0MtqHLJpgmWosfL3FiKd3dN5_ZzxTI,32242
280
280
  ccxt/async_support/indodax.py,sha256=_eQVgwmPSfIvpPOW-1P_inVvOWK1g4rTXVPuqHr_YUE,52073
@@ -293,7 +293,7 @@ ccxt/async_support/ndax.py,sha256=9hzPCmwrYVJqtUe6oFrGz9dYe8oRyp1F_7O4QunmYZQ,10
293
293
  ccxt/async_support/novadax.py,sha256=bYUoEjRpvRCzFH25NNircGl36qB8eN2cwxc5qMtxJMs,64466
294
294
  ccxt/async_support/oceanex.py,sha256=LsNS6IIUDJd_KnxmUT5Ub8RLwDQhFqkfyuDr8uV65A8,38131
295
295
  ccxt/async_support/okcoin.py,sha256=z3t4nyfNxtyLY-l_hCqy0oLIsuxIqIBQKOLNjfnhA5I,151537
296
- ccxt/async_support/okx.py,sha256=V_q4haclKpyp_6vypE4ZINIl7KCK19lOG4GRXYZLytI,339844
296
+ ccxt/async_support/okx.py,sha256=Wp6E39j2O5t0i8VabE7x3pAGVyt8r3UvMyfhZjbf6YE,344343
297
297
  ccxt/async_support/onetrading.py,sha256=zi0oFJLn0y4O0nxls-A1hLLokJ3C9Wnvarm3iCxPKhg,88343
298
298
  ccxt/async_support/p2b.py,sha256=F8BN8aVQGRTAfQMqAMdO9kpbHG8XB1ki8PbHkpMYtL8,54307
299
299
  ccxt/async_support/paymium.py,sha256=3P1J9OcDOqQKG5fUs6Xte9Xu8NB5lWu-OD-AHHGZbkM,24391
@@ -313,7 +313,7 @@ ccxt/async_support/yobit.py,sha256=ZyQx9X9CE7cn5d3XB0sdieQyrgNLlFDe6LoVP8ckmzg,5
313
313
  ccxt/async_support/zaif.py,sha256=bbY7Sjnc8LsOcqwhipxx2AVOWBz-N7jjiftmksTOtTM,28119
314
314
  ccxt/async_support/zonda.py,sha256=5msJR5KAMz4MiUBJ_4QvQ8uRQWAYj5uf9AdsDyyRgtE,80766
315
315
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
316
- ccxt/async_support/base/exchange.py,sha256=Q7t2NltkheyNGkHIU35kfmXm6W0QSlWG2lqg9S2JGVM,91714
316
+ ccxt/async_support/base/exchange.py,sha256=LwwM4m4pM0pl02fPkg_cLt5Aj2hMsVOKj0c0nNWExcw,91714
317
317
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
318
318
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
319
319
  ccxt/async_support/base/ws/aiohttp_client.py,sha256=Ed1765emEde2Hj8Ys6f5EjS54ZI1wQ0qIhd04eB7yhU,5751
@@ -327,10 +327,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=Pxrq22nCODckJ6G1OXkYEmUunIu
327
327
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
328
328
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
329
329
  ccxt/base/errors.py,sha256=JBn3zTrtru7tLgyEi6MzKAUwiZe0fltQLYoJcsdP-AA,4099
330
- ccxt/base/exchange.py,sha256=6vjuI_BI6lTTTjnKo37uNGPFeN5YhXRAW_2GA4Lan4w,249730
330
+ ccxt/base/exchange.py,sha256=cfEHPpwS6O6NgjL0FJ937_kkQiMZl-hopU-D1_ORLeo,249730
331
331
  ccxt/base/precise.py,sha256=_xfu54sV0vWNnOfGTKRFykeuWP8mn4K1m9lk1tcllX4,8565
332
332
  ccxt/base/types.py,sha256=6J3Dzo0NBbn-5tCRQpfeRkLDzH1loScrDjP7xRDz6gI,6842
333
- ccxt/pro/__init__.py,sha256=sa2R6ghk0N8yx1WpZUpWFsWMRXnw5yfYrv_TtiZzuXg,6897
333
+ ccxt/pro/__init__.py,sha256=MGgJexFKquU1W4nCjX_uW8XcSVo-4JFWi_6hKCuAudE,6897
334
334
  ccxt/pro/alpaca.py,sha256=7ePyWli0949ti5UheIn553xmnFpedrNc2W5CKauSZio,27167
335
335
  ccxt/pro/ascendex.py,sha256=0RlrxSqh4-lW99T-Y8AxrU612Cpy03u2loVMeRUPXlg,35432
336
336
  ccxt/pro/bequant.py,sha256=5zbsP8BHQTUZ8ZNL6uaACxDbUClgkOV4SYfXT_LfQVg,1351
@@ -528,7 +528,7 @@ ccxt/test/base/test_ticker.py,sha256=cMTIMb1oySNORUCmqI5ZzMswlEyCF6gJMah3vfvo8wQ
528
528
  ccxt/test/base/test_trade.py,sha256=PMtmB8V38dpaP-eb8h488xYMlR6D69yCOhsA1RuWrUA,2336
529
529
  ccxt/test/base/test_trading_fee.py,sha256=2aDCNJtqBkTC_AieO0l1HYGq5hz5qkWlkWb9Nv_fcwk,1066
530
530
  ccxt/test/base/test_transaction.py,sha256=BTbB4UHHXkrvYgwbrhh867nVRlevmIkIrz1W_odlQJI,1434
531
- ccxt-4.2.80.dist-info/METADATA,sha256=4SzAs7ZDfdx7JqFA5VXnFJAvrxtCCMj3bdt0H4wZ5wE,110489
532
- ccxt-4.2.80.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
533
- ccxt-4.2.80.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
534
- ccxt-4.2.80.dist-info/RECORD,,
531
+ ccxt-4.2.82.dist-info/METADATA,sha256=I5Rs8IyVg6jwb417bOQ_YjeZe5VHoXuaQnTDkMg01p0,110489
532
+ ccxt-4.2.82.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
533
+ ccxt-4.2.82.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
534
+ ccxt-4.2.82.dist-info/RECORD,,
File without changes