ccxt 4.2.92__py2.py3-none-any.whl → 4.2.94__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/pro/kucoin.py CHANGED
@@ -168,21 +168,41 @@ class kucoin(ccxt.async_support.kucoin):
168
168
 
169
169
  async def watch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
170
170
  """
171
+ :see: https://www.kucoin.com/docs/websocket/spot-trading/public-channels/ticker
171
172
  watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for all markets of a specific list
172
173
  :param str[] symbols: unified symbol of the market to fetch the ticker for
173
174
  :param dict [params]: extra parameters specific to the exchange API endpoint
175
+ :param str [params.method]: either '/market/snapshot' or '/market/ticker' default is '/market/ticker'
174
176
  :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
175
177
  """
176
178
  await self.load_markets()
177
179
  symbols = self.market_symbols(symbols)
178
180
  messageHash = 'tickers'
181
+ method = None
182
+ method, params = self.handle_option_and_params(params, 'watchTickers', 'method', '/market/ticker')
183
+ messageHashes = []
184
+ topics = []
179
185
  if symbols is not None:
180
- messageHash = 'tickers::' + ','.join(symbols)
186
+ for i in range(0, len(symbols)):
187
+ symbol = symbols[i]
188
+ messageHashes.append('ticker:' + symbol)
189
+ market = self.market(symbol)
190
+ topics.append(method + ':' + market['id'])
181
191
  url = await self.negotiate(False)
182
- topic = '/market/ticker:all'
183
- tickers = await self.subscribe(url, messageHash, topic, params)
184
- if self.newUpdates:
185
- return tickers
192
+ tickers = None
193
+ if symbols is None:
194
+ allTopic = method + ':all'
195
+ tickers = await self.subscribe(url, messageHash, allTopic, params)
196
+ if self.newUpdates:
197
+ return tickers
198
+ else:
199
+ marketIds = self.market_ids(symbols)
200
+ symbolsTopic = method + ':' + ','.join(marketIds)
201
+ tickers = await self.subscribe_multiple(url, messageHashes, symbolsTopic, topics, params)
202
+ if self.newUpdates:
203
+ newDict = {}
204
+ newDict[tickers['symbol']] = tickers
205
+ return newDict
186
206
  return self.filter_by_array(self.tickers, 'symbol', symbols)
187
207
 
188
208
  def handle_ticker(self, client: Client, message):
@@ -262,17 +282,6 @@ class kucoin(ccxt.async_support.kucoin):
262
282
  allTickers = {}
263
283
  allTickers[symbol] = ticker
264
284
  client.resolve(allTickers, 'tickers')
265
- messageHashes = self.find_message_hashes(client, 'tickers::')
266
- for i in range(0, len(messageHashes)):
267
- currentMessageHash = messageHashes[i]
268
- parts = currentMessageHash.split('::')
269
- symbolsString = parts[1]
270
- symbols = symbolsString.split(',')
271
- tickers = self.filter_by_array(self.tickers, 'symbol', symbols)
272
- tickersSymbols = list(tickers.keys())
273
- numTickers = len(tickersSymbols)
274
- if numTickers > 0:
275
- client.resolve(tickers, currentMessageHash)
276
285
 
277
286
  async def watch_bids_asks(self, symbols: Strings = None, params={}) -> Tickers:
278
287
  """
ccxt/probit.py CHANGED
@@ -1404,10 +1404,9 @@ class probit(Exchange, ImplicitAPI):
1404
1404
  result = self.fetch_transactions(code, since, limit, self.extend(request, params))
1405
1405
  return result
1406
1406
 
1407
- def fetch_transactions(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
1407
+ def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
1408
1408
  """
1409
- * @deprecated
1410
- use fetchDepositsWithdrawals instead
1409
+ fetch history of deposits and withdrawals
1411
1410
  :see: https://docs-en.probit.com/reference/transferpayment
1412
1411
  :param str code: unified currency code
1413
1412
  :param int [since]: the earliest time in ms to fetch transactions for
ccxt/woo.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.woo import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Account, Balances, Bool, Currencies, Currency, Int, Leverage, Market, MarketType, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Trade, TradingFees, Transaction, TransferEntry
9
+ from ccxt.base.types import Account, Balances, Bool, Conversion, Currencies, Currency, Int, Leverage, Market, MarketType, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Trade, TradingFees, Transaction, TransferEntry
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import ArgumentsRequired
@@ -66,6 +66,8 @@ class woo(Exchange, ImplicitAPI):
66
66
  'fetchCanceledOrders': False,
67
67
  'fetchClosedOrder': False,
68
68
  'fetchClosedOrders': True,
69
+ 'fetchConvertCurrencies': True,
70
+ 'fetchConvertQuote': True,
69
71
  'fetchCurrencies': True,
70
72
  'fetchDepositAddress': True,
71
73
  'fetchDeposits': True,
@@ -2781,6 +2783,138 @@ class woo(Exchange, ImplicitAPI):
2781
2783
  'takeProfitPrice': None,
2782
2784
  })
2783
2785
 
2786
+ def fetch_convert_quote(self, fromCode: str, toCode: str, amount: Num = None, params={}) -> Conversion:
2787
+ """
2788
+ fetch a quote for converting from one currency to another
2789
+ :see: https://docs.woo.org/#get-quote-rfq
2790
+ :param str fromCode: the currency that you want to sell and convert from
2791
+ :param str toCode: the currency that you want to buy and convert into
2792
+ :param float [amount]: how much you want to trade in units of the from currency
2793
+ :param dict [params]: extra parameters specific to the exchange API endpoint
2794
+ :returns dict: a `conversion structure <https://docs.ccxt.com/#/?id=conversion-structure>`
2795
+ """
2796
+ self.load_markets()
2797
+ request = {
2798
+ 'sellToken': fromCode.upper(),
2799
+ 'buyToken': toCode.upper(),
2800
+ 'sellQuantity': self.number_to_string(amount),
2801
+ }
2802
+ response = self.v3PrivateGetConvertRfq(self.extend(request, params))
2803
+ #
2804
+ # {
2805
+ # "success": True,
2806
+ # "data": {
2807
+ # "quoteId": 123123123,
2808
+ # "counterPartyId": "",
2809
+ # "sellToken": "ETH",
2810
+ # "sellQuantity": "0.0445",
2811
+ # "buyToken": "USDT",
2812
+ # "buyQuantity": "33.45",
2813
+ # "buyPrice": "6.77",
2814
+ # "expireTimestamp": 1659084466000,
2815
+ # "message": 1659084466000
2816
+ # }
2817
+ # }
2818
+ #
2819
+ data = self.safe_dict(response, 'data', {})
2820
+ fromCurrencyId = self.safe_string(data, 'sellToken', fromCode)
2821
+ fromCurrency = self.currency(fromCurrencyId)
2822
+ toCurrencyId = self.safe_string(data, 'buyToken', toCode)
2823
+ toCurrency = self.currency(toCurrencyId)
2824
+ return self.parse_conversion(data, fromCurrency, toCurrency)
2825
+
2826
+ def parse_conversion(self, conversion, fromCurrency: Currency = None, toCurrency: Currency = None) -> Conversion:
2827
+ #
2828
+ # fetchConvertQuote
2829
+ #
2830
+ # {
2831
+ # "quoteId": 123123123,
2832
+ # "counterPartyId": "",
2833
+ # "sellToken": "ETH",
2834
+ # "sellQuantity": "0.0445",
2835
+ # "buyToken": "USDT",
2836
+ # "buyQuantity": "33.45",
2837
+ # "buyPrice": "6.77",
2838
+ # "expireTimestamp": 1659084466000,
2839
+ # "message": 1659084466000
2840
+ # }
2841
+ #
2842
+ timestamp = self.safe_integer(conversion, 'expireTimestamp')
2843
+ fromCoin = self.safe_string(conversion, 'sellToken')
2844
+ fromCode = self.safe_currency_code(fromCoin, fromCurrency)
2845
+ to = self.safe_string(conversion, 'buyToken')
2846
+ toCode = self.safe_currency_code(to, toCurrency)
2847
+ return {
2848
+ 'info': conversion,
2849
+ 'timestamp': timestamp,
2850
+ 'datetime': self.iso8601(timestamp),
2851
+ 'id': self.safe_string(conversion, 'quoteId'),
2852
+ 'fromCurrency': fromCode,
2853
+ 'fromAmount': self.safe_number(conversion, 'sellQuantity'),
2854
+ 'toCurrency': toCode,
2855
+ 'toAmount': self.safe_number(conversion, 'buyQuantity'),
2856
+ 'price': self.safe_number(conversion, 'buyPrice'),
2857
+ 'fee': None,
2858
+ }
2859
+
2860
+ def fetch_convert_currencies(self, params={}) -> Currencies:
2861
+ """
2862
+ fetches all available currencies that can be converted
2863
+ :see: https://docs.woo.org/#get-quote-asset-info
2864
+ :param dict [params]: extra parameters specific to the exchange API endpoint
2865
+ :returns dict: an associative dictionary of currencies
2866
+ """
2867
+ self.load_markets()
2868
+ response = self.v3PrivateGetConvertAssetInfo(params)
2869
+ #
2870
+ # {
2871
+ # "success": True,
2872
+ # "rows": [
2873
+ # {
2874
+ # "token": "BTC",
2875
+ # "tick": 0.0001,
2876
+ # "createdTime": "1575014248.99", # Unix epoch time in seconds
2877
+ # "updatedTime": "1575014248.99" # Unix epoch time in seconds
2878
+ # },
2879
+ # ]
2880
+ # }
2881
+ #
2882
+ result = {}
2883
+ data = self.safe_list(response, 'rows', [])
2884
+ for i in range(0, len(data)):
2885
+ entry = data[i]
2886
+ id = self.safe_string(entry, 'token')
2887
+ code = self.safe_currency_code(id)
2888
+ result[code] = {
2889
+ 'info': entry,
2890
+ 'id': id,
2891
+ 'code': code,
2892
+ 'networks': None,
2893
+ 'type': None,
2894
+ 'name': None,
2895
+ 'active': None,
2896
+ 'deposit': None,
2897
+ 'withdraw': None,
2898
+ 'fee': None,
2899
+ 'precision': self.safe_number(entry, 'tick'),
2900
+ 'limits': {
2901
+ 'amount': {
2902
+ 'min': None,
2903
+ 'max': None,
2904
+ },
2905
+ 'withdraw': {
2906
+ 'min': None,
2907
+ 'max': None,
2908
+ },
2909
+ 'deposit': {
2910
+ 'min': None,
2911
+ 'max': None,
2912
+ },
2913
+ },
2914
+ 'created': self.safe_timestamp(entry, 'createdTime'),
2915
+ }
2916
+ return result
2917
+
2784
2918
  def default_network_code_for_currency(self, code):
2785
2919
  currencyItem = self.currency(code)
2786
2920
  networks = currencyItem['networks']
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.2.92
3
+ Version: 4.2.94
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
@@ -261,13 +261,13 @@ console.log(version, Object.keys(exchanges));
261
261
 
262
262
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
263
263
 
264
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.92/dist/ccxt.browser.js
265
- * unpkg: https://unpkg.com/ccxt@4.2.92/dist/ccxt.browser.js
264
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.94/dist/ccxt.browser.js
265
+ * unpkg: https://unpkg.com/ccxt@4.2.94/dist/ccxt.browser.js
266
266
 
267
267
  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
268
 
269
269
  ```HTML
270
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.92/dist/ccxt.browser.js"></script>
270
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.94/dist/ccxt.browser.js"></script>
271
271
  ```
272
272
 
273
273
  Creates a global `ccxt` object:
@@ -1,10 +1,10 @@
1
- ccxt/__init__.py,sha256=k4kyShxYzC9cj5kvl4bZFlkUDtZgtUh2r6nGWZ5V7-M,15656
1
+ ccxt/__init__.py,sha256=pcb45ctXSGKQ1iMAuGnbFM_A6MpFXdlP89NBxmfBF3o,15656
2
2
  ccxt/ace.py,sha256=IsKHO7u3J8rJT9wCMdtwlmwPdtjnAwC9ZTMC0uNfs9A,41420
3
3
  ccxt/alpaca.py,sha256=6P2wAEGJQOjjoKQbzv1KvSuZvEZmOX987a1NqB7z9mk,46908
4
4
  ccxt/ascendex.py,sha256=_n4XN1S8WcCVN5pj9N6YvkFRJxEB2rycg4EP4PqlSyk,151300
5
5
  ccxt/bequant.py,sha256=RBiAmaTbL35DgiV3Hl6uchLUd78V0z1T9riTlNsrpdc,1174
6
6
  ccxt/bigone.py,sha256=yMVewUbX4MNdWbqMOLOE22zrWojaRRECnJHsdxjUwhI,92185
7
- ccxt/binance.py,sha256=HaB3C9ufWZxAYRW6x6uO9bIyo7FoUSHBYXk3_55FvMA,594870
7
+ ccxt/binance.py,sha256=CvqOf0pir7LvOb1A43cdTrrfj9R55KJc4d9rdI1jeC8,596881
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
@@ -17,7 +17,7 @@ ccxt/bitcoincom.py,sha256=PyWIl4nC4jp5Uba2lI1At0N_hhNyWD0DoZC_MSyL_s4,502
17
17
  ccxt/bitfinex.py,sha256=FgICZVqS5Wj5iHEu9VYZtza4_w6ZAgEfAs_38is8x_s,71528
18
18
  ccxt/bitfinex2.py,sha256=1w5LDKaNOlN-7ABdz997-ZlLI5S4IxkBsVLNGIR8NOw,158129
19
19
  ccxt/bitflyer.py,sha256=erPas5QQ6RDWhPOUF8ZaTlzBnMAgaToNoRPpiwNx2mQ,41386
20
- ccxt/bitget.py,sha256=Dmq-zlsRyqoX54mGZ3XZnQbwmKijzjCF5iVHcyNLCJ8,407793
20
+ ccxt/bitget.py,sha256=cFh_J0w2cjXesD8CF7dsqi8IjlQHeeESP4pCaIcUfbk,413270
21
21
  ccxt/bithumb.py,sha256=3as78FD3VF-dcTfXnUG0FBdh202TFGtmumit8ZPQI7w,45334
22
22
  ccxt/bitmart.py,sha256=XqzibB66U42cXpLA6kqIRtwPYJ7VlTUCzjIQ9QBDDn0,199103
23
23
  ccxt/bitmex.py,sha256=fTySoAL5k2RKQDVRtwHvIEB62p6GGECH6z1Hj8YsdFQ,125408
@@ -41,7 +41,7 @@ ccxt/coinbase.py,sha256=-ShTkuNwMInF48rvEAft_OUKNN4iUPf9FPvywCb-sVI,178431
41
41
  ccxt/coinbaseinternational.py,sha256=l4tuPmh0w-SB5sOfCn3MTihbeTY53o7KW8NgeP9bg4w,87123
42
42
  ccxt/coinbasepro.py,sha256=yn8B_KwYGvnutoxMhRvnZRpMDbSt1x0SOWav2ShEH2s,78377
43
43
  ccxt/coincheck.py,sha256=tPY3wITeTt4j0T760oMqDlIVPWBH4UEi2DlaDLoLDC8,35513
44
- ccxt/coinex.py,sha256=ubCC_ecrcotMa6En8q5t4VR6uaM9h8ScJWpSmh1X9E4,247699
44
+ ccxt/coinex.py,sha256=7GL8Km4Ire-h7oLOk1g0mMU7b5EiNlcSjC_cu1Use-g,246603
45
45
  ccxt/coinlist.py,sha256=NAxYBVv7HWlQsc1YMwmtSZQoLBbYSSkUn09kRRXmqKM,103001
46
46
  ccxt/coinmate.py,sha256=8Q6H48i3Ny-qGaV3B0YO90ADi3yy_LluYIKGq3N1mIM,45790
47
47
  ccxt/coinmetro.py,sha256=vmYo2m-s58gCaol0xvOtnANQsG8_vPSYUh0Tf36QBLw,80409
@@ -52,7 +52,7 @@ ccxt/cryptocom.py,sha256=AJRC_mgzX29rnCv50ry2JzryU20qfrh_7VOWqRXFVjI,128158
52
52
  ccxt/currencycom.py,sha256=OS_TN2x2CoWvRY2e8iu16jtsu8etlN3nzwaWK6NpeLA,86759
53
53
  ccxt/delta.py,sha256=-AshKjjisVWkxxMaQJr9IucbuA3BIZcsjA4PIu6nDA0,150437
54
54
  ccxt/deribit.py,sha256=cQKRHpmyRuJnGY-3pEXb-LEOxcWoxfpTxlQ5_NBqNh0,160139
55
- ccxt/digifinex.py,sha256=4OKFvMON5swteCyQZ0AHsx0QMzEaje6J8aaTinD9E_4,169739
55
+ ccxt/digifinex.py,sha256=7iczdV51dy7KnCf6dEHSuCTIPBNOyDdkIglHMgk6afI,167871
56
56
  ccxt/exmo.py,sha256=_fKoBuAA3PxFUi-Z4dZjf6rJwpavkJjmMoAlnTobw0c,114203
57
57
  ccxt/flowbtc.py,sha256=YPvm6tbsHJJUQBspFcHuVPQfVmiWzwnVvfzRqBdQX6U,1169
58
58
  ccxt/fmfwio.py,sha256=RbVLvzPwnqfDsE7Ea-N13ISCC82eJVPsXYjrleASmew,1236
@@ -84,14 +84,14 @@ ccxt/ndax.py,sha256=AGiGlka84zUKXmzVSadcgZl-oppbkM_dCcZDRLkV4fs,108368
84
84
  ccxt/novadax.py,sha256=Y2n3RRTmr-HUKach_m1pv3yZdp2Zl0a1QdmSIrk-93Y,64105
85
85
  ccxt/oceanex.py,sha256=fVuD_3qbdmZ_yyxCVLe2AATDuZ74I4dxIMoQZUDjwQs,37860
86
86
  ccxt/okcoin.py,sha256=xDI7ZSoyJ4OKVVFkhHvU6s4YI2OL22c-wNl5-6wYShU,151105
87
- ccxt/okx.py,sha256=6AOoWRkH5SygpDTNUGoJeRX6KNaQqnO7Vm-JYCUzDQQ,348729
87
+ ccxt/okx.py,sha256=wVkB6T6wyrj4yzY4IRedLDJaZW3eGKtXx1RZJ9Mm_b8,354633
88
88
  ccxt/onetrading.py,sha256=qDJvcJfPrUCcJxd8ZlnYEKLazmLwnihdNJb6495I7tA,87957
89
89
  ccxt/p2b.py,sha256=vfpYWSYfpsJhowS32nyUnNopVHTNr3RYAh0aN9gA1DY,54074
90
90
  ccxt/paymium.py,sha256=2mBwmyT93k-dXBEKEix48G8PsA2IEN_5yScEM985Z10,24203
91
91
  ccxt/phemex.py,sha256=p_oRjd4F1VhNU00MQ0gSLThqNPaw6LmJUjGt8cGWE-0,218625
92
92
  ccxt/poloniex.py,sha256=cFrNzmNbjqy4bLB1CqqE9jPJToFTTiqMVkEB4eaJocw,101948
93
93
  ccxt/poloniexfutures.py,sha256=jsAT6LICUJrwZ-_6iptuXns3YiPzHIdeA_2l3iQGPJg,77370
94
- ccxt/probit.py,sha256=2l2PZ0eWhw92hyX57w9vGoqa2S_h1h6yNqKit2oWb9g,76218
94
+ ccxt/probit.py,sha256=-IZ7_QrnSdI7niuflXk3PiJA3OtMDD4urT64-ATxOUU,76208
95
95
  ccxt/timex.py,sha256=W-4ob8ZOr4Y9JeCqQLw5U6ftcj_hcIKRFcKFjfhQ6L8,71136
96
96
  ccxt/tokocrypto.py,sha256=rtWgCnMIvBPowsxqbXhhZLi2_B3D9RRLPlMVPHvOlgg,123002
97
97
  ccxt/tradeogre.py,sha256=dkEs8sDlEuUiSH1EsbUxgYiovjfepf5xJQgXj83kkCw,23761
@@ -99,7 +99,7 @@ ccxt/upbit.py,sha256=h3NAl4zab0OB_Nj51CoMmsxe3ir8Lb_4G1vCJTURZ-s,81600
99
99
  ccxt/wavesexchange.py,sha256=siSiavxqZLUZxRlmR7hjbwqQxwmxYNWnWhKDKz3m4Oc,113400
100
100
  ccxt/wazirx.py,sha256=6wp-sysqg8cJ7Dbr5qRruWOhVRfVQCEty7e4pwaM86M,51191
101
101
  ccxt/whitebit.py,sha256=HZktg6ulxuo5WI8ffnPlDv1UpcZRdibCpbh7MtKqab0,100934
102
- ccxt/woo.py,sha256=9ipjmDeuUuTIcVH6HU7yzMGSBi_Lyyym4VxV9c9dbSk,126326
102
+ ccxt/woo.py,sha256=2GyG6DlA5wpZv8ooDV9bfSGblk2JwHGwTDfqpWYpv1c,131756
103
103
  ccxt/yobit.py,sha256=Pst8vNAga1tAcXQCCYx1ZmjWxiCD3YBBYj9totlaQwE,53066
104
104
  ccxt/zaif.py,sha256=qfJ1dB3lfeDobEFlEtS7QW1C7nkwSBtc3xsEFeU5Xwg,27952
105
105
  ccxt/zonda.py,sha256=a7GHR8ACUwIczZ8QY0dfD86jt34YqaWBYJGuUHDx92U,80552
@@ -109,10 +109,10 @@ ccxt/abstract/alpaca.py,sha256=vgzqnRTvEnAbLYgfDzGpmVUZxRLWC8BWA6nQ16m-xXY,10382
109
109
  ccxt/abstract/ascendex.py,sha256=5A8Zgq77jsdHlEzlTW_2nDybUUVfNVVOu6BgY3TWqRM,11394
110
110
  ccxt/abstract/bequant.py,sha256=OTBtNu3DQeAqAC_Lbi0NePUs-ZQQllcLrVDI2G04nwQ,15601
111
111
  ccxt/abstract/bigone.py,sha256=bQdIXCVkKgnZ7ZjpQ1widGDlXNe0PtP_12EQKoEN9z0,4895
112
- ccxt/abstract/binance.py,sha256=xcOsgFyL1HxiB6oz1OQkRfVR-laN9QCHcczDVQkFgE4,91751
113
- ccxt/abstract/binancecoinm.py,sha256=xcOsgFyL1HxiB6oz1OQkRfVR-laN9QCHcczDVQkFgE4,91751
114
- ccxt/abstract/binanceus.py,sha256=UShVJ4bg3pEa1ixv6274b0ccTR6Ez354BPXNN--a7ks,98471
115
- ccxt/abstract/binanceusdm.py,sha256=xcOsgFyL1HxiB6oz1OQkRfVR-laN9QCHcczDVQkFgE4,91751
112
+ ccxt/abstract/binance.py,sha256=fRdskIVSpb1bl3-8vY_rE6o284HcmX5lEC7yu93BRgs,91867
113
+ ccxt/abstract/binancecoinm.py,sha256=fRdskIVSpb1bl3-8vY_rE6o284HcmX5lEC7yu93BRgs,91867
114
+ ccxt/abstract/binanceus.py,sha256=FXS4d1TGQbU-fO2pnWi7A2LSG8hRQLVWfC_B8VYv7go,98587
115
+ ccxt/abstract/binanceusdm.py,sha256=fRdskIVSpb1bl3-8vY_rE6o284HcmX5lEC7yu93BRgs,91867
116
116
  ccxt/abstract/bingx.py,sha256=wo6LRNcROZnbSkFoPX6QiSDtPyPFe8eabKGhN1LqsY8,15876
117
117
  ccxt/abstract/bit2c.py,sha256=np6i756kSB5dO3Nj6POLKxkWkpYcsGg-4LS8BwPrizI,2830
118
118
  ccxt/abstract/bitbank.py,sha256=hrHsD7Uvtyy2o2lzCHau3-eNq16pnZ3-YDQ6Tq_sxYU,2735
@@ -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=2VhzcX6I8CcLi8NkKUmb8LowRGXN8NKbJwYJs9drjdI,15409
210
+ ccxt/async_support/__init__.py,sha256=Xie6Ro6fOFX8BHzYJy2x1dy7FlC-raT3aK55oyqglS4,15409
211
211
  ccxt/async_support/ace.py,sha256=IYTj0FJAAPvSrpgIpbzO6ftADPgLnQT1uk54MSSM7UA,41644
212
212
  ccxt/async_support/alpaca.py,sha256=Nsaff9RczBhiNF19RlqI6wggvEibV_2ICgB8H5Qiuck,47120
213
213
  ccxt/async_support/ascendex.py,sha256=vugf7rxYZka-ffxVycDnlXpqj5D9cdFVjkO4prlR204,152088
214
214
  ccxt/async_support/bequant.py,sha256=1hTwHovo1bW1XTIc8ZKjvJ-Xg6LfmpGdzT7TepykaVM,1188
215
215
  ccxt/async_support/bigone.py,sha256=B4xdaQVTc7hbnt_AIm3fC5PVYXB7ToJrCiCprUVrEyI,92639
216
- ccxt/async_support/binance.py,sha256=WscTJnDd7ZN4wX3zoUI8mqAwx58Zy8QvHMIyj1YsgRs,597430
216
+ ccxt/async_support/binance.py,sha256=j1JbqEP0TzgPCvaA7qmOAjQqgNuY91dqy0MHbqgkuVk,599459
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
@@ -226,7 +226,7 @@ ccxt/async_support/bitcoincom.py,sha256=RiqwhK3RfxQ_PXTa860fphDCvwA8dalL-_rXlK85
226
226
  ccxt/async_support/bitfinex.py,sha256=Kwp_keC5tF9aChV_vApWNMMVfVuj6ctzjrLWcnyegpQ,71968
227
227
  ccxt/async_support/bitfinex2.py,sha256=nkPMG6lJgt95bEbCYvhOsYfIsc-W7EIxJ9V6L85PJmU,158863
228
228
  ccxt/async_support/bitflyer.py,sha256=U9SoU3iMbBlnC75DSY8olxiwxZfhP8CPLIwHMhv0caE,41694
229
- ccxt/async_support/bitget.py,sha256=Hy67lekLWKc1z8WndWlvmecorsE8Gz_RK-PuHzehoLg,409327
229
+ ccxt/async_support/bitget.py,sha256=2YdUL-RxAnfgupiSB0Q2FPfOvrH8okiwEbg50nnCQqg,414840
230
230
  ccxt/async_support/bithumb.py,sha256=wjVV8R94Of6fatNQAtpCeLuCkvpAbniLncRwh4KcJbs,45564
231
231
  ccxt/async_support/bitmart.py,sha256=QmWNCNd1EMKh9gQPlFnrpJwnu_RX0qi5NpcZnx1zkwk,200023
232
232
  ccxt/async_support/bitmex.py,sha256=ep03ruf3xpvHTvBpBSLrupRsWKLASH2JPU-hTnMSV8o,125968
@@ -250,7 +250,7 @@ ccxt/async_support/coinbase.py,sha256=0dGlfvNdkeeXXtjCogfg2Ml2sDT0oVfdP0MnzWrV61
250
250
  ccxt/async_support/coinbaseinternational.py,sha256=btvxx0HVXNZ4J2SyrRUetMxq0qEB2QrUKsxRAenwyJ8,87677
251
251
  ccxt/async_support/coinbasepro.py,sha256=MF5ALacohXgtM0I1g0XY_Ll6WimO82Wiyxxm-jMX858,78883
252
252
  ccxt/async_support/coincheck.py,sha256=QR6opDQdMbvXHlANLBZTMej3vyhqeVnnI1ezOJm29jU,35719
253
- ccxt/async_support/coinex.py,sha256=31HXT0F-96EucBqye31kmmHbld0SyP3kYtIPS9fCnK8,248969
253
+ ccxt/async_support/coinex.py,sha256=iv16ukku5t2WYgAUFG5eiuy_fE0hQKwqxj7I3HM6poc,247873
254
254
  ccxt/async_support/coinlist.py,sha256=0-hkddt1zUblt3Q5spO_jnhmAKVoJ6NkRAxNE9_WRAk,103489
255
255
  ccxt/async_support/coinmate.py,sha256=EP35E7xs9oW2txjLjyKAYgDlxtl3xxZTXcqtwfkYEuM,46056
256
256
  ccxt/async_support/coinmetro.py,sha256=I7ZmXVoZK-OcyMrqJ-a19NMmMuk81UoQk6UQtKKnXk4,80729
@@ -261,7 +261,7 @@ ccxt/async_support/cryptocom.py,sha256=Qr3xl9feyoy-Aw6ZtoAyXGhFM239r6DAIXJhiecMj
261
261
  ccxt/async_support/currencycom.py,sha256=Kakjmk6UWO5J4f7XRvuHe1VLIBnceg6p6RPN7rWkiGs,87181
262
262
  ccxt/async_support/delta.py,sha256=RYBwnFLT0JJTtWkgi2Z6iFoeCw94JudLPGPM0gddzug,151045
263
263
  ccxt/async_support/deribit.py,sha256=6mACtC8xsebDGw4Y9ikgHCmPNSazeTjqqsplj0GcAtw,160915
264
- ccxt/async_support/digifinex.py,sha256=BShByMLbMXHBHwd3i2chCMIeGQgYqXRRj85oJMBFBPg,170709
264
+ ccxt/async_support/digifinex.py,sha256=kiArqJIPv6m1K2hVabfQ6h6o1XbCLwrH6fGBF29wodo,168841
265
265
  ccxt/async_support/exmo.py,sha256=tUaaWQHe6nb75UCckwdsODn2wQAb-XtFVbGyqRsRiHc,114835
266
266
  ccxt/async_support/flowbtc.py,sha256=bCnvtcNnPxxaxqVjI1GGXKhIpz_1r4GIFWqqPokvCR0,1183
267
267
  ccxt/async_support/fmfwio.py,sha256=lzfSnPrB2ARcC3EIqAuBM4vyg6LJ6n8RE71Zvt3ez1s,1250
@@ -293,14 +293,14 @@ ccxt/async_support/ndax.py,sha256=99WZoG5A6VTnrEVabwKzvHJH5GUtdAfji4yHGIdgSEw,10
293
293
  ccxt/async_support/novadax.py,sha256=oUNfqlpIuKhOrYuu3WMwUW3hmH-cp52NXY1-5tuwAyM,64473
294
294
  ccxt/async_support/oceanex.py,sha256=PDAQbuvSMls06ysBQENMiQHC4Mk0ZB2JhgtfJHkkeMU,38180
295
295
  ccxt/async_support/okcoin.py,sha256=N4rJLBYyzIH-UkMWbeYPPreQZV5UrNM681ylY-wCsmI,151629
296
- ccxt/async_support/okx.py,sha256=TdDgVrWQ7yuTqN56DBnHA9KT_lD4fYx63dMMOvK9vgA,350154
296
+ ccxt/async_support/okx.py,sha256=ELZekDXznCPuy6YRZ0nsZk86my3ERP-znIpZl5GItgU,356094
297
297
  ccxt/async_support/onetrading.py,sha256=XEkztXUq9Upm7rz1BusTTWga9BDET-UdI1eedkiPMvc,88409
298
298
  ccxt/async_support/p2b.py,sha256=3ki7HexqneENArK9hNxoi3eaX1a_gYzqrHY-jRQaHPI,54316
299
299
  ccxt/async_support/paymium.py,sha256=3P1J9OcDOqQKG5fUs6Xte9Xu8NB5lWu-OD-AHHGZbkM,24391
300
300
  ccxt/async_support/phemex.py,sha256=IynkDddWB10XKtf7VIg5-g-mCvrUUG5mw4sjJk4pYwY,219437
301
301
  ccxt/async_support/poloniex.py,sha256=LZ4G2R_EGQ7oWFnO_izdvnF5GrN4tvRjA_qO_P3v-wI,102496
302
302
  ccxt/async_support/poloniexfutures.py,sha256=Bo51Go_Rq-xXkVBBzXKKtqK9l_MF-CyUaAxuPVT1nDs,77756
303
- ccxt/async_support/probit.py,sha256=eH16Qe6dApBGu40DE9l_ca8dtJ76gLzN_pr91eVWdtA,76610
303
+ ccxt/async_support/probit.py,sha256=w0HW32EcHNhE6wbWcVv3UrjAEl2ZnWEFHFJjaxhqI2I,76600
304
304
  ccxt/async_support/timex.py,sha256=msj259w_qjgEyStzin06Ov3BoHGphxFD0VolSI_-YjA,71498
305
305
  ccxt/async_support/tokocrypto.py,sha256=2tU4n-9o0ywWSzEDP77AlezB4A1vNbQt7cuC_7Ic9hA,123364
306
306
  ccxt/async_support/tradeogre.py,sha256=hYuh7ar9LMpUcFcVaiCcBebfnjEB7vovHBXAfUpFk5E,23955
@@ -308,12 +308,12 @@ ccxt/async_support/upbit.py,sha256=dILSUSLKqB6qJ_FFPLE1jPcQl-Hm5lfHc18XeVNnE0k,8
308
308
  ccxt/async_support/wavesexchange.py,sha256=oVKqQAubaCMp9PCdSAfFFbnlppbJlKsidnpWYKEMipk,113950
309
309
  ccxt/async_support/wazirx.py,sha256=UIppm29X9f2lvRn8aJfd9V_XqaNc0k13_LuXBOu_bfs,51493
310
310
  ccxt/async_support/whitebit.py,sha256=njkKn96hgbfZ9xUBi5AnUHlI5Gy19va8hkvOjztpDSU,101482
311
- ccxt/async_support/woo.py,sha256=YtQ8PZUcVwefAh9SBOlljI4DtSUIDKtbQz2xzWQ54MU,127108
311
+ ccxt/async_support/woo.py,sha256=4Tjf9rX9wlA_gi30JnxapLzhfYttVzPipIIbUOYpIZA,132574
312
312
  ccxt/async_support/yobit.py,sha256=gNE-7Yc2a2ScelR8ZWFGfhRzCr9DHcAdlI62LFjXvnI,53350
313
313
  ccxt/async_support/zaif.py,sha256=PaHcaNijKkhocrw6DZoSBNUjBOLNlkUYtsJvPAqkx68,28134
314
314
  ccxt/async_support/zonda.py,sha256=0o0Q1rFuTbdhm8m_rlo8D1qLsgZhhBqnefsHi0rVA_A,80866
315
315
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
316
- ccxt/async_support/base/exchange.py,sha256=UNnuBeR8UYP9iR2P3fRLyIFtND9YhprNbelbdS5uYuc,91193
316
+ ccxt/async_support/base/exchange.py,sha256=HNcds47KMLJkespUHI3c22RqO04LBTyXumc9FaeI5zM,91521
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=FZNKeMz4IoRWIy4opz1HKW0ftCnDwQhejKfDy5FaGUA,253791
330
+ ccxt/base/exchange.py,sha256=1AI9igQl35zBGBJRB4c7NkSNB887F_4GxRkeM28rMqM,255276
331
331
  ccxt/base/precise.py,sha256=_xfu54sV0vWNnOfGTKRFykeuWP8mn4K1m9lk1tcllX4,8565
332
- ccxt/base/types.py,sha256=6f9YtSQp-XB_iBbXqsKCfmMzn_UpfwkHl3f0rL3xGjg,7690
333
- ccxt/pro/__init__.py,sha256=nsCIr5SG1tdtW5iPupJD3JoAmP2cHIXO84tevC5pu6M,6999
332
+ ccxt/base/types.py,sha256=x9KoAaFdEPJD2l8ottMk4xKr-tEdby77jKaAK8XcIgo,7903
333
+ ccxt/pro/__init__.py,sha256=z4it-vkGN3hMknUzkMj4CZDtKCA_T_qNOvEypvg_rFQ,6999
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
@@ -375,9 +375,9 @@ ccxt/pro/huobijp.py,sha256=fcC66ECLwrR9LN_AYZZltoE_w9EltT5DcXimPOHKJk0,23174
375
375
  ccxt/pro/hyperliquid.py,sha256=vDNXMOFdFFy0vCAhkgeItdeNMcPz3hC6UH3TGKbSvbs,20613
376
376
  ccxt/pro/idex.py,sha256=MJWG56eMN8rAE4Tmz-WxXDDO2KacfY7eFSoCwL15DnQ,28282
377
377
  ccxt/pro/independentreserve.py,sha256=0YBn7qEnlTbgAW-837P6axGAIQH8ucZmhHKjkQ6R5V0,11063
378
- ccxt/pro/kraken.py,sha256=X1WjdAlMdWXHsiSKQmBIuoSZm6FqtmZU6MED2xsYop8,56274
379
- ccxt/pro/krakenfutures.py,sha256=TtrIZpUHZBGuu6-F27rjrynprG-EbXA739EjTQPj5nc,60165
380
- ccxt/pro/kucoin.py,sha256=tRdo_PkHiwyZvQheaMXEVnsruGvku56c3jHGQnvzMfY,50271
378
+ ccxt/pro/kraken.py,sha256=i3uvFRZqh3LTXvjMGev0itN0xrdJZ64FP1U7_9yfu0U,60657
379
+ ccxt/pro/krakenfutures.py,sha256=5cplU_z4BufTHPq-CEhgN78QgaLLZlnKDwFaatr9tOI,63917
380
+ ccxt/pro/kucoin.py,sha256=wxUoyXjTV0iU5X4C2EdWRFFTzljICccpRJq4b9MWmmg,50705
381
381
  ccxt/pro/kucoinfutures.py,sha256=sjhdtLP8WMisETvXnl6TP1xVx7TK5iP0x0R4LE7M7gI,46006
382
382
  ccxt/pro/lbank.py,sha256=KBeJf2fucVkXZ6wKhfkBLw3RJewrxrj7cPa8XPxxV7U,35100
383
383
  ccxt/pro/luno.py,sha256=2Y-8IQrrmwX8Y1lLWVDtrFjZD3t3qtMZJQ_JjNwj65s,12348
@@ -529,7 +529,7 @@ ccxt/test/base/test_ticker.py,sha256=cMTIMb1oySNORUCmqI5ZzMswlEyCF6gJMah3vfvo8wQ
529
529
  ccxt/test/base/test_trade.py,sha256=PMtmB8V38dpaP-eb8h488xYMlR6D69yCOhsA1RuWrUA,2336
530
530
  ccxt/test/base/test_trading_fee.py,sha256=2aDCNJtqBkTC_AieO0l1HYGq5hz5qkWlkWb9Nv_fcwk,1066
531
531
  ccxt/test/base/test_transaction.py,sha256=BTbB4UHHXkrvYgwbrhh867nVRlevmIkIrz1W_odlQJI,1434
532
- ccxt-4.2.92.dist-info/METADATA,sha256=-NuZ6NrdrQqNQjrmYgdkRfUiq7Pp6ulQNo4VGMFwehU,110281
533
- ccxt-4.2.92.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
534
- ccxt-4.2.92.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
535
- ccxt-4.2.92.dist-info/RECORD,,
532
+ ccxt-4.2.94.dist-info/METADATA,sha256=_8lalUaCyntE90MmeAoILtRcombRJui6OSvNDjCc0Dk,110281
533
+ ccxt-4.2.94.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
534
+ ccxt-4.2.94.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
535
+ ccxt-4.2.94.dist-info/RECORD,,
File without changes