ccxt 4.4.7__py2.py3-none-any.whl → 4.4.8__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 +1 -1
- ccxt/abstract/binance.py +1 -0
- ccxt/abstract/binancecoinm.py +1 -0
- ccxt/abstract/binanceus.py +1 -0
- ccxt/abstract/binanceusdm.py +1 -0
- ccxt/abstract/bybit.py +5 -0
- ccxt/abstract/okx.py +2 -0
- ccxt/async_support/__init__.py +1 -1
- ccxt/async_support/base/exchange.py +1 -1
- ccxt/async_support/binance.py +49 -12
- ccxt/async_support/bybit.py +350 -1
- ccxt/async_support/htx.py +20 -0
- ccxt/async_support/okx.py +4 -0
- ccxt/base/exchange.py +1 -1
- ccxt/binance.py +49 -12
- ccxt/bybit.py +350 -1
- ccxt/htx.py +20 -0
- ccxt/okx.py +4 -0
- ccxt/pro/__init__.py +1 -1
- ccxt/pro/bitmart.py +72 -0
- ccxt/pro/bitvavo.py +87 -2
- ccxt/pro/blofin.py +59 -0
- {ccxt-4.4.7.dist-info → ccxt-4.4.8.dist-info}/METADATA +4 -4
- {ccxt-4.4.7.dist-info → ccxt-4.4.8.dist-info}/RECORD +27 -27
- {ccxt-4.4.7.dist-info → ccxt-4.4.8.dist-info}/LICENSE.txt +0 -0
- {ccxt-4.4.7.dist-info → ccxt-4.4.8.dist-info}/WHEEL +0 -0
- {ccxt-4.4.7.dist-info → ccxt-4.4.8.dist-info}/top_level.txt +0 -0
ccxt/okx.py
CHANGED
@@ -290,6 +290,7 @@ class okx(Exchange, ImplicitAPI):
|
|
290
290
|
'copytrading/public-preference-currency': 4,
|
291
291
|
'copytrading/public-current-subpositions': 4,
|
292
292
|
'copytrading/public-subpositions-history': 4,
|
293
|
+
'support/announcements-types': 20,
|
293
294
|
},
|
294
295
|
},
|
295
296
|
'private': {
|
@@ -435,6 +436,7 @@ class okx(Exchange, ImplicitAPI):
|
|
435
436
|
# affiliate
|
436
437
|
'affiliate/invitee/detail': 1,
|
437
438
|
'users/partner/if-rebate': 1,
|
439
|
+
'support/announcements': 4,
|
438
440
|
},
|
439
441
|
'post': {
|
440
442
|
# rfq
|
@@ -814,6 +816,8 @@ class okx(Exchange, ImplicitAPI):
|
|
814
816
|
# SPOT/MARGIN error codes 54000-54999
|
815
817
|
'54000': ExchangeError, # Margin transactions unavailable
|
816
818
|
'54001': ExchangeError, # Only Multi-currency margin account can be set to borrow coins automatically
|
819
|
+
'54008': InvalidOrder, # This operation is disabled by the 'mass cancel order' endpoint. Please enable it using self endpoint.
|
820
|
+
'54009': InvalidOrder, # The range of {param0} should be [{param1}, {param2}].
|
817
821
|
'54011': InvalidOrder, # 200 Pre-market trading contracts are only allowed to reduce the number of positions within 1 hour before delivery. Please modify or cancel the order.
|
818
822
|
# Trading bot Error Code from 55100 to 55999
|
819
823
|
'55100': InvalidOrder, # Take profit % should be within the range of {parameter1}-{parameter2}
|
ccxt/pro/__init__.py
CHANGED
ccxt/pro/bitmart.py
CHANGED
@@ -31,6 +31,7 @@ class bitmart(ccxt.async_support.bitmart):
|
|
31
31
|
'watchBalance': True,
|
32
32
|
'watchTicker': True,
|
33
33
|
'watchTickers': True,
|
34
|
+
'watchBidsAsks': True,
|
34
35
|
'watchOrderBook': True,
|
35
36
|
'watchOrderBookForSymbols': True,
|
36
37
|
'watchOrders': True,
|
@@ -314,6 +315,7 @@ class bitmart(ccxt.async_support.bitmart):
|
|
314
315
|
|
315
316
|
async def watch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
316
317
|
"""
|
318
|
+
:see: https://developer-pro.bitmart.com/en/spot/#public-ticker-channel
|
317
319
|
:see: https://developer-pro.bitmart.com/en/futuresv2/#public-ticker-channel
|
318
320
|
watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for all markets of a specific list
|
319
321
|
:param str[] symbols: unified symbol of the market to fetch the ticker for
|
@@ -331,6 +333,75 @@ class bitmart(ccxt.async_support.bitmart):
|
|
331
333
|
return tickers
|
332
334
|
return self.filter_by_array(self.tickers, 'symbol', symbols)
|
333
335
|
|
336
|
+
async def watch_bids_asks(self, symbols: Strings = None, params={}) -> Tickers:
|
337
|
+
"""
|
338
|
+
:see: https://developer-pro.bitmart.com/en/spot/#public-ticker-channel
|
339
|
+
:see: https://developer-pro.bitmart.com/en/futuresv2/#public-ticker-channel
|
340
|
+
watches best bid & ask for symbols
|
341
|
+
:param str[] symbols: unified symbol of the market to fetch the ticker for
|
342
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
343
|
+
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
344
|
+
"""
|
345
|
+
await self.load_markets()
|
346
|
+
symbols = self.market_symbols(symbols, None, False)
|
347
|
+
firstMarket = self.get_market_from_symbols(symbols)
|
348
|
+
marketType = None
|
349
|
+
marketType, params = self.handle_market_type_and_params('watchBidsAsks', firstMarket, params)
|
350
|
+
url = self.implode_hostname(self.urls['api']['ws'][marketType]['public'])
|
351
|
+
channelType = 'spot' if (marketType == 'spot') else 'futures'
|
352
|
+
actionType = 'op' if (marketType == 'spot') else 'action'
|
353
|
+
rawSubscriptions = []
|
354
|
+
messageHashes = []
|
355
|
+
for i in range(0, len(symbols)):
|
356
|
+
market = self.market(symbols[i])
|
357
|
+
rawSubscriptions.append(channelType + '/ticker:' + market['id'])
|
358
|
+
messageHashes.append('bidask:' + symbols[i])
|
359
|
+
if marketType != 'spot':
|
360
|
+
rawSubscriptions = [channelType + '/ticker']
|
361
|
+
request: dict = {
|
362
|
+
'args': rawSubscriptions,
|
363
|
+
}
|
364
|
+
request[actionType] = 'subscribe'
|
365
|
+
newTickers = await self.watch_multiple(url, messageHashes, request, rawSubscriptions)
|
366
|
+
if self.newUpdates:
|
367
|
+
tickers: dict = {}
|
368
|
+
tickers[newTickers['symbol']] = newTickers
|
369
|
+
return tickers
|
370
|
+
return self.filter_by_array(self.bidsasks, 'symbol', symbols)
|
371
|
+
|
372
|
+
def handle_bid_ask(self, client: Client, message):
|
373
|
+
table = self.safe_string(message, 'table')
|
374
|
+
isSpot = (table is not None)
|
375
|
+
rawTickers = []
|
376
|
+
if isSpot:
|
377
|
+
rawTickers = self.safe_list(message, 'data', [])
|
378
|
+
else:
|
379
|
+
rawTickers = [self.safe_value(message, 'data', {})]
|
380
|
+
if not len(rawTickers):
|
381
|
+
return
|
382
|
+
for i in range(0, len(rawTickers)):
|
383
|
+
ticker = self.parse_ws_bid_ask(rawTickers[i])
|
384
|
+
symbol = ticker['symbol']
|
385
|
+
self.bidsasks[symbol] = ticker
|
386
|
+
messageHash = 'bidask:' + symbol
|
387
|
+
client.resolve(ticker, messageHash)
|
388
|
+
|
389
|
+
def parse_ws_bid_ask(self, ticker, market=None):
|
390
|
+
marketId = self.safe_string(ticker, 'symbol')
|
391
|
+
market = self.safe_market(marketId, market)
|
392
|
+
symbol = self.safe_string(market, 'symbol')
|
393
|
+
timestamp = self.safe_integer(ticker, 'ms_t')
|
394
|
+
return self.safe_ticker({
|
395
|
+
'symbol': symbol,
|
396
|
+
'timestamp': timestamp,
|
397
|
+
'datetime': self.iso8601(timestamp),
|
398
|
+
'ask': self.safe_string_2(ticker, 'ask_px', 'ask_price'),
|
399
|
+
'askVolume': self.safe_string_2(ticker, 'ask_sz', 'ask_vol'),
|
400
|
+
'bid': self.safe_string_2(ticker, 'bid_px', 'bid_price'),
|
401
|
+
'bidVolume': self.safe_string_2(ticker, 'bid_sz', 'bid_vol'),
|
402
|
+
'info': ticker,
|
403
|
+
}, market)
|
404
|
+
|
334
405
|
async def watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
335
406
|
"""
|
336
407
|
watches information on multiple orders made by the user
|
@@ -878,6 +949,7 @@ class bitmart(ccxt.async_support.bitmart):
|
|
878
949
|
# }
|
879
950
|
# }
|
880
951
|
#
|
952
|
+
self.handle_bid_ask(client, message)
|
881
953
|
table = self.safe_string(message, 'table')
|
882
954
|
isSpot = (table is not None)
|
883
955
|
rawTickers = []
|
ccxt/pro/bitvavo.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
import ccxt.async_support
|
7
7
|
from ccxt.async_support.base.ws.cache import ArrayCache, ArrayCacheBySymbolById, ArrayCacheByTimestamp
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Balances, Int, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, TradingFees
|
9
|
+
from ccxt.base.types import Balances, Int, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees
|
10
10
|
from ccxt.async_support.base.ws.client import Client
|
11
11
|
from typing import List
|
12
12
|
from ccxt.base.errors import ExchangeError
|
@@ -25,6 +25,8 @@ class bitvavo(ccxt.async_support.bitvavo):
|
|
25
25
|
'watchOrderBook': True,
|
26
26
|
'watchTrades': True,
|
27
27
|
'watchTicker': True,
|
28
|
+
'watchTickers': True,
|
29
|
+
'watchBidsAsks': True,
|
28
30
|
'watchOHLCV': True,
|
29
31
|
'watchOrders': True,
|
30
32
|
'watchMyTrades': True,
|
@@ -85,15 +87,51 @@ class bitvavo(ccxt.async_support.bitvavo):
|
|
85
87
|
message = self.extend(request, params)
|
86
88
|
return await self.watch(url, messageHash, message, messageHash)
|
87
89
|
|
90
|
+
async def watch_public_multiple(self, methodName, channelName: str, symbols, params={}):
|
91
|
+
await self.load_markets()
|
92
|
+
symbols = self.market_symbols(symbols)
|
93
|
+
messageHashes = [methodName]
|
94
|
+
args = []
|
95
|
+
for i in range(0, len(symbols)):
|
96
|
+
market = self.market(symbols[i])
|
97
|
+
args.append(market['id'])
|
98
|
+
url = self.urls['api']['ws']
|
99
|
+
request: dict = {
|
100
|
+
'action': 'subscribe',
|
101
|
+
'channels': [
|
102
|
+
{
|
103
|
+
'name': channelName,
|
104
|
+
'markets': args,
|
105
|
+
},
|
106
|
+
],
|
107
|
+
}
|
108
|
+
message = self.extend(request, params)
|
109
|
+
return await self.watch_multiple(url, messageHashes, message, messageHashes)
|
110
|
+
|
88
111
|
async def watch_ticker(self, symbol: str, params={}) -> Ticker:
|
89
112
|
"""
|
90
113
|
watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
114
|
+
:see: https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
|
91
115
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
92
116
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
93
117
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
94
118
|
"""
|
95
119
|
return await self.watch_public('ticker24h', symbol, params)
|
96
120
|
|
121
|
+
async def watch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
122
|
+
"""
|
123
|
+
watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for all markets of a specific list
|
124
|
+
:see: https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
|
125
|
+
:param str[] [symbols]: unified symbol of the market to fetch the ticker for
|
126
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
127
|
+
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
128
|
+
"""
|
129
|
+
await self.load_markets()
|
130
|
+
symbols = self.market_symbols(symbols, None, False)
|
131
|
+
channel = 'ticker24h'
|
132
|
+
tickers = await self.watch_public_multiple(channel, channel, symbols, params)
|
133
|
+
return self.filter_by_array(tickers, 'symbol', symbols)
|
134
|
+
|
97
135
|
def handle_ticker(self, client: Client, message):
|
98
136
|
#
|
99
137
|
# {
|
@@ -116,8 +154,10 @@ class bitvavo(ccxt.async_support.bitvavo):
|
|
116
154
|
# ]
|
117
155
|
# }
|
118
156
|
#
|
157
|
+
self.handle_bid_ask(client, message)
|
119
158
|
event = self.safe_string(message, 'event')
|
120
159
|
tickers = self.safe_value(message, 'data', [])
|
160
|
+
result = []
|
121
161
|
for i in range(0, len(tickers)):
|
122
162
|
data = tickers[i]
|
123
163
|
marketId = self.safe_string(data, 'market')
|
@@ -126,8 +166,53 @@ class bitvavo(ccxt.async_support.bitvavo):
|
|
126
166
|
ticker = self.parse_ticker(data, market)
|
127
167
|
symbol = ticker['symbol']
|
128
168
|
self.tickers[symbol] = ticker
|
169
|
+
result.append(ticker)
|
129
170
|
client.resolve(ticker, messageHash)
|
130
|
-
|
171
|
+
client.resolve(result, event)
|
172
|
+
|
173
|
+
async def watch_bids_asks(self, symbols: Strings = None, params={}) -> Tickers:
|
174
|
+
"""
|
175
|
+
watches best bid & ask for symbols
|
176
|
+
:see: https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
|
177
|
+
:param str[] symbols: unified symbol of the market to fetch the ticker for
|
178
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
179
|
+
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
180
|
+
"""
|
181
|
+
await self.load_markets()
|
182
|
+
symbols = self.market_symbols(symbols, None, False)
|
183
|
+
channel = 'ticker24h'
|
184
|
+
tickers = await self.watch_public_multiple('bidask', channel, symbols, params)
|
185
|
+
return self.filter_by_array(tickers, 'symbol', symbols)
|
186
|
+
|
187
|
+
def handle_bid_ask(self, client: Client, message):
|
188
|
+
event = 'bidask'
|
189
|
+
tickers = self.safe_value(message, 'data', [])
|
190
|
+
result = []
|
191
|
+
for i in range(0, len(tickers)):
|
192
|
+
data = tickers[i]
|
193
|
+
ticker = self.parse_ws_bid_ask(data)
|
194
|
+
symbol = ticker['symbol']
|
195
|
+
self.bidsasks[symbol] = ticker
|
196
|
+
result.append(ticker)
|
197
|
+
messageHash = event + ':' + symbol
|
198
|
+
client.resolve(ticker, messageHash)
|
199
|
+
client.resolve(result, event)
|
200
|
+
|
201
|
+
def parse_ws_bid_ask(self, ticker, market=None):
|
202
|
+
marketId = self.safe_string(ticker, 'market')
|
203
|
+
market = self.safe_market(marketId, None, '-')
|
204
|
+
symbol = self.safe_string(market, 'symbol')
|
205
|
+
timestamp = self.safe_integer(ticker, 'timestamp')
|
206
|
+
return self.safe_ticker({
|
207
|
+
'symbol': symbol,
|
208
|
+
'timestamp': timestamp,
|
209
|
+
'datetime': self.iso8601(timestamp),
|
210
|
+
'ask': self.safe_number(ticker, 'ask'),
|
211
|
+
'askVolume': self.safe_number(ticker, 'askSize'),
|
212
|
+
'bid': self.safe_number(ticker, 'bid'),
|
213
|
+
'bidVolume': self.safe_number(ticker, 'bidSize'),
|
214
|
+
'info': ticker,
|
215
|
+
}, market)
|
131
216
|
|
132
217
|
async def watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
133
218
|
"""
|
ccxt/pro/blofin.py
CHANGED
@@ -26,6 +26,7 @@ class blofin(ccxt.async_support.blofin):
|
|
26
26
|
'watchOrderBookForSymbols': True,
|
27
27
|
'watchTicker': True,
|
28
28
|
'watchTickers': True,
|
29
|
+
'watchBidsAsks': True,
|
29
30
|
'watchOHLCV': True,
|
30
31
|
'watchOHLCVForSymbols': True,
|
31
32
|
'watchOrders': True,
|
@@ -256,6 +257,7 @@ class blofin(ccxt.async_support.blofin):
|
|
256
257
|
# ],
|
257
258
|
# }
|
258
259
|
#
|
260
|
+
self.handle_bid_ask(client, message)
|
259
261
|
arg = self.safe_dict(message, 'arg')
|
260
262
|
channelName = self.safe_string(arg, 'channel')
|
261
263
|
data = self.safe_list(message, 'data')
|
@@ -269,6 +271,63 @@ class blofin(ccxt.async_support.blofin):
|
|
269
271
|
def parse_ws_ticker(self, ticker, market: Market = None) -> Ticker:
|
270
272
|
return self.parse_ticker(ticker, market)
|
271
273
|
|
274
|
+
async def watch_bids_asks(self, symbols: Strings = None, params={}) -> Tickers:
|
275
|
+
"""
|
276
|
+
watches best bid & ask for symbols
|
277
|
+
:see: https://docs.blofin.com/index.html#ws-tickers-channel
|
278
|
+
:param str[] symbols: unified symbol of the market to fetch the ticker for
|
279
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
280
|
+
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
281
|
+
"""
|
282
|
+
await self.load_markets()
|
283
|
+
symbols = self.market_symbols(symbols, None, False)
|
284
|
+
firstMarket = self.market(symbols[0])
|
285
|
+
channel = 'tickers'
|
286
|
+
marketType = None
|
287
|
+
marketType, params = self.handle_market_type_and_params('watchBidsAsks', firstMarket, params)
|
288
|
+
url = self.implode_hostname(self.urls['api']['ws'][marketType]['public'])
|
289
|
+
messageHashes = []
|
290
|
+
args = []
|
291
|
+
for i in range(0, len(symbols)):
|
292
|
+
market = self.market(symbols[i])
|
293
|
+
messageHashes.append('bidask:' + market['symbol'])
|
294
|
+
args.append({
|
295
|
+
'channel': channel,
|
296
|
+
'instId': market['id'],
|
297
|
+
})
|
298
|
+
request = self.get_subscription_request(args)
|
299
|
+
ticker = await self.watch_multiple(url, messageHashes, self.deep_extend(request, params), messageHashes)
|
300
|
+
if self.newUpdates:
|
301
|
+
tickers = {}
|
302
|
+
tickers[ticker['symbol']] = ticker
|
303
|
+
return tickers
|
304
|
+
return self.filter_by_array(self.bidsasks, 'symbol', symbols)
|
305
|
+
|
306
|
+
def handle_bid_ask(self, client: Client, message):
|
307
|
+
data = self.safe_list(message, 'data')
|
308
|
+
for i in range(0, len(data)):
|
309
|
+
ticker = self.parse_ws_bid_ask(data[i])
|
310
|
+
symbol = ticker['symbol']
|
311
|
+
messageHash = 'bidask:' + symbol
|
312
|
+
self.bidsasks[symbol] = ticker
|
313
|
+
client.resolve(ticker, messageHash)
|
314
|
+
|
315
|
+
def parse_ws_bid_ask(self, ticker, market=None):
|
316
|
+
marketId = self.safe_string(ticker, 'instId')
|
317
|
+
market = self.safe_market(marketId, market, '-')
|
318
|
+
symbol = self.safe_string(market, 'symbol')
|
319
|
+
timestamp = self.safe_integer(ticker, 'ts')
|
320
|
+
return self.safe_ticker({
|
321
|
+
'symbol': symbol,
|
322
|
+
'timestamp': timestamp,
|
323
|
+
'datetime': self.iso8601(timestamp),
|
324
|
+
'ask': self.safe_string(ticker, 'askPrice'),
|
325
|
+
'askVolume': self.safe_string(ticker, 'askSize'),
|
326
|
+
'bid': self.safe_string(ticker, 'bidPrice'),
|
327
|
+
'bidVolume': self.safe_string(ticker, 'bidSize'),
|
328
|
+
'info': ticker,
|
329
|
+
}, market)
|
330
|
+
|
272
331
|
async def watch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
273
332
|
"""
|
274
333
|
watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.4.
|
3
|
+
Version: 4.4.8
|
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.4.
|
276
|
-
* unpkg: https://unpkg.com/ccxt@4.4.
|
275
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.8/dist/ccxt.browser.min.js
|
276
|
+
* unpkg: https://unpkg.com/ccxt@4.4.8/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.4.
|
281
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.8/dist/ccxt.browser.min.js"></script>
|
282
282
|
```
|
283
283
|
|
284
284
|
Creates a global `ccxt` object:
|
@@ -1,10 +1,10 @@
|
|
1
|
-
ccxt/__init__.py,sha256=
|
1
|
+
ccxt/__init__.py,sha256=KPgV_rJWYSYgc-G8yB_hnjYytvf11A5LPwTD3k3BZVU,16485
|
2
2
|
ccxt/ace.py,sha256=3KFlbRm6N9hXsKUsgZbQCFPZT5WGLm4HOjR19Q3uPts,42419
|
3
3
|
ccxt/alpaca.py,sha256=nVQJ8vG4JrjEvMlu_nPoyR2lBq41j9Z2smPq95nDhng,47504
|
4
4
|
ccxt/ascendex.py,sha256=qYzddORwUgXBOuvuRi3AtaH2srPYr21MOT2THdrXyLE,151540
|
5
5
|
ccxt/bequant.py,sha256=RBiAmaTbL35DgiV3Hl6uchLUd78V0z1T9riTlNsrpdc,1174
|
6
6
|
ccxt/bigone.py,sha256=RiEDQutD2BtvKfwVvAo2T9_DPqr0oa6ZJFDXph_g1UI,93122
|
7
|
-
ccxt/binance.py,sha256=
|
7
|
+
ccxt/binance.py,sha256=5AC8KXffPoNlknZe8yAXBg9sXYldTGfl_OsiFO-ZleU,647748
|
8
8
|
ccxt/binancecoinm.py,sha256=arFnEh8mErSyi23eVPWE4iwoT7PWQyxGGVJCKCy6UJY,1702
|
9
9
|
ccxt/binanceus.py,sha256=HRsk0fIoi8AAFdzRCUMkkXUGLqBrf0guUOfUxupHFeY,9202
|
10
10
|
ccxt/binanceusdm.py,sha256=bAPcJj5HLxoCdPolriM8sJpoTBwbV78vBTbKRmWhNP4,2632
|
@@ -35,7 +35,7 @@ ccxt/btcalpha.py,sha256=plU5SSsJn0ZMLW7I8sXb_L0Woc3-kamGMSlqPGujUzE,36751
|
|
35
35
|
ccxt/btcbox.py,sha256=lvY7cgoe4tglaQiTJZ4vILmzvoEjAWxgswRuB2iYzmE,27780
|
36
36
|
ccxt/btcmarkets.py,sha256=WDDbtbUQ9I0odVZp8nJdIjc4-zv4li49EDSt8EqQbRU,52733
|
37
37
|
ccxt/btcturk.py,sha256=jSA4UnD1GiJu24gXNkfb94f-zXifP5By_Ptery_cMnY,37024
|
38
|
-
ccxt/bybit.py,sha256=
|
38
|
+
ccxt/bybit.py,sha256=fF9k2h9-6NcJgU6gSm_dBKpfPC9Jn3LrF9Fgt7uTiJg,440635
|
39
39
|
ccxt/cex.py,sha256=WkzjeUi22kVFNU_f2PB7SwGiddOulKS6DDzmxdVDkXs,70120
|
40
40
|
ccxt/coinbase.py,sha256=pHPkUkGRC9UzpGAl3-QEFUEHT2tts-NoSvbc7s3EMP8,218667
|
41
41
|
ccxt/coinbaseadvanced.py,sha256=d5g6nRx-NCcCwZDdtp8FsI2D-pRjSvnAP9ISSKY_nCQ,538
|
@@ -63,7 +63,7 @@ ccxt/hashkey.py,sha256=vXsIxy_ba5qG1IGlyP9DJf2UanyrHlksgpklHJlN0wQ,191920
|
|
63
63
|
ccxt/hitbtc.py,sha256=5peKNygeAdvaH4GZ7mQebFQKcjN2N7S9GL7HhMLYd5g,153469
|
64
64
|
ccxt/hitbtc3.py,sha256=qRAr4Zvaju9IQWRZUohdoN7xRnzIMPq8AyYb3gPv-Is,455
|
65
65
|
ccxt/hollaex.py,sha256=2KIbenZ3vcBDN_rs2CxG5_foKLaYxJd73vVV7M8n_8E,76140
|
66
|
-
ccxt/htx.py,sha256=
|
66
|
+
ccxt/htx.py,sha256=4MRcu_ovfN495T7N_Wt1fbXQwQdeohm3k2jBDRi8J-k,429301
|
67
67
|
ccxt/huobi.py,sha256=4vaG7IRN7fyjaJ_ac6S-njlHOfSEN5de7aq0noznxYw,438
|
68
68
|
ccxt/huobijp.py,sha256=m9rYCCApGDtpbiqCK6Gw4GDd5EskEmho4xSemGbY1kY,89852
|
69
69
|
ccxt/hyperliquid.py,sha256=3rj8I7SLZYNwjvBlVaIGy1_lcmkaeTPZf22mNoFmxFw,122833
|
@@ -85,7 +85,7 @@ ccxt/ndax.py,sha256=m9MhE8i8JmaSf7Lc-I_CcvUpQ5VNTRcfYZLrFEwk3UI,109097
|
|
85
85
|
ccxt/novadax.py,sha256=_xFkuZ72vHhpJb1N9h_MQHRD05GDWlqUeLQQcOp43BM,64436
|
86
86
|
ccxt/oceanex.py,sha256=DrsNIW-eXvaSHCB2l1valmiU9xMztxm1VNBJodMkWIY,38021
|
87
87
|
ccxt/okcoin.py,sha256=nKWsJTRprIODYHUTIoXRz6eANM2zdRPF7BHY86ExEyQ,151126
|
88
|
-
ccxt/okx.py,sha256=
|
88
|
+
ccxt/okx.py,sha256=57t6dcNZkAOaMLkEQrzjDmvtlxuA9Ndup2aDPadw2Fc,379644
|
89
89
|
ccxt/onetrading.py,sha256=evWWr4z7-HglV2ma2z-R34_JYJqlr6LQT0rV_OyWKGs,88375
|
90
90
|
ccxt/oxfun.py,sha256=2d8Tr3c5SC2okb7mEWi3Y1lq9UC-enln54ydtDClCnY,124657
|
91
91
|
ccxt/p2b.py,sha256=iPzHv663K8F1F0uTWEYpfQBcaqowY8MQ5tZt2ZNpoQE,54290
|
@@ -115,10 +115,10 @@ ccxt/abstract/alpaca.py,sha256=vgzqnRTvEnAbLYgfDzGpmVUZxRLWC8BWA6nQ16m-xXY,10382
|
|
115
115
|
ccxt/abstract/ascendex.py,sha256=5A8Zgq77jsdHlEzlTW_2nDybUUVfNVVOu6BgY3TWqRM,11394
|
116
116
|
ccxt/abstract/bequant.py,sha256=OTBtNu3DQeAqAC_Lbi0NePUs-ZQQllcLrVDI2G04nwQ,15601
|
117
117
|
ccxt/abstract/bigone.py,sha256=bQdIXCVkKgnZ7ZjpQ1widGDlXNe0PtP_12EQKoEN9z0,4895
|
118
|
-
ccxt/abstract/binance.py,sha256=
|
119
|
-
ccxt/abstract/binancecoinm.py,sha256=
|
120
|
-
ccxt/abstract/binanceus.py,sha256=
|
121
|
-
ccxt/abstract/binanceusdm.py,sha256=
|
118
|
+
ccxt/abstract/binance.py,sha256=bBVbWDLVNHrWooslouXQQOF5Tdru2jYHvuQdFSvjkgk,93855
|
119
|
+
ccxt/abstract/binancecoinm.py,sha256=bBVbWDLVNHrWooslouXQQOF5Tdru2jYHvuQdFSvjkgk,93855
|
120
|
+
ccxt/abstract/binanceus.py,sha256=zs74hB3U8Fl4uYiIlXXuxRc5-QWdEhlAh2iX1Fx-L8A,100517
|
121
|
+
ccxt/abstract/binanceusdm.py,sha256=bBVbWDLVNHrWooslouXQQOF5Tdru2jYHvuQdFSvjkgk,93855
|
122
122
|
ccxt/abstract/bingx.py,sha256=Rb93j2sCYAi0egAE4TAAOG7XuC5XdHQaGQZC9V-meqQ,20662
|
123
123
|
ccxt/abstract/bit2c.py,sha256=np6i756kSB5dO3Nj6POLKxkWkpYcsGg-4LS8BwPrizI,2830
|
124
124
|
ccxt/abstract/bitbank.py,sha256=hrHsD7Uvtyy2o2lzCHau3-eNq16pnZ3-YDQ6Tq_sxYU,2735
|
@@ -145,7 +145,7 @@ ccxt/abstract/btcalpha.py,sha256=sbF4SAkTJq01QPQw4D2GMkKrPhKfFIsG-PNtMAC9WwU,138
|
|
145
145
|
ccxt/abstract/btcbox.py,sha256=pifkHEayyfVN4lhO2s8oKg_wjQChwWo0g5-vw4rcm1s,931
|
146
146
|
ccxt/abstract/btcmarkets.py,sha256=dQ2yTZ_8T2TEeAYIuKE0ATImbOLDLGSK7HbbBd8XVJQ,3690
|
147
147
|
ccxt/abstract/btcturk.py,sha256=duM-QrB9MvGpopOtxkfbeYlY49bgvXQLiosRVmnQYFw,1777
|
148
|
-
ccxt/abstract/bybit.py,sha256=
|
148
|
+
ccxt/abstract/bybit.py,sha256=LF6CubceoBU3HHAb17zz8uDIEDmJ9T_7bDrySao8txk,49941
|
149
149
|
ccxt/abstract/cex.py,sha256=Q0NJeDuJ4Kn_mtokYqBenhXWvLIiMSVTqbgbfcLGgv4,3311
|
150
150
|
ccxt/abstract/coinbase.py,sha256=GFXDh_Bf65Gsx_DmgOrRG2jpM3IdITE3Agqz_LZTJfo,15507
|
151
151
|
ccxt/abstract/coinbaseadvanced.py,sha256=GFXDh_Bf65Gsx_DmgOrRG2jpM3IdITE3Agqz_LZTJfo,15507
|
@@ -194,7 +194,7 @@ ccxt/abstract/ndax.py,sha256=M98Ys406KT6T19Y98dXriD6YjzfglHHbnfQw-PDYWtM,11878
|
|
194
194
|
ccxt/abstract/novadax.py,sha256=IvQFP_v2Q-Sx0tK2bXx4oY81rtNwC7gkc75p_E2jhKw,3093
|
195
195
|
ccxt/abstract/oceanex.py,sha256=a0xAelMYDY_J3QwwLyIX2tGQcv4z2gmX_yJyC6FqoFg,1721
|
196
196
|
ccxt/abstract/okcoin.py,sha256=3NmYh-68W_4AXmkqjkf9dRaJcPgNYQG5mKZssJKT4gs,9414
|
197
|
-
ccxt/abstract/okx.py,sha256
|
197
|
+
ccxt/abstract/okx.py,sha256=-sm_TfCw_iND9vt_xX-iPRoV7rdvEhhAH5lhduioRsg,49044
|
198
198
|
ccxt/abstract/onetrading.py,sha256=TtJq4d44lrutV8wcK0lX4v0EfQ72ly6fxR-zB7-FSuI,3859
|
199
199
|
ccxt/abstract/oxfun.py,sha256=bv4FJPe1H5ouMT_gRHVQtvV0MrMZhc3US-DMwnDM4Js,3457
|
200
200
|
ccxt/abstract/p2b.py,sha256=XwaH1hLIi2T6RHltUwFj28Y5fbo6dc0jbjI01sVeOJw,2054
|
@@ -218,13 +218,13 @@ ccxt/abstract/xt.py,sha256=JkWvsic3L2O968BCr9H5Wd5NIbRE9aTT2A-9WbAtl0c,27146
|
|
218
218
|
ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
|
219
219
|
ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
|
220
220
|
ccxt/abstract/zonda.py,sha256=X-hCW0SdX3YKZWixDyW-O2211M58Rno8kKJ6quY7rw4,7183
|
221
|
-
ccxt/async_support/__init__.py,sha256=
|
221
|
+
ccxt/async_support/__init__.py,sha256=mROqhao4x1GcxsNE8IOXNboo8oWm20V8xfuK9q_aYGQ,16288
|
222
222
|
ccxt/async_support/ace.py,sha256=ucCkKaWRkILAIK9g4iEi1Q_-zmn0V89-rX8Al4WdK8s,42643
|
223
223
|
ccxt/async_support/alpaca.py,sha256=HxonsP_MzbE7Z9r6hZ1rgmf_jPcP4H7H3z1YQgCv4qc,47716
|
224
224
|
ccxt/async_support/ascendex.py,sha256=Yj4_0UHGd-cYY8s3vqu_zEwa6BLmqPYy6ztKapkuEaw,152353
|
225
225
|
ccxt/async_support/bequant.py,sha256=1hTwHovo1bW1XTIc8ZKjvJ-Xg6LfmpGdzT7TepykaVM,1188
|
226
226
|
ccxt/async_support/bigone.py,sha256=A7AjX0iWl2twYRwOc-2tKUbnI4KNmO2QVetMaAJujpg,93576
|
227
|
-
ccxt/async_support/binance.py,sha256=
|
227
|
+
ccxt/async_support/binance.py,sha256=SuqidDZ7Fc9CESx2Qg9MTO7d0H7ycbvzGeuc7ltmZCU,650505
|
228
228
|
ccxt/async_support/binancecoinm.py,sha256=yeE73xG5UXD_X3VPul6DMGnV_mgJfWYskpas1BUDdCU,1740
|
229
229
|
ccxt/async_support/binanceus.py,sha256=ZkGgQGB0bWYZTz7PqBCgw22yyOZbvd7GuJAJzzgDTCA,9216
|
230
230
|
ccxt/async_support/binanceusdm.py,sha256=8ugRkx7vyYmn67wdkEEf2f-DFMGAoC4t09usKlPVNyw,2670
|
@@ -255,7 +255,7 @@ ccxt/async_support/btcalpha.py,sha256=8OefA3GsJ27eAL44yQQcRNOruHXAwTemjTPkpLKwjE
|
|
255
255
|
ccxt/async_support/btcbox.py,sha256=rBXxuvdQaku5QYseQ4XSvMrCkohDefYmf-rGeS9W0IU,28004
|
256
256
|
ccxt/async_support/btcmarkets.py,sha256=fTf_MDIM7NMwpbv6X5lYPLNg8tFKcviNiUB7N3yO6FI,53083
|
257
257
|
ccxt/async_support/btcturk.py,sha256=Uq9rXMoDkXIy0nw1rzmw2e8eeRepcNtXKNYuw-02tkM,37242
|
258
|
-
ccxt/async_support/bybit.py,sha256=
|
258
|
+
ccxt/async_support/bybit.py,sha256=jiRnRqq0k_E6ONkU2qkDAlGGZjqwW2Dwrt9T4DMiBaA,442654
|
259
259
|
ccxt/async_support/cex.py,sha256=DPQ4-rrO4Ut3zHax7wOnk47rfF5zVh4AgheFQ05pWDs,70470
|
260
260
|
ccxt/async_support/coinbase.py,sha256=SK8RaT5LFn-y9EVKaa8vKacMA5IWxuJzQ6anBKHPpIQ,219821
|
261
261
|
ccxt/async_support/coinbaseadvanced.py,sha256=Kupwnuxiu_qTjwCNV2asacoDUNFQvcaHNAznUJPhdQs,552
|
@@ -283,7 +283,7 @@ ccxt/async_support/hashkey.py,sha256=3YMUW6NPIs-dHNl6JIIW6OX0dyKVd2CAZL9jk1MKp5Q
|
|
283
283
|
ccxt/async_support/hitbtc.py,sha256=h3HTN7Z5glikA3YRunBQun0Tp1QVqiBQz4WWzZKRLdk,154515
|
284
284
|
ccxt/async_support/hitbtc3.py,sha256=dmSYoD2o4av_zzbZI8HNIoj8BWxA7QozsVpy8JaOXzU,469
|
285
285
|
ccxt/async_support/hollaex.py,sha256=msUnnbWLNeCxFW77BnfLoFWBdvQIDwV7Rtbi9TA4TYY,76574
|
286
|
-
ccxt/async_support/htx.py,sha256=
|
286
|
+
ccxt/async_support/htx.py,sha256=NN3vNQGqwgYQLS8vWfVuYpMU7LmSa35KghjVawFa6bQ,431693
|
287
287
|
ccxt/async_support/huobi.py,sha256=fup0j6wQ1khAtfbb1H4CSyJAOzhxuoHMmrM6sgTuhr8,452
|
288
288
|
ccxt/async_support/huobijp.py,sha256=OeEHn0GXQ56YGeUM21zwRqsEm8d2LD_SDspBsQMlds4,90352
|
289
289
|
ccxt/async_support/hyperliquid.py,sha256=U_l3fAmAZzE9UBUIkODXlmaUVTlRh9ft3IDYuxNNJLs,123497
|
@@ -305,7 +305,7 @@ ccxt/async_support/ndax.py,sha256=IX7cFNjCELJIImof_jVsNzihXjCOmMyqRnlFHnzOq_w,10
|
|
305
305
|
ccxt/async_support/novadax.py,sha256=YNKUM1CGFK7lpBwbxSSL1IAEJCRVsNxeITkwtw6VWCM,64804
|
306
306
|
ccxt/async_support/oceanex.py,sha256=85IHjCWsBZZXntKHPeuUpFYP9FV0Ik93gJsTlrGzhVA,38341
|
307
307
|
ccxt/async_support/okcoin.py,sha256=TV0xooV4DIw1M8DrMNQBsDv4fhSTEp7Xtb5WK-F9bvc,151650
|
308
|
-
ccxt/async_support/okx.py,sha256=
|
308
|
+
ccxt/async_support/okx.py,sha256=a_7ziwHFhgusTIFJ_JsoiTW0FsXzlIBudMoIfZr_WZY,381231
|
309
309
|
ccxt/async_support/onetrading.py,sha256=cZSvu7ZIavao-bqv1CgQatPfsrfXDgCt2UfxMtYsOMM,88827
|
310
310
|
ccxt/async_support/oxfun.py,sha256=_Pv8E4yIKS10iPOpPuCFQgBuqGDzxuwvxROdJjwrYvc,125201
|
311
311
|
ccxt/async_support/p2b.py,sha256=VKUX8u7gtHkKDwBjAyskScm2FEs6xxDuKLXE-jSHXwY,54532
|
@@ -330,7 +330,7 @@ ccxt/async_support/yobit.py,sha256=GQhvYrsGHQrVdTrNHQxx9isEGqUABexlllzao9HL3f8,5
|
|
330
330
|
ccxt/async_support/zaif.py,sha256=-ZTr8M2JaIRCL90VrbCDXBMAsZwbiwsFChSQ2rWODuQ,29044
|
331
331
|
ccxt/async_support/zonda.py,sha256=njWK4t42n7BowCvc3j5WKwCxEDc2Y8vi0d-yp296-q0,81883
|
332
332
|
ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
|
333
|
-
ccxt/async_support/base/exchange.py,sha256=
|
333
|
+
ccxt/async_support/base/exchange.py,sha256=9Fo9N_NvE6DW1cxqE0LRz6M5VtoQcAiXUQCgqjnG_PA,111719
|
334
334
|
ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
|
335
335
|
ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
|
336
336
|
ccxt/async_support/base/ws/aiohttp_client.py,sha256=5IEiT0elWI9a7Vr-KV0jgmlbpLJWBzIlrLaCkTKGaqY,5752
|
@@ -344,10 +344,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
|
|
344
344
|
ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
|
345
345
|
ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
|
346
346
|
ccxt/base/errors.py,sha256=Pad-6ugvGUwhoYuKUliX-N7FTrcnKCQGFjsaq2tMn0I,4610
|
347
|
-
ccxt/base/exchange.py,sha256=
|
347
|
+
ccxt/base/exchange.py,sha256=FpZ9ifyUtLjrJs4agMKCLyKIYoLItKF0Np2taubDdcM,299017
|
348
348
|
ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
|
349
349
|
ccxt/base/types.py,sha256=Xw9wcYNDRmtUghkU2VIT496S868mRoUjxyuCM7TCAK4,9616
|
350
|
-
ccxt/pro/__init__.py,sha256=
|
350
|
+
ccxt/pro/__init__.py,sha256=mPsCMxr6Dtx5B_NRpRwCyTIWJqNGd7ahbFQbktoxebE,7709
|
351
351
|
ccxt/pro/alpaca.py,sha256=xh1yg1Ok-Zh_Mfx-MBjNrfJDs6MUU0exFfEj3GuQPC4,27631
|
352
352
|
ccxt/pro/ascendex.py,sha256=QueLgISoIxgGSOta2W7En4pwAsEXbTP5q5ef4UjpTQQ,37524
|
353
353
|
ccxt/pro/bequant.py,sha256=33OEUWBi4D9-2w8CmkwN3aF1qS-AlLqX3pxrWwNbXPY,1552
|
@@ -361,15 +361,15 @@ ccxt/pro/bitfinex.py,sha256=BlgNy4_TUPggvfcfpfl7309Phons-2lFp73OdDbQHpw,25305
|
|
361
361
|
ccxt/pro/bitfinex2.py,sha256=H2evIdXrXaHpmvlqoPCOqADYjiHqvZVLf9EnbYHBOj8,43106
|
362
362
|
ccxt/pro/bitget.py,sha256=IcXYY1ZC_1AagkJY7FSEoCYkxQUZv1H6GaGFP3fetuM,87712
|
363
363
|
ccxt/pro/bithumb.py,sha256=cAiRpOT1kxlpphu7xd6NYH43j7of_kXXy0M9YqXeat4,17411
|
364
|
-
ccxt/pro/bitmart.py,sha256=
|
364
|
+
ccxt/pro/bitmart.py,sha256=yYi-9twsMTIlZU-UabQF91tuMCnYeEEVibHmy2l4lFw,65984
|
365
365
|
ccxt/pro/bitmex.py,sha256=J9pn0llcUkAjAfuBbMFd7-VzfnVSx8woIMAkLK58qss,74569
|
366
366
|
ccxt/pro/bitopro.py,sha256=eGge1vzVXPx1FGZc1cm5i_MzBKlRkWH2ZKuIzrR3G2Q,18798
|
367
367
|
ccxt/pro/bitpanda.py,sha256=ELrhfFKN9YJJdmm9wBf-vpk6WsXGWGf-SyJdqm-E_Lg,415
|
368
368
|
ccxt/pro/bitrue.py,sha256=0-aa3Q8oGLnq71fJQYLyy0jI3NHHTFJuMQAyM0XRLFY,16246
|
369
369
|
ccxt/pro/bitstamp.py,sha256=tysJpRxfVnZKp-_xgfIhsOVh3ilnQQhXjV-grzqz3QM,20964
|
370
|
-
ccxt/pro/bitvavo.py,sha256=
|
370
|
+
ccxt/pro/bitvavo.py,sha256=zsUnPPvcZqPRWRp8znCF2AogBykNH7tMBaaSoPtnGQ0,60245
|
371
371
|
ccxt/pro/blockchaincom.py,sha256=yRJ4m0mTG5FSbkdH4QvuXNnBvLv9kDMGbAMwpcJnyDI,29648
|
372
|
-
ccxt/pro/blofin.py,sha256=
|
372
|
+
ccxt/pro/blofin.py,sha256=pALlkuzdFZuxCaSxYfqog98x7BM8G0nqUTCke4WfUt0,31345
|
373
373
|
ccxt/pro/bybit.py,sha256=PjSEQaOmO7BZNh5Df3USmVmhI1X6qVw0hXN8qfvcp9s,108243
|
374
374
|
ccxt/pro/cex.py,sha256=7HFtbjDOijpamdCv3ddlqkQ6exO2jN5MZ5dtXvRg2Og,58577
|
375
375
|
ccxt/pro/coinbase.py,sha256=hwd8lUuaW8WyQQOh9WvBVuiuOJTpmlCXU0hL3UE8UFQ,31411
|
@@ -650,8 +650,8 @@ ccxt/test/tests_async.py,sha256=Hfdxrjw3nP7lGyjYs35ZgTBM7pF6UIJrkZWz-ycceRw,8457
|
|
650
650
|
ccxt/test/tests_helpers.py,sha256=xhOILoZ_x3RSfQjtKt6AQlkp9DkOtpTQe8GAUUZoM6s,10069
|
651
651
|
ccxt/test/tests_init.py,sha256=eVwwUHujX9t4rjgo4TqEeg7DDhR1Hb_e2SJN8NVGyl0,998
|
652
652
|
ccxt/test/tests_sync.py,sha256=tQNiZZi3ulprLY513aSadwieBCuNyzyRLE8nSTZIUvw,83641
|
653
|
-
ccxt-4.4.
|
654
|
-
ccxt-4.4.
|
655
|
-
ccxt-4.4.
|
656
|
-
ccxt-4.4.
|
657
|
-
ccxt-4.4.
|
653
|
+
ccxt-4.4.8.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
|
654
|
+
ccxt-4.4.8.dist-info/METADATA,sha256=1bLLD8nUPdl3LKFsWE3n1U1rz_FoaUeQszX4jG1UtYA,118611
|
655
|
+
ccxt-4.4.8.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
|
656
|
+
ccxt-4.4.8.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
|
657
|
+
ccxt-4.4.8.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|