ccxt 4.3.87__py2.py3-none-any.whl → 4.3.88__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/__init__.py CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.3.87'
25
+ __version__ = '4.3.88'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
ccxt/abstract/kucoin.py CHANGED
@@ -198,6 +198,7 @@ class ImplicitAPI:
198
198
  broker_get_broker_nd_account = brokerGetBrokerNdAccount = Entry('broker/nd/account', 'broker', 'GET', {'cost': 2})
199
199
  broker_get_broker_nd_account_apikey = brokerGetBrokerNdAccountApikey = Entry('broker/nd/account/apikey', 'broker', 'GET', {'cost': 2})
200
200
  broker_get_broker_nd_rebase_download = brokerGetBrokerNdRebaseDownload = Entry('broker/nd/rebase/download', 'broker', 'GET', {'cost': 3})
201
+ broker_get_asset_ndbroker_deposit_list = brokerGetAssetNdbrokerDepositList = Entry('asset/ndbroker/deposit/list', 'broker', 'GET', {'cost': 1})
201
202
  broker_get_broker_nd_transfer_detail = brokerGetBrokerNdTransferDetail = Entry('broker/nd/transfer/detail', 'broker', 'GET', {'cost': 1})
202
203
  broker_get_broker_nd_deposit_detail = brokerGetBrokerNdDepositDetail = Entry('broker/nd/deposit/detail', 'broker', 'GET', {'cost': 1})
203
204
  broker_get_broker_nd_withdraw_detail = brokerGetBrokerNdWithdrawDetail = Entry('broker/nd/withdraw/detail', 'broker', 'GET', {'cost': 1})
@@ -219,6 +219,7 @@ class ImplicitAPI:
219
219
  broker_get_broker_nd_account = brokerGetBrokerNdAccount = Entry('broker/nd/account', 'broker', 'GET', {'cost': 2})
220
220
  broker_get_broker_nd_account_apikey = brokerGetBrokerNdAccountApikey = Entry('broker/nd/account/apikey', 'broker', 'GET', {'cost': 2})
221
221
  broker_get_broker_nd_rebase_download = brokerGetBrokerNdRebaseDownload = Entry('broker/nd/rebase/download', 'broker', 'GET', {'cost': 3})
222
+ broker_get_asset_ndbroker_deposit_list = brokerGetAssetNdbrokerDepositList = Entry('asset/ndbroker/deposit/list', 'broker', 'GET', {'cost': 1})
222
223
  broker_get_broker_nd_transfer_detail = brokerGetBrokerNdTransferDetail = Entry('broker/nd/transfer/detail', 'broker', 'GET', {'cost': 1})
223
224
  broker_get_broker_nd_deposit_detail = brokerGetBrokerNdDepositDetail = Entry('broker/nd/deposit/detail', 'broker', 'GET', {'cost': 1})
224
225
  broker_get_broker_nd_withdraw_detail = brokerGetBrokerNdWithdrawDetail = Entry('broker/nd/withdraw/detail', 'broker', 'GET', {'cost': 1})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.87'
7
+ __version__ = '4.3.88'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.3.87'
5
+ __version__ = '4.3.88'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -1792,7 +1792,7 @@ class Exchange(BaseExchange):
1792
1792
  errors = 0
1793
1793
  result = self.array_concat(result, response)
1794
1794
  last = self.safe_value(response, responseLength - 1)
1795
- paginationTimestamp = self.safe_integer(last, 'timestamp') - 1
1795
+ paginationTimestamp = self.safe_integer(last, 'timestamp') + 1
1796
1796
  if (until is not None) and (paginationTimestamp >= until):
1797
1797
  break
1798
1798
  except Exception as e:
@@ -1945,7 +1945,7 @@ class Exchange(BaseExchange):
1945
1945
  """
1946
1946
  if self.has['fetchPositionsHistory']:
1947
1947
  positions = await self.fetch_positions_history([symbol], since, limit, params)
1948
- return self.safe_dict(positions, 0)
1948
+ return positions
1949
1949
  else:
1950
1950
  raise NotSupported(self.id + ' fetchPositionHistory() is not supported yet')
1951
1951
 
@@ -5269,7 +5269,7 @@ class coinex(Exchange, ImplicitAPI):
5269
5269
  'shortLeverage': leverageValue,
5270
5270
  }
5271
5271
 
5272
- async def fetch_position_history(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> Position:
5272
+ async def fetch_position_history(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Position]:
5273
5273
  """
5274
5274
  fetches historical positions
5275
5275
  :see: https://docs.coinex.com/api/v2/futures/position/http/list-finished-position
@@ -415,6 +415,7 @@ class kucoin(Exchange, ImplicitAPI):
415
415
  'broker/nd/account': 2,
416
416
  'broker/nd/account/apikey': 2,
417
417
  'broker/nd/rebase/download': 3,
418
+ 'asset/ndbroker/deposit/list': 1,
418
419
  'broker/nd/transfer/detail': 1,
419
420
  'broker/nd/deposit/detail': 1,
420
421
  'broker/nd/withdraw/detail': 1,
@@ -706,6 +707,7 @@ class kucoin(Exchange, ImplicitAPI):
706
707
  'purchase/orders': 'v3',
707
708
  'margin/symbols': 'v3',
708
709
  'affiliate/inviter/statistics': 'v2',
710
+ 'asset/ndbroker/deposit/list': 'v1',
709
711
  },
710
712
  'POST': {
711
713
  # account
ccxt/base/exchange.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.87'
7
+ __version__ = '4.3.88'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -5846,7 +5846,7 @@ class Exchange(object):
5846
5846
  errors = 0
5847
5847
  result = self.array_concat(result, response)
5848
5848
  last = self.safe_value(response, responseLength - 1)
5849
- paginationTimestamp = self.safe_integer(last, 'timestamp') - 1
5849
+ paginationTimestamp = self.safe_integer(last, 'timestamp') + 1
5850
5850
  if (until is not None) and (paginationTimestamp >= until):
5851
5851
  break
5852
5852
  except Exception as e:
@@ -6215,7 +6215,7 @@ class Exchange(object):
6215
6215
  """
6216
6216
  if self.has['fetchPositionsHistory']:
6217
6217
  positions = self.fetch_positions_history([symbol], since, limit, params)
6218
- return self.safe_dict(positions, 0)
6218
+ return positions
6219
6219
  else:
6220
6220
  raise NotSupported(self.id + ' fetchPositionHistory() is not supported yet')
6221
6221
 
ccxt/coinex.py CHANGED
@@ -5268,7 +5268,7 @@ class coinex(Exchange, ImplicitAPI):
5268
5268
  'shortLeverage': leverageValue,
5269
5269
  }
5270
5270
 
5271
- def fetch_position_history(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> Position:
5271
+ def fetch_position_history(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Position]:
5272
5272
  """
5273
5273
  fetches historical positions
5274
5274
  :see: https://docs.coinex.com/api/v2/futures/position/http/list-finished-position
ccxt/kucoin.py CHANGED
@@ -414,6 +414,7 @@ class kucoin(Exchange, ImplicitAPI):
414
414
  'broker/nd/account': 2,
415
415
  'broker/nd/account/apikey': 2,
416
416
  'broker/nd/rebase/download': 3,
417
+ 'asset/ndbroker/deposit/list': 1,
417
418
  'broker/nd/transfer/detail': 1,
418
419
  'broker/nd/deposit/detail': 1,
419
420
  'broker/nd/withdraw/detail': 1,
@@ -705,6 +706,7 @@ class kucoin(Exchange, ImplicitAPI):
705
706
  'purchase/orders': 'v3',
706
707
  'margin/symbols': 'v3',
707
708
  'affiliate/inviter/statistics': 'v2',
709
+ 'asset/ndbroker/deposit/list': 'v1',
708
710
  },
709
711
  'POST': {
710
712
  # account
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.87'
7
+ __version__ = '4.3.88'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
ccxt/pro/bitfinex.py CHANGED
@@ -24,6 +24,7 @@ class bitfinex(ccxt.async_support.bitfinex):
24
24
  'watchTickers': False,
25
25
  'watchOrderBook': True,
26
26
  'watchTrades': True,
27
+ 'watchTradesForSymbols': False,
27
28
  'watchBalance': False, # for now
28
29
  'watchOHLCV': False, # missing on the exchange side in v1
29
30
  },
ccxt/pro/bitfinex2.py CHANGED
@@ -25,6 +25,7 @@ class bitfinex2(ccxt.async_support.bitfinex2):
25
25
  'watchTickers': False,
26
26
  'watchOrderBook': True,
27
27
  'watchTrades': True,
28
+ 'watchTradesForSymbols': False,
28
29
  'watchMyTrades': True,
29
30
  'watchBalance': True,
30
31
  'watchOHLCV': True,
ccxt/pro/bitopro.py CHANGED
@@ -26,6 +26,7 @@ class bitopro(ccxt.async_support.bitopro):
26
26
  'watchTicker': True,
27
27
  'watchTickers': False,
28
28
  'watchTrades': True,
29
+ 'watchTradesForSymbols': False,
29
30
  },
30
31
  'urls': {
31
32
  'ws': {
ccxt/pro/bitstamp.py CHANGED
@@ -21,6 +21,7 @@ class bitstamp(ccxt.async_support.bitstamp):
21
21
  'watchOrderBook': True,
22
22
  'watchOrders': True,
23
23
  'watchTrades': True,
24
+ 'watchTradesForSymbols': False,
24
25
  'watchOHLCV': False,
25
26
  'watchTicker': False,
26
27
  'watchTickers': False,
ccxt/pro/blockchaincom.py CHANGED
@@ -23,6 +23,7 @@ class blockchaincom(ccxt.async_support.blockchaincom):
23
23
  'watchTicker': True,
24
24
  'watchTickers': False,
25
25
  'watchTrades': True,
26
+ 'watchTradesForSymbols': False,
26
27
  'watchMyTrades': False,
27
28
  'watchOrders': True,
28
29
  'watchOrderBook': True,
ccxt/pro/cex.py CHANGED
@@ -25,6 +25,7 @@ class cex(ccxt.async_support.cex):
25
25
  'watchTicker': True,
26
26
  'watchTickers': True,
27
27
  'watchTrades': True,
28
+ 'watchTradesForSymbols': False,
28
29
  'watchMyTrades': True,
29
30
  'watchOrders': True,
30
31
  'watchOrderBook': True,
ccxt/pro/coincheck.py CHANGED
@@ -20,6 +20,7 @@ class coincheck(ccxt.async_support.coincheck):
20
20
  'watchOrderBook': True,
21
21
  'watchOrders': False,
22
22
  'watchTrades': True,
23
+ 'watchTradesForSymbols': False,
23
24
  'watchOHLCV': False,
24
25
  'watchTicker': False,
25
26
  'watchTickers': False,
ccxt/pro/coinone.py CHANGED
@@ -20,6 +20,7 @@ class coinone(ccxt.async_support.coinone):
20
20
  'watchOrderBook': True,
21
21
  'watchOrders': False,
22
22
  'watchTrades': True,
23
+ 'watchTradesForSymbols': False,
23
24
  'watchOHLCV': False,
24
25
  'watchTicker': True,
25
26
  'watchTickers': False,
ccxt/pro/hashkey.py CHANGED
@@ -23,6 +23,7 @@ class hashkey(ccxt.async_support.hashkey):
23
23
  'watchOrders': True,
24
24
  'watchTicker': True,
25
25
  'watchTrades': True,
26
+ 'watchTradesForSymbols': False,
26
27
  'watchPositions': False,
27
28
  },
28
29
  'urls': {
ccxt/pro/hitbtc.py CHANGED
@@ -23,6 +23,7 @@ class hitbtc(ccxt.async_support.hitbtc):
23
23
  'watchTicker': True,
24
24
  'watchTickers': True,
25
25
  'watchTrades': True,
26
+ 'watchTradesForSymbols': False,
26
27
  'watchOrderBook': True,
27
28
  'watchBalance': True,
28
29
  'watchOrders': True,
ccxt/pro/hollaex.py CHANGED
@@ -28,6 +28,7 @@ class hollaex(ccxt.async_support.hollaex):
28
28
  'watchTicker': False,
29
29
  'watchTickers': False, # for now
30
30
  'watchTrades': True,
31
+ 'watchTradesForSymbols': False,
31
32
  },
32
33
  'urls': {
33
34
  'api': {
ccxt/pro/htx.py CHANGED
@@ -39,6 +39,7 @@ class htx(ccxt.async_support.htx):
39
39
  'watchTickers': False,
40
40
  'watchTicker': True,
41
41
  'watchTrades': True,
42
+ 'watchTradesForSymbols': False,
42
43
  'watchMyTrades': True,
43
44
  'watchBalance': True,
44
45
  'watchOHLCV': True,
ccxt/pro/huobijp.py CHANGED
@@ -21,6 +21,7 @@ class huobijp(ccxt.async_support.huobijp):
21
21
  'watchTickers': False, # for now
22
22
  'watchTicker': True,
23
23
  'watchTrades': True,
24
+ 'watchTradesForSymbols': False,
24
25
  'watchBalance': False, # for now
25
26
  'watchOHLCV': True,
26
27
  },
ccxt/pro/hyperliquid.py CHANGED
@@ -28,6 +28,7 @@ class hyperliquid(ccxt.async_support.hyperliquid):
28
28
  'watchTicker': False,
29
29
  'watchTickers': True,
30
30
  'watchTrades': True,
31
+ 'watchTradesForSymbols': False,
31
32
  'watchPosition': False,
32
33
  },
33
34
  'urls': {
@@ -137,6 +138,7 @@ class hyperliquid(ccxt.async_support.hyperliquid):
137
138
  async def watch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
138
139
  """
139
140
  watches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
141
+ :see: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
140
142
  :param str symbol: unified symbol of the market to fetch the order book for
141
143
  :param int [limit]: the maximum amount of order book entries to return
142
144
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -207,6 +209,7 @@ class hyperliquid(ccxt.async_support.hyperliquid):
207
209
  async def watch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
208
210
  """
209
211
  watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for all markets of a specific list
212
+ :see: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
210
213
  :param str[] symbols: unified symbol of the market to fetch the ticker for
211
214
  :param dict [params]: extra parameters specific to the exchange API endpoint
212
215
  :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
@@ -230,6 +233,7 @@ class hyperliquid(ccxt.async_support.hyperliquid):
230
233
  async def watch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
231
234
  """
232
235
  watches information on multiple trades made by the user
236
+ :see: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
233
237
  :param str symbol: unified market symbol of the market orders were made in
234
238
  :param int [since]: the earliest time in ms to fetch orders for
235
239
  :param int [limit]: the maximum number of order structures to retrieve
@@ -390,6 +394,7 @@ class hyperliquid(ccxt.async_support.hyperliquid):
390
394
  async def watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
391
395
  """
392
396
  watches information on multiple trades made in a market
397
+ :see: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
393
398
  :param str symbol: unified market symbol of the market trades were made in
394
399
  :param int [since]: the earliest time in ms to fetch trades for
395
400
  :param int [limit]: the maximum number of trade structures to retrieve
@@ -514,6 +519,7 @@ class hyperliquid(ccxt.async_support.hyperliquid):
514
519
  async def watch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
515
520
  """
516
521
  watches historical candlestick data containing the open, high, low, close price, and the volume of a market
522
+ :see: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
517
523
  :param str symbol: unified symbol of the market to fetch OHLCV data for
518
524
  :param str timeframe: the length of time each candle represents
519
525
  :param int [since]: timestamp in ms of the earliest candle to fetch
@@ -594,6 +600,7 @@ class hyperliquid(ccxt.async_support.hyperliquid):
594
600
  async def watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
595
601
  """
596
602
  watches information on multiple orders made by the user
603
+ :see: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
597
604
  :param str symbol: unified market symbol of the market orders were made in
598
605
  :param int [since]: the earliest time in ms to fetch orders for
599
606
  :param int [limit]: the maximum number of order structures to retrieve
@@ -22,6 +22,7 @@ class independentreserve(ccxt.async_support.independentreserve):
22
22
  'watchTicker': False,
23
23
  'watchTickers': False,
24
24
  'watchTrades': True,
25
+ 'watchTradesForSymbols': False,
25
26
  'watchMyTrades': False,
26
27
  'watchOrders': False,
27
28
  'watchOrderBook': True,
ccxt/pro/lbank.py CHANGED
@@ -26,6 +26,7 @@ class lbank(ccxt.async_support.lbank):
26
26
  'watchTicker': True,
27
27
  'watchTickers': False,
28
28
  'watchTrades': True,
29
+ 'watchTradesForSymbols': False,
29
30
  'watchMyTrades': False,
30
31
  'watchOrders': True,
31
32
  'watchOrderBook': True,
ccxt/pro/luno.py CHANGED
@@ -19,6 +19,7 @@ class luno(ccxt.async_support.luno):
19
19
  'watchTicker': False,
20
20
  'watchTickers': False,
21
21
  'watchTrades': True,
22
+ 'watchTradesForSymbols': False,
22
23
  'watchMyTrades': False,
23
24
  'watchOrders': None, # is in beta
24
25
  'watchOrderBook': True,
ccxt/pro/ndax.py CHANGED
@@ -19,6 +19,7 @@ class ndax(ccxt.async_support.ndax):
19
19
  'ws': True,
20
20
  'watchOrderBook': True,
21
21
  'watchTrades': True,
22
+ 'watchTradesForSymbols': False,
22
23
  'watchTicker': True,
23
24
  'watchOHLCV': True,
24
25
  },
@@ -45,6 +46,7 @@ class ndax(ccxt.async_support.ndax):
45
46
  async def watch_ticker(self, symbol: str, params={}) -> Ticker:
46
47
  """
47
48
  watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
49
+ :see: https://apidoc.ndax.io/#subscribelevel1
48
50
  :param str symbol: unified symbol of the market to fetch the ticker for
49
51
  :param dict [params]: extra parameters specific to the exchange API endpoint
50
52
  :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
@@ -108,6 +110,7 @@ class ndax(ccxt.async_support.ndax):
108
110
  async def watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
109
111
  """
110
112
  get the list of most recent trades for a particular symbol
113
+ :see: https://apidoc.ndax.io/#subscribetrades
111
114
  :param str symbol: unified symbol of the market to fetch trades for
112
115
  :param int [since]: timestamp in ms of the earliest trade to fetch
113
116
  :param int [limit]: the maximum amount of trades to fetch
@@ -183,6 +186,7 @@ class ndax(ccxt.async_support.ndax):
183
186
  async def watch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
184
187
  """
185
188
  watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
189
+ :see: https://apidoc.ndax.io/#subscribeticker
186
190
  :param str symbol: unified symbol of the market to fetch OHLCV data for
187
191
  :param str timeframe: the length of time each candle represents
188
192
  :param int [since]: timestamp in ms of the earliest candle to fetch
@@ -303,6 +307,7 @@ class ndax(ccxt.async_support.ndax):
303
307
  async def watch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
304
308
  """
305
309
  watches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
310
+ :see: https://apidoc.ndax.io/#subscribelevel2
306
311
  :param str symbol: unified symbol of the market to fetch the order book for
307
312
  :param int [limit]: the maximum amount of order book entries to return
308
313
  :param dict [params]: extra parameters specific to the exchange API endpoint
ccxt/pro/okcoin.py CHANGED
@@ -24,6 +24,7 @@ class okcoin(ccxt.async_support.okcoin):
24
24
  'watchOrderBook': True,
25
25
  'watchOrders': True,
26
26
  'watchTrades': True,
27
+ 'watchTradesForSymbols': False,
27
28
  'watchBalance': True,
28
29
  'watchOHLCV': True,
29
30
  },
@@ -72,6 +73,7 @@ class okcoin(ccxt.async_support.okcoin):
72
73
  async def watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
73
74
  """
74
75
  get the list of most recent trades for a particular symbol
76
+ :see: https://www.okcoin.com/docs-v5/en/#websocket-api-public-channel-trades-channel
75
77
  :param str symbol: unified symbol of the market to fetch trades for
76
78
  :param int [since]: timestamp in ms of the earliest trade to fetch
77
79
  :param int [limit]: the maximum amount of trades to fetch
@@ -88,6 +90,7 @@ class okcoin(ccxt.async_support.okcoin):
88
90
  async def watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
89
91
  """
90
92
  watches information on multiple orders made by the user
93
+ :see: https://www.okcoin.com/docs-v5/en/#websocket-api-private-channel-order-channel
91
94
  :param str symbol: unified market symbol of the market orders were made in
92
95
  :param int [since]: the earliest time in ms to fetch orders for
93
96
  :param int [limit]: the maximum number of order structures to retrieve
@@ -166,6 +169,7 @@ class okcoin(ccxt.async_support.okcoin):
166
169
  async def watch_ticker(self, symbol: str, params={}) -> Ticker:
167
170
  """
168
171
  watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
172
+ :see: https://www.okcoin.com/docs-v5/en/#websocket-api-public-channel-tickers-channel
169
173
  :param str symbol: unified symbol of the market to fetch the ticker for
170
174
  :param dict [params]: extra parameters specific to the exchange API endpoint
171
175
  :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
@@ -241,6 +245,7 @@ class okcoin(ccxt.async_support.okcoin):
241
245
  async def watch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
242
246
  """
243
247
  watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
248
+ :see: https://www.okcoin.com/docs-v5/en/#websocket-api-public-channel-candlesticks-channel
244
249
  :param str symbol: unified symbol of the market to fetch OHLCV data for
245
250
  :param str timeframe: the length of time each candle represents
246
251
  :param int [since]: timestamp in ms of the earliest candle to fetch
@@ -303,6 +308,7 @@ class okcoin(ccxt.async_support.okcoin):
303
308
  async def watch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
304
309
  """
305
310
  watches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
311
+ :see: https://www.okcoin.com/docs-v5/en/#websocket-api-public-channel-order-book-channel
306
312
  :param str symbol: unified symbol of the market to fetch the order book for
307
313
  :param int [limit]: the maximum amount of order book entries to return
308
314
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -457,6 +463,7 @@ class okcoin(ccxt.async_support.okcoin):
457
463
  async def watch_balance(self, params={}) -> Balances:
458
464
  """
459
465
  watch balance and get the amount of funds available for trading or funds locked in orders
466
+ :see: https://www.okcoin.com/docs-v5/en/#websocket-api-private-channel-account-channel
460
467
  :param dict [params]: extra parameters specific to the exchange API endpoint
461
468
  :returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
462
469
  """
ccxt/pro/onetrading.py CHANGED
@@ -23,6 +23,7 @@ class onetrading(ccxt.async_support.onetrading):
23
23
  'watchTicker': True,
24
24
  'watchTickers': True,
25
25
  'watchTrades': False,
26
+ 'watchTradesForSymbols': False,
26
27
  'watchMyTrades': True,
27
28
  'watchOrders': True,
28
29
  'watchOrderBook': True,
ccxt/pro/paradex.py CHANGED
@@ -21,6 +21,7 @@ class paradex(ccxt.async_support.paradex):
21
21
  'watchOrderBook': True,
22
22
  'watchOrders': False,
23
23
  'watchTrades': True,
24
+ 'watchTradesForSymbols': False,
24
25
  'watchBalance': False,
25
26
  'watchOHLCV': False,
26
27
  },
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.3.87
3
+ Version: 4.3.88
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
@@ -272,13 +272,13 @@ console.log(version, Object.keys(exchanges));
272
272
 
273
273
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
274
274
 
275
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.87/dist/ccxt.browser.min.js
276
- * unpkg: https://unpkg.com/ccxt@4.3.87/dist/ccxt.browser.min.js
275
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.88/dist/ccxt.browser.min.js
276
+ * unpkg: https://unpkg.com/ccxt@4.3.88/dist/ccxt.browser.min.js
277
277
 
278
278
  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.
279
279
 
280
280
  ```HTML
281
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.87/dist/ccxt.browser.min.js"></script>
281
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.88/dist/ccxt.browser.min.js"></script>
282
282
  ```
283
283
 
284
284
  Creates a global `ccxt` object:
@@ -1,4 +1,4 @@
1
- ccxt/__init__.py,sha256=tu-EBwRzj_4AK73jwB48l6ruzHdahz7VpqV588J6DLg,16681
1
+ ccxt/__init__.py,sha256=23FgTf8AUXhOkBQjYQ8GKJp5wv8AkSxfag9E7WUp790,16681
2
2
  ccxt/ace.py,sha256=Gee4ymA83iAuBFm3J8NaTb7qmu9buV2trA676KCtSVg,42383
3
3
  ccxt/alpaca.py,sha256=HQuhQZSFGRlT-BaCUSEZmxpzYp6tll2zn63qn3gTmoU,47470
4
4
  ccxt/ascendex.py,sha256=4aEwibO_me6khr66z8JFqDBxe2gtFOWIFBE7ulBEJPs,151933
@@ -42,7 +42,7 @@ ccxt/coinbaseadvanced.py,sha256=d5g6nRx-NCcCwZDdtp8FsI2D-pRjSvnAP9ISSKY_nCQ,538
42
42
  ccxt/coinbaseexchange.py,sha256=DK8GJ5Xb6G6Hf-UkxG1j09RMeQRqeZlXIMwTum-Xu4w,78907
43
43
  ccxt/coinbaseinternational.py,sha256=86zQOXD8CLDI3MpBtmpbQsmtUzk-pBdrg8HM_NCCer4,97440
44
44
  ccxt/coincheck.py,sha256=SeNvZm_3p01IsW8y6b3rw67qiMu29S59HHPG6Jma_T4,35942
45
- ccxt/coinex.py,sha256=MsYFij5e3QRJJVAu6Blmeadr71Scfms5TYYpCF1lrmY,257421
45
+ ccxt/coinex.py,sha256=1m9hSsd9-pIzCeH579yMlioSrSJVbpvX_Diw3FjTf8c,257427
46
46
  ccxt/coinlist.py,sha256=Z2v-sn9_K3JUt42tQX5Naq3p55fH2giM2-fnSx--O2k,104123
47
47
  ccxt/coinmate.py,sha256=BkPcT92OQFeUQtnLDIkl-Sg0PcLrQ87RfHMFIybJoWk,46190
48
48
  ccxt/coinmetro.py,sha256=1HqUu4ScH4oZbloodvn0l25y7DaUMl_5MjBf5v8z_cA,80591
@@ -72,7 +72,7 @@ ccxt/independentreserve.py,sha256=ChkSnahGsn0aN_cfaAonSk-V2Aa1UB-0cPTa1d3AdI4,37
72
72
  ccxt/indodax.py,sha256=VdTGxm49I6s-DhT0H1NLFVJ1XYaDWpq51jP2tyK68Ks,54580
73
73
  ccxt/kraken.py,sha256=G-ZCciNlUz1us3Q9O5HTdJ0qqX-pZuKeJQ_pRScdqpA,132889
74
74
  ccxt/krakenfutures.py,sha256=_-bbgzshifKnbyOB1pSs_bRfRepkRAdiDlsLDRiAw9w,119597
75
- ccxt/kucoin.py,sha256=rwv5bdlaeFAMbo2vYpT3_mX_keeJmz5Nk5HF26Br3vA,226576
75
+ ccxt/kucoin.py,sha256=QJc-itNiyyNNt5R7MIgKPv-Qj6FZgIth0JqvqQrkbZA,226699
76
76
  ccxt/kucoinfutures.py,sha256=bINtr0EBupNmE_IufzwRy7GuWHa5JtBmtrPk-WjhCno,124756
77
77
  ccxt/kuna.py,sha256=GnIMk8R_IL84FTUHDNP6jHxd2FKNX9YwfoCXoYG83uA,96157
78
78
  ccxt/latoken.py,sha256=JkfGMFYEQqE_2BG3EHQozelw6yxbHXu1TPebg4a3Cgg,79462
@@ -183,8 +183,8 @@ ccxt/abstract/independentreserve.py,sha256=Cue0hud5acRs2Q6oSvQ7Rx-YWS_fuACs6uV3a
183
183
  ccxt/abstract/indodax.py,sha256=E16v8W6Ac9kmV9hFEqf_kwV6VQmK74lc1LEUEkuDpYg,2488
184
184
  ccxt/abstract/kraken.py,sha256=AUpdQHWHZFXseHNx1-cuLqRutYwYEUVqQ7mjc0TQR_s,5883
185
185
  ccxt/abstract/krakenfutures.py,sha256=pu81cKhQgBkQd8F9-Ly3b7xQD-qQ8WLi8EUMfmAUJcM,4080
186
- ccxt/abstract/kucoin.py,sha256=IoPbxQ9p5pBot_wFTbwlmDerthGg4S03XGYVhCJvPE4,27951
187
- ccxt/abstract/kucoinfutures.py,sha256=8L1ek3YnBLBRjcz_yEx8I4we-tOpGGVZQDQJOwecua0,30921
186
+ ccxt/abstract/kucoin.py,sha256=7R8BIrjg7MWwhPyASYocz0xm_iQseedlnnHQWPNTpf8,28099
187
+ ccxt/abstract/kucoinfutures.py,sha256=DOjys-FXHlGN2Rxy9gXIHB7FR9CF5Csq7IwNgxFbh9E,31069
188
188
  ccxt/abstract/kuna.py,sha256=IsaLq8A4DUOlQ8Esyk0WqBU6hHm5Q4sIqhgnMIvDGX0,24579
189
189
  ccxt/abstract/latoken.py,sha256=1GqE9WxrubgZILnYvg7W_dGyui-FKeIv0bU4z1dQj1k,7168
190
190
  ccxt/abstract/lbank.py,sha256=pdut_cIcwcUhN_ZCyWJxixBc4dgeQqvENYqFCrUYrvA,8675
@@ -220,7 +220,7 @@ 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=Vm7pse5OpPcc48TgmJyEwJf5ATExfELuULdIZ8gYBPE,16504
223
+ ccxt/async_support/__init__.py,sha256=M3oRw_D1I2bHirUbebT9HPxtfcZfLIZdcpDBvMoG6oc,16504
224
224
  ccxt/async_support/ace.py,sha256=zBmLUKH691a2BH1sPzlJPg-uO7lD6Ys92Rv8WSzNtoo,42607
225
225
  ccxt/async_support/alpaca.py,sha256=495vDvdF1IWlsh9QhUnMtkMuINdD0EzeFGlUVqCf8TE,47682
226
226
  ccxt/async_support/ascendex.py,sha256=LK259BdUqU0_STGRH6DmTgaR-7lXqFpZHFVACf2um5c,152721
@@ -264,7 +264,7 @@ ccxt/async_support/coinbaseadvanced.py,sha256=Kupwnuxiu_qTjwCNV2asacoDUNFQvcaHNA
264
264
  ccxt/async_support/coinbaseexchange.py,sha256=oJKFrv_bwjwyOGnTprrOoTsUToavrH4f0sTwQlEqZgc,79413
265
265
  ccxt/async_support/coinbaseinternational.py,sha256=d_xWWicD-Zya2BT0YaKmr9Nrl4XbUfWOUe1FWUIXnQo,98054
266
266
  ccxt/async_support/coincheck.py,sha256=N_0cDMAiFRC4G--QgOmSH8esKDr_lEVZUpukc4QoHk8,36148
267
- ccxt/async_support/coinex.py,sha256=cNcLwZSSvSvHiNIb7ot_ohZguk57SmR3OtT_89e11XE,258679
267
+ ccxt/async_support/coinex.py,sha256=PjfFGPesoM1d9POYPDFCZINi72MTLeRxyoKPnKCrjsk,258685
268
268
  ccxt/async_support/coinlist.py,sha256=NTN-W6Jm4fcwvBHRcSB6yj4QTeNrMg5IyZiYpkKUGZ0,104611
269
269
  ccxt/async_support/coinmate.py,sha256=NI58zYMkuOL9lB3UFzyjUNbuFZGrtjZbb4PBFTOsbz4,46456
270
270
  ccxt/async_support/coinmetro.py,sha256=BloSsFuLoLTt_lnaZL051g75Yn1M2LIf7kMCZLOiYTc,80911
@@ -294,7 +294,7 @@ ccxt/async_support/independentreserve.py,sha256=fCTAQ1U74KOZHIoYbDxzEly1xSgykcYc
294
294
  ccxt/async_support/indodax.py,sha256=S4qV7w3gMTRLnzahoCKR70oeRlpxOV3mXDdJw8XpIo8,54888
295
295
  ccxt/async_support/kraken.py,sha256=jSho6sFS0oWj4thiAy5AUENYwv2PUWCrXhv8QTZQicA,133539
296
296
  ccxt/async_support/krakenfutures.py,sha256=stPhBne9pFVlgFkw4mwqtaaI6NTZCAcmOIFVlQSbl8I,120085
297
- ccxt/async_support/kucoin.py,sha256=XAOfLEyRUeHfS3pB5elec6F1M_ryPyaEKZle2rPFZDM,227677
297
+ ccxt/async_support/kucoin.py,sha256=yUpyvMjHLy3Vf4yFGENe5CnbWjLly1PNL8v576NCg0o,227800
298
298
  ccxt/async_support/kucoinfutures.py,sha256=X6TMi-Bjv2mijE8xGbg-qp9Ha8Nl7o1Z5LjEiDgxaJ8,125394
299
299
  ccxt/async_support/kuna.py,sha256=QtzLgqgv8mLXECN2drWNVtdvm_vy-bawdxKvozDzbVE,96573
300
300
  ccxt/async_support/latoken.py,sha256=iLypvfxDSW3PGHWLraibz0hBZV4ch5LYH5D24VOnIqk,79938
@@ -332,7 +332,7 @@ ccxt/async_support/yobit.py,sha256=GQhvYrsGHQrVdTrNHQxx9isEGqUABexlllzao9HL3f8,5
332
332
  ccxt/async_support/zaif.py,sha256=-ZTr8M2JaIRCL90VrbCDXBMAsZwbiwsFChSQ2rWODuQ,29044
333
333
  ccxt/async_support/zonda.py,sha256=jncr6Wg12S72CTpu6mCKCse1pm1f8oefVQurQSrFvP0,81733
334
334
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
335
- ccxt/async_support/base/exchange.py,sha256=jgeL-bhvetlM4J6uw4Po0uwYDPkQOOvu-BVnIB0aia8,110829
335
+ ccxt/async_support/base/exchange.py,sha256=5gYwEWsGfJ-E_hGw5Cd6WA8jshD6tOScctIv3qwPifg,110810
336
336
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
337
337
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
338
338
  ccxt/async_support/base/ws/aiohttp_client.py,sha256=5IEiT0elWI9a7Vr-KV0jgmlbpLJWBzIlrLaCkTKGaqY,5752
@@ -346,10 +346,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
346
346
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
347
347
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
348
348
  ccxt/base/errors.py,sha256=Pad-6ugvGUwhoYuKUliX-N7FTrcnKCQGFjsaq2tMn0I,4610
349
- ccxt/base/exchange.py,sha256=s-WBW9T0vec0fNdShtzvr2MmJrUs3cNK41cNWK1svYU,295934
349
+ ccxt/base/exchange.py,sha256=5Taus_1UzI7oNC5LUC4AAOs1T2pL1jOmBneMLwblCuE,295915
350
350
  ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
351
351
  ccxt/base/types.py,sha256=TaP_RElKjGEZWuzyp4o4u2YhREyTG3rUeVT6gDffY9A,9613
352
- ccxt/pro/__init__.py,sha256=iFX-TggS6GMZKPzfKjl73Bk_8b5vyqDCAcgMVw8HnlI,7710
352
+ ccxt/pro/__init__.py,sha256=TgfvbDadi5Tx5MypGJ8Luws6Vh0YJQiG5VNXCruz0Fc,7710
353
353
  ccxt/pro/alpaca.py,sha256=xh1yg1Ok-Zh_Mfx-MBjNrfJDs6MUU0exFfEj3GuQPC4,27631
354
354
  ccxt/pro/ascendex.py,sha256=QueLgISoIxgGSOta2W7En4pwAsEXbTP5q5ef4UjpTQQ,37524
355
355
  ccxt/pro/bequant.py,sha256=33OEUWBi4D9-2w8CmkwN3aF1qS-AlLqX3pxrWwNbXPY,1552
@@ -359,27 +359,27 @@ ccxt/pro/binanceus.py,sha256=_IXpS_wyH0nEtsLR7cJLtrUlsNQoG0MSUVo3PV0RDDc,1946
359
359
  ccxt/pro/binanceusdm.py,sha256=lLdOv0d-lM-1wfCc_y_POb6GdmVIiX7PFzmKTWsVyNw,1512
360
360
  ccxt/pro/bingx.py,sha256=Ji6EBezDtGbL2en15Syb2G1Ra9RcuJyaef5GxSHho20,54046
361
361
  ccxt/pro/bitcoincom.py,sha256=zAX6hiz4hS6Un8dSGp88rpnvItxQHfNmsfF0IZ2xIVA,1181
362
- ccxt/pro/bitfinex.py,sha256=m4ERTUt7QIZhAYu8NP818wOHSLRi2vK-_Z5-LXD8zjA,25257
363
- ccxt/pro/bitfinex2.py,sha256=kZVHZwfu1_E27p9Cx55uDVGcEPA6Oy-BQk8t2fbwOmg,43058
362
+ ccxt/pro/bitfinex.py,sha256=BlgNy4_TUPggvfcfpfl7309Phons-2lFp73OdDbQHpw,25305
363
+ ccxt/pro/bitfinex2.py,sha256=H2evIdXrXaHpmvlqoPCOqADYjiHqvZVLf9EnbYHBOj8,43106
364
364
  ccxt/pro/bitget.py,sha256=-sK8WqkT1ddS6HLwp0Hr6kGKZ2ELqeW-FOt8IqCStnE,85233
365
365
  ccxt/pro/bithumb.py,sha256=dqYKWebxFg4rsP7jg3oBnCUBcpZAoqAmZsozAU9pYds,16835
366
366
  ccxt/pro/bitmart.py,sha256=LxcP6aiCdwN-euseCMhsXZkhqesPJM-eLh549sGHHfo,62556
367
367
  ccxt/pro/bitmex.py,sha256=dNQf2EAim7kxgCM6I1TgFDl-e2zrXa2veicTEqu8WbQ,73949
368
- ccxt/pro/bitopro.py,sha256=2pCutMnav21uVEkqjUhrI80opxW5NWUkn2IK9-Y2hNQ,18750
368
+ ccxt/pro/bitopro.py,sha256=eGge1vzVXPx1FGZc1cm5i_MzBKlRkWH2ZKuIzrR3G2Q,18798
369
369
  ccxt/pro/bitpanda.py,sha256=ELrhfFKN9YJJdmm9wBf-vpk6WsXGWGf-SyJdqm-E_Lg,415
370
370
  ccxt/pro/bitrue.py,sha256=0-aa3Q8oGLnq71fJQYLyy0jI3NHHTFJuMQAyM0XRLFY,16246
371
- ccxt/pro/bitstamp.py,sha256=P8Td5HqWiO6GMdLj-cKqPTZD28fltWlZQ7Z-omDbO60,20916
371
+ ccxt/pro/bitstamp.py,sha256=tysJpRxfVnZKp-_xgfIhsOVh3ilnQQhXjV-grzqz3QM,20964
372
372
  ccxt/pro/bitvavo.py,sha256=POivGXYmz8GqYc_uErpS6BdG2Gv087BStiJ3lQwod-A,56219
373
- ccxt/pro/blockchaincom.py,sha256=LtCL3habcuB2IRXXK_oeqdzqpnkj01Gr79X82nK8Mnk,29600
373
+ ccxt/pro/blockchaincom.py,sha256=yRJ4m0mTG5FSbkdH4QvuXNnBvLv9kDMGbAMwpcJnyDI,29648
374
374
  ccxt/pro/blofin.py,sha256=Wjw0coQ4TO1qdVVnBGSdRDVtADsl-t-hkOo-uEDZTbc,28659
375
375
  ccxt/pro/bybit.py,sha256=p4YRpTqU3nuCiW2ma1h2Lii0V8S8HX1FmU8t62UTg6A,92054
376
- ccxt/pro/cex.py,sha256=SFgOQmXEfuKodIzN_dISZ_iqU46B2TbVPFSXNbO7cY4,58493
376
+ ccxt/pro/cex.py,sha256=8HgAOhMNU_2hiklxVZTNZVDHcWDXDjuzwSrimdCaMeI,58541
377
377
  ccxt/pro/coinbase.py,sha256=hwd8lUuaW8WyQQOh9WvBVuiuOJTpmlCXU0hL3UE8UFQ,31411
378
378
  ccxt/pro/coinbaseexchange.py,sha256=eoDBwYvGK__zGtC0yNRk2evWwQAD6XpjMHcpubjBt2U,39027
379
379
  ccxt/pro/coinbaseinternational.py,sha256=1ykwnp6XaOqvH0HILlZvrJdgvscF2lnZfIyn5U9tqWY,32250
380
- ccxt/pro/coincheck.py,sha256=7krhoxpI5RoHTyeP9tHz-o_EXlhytIxHZ4Ld7ZK29CE,7803
380
+ ccxt/pro/coincheck.py,sha256=zzZcPmL4Vibh_Sjont-3D8z-E11ugVQVqPakHQxpgKs,7851
381
381
  ccxt/pro/coinex.py,sha256=GkW0duPzwNXppQxHPTaa1QIjnVXa3NXr-BhwocwNYF0,45164
382
- ccxt/pro/coinone.py,sha256=8tnd60CfPzy6n74Ninxa1BhMIvNfCdqgRn_om3zUwLk,15686
382
+ ccxt/pro/coinone.py,sha256=XxJeMDbg3tSDoC3H8p9y7MB_yBR3ZN6PiQyEGaziAZs,15734
383
383
  ccxt/pro/cryptocom.py,sha256=Zrh6noBvrMIcSLgVUuzxW7SPcJzUQDlcqMFU4JsnwLE,43318
384
384
  ccxt/pro/currencycom.py,sha256=8B9pSuPyO0ROCWOROUFoNbJBeOU3bRmlKXSj1CBMkPI,22459
385
385
  ccxt/pro/deribit.py,sha256=DG3UJE8VWuydP64_CJzDqmRC0vqc9ViBvQr28gW_nhY,41094
@@ -387,29 +387,29 @@ ccxt/pro/exmo.py,sha256=n44MqOwY-tSt0TFNhQKydjxRJoSbrMVBzL4NNswOZm4,24542
387
387
  ccxt/pro/gate.py,sha256=PhhmAgeY2IcSIpCdeQcZlhc19neXJkYrRL4W8Bocs84,79322
388
388
  ccxt/pro/gateio.py,sha256=_uBWXYQbmsHRivKnZOJDmxJ9tWLO_0HAxmOjAEUy9nE,391
389
389
  ccxt/pro/gemini.py,sha256=8B8dbYPbKbZb3lzhlt8-x0oybQxOHr8Q4R_f5edLwbU,36899
390
- ccxt/pro/hashkey.py,sha256=_1XC6sOGsMeqwJs-7lxgXAgAoGl2rXYnusWEYFC2Btk,34017
391
- ccxt/pro/hitbtc.py,sha256=hhzNO9qGnALrRlMc7Bw0acIGHhFXVA6sUsTRGrWwYkc,56889
392
- ccxt/pro/hollaex.py,sha256=qb8mnhZ6jK1iv0Ji2O8SSWcxfJMeVWAPBO0pjI-usic,21997
393
- ccxt/pro/htx.py,sha256=NgdEA7O9vIZsQJ-gfB1VevfDYnAljQs0Zst1heKXekk,96281
390
+ ccxt/pro/hashkey.py,sha256=F-NAOAeNSEjHyuZnvGiIYHQow5RAKcwgyb23cGwOiJs,34065
391
+ ccxt/pro/hitbtc.py,sha256=i-6bu6fNu5O19lXxgpbdP8C3DgUzpepfrBDmcOZrqOg,56937
392
+ ccxt/pro/hollaex.py,sha256=la302Z6BMjcqZQhTaj4PQXSfhgFH6m7o3u7Ts5JkHbY,22045
393
+ ccxt/pro/htx.py,sha256=mt-Bh5U6W6MRrpPp5xm6ayhkIcdaS8YCczczw9_1yx4,96329
394
394
  ccxt/pro/huobi.py,sha256=rKZVgYqEr-MmZzTqAk4FoJt8qWFjCi_FY0ci_mWZrL0,385
395
- ccxt/pro/huobijp.py,sha256=aL6wEqAfnZp15mvfxbCsKI5OJqeCLN5IM5QO0OvJRSk,23270
396
- ccxt/pro/hyperliquid.py,sha256=SNRdaYeUXAHjuauI-KfNB6CLECovyzlz4pciS3XWpss,31822
395
+ ccxt/pro/huobijp.py,sha256=urnktXqCIJTccup0oQJPJsM32XR09dDP6qGP1kvBtfg,23318
396
+ ccxt/pro/hyperliquid.py,sha256=B-bV58Jw20AL4C2LGaj11cPp3osZRRr3T5WjfPXwc5Y,32500
397
397
  ccxt/pro/idex.py,sha256=WAY58yMHFUPoqZUGFvzxqcKizvMuFXqdZ6BD0WgstQA,28361
398
- ccxt/pro/independentreserve.py,sha256=wLONq1yDOV-92ZaKaBLZwUxopu0MZR-Z-AjvPN-_fuY,11308
398
+ ccxt/pro/independentreserve.py,sha256=JWMjJ0FUs4LhybAZ4rjHMQIWeOu5Njaj8aVimA7kf30,11356
399
399
  ccxt/pro/kraken.py,sha256=hrYXzL-CLCgm0BbQBjNOoiAfC57Ca5JTiD_24eIvikM,63840
400
400
  ccxt/pro/krakenfutures.py,sha256=Y9vqrxNbr7OJ0BIMZqrVtMedUzk7XtOZuF_OGQ2tUJc,64033
401
401
  ccxt/pro/kucoin.py,sha256=Vsbt5k8zDSve31LiRlPQgdp1AxVtosT1c9nSCUCF364,54296
402
402
  ccxt/pro/kucoinfutures.py,sha256=gMRflEtuO_S_cuhhVOtIwarL_Nk9ThAmGqyvUncVqHc,50331
403
- ccxt/pro/lbank.py,sha256=ip7zjZFvGKufpu30WN2_lFQ-ODcJVNkcJQHbz-uLfHo,35203
404
- ccxt/pro/luno.py,sha256=AzLK0_C0Hu25ukMNkMLP_sY3D4UG9FT38oawpo4jzTg,12336
403
+ ccxt/pro/lbank.py,sha256=nBTAs75zokS5hwdFTgA6NJelk7n0FGBsznbxebLm8QM,35251
404
+ ccxt/pro/luno.py,sha256=ThXkXNrLvp9BW8XXxRcbpRaw9QcLCS2f2tCqbF6qpEU,12384
405
405
  ccxt/pro/mexc.py,sha256=XWizOaMEHWdl0FU7XO_gxxGeTiMFoZxxaBQ1aQ7OrjU,43764
406
- ccxt/pro/ndax.py,sha256=fQsoYtrTEsCZB3hl-pavQytwQAaiMAiTyaCiOy1sVTg,22715
407
- ccxt/pro/okcoin.py,sha256=elwHzrWUSuU7Edp1oisxAnvst5IpxjyzgqLVMEHZWIU,30429
406
+ ccxt/pro/ndax.py,sha256=De7ohX5Dp2PSfFmt50mGH9cB9Me53Wb-B8S6N4_Flvk,22979
407
+ ccxt/pro/okcoin.py,sha256=h8niyeq67h-oBmxiMMy2JdNgOI0fBQuEC3QdUW4-NFs,31048
408
408
  ccxt/pro/okx.py,sha256=rKAUOmT-BfnNzd7IPzgkgbeLJN2e29SOdLfrHboFbeM,85537
409
- ccxt/pro/onetrading.py,sha256=Qlr6LRRqO8te7QyTIhCk5nXJnupH8MtRWhQnH3Zc9yE,54769
409
+ ccxt/pro/onetrading.py,sha256=2LP1LvwbQrwsyXDPRU6_ez4fWR3htKFuzC-4CenHzhU,54817
410
410
  ccxt/pro/oxfun.py,sha256=gcmnoD0pzEDVIaiHyuU2ABoQBrxi0CTP62H2xZD0T7g,43943
411
411
  ccxt/pro/p2b.py,sha256=K0aQNKqOWCgju0t-Am7mcIcAFXjIxYXiYft1gEOfw10,19227
412
- ccxt/pro/paradex.py,sha256=9SkO-QV08sGeh5e349hL36u4snxAYuqjdVvJlKgQhH0,14299
412
+ ccxt/pro/paradex.py,sha256=kXWCs_o5GBAoAhsn7P5HQ2_L_B8tz9WsLHPnJ5j4usI,14347
413
413
  ccxt/pro/phemex.py,sha256=ZFQLhlrFKxzoFziHAvM2G1pzf-goRYjdZ-ikVGfeNXw,61107
414
414
  ccxt/pro/poloniex.py,sha256=QKpKOTW73iUQxaFXFZ_0KbyPFJhXtMWNNsfgP-CBeXU,53574
415
415
  ccxt/pro/poloniexfutures.py,sha256=a3u8CIc7CuK04jU4PTLPVtGsw7omJ80KRopshziShYU,42020
@@ -652,8 +652,8 @@ ccxt/test/tests_async.py,sha256=yVoLZLPkB-_ay0ab_oCyYOSwkLQkLXkPFj5jHTE3esw,8442
652
652
  ccxt/test/tests_helpers.py,sha256=xhOILoZ_x3RSfQjtKt6AQlkp9DkOtpTQe8GAUUZoM6s,10069
653
653
  ccxt/test/tests_init.py,sha256=eVwwUHujX9t4rjgo4TqEeg7DDhR1Hb_e2SJN8NVGyl0,998
654
654
  ccxt/test/tests_sync.py,sha256=uu0QsWOuEpkmtV12nIffsiZZFUpM-f1k6W9nlgCDqXs,83485
655
- ccxt-4.3.87.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
656
- ccxt-4.3.87.dist-info/METADATA,sha256=qq7mohJ0qkb3LeP60YZIfW0KRAYgnO8Kz8aMYY1nmzQ,118342
657
- ccxt-4.3.87.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
658
- ccxt-4.3.87.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
659
- ccxt-4.3.87.dist-info/RECORD,,
655
+ ccxt-4.3.88.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
656
+ ccxt-4.3.88.dist-info/METADATA,sha256=hpC47jQKet0SsrfW-SRiZW4eBVtKe1YWNMxjWIWNomQ,118342
657
+ ccxt-4.3.88.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
658
+ ccxt-4.3.88.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
659
+ ccxt-4.3.88.dist-info/RECORD,,
File without changes