ccxt-ir 4.6.1__py2.py3-none-any.whl → 4.9.0__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 +7 -1
- ccxt/abstract/bitunix.py +6 -0
- ccxt/abstract/kcex.py +7 -0
- ccxt/abstract/toobit.py +6 -0
- ccxt/async_support/__init__.py +7 -1
- ccxt/async_support/base/exchange.py +1 -1
- ccxt/async_support/bit24.py +1 -3
- ccxt/async_support/bitunix.py +311 -0
- ccxt/async_support/exir.py +0 -1
- ccxt/async_support/kcex.py +319 -0
- ccxt/async_support/toobit.py +367 -0
- ccxt/async_support/xt.py +2 -2
- ccxt/base/exchange.py +1 -1
- ccxt/bit24.py +1 -3
- ccxt/bitunix.py +311 -0
- ccxt/exir.py +0 -1
- ccxt/kcex.py +319 -0
- ccxt/pro/__init__.py +1 -1
- ccxt/toobit.py +367 -0
- ccxt/xt.py +2 -2
- {ccxt_ir-4.6.1.dist-info → ccxt_ir-4.9.0.dist-info}/METADATA +14 -5
- {ccxt_ir-4.6.1.dist-info → ccxt_ir-4.9.0.dist-info}/RECORD +25 -16
- {ccxt_ir-4.6.1.dist-info → ccxt_ir-4.9.0.dist-info}/WHEEL +0 -0
- {ccxt_ir-4.6.1.dist-info → ccxt_ir-4.9.0.dist-info}/licenses/LICENSE.txt +0 -0
- {ccxt_ir-4.6.1.dist-info → ccxt_ir-4.9.0.dist-info}/top_level.txt +0 -0
ccxt/toobit.py
ADDED
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
# PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
# https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
|
|
6
|
+
from ccxt.base.exchange import Exchange
|
|
7
|
+
from ccxt.abstract.toobit import ImplicitAPI
|
|
8
|
+
from ccxt.base.types import Any, Int, Market, Strings, Ticker, Tickers
|
|
9
|
+
from typing import List
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class toobit(Exchange, ImplicitAPI):
|
|
13
|
+
|
|
14
|
+
def describe(self) -> Any:
|
|
15
|
+
return self.deep_extend(super(toobit, self).describe(), {
|
|
16
|
+
'id': 'toobit',
|
|
17
|
+
'name': 'Toobit',
|
|
18
|
+
'countries': ['KY'], # Cayman Islands
|
|
19
|
+
'rateLimit': 1000,
|
|
20
|
+
'version': '1',
|
|
21
|
+
'certified': False,
|
|
22
|
+
'pro': False,
|
|
23
|
+
'has': {
|
|
24
|
+
'CORS': None,
|
|
25
|
+
'spot': True,
|
|
26
|
+
'margin': False,
|
|
27
|
+
'swap': True,
|
|
28
|
+
'future': False,
|
|
29
|
+
'option': False,
|
|
30
|
+
'addMargin': False,
|
|
31
|
+
'cancelAllOrders': False,
|
|
32
|
+
'cancelOrder': False,
|
|
33
|
+
'cancelOrders': False,
|
|
34
|
+
'createDepositAddress': False,
|
|
35
|
+
'createOrder': False,
|
|
36
|
+
'createStopLimitOrder': False,
|
|
37
|
+
'createStopMarketOrder': False,
|
|
38
|
+
'createStopOrder': False,
|
|
39
|
+
'editOrder': False,
|
|
40
|
+
'fetchBalance': False,
|
|
41
|
+
'fetchBorrowInterest': False,
|
|
42
|
+
'fetchBorrowRateHistories': False,
|
|
43
|
+
'fetchBorrowRateHistory': False,
|
|
44
|
+
'fetchClosedOrders': False,
|
|
45
|
+
'fetchCrossBorrowRate': False,
|
|
46
|
+
'fetchCrossBorrowRates': False,
|
|
47
|
+
'fetchCurrencies': False,
|
|
48
|
+
'fetchDepositAddress': False,
|
|
49
|
+
'fetchDeposits': False,
|
|
50
|
+
'fetchFundingHistory': False,
|
|
51
|
+
'fetchFundingRate': False,
|
|
52
|
+
'fetchFundingRateHistory': False,
|
|
53
|
+
'fetchFundingRates': False,
|
|
54
|
+
'fetchIndexOHLCV': False,
|
|
55
|
+
'fetchIsolatedBorrowRate': False,
|
|
56
|
+
'fetchIsolatedBorrowRates': False,
|
|
57
|
+
'fetchL2OrderBook': False,
|
|
58
|
+
'fetchLedger': False,
|
|
59
|
+
'fetchLedgerEntry': False,
|
|
60
|
+
'fetchLeverageTiers': False,
|
|
61
|
+
'fetchMarkets': True,
|
|
62
|
+
'fetchMarkOHLCV': False,
|
|
63
|
+
'fetchMyTrades': False,
|
|
64
|
+
'fetchOHLCV': True,
|
|
65
|
+
'fetchOpenInterestHistory': False,
|
|
66
|
+
'fetchOpenOrders': False,
|
|
67
|
+
'fetchOrder': False,
|
|
68
|
+
'fetchOrderBook': True,
|
|
69
|
+
'fetchOrders': False,
|
|
70
|
+
'fetchOrderTrades': 'emulated',
|
|
71
|
+
'fetchPositions': False,
|
|
72
|
+
'fetchPremiumIndexOHLCV': False,
|
|
73
|
+
'fetchTicker': True,
|
|
74
|
+
'fetchTickers': True,
|
|
75
|
+
'fetchTime': False,
|
|
76
|
+
'fetchTrades': False,
|
|
77
|
+
'fetchTradingFee': False,
|
|
78
|
+
'fetchTradingFees': False,
|
|
79
|
+
'fetchWithdrawals': False,
|
|
80
|
+
'setLeverage': False,
|
|
81
|
+
'setMarginMode': False,
|
|
82
|
+
'transfer': False,
|
|
83
|
+
'withdraw': False,
|
|
84
|
+
},
|
|
85
|
+
'comment': 'This comment is optional',
|
|
86
|
+
'urls': {
|
|
87
|
+
'logo': 'https://toobit-docs.github.io/apidocs/spot/v1/en/images/logo.svg',
|
|
88
|
+
'api': {
|
|
89
|
+
'public': 'https://api.toobit.com',
|
|
90
|
+
},
|
|
91
|
+
'www': 'https://www.toobit.com/',
|
|
92
|
+
'doc': [
|
|
93
|
+
'https://toobit-docs.github.io/apidocs/spot/v1/en/#change-log',
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
|
+
'timeframes': {
|
|
97
|
+
'1m': '1m',
|
|
98
|
+
'3m': '3m',
|
|
99
|
+
'5m': '5m',
|
|
100
|
+
'15m': '15m',
|
|
101
|
+
'30m': '30m',
|
|
102
|
+
'1h': '1h',
|
|
103
|
+
'2h': '2h',
|
|
104
|
+
'4h': '4h',
|
|
105
|
+
'6h': '6h',
|
|
106
|
+
'12h': '12h',
|
|
107
|
+
'1d': '1d',
|
|
108
|
+
'1w': '1w',
|
|
109
|
+
'1M': '1M',
|
|
110
|
+
},
|
|
111
|
+
'api': {
|
|
112
|
+
'public': {
|
|
113
|
+
'get': {
|
|
114
|
+
'quote/v1/ticker/24hr': 1,
|
|
115
|
+
'quote/v1/klines': 1,
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
'fees': {
|
|
120
|
+
'trading': {
|
|
121
|
+
'tierBased': False,
|
|
122
|
+
'percentage': True,
|
|
123
|
+
'maker': self.parse_number('0.001'),
|
|
124
|
+
'taker': self.parse_number('0.001'),
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
})
|
|
128
|
+
|
|
129
|
+
def fetch_markets(self, params={}) -> List[Market]:
|
|
130
|
+
"""
|
|
131
|
+
retrieves data on all markets for toobit
|
|
132
|
+
https://apidocs.toobit.io/#tickers
|
|
133
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
134
|
+
:returns dict[]: an array of objects representing market data
|
|
135
|
+
"""
|
|
136
|
+
response = self.publicGetQuoteV1Ticker24hr()
|
|
137
|
+
result = []
|
|
138
|
+
for i in range(0, len(response)):
|
|
139
|
+
volume = self.safe_float(response[i], 'v')
|
|
140
|
+
symbol = self.safe_value(response[i], 's')
|
|
141
|
+
if volume == 0 or symbol == 'TESTA1S3TESTX8Z9':
|
|
142
|
+
continue
|
|
143
|
+
market = self.parse_market(response[i])
|
|
144
|
+
result.append(market)
|
|
145
|
+
return result
|
|
146
|
+
|
|
147
|
+
def parse_market(self, market) -> Market:
|
|
148
|
+
# {
|
|
149
|
+
# t: 1757164008834,
|
|
150
|
+
# s: "BTCUSDT",
|
|
151
|
+
# c: "110895.06",
|
|
152
|
+
# h: "113310.01",
|
|
153
|
+
# l: "110219.01",
|
|
154
|
+
# o: "112951.99",
|
|
155
|
+
# v: "3893.406649",
|
|
156
|
+
# qv: "433374169.27969515",
|
|
157
|
+
# pc: "-2056.93",
|
|
158
|
+
# pcp: "-0.0182"
|
|
159
|
+
# }
|
|
160
|
+
symbol = self.safe_value(market, 's')
|
|
161
|
+
baseId = symbol
|
|
162
|
+
quoteId = None
|
|
163
|
+
if symbol.endswith('USDT'):
|
|
164
|
+
baseId = symbol[0:-4]
|
|
165
|
+
quoteId = 'USDT'
|
|
166
|
+
elif symbol.endswith('USDC'):
|
|
167
|
+
baseId = symbol[0:-4]
|
|
168
|
+
quoteId = 'USDC'
|
|
169
|
+
id = symbol
|
|
170
|
+
base = self.safe_currency_code(baseId)
|
|
171
|
+
quote = self.safe_currency_code(quoteId)
|
|
172
|
+
baseId = baseId.lower()
|
|
173
|
+
quoteId = quoteId.lower()
|
|
174
|
+
return {
|
|
175
|
+
'id': id,
|
|
176
|
+
'symbol': base + '/' + quote,
|
|
177
|
+
'base': base,
|
|
178
|
+
'quote': quote,
|
|
179
|
+
'settle': None,
|
|
180
|
+
'baseId': baseId,
|
|
181
|
+
'quoteId': quoteId,
|
|
182
|
+
'settleId': None,
|
|
183
|
+
'type': 'spot',
|
|
184
|
+
'spot': True,
|
|
185
|
+
'margin': False,
|
|
186
|
+
'swap': False,
|
|
187
|
+
'future': False,
|
|
188
|
+
'option': False,
|
|
189
|
+
'active': True,
|
|
190
|
+
'contract': False,
|
|
191
|
+
'linear': None,
|
|
192
|
+
'inverse': None,
|
|
193
|
+
'contractSize': None,
|
|
194
|
+
'expiry': None,
|
|
195
|
+
'expiryDatetime': None,
|
|
196
|
+
'strike': None,
|
|
197
|
+
'optionType': None,
|
|
198
|
+
'precision': {
|
|
199
|
+
'amount': None,
|
|
200
|
+
'price': None,
|
|
201
|
+
},
|
|
202
|
+
'limits': {
|
|
203
|
+
'leverage': {
|
|
204
|
+
'min': None,
|
|
205
|
+
'max': None,
|
|
206
|
+
},
|
|
207
|
+
'amount': {
|
|
208
|
+
'min': None,
|
|
209
|
+
'max': None,
|
|
210
|
+
},
|
|
211
|
+
'price': {
|
|
212
|
+
'min': None,
|
|
213
|
+
'max': None,
|
|
214
|
+
},
|
|
215
|
+
'cost': {
|
|
216
|
+
'min': None,
|
|
217
|
+
'max': None,
|
|
218
|
+
},
|
|
219
|
+
},
|
|
220
|
+
'created': None,
|
|
221
|
+
'info': market,
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
|
225
|
+
"""
|
|
226
|
+
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
227
|
+
https://apidocs.toobit.io/#tickers
|
|
228
|
+
:param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
229
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
230
|
+
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
231
|
+
"""
|
|
232
|
+
self.load_markets()
|
|
233
|
+
if symbols is not None:
|
|
234
|
+
symbols = self.market_symbols(symbols)
|
|
235
|
+
response = self.publicGetQuoteV1Ticker24hr()
|
|
236
|
+
result = {}
|
|
237
|
+
for i in range(0, len(response)):
|
|
238
|
+
volume = self.safe_float(response[i], 'v')
|
|
239
|
+
if volume == 0:
|
|
240
|
+
continue
|
|
241
|
+
ticker = self.parse_ticker(response[i])
|
|
242
|
+
symbol = ticker['symbol']
|
|
243
|
+
result[symbol] = ticker
|
|
244
|
+
return self.filter_by_array_tickers(result, 'symbol', symbols)
|
|
245
|
+
|
|
246
|
+
def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
247
|
+
"""
|
|
248
|
+
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
249
|
+
https://apidocs.toobit.io/#ticker
|
|
250
|
+
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
251
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
252
|
+
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
253
|
+
"""
|
|
254
|
+
self.load_markets()
|
|
255
|
+
market = self.market(symbol)
|
|
256
|
+
request = {
|
|
257
|
+
'symbol': market['id'],
|
|
258
|
+
}
|
|
259
|
+
response = self.publicGetQuoteV1Ticker24hr(request)
|
|
260
|
+
ticker = self.parse_ticker(response[0])
|
|
261
|
+
return ticker
|
|
262
|
+
|
|
263
|
+
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
|
264
|
+
# {
|
|
265
|
+
# t: 1757164008834,
|
|
266
|
+
# s: "BTCUSDT",
|
|
267
|
+
# c: "110895.06",
|
|
268
|
+
# h: "113310.01",
|
|
269
|
+
# l: "110219.01",
|
|
270
|
+
# o: "112951.99",
|
|
271
|
+
# v: "3893.406649",
|
|
272
|
+
# qv: "433374169.27969515",
|
|
273
|
+
# pc: "-2056.93",
|
|
274
|
+
# pcp: "-0.0182"
|
|
275
|
+
# }
|
|
276
|
+
marketType = 'spot'
|
|
277
|
+
symbol = self.safe_value(ticker, 's')
|
|
278
|
+
marketId = symbol
|
|
279
|
+
symbol = self.safe_symbol(marketId, market, None, marketType)
|
|
280
|
+
high = self.safe_float(ticker, 'h')
|
|
281
|
+
low = self.safe_float(ticker, 'l')
|
|
282
|
+
open = self.safe_float(ticker, 'o')
|
|
283
|
+
close = self.safe_float(ticker, 'c')
|
|
284
|
+
last = self.safe_float(ticker, 'c')
|
|
285
|
+
change = self.safe_float(ticker, 'pcp')
|
|
286
|
+
priceChange = self.safe_float(ticker, 'pc')
|
|
287
|
+
baseVolume = self.safe_float(ticker, 'v')
|
|
288
|
+
quoteVolume = self.safe_float(ticker, 'qv')
|
|
289
|
+
datetime = self.safe_string(ticker, 't')
|
|
290
|
+
bid = self.safe_float(ticker, 'b', 0)
|
|
291
|
+
ask = self.safe_float(ticker, 'a', 0)
|
|
292
|
+
return self.safe_ticker({
|
|
293
|
+
'symbol': symbol,
|
|
294
|
+
'timestamp': datetime,
|
|
295
|
+
'datetime': self.parse8601(datetime),
|
|
296
|
+
'high': high,
|
|
297
|
+
'low': low,
|
|
298
|
+
'bid': bid,
|
|
299
|
+
'bidVolume': None,
|
|
300
|
+
'ask': ask,
|
|
301
|
+
'askVolume': None,
|
|
302
|
+
'vwap': None,
|
|
303
|
+
'open': open,
|
|
304
|
+
'close': close,
|
|
305
|
+
'last': last,
|
|
306
|
+
'previousClose': None,
|
|
307
|
+
'change': priceChange,
|
|
308
|
+
'percentage': change,
|
|
309
|
+
'average': None,
|
|
310
|
+
'baseVolume': baseVolume,
|
|
311
|
+
'quoteVolume': quoteVolume,
|
|
312
|
+
'info': ticker,
|
|
313
|
+
}, market)
|
|
314
|
+
|
|
315
|
+
def fetch_ohlcv(self, symbol: str, timeframe='1h', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
|
316
|
+
"""
|
|
317
|
+
fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
|
318
|
+
https://apidocs.toobit.io/#chart
|
|
319
|
+
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
|
320
|
+
:param str timeframe: the length of time each candle represents
|
|
321
|
+
:param int [since]: timestamp in ms of the earliest candle to fetch
|
|
322
|
+
:param int [limit]: the maximum amount of candles to fetch
|
|
323
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
324
|
+
:returns int[][]: A list of candles ordered, open, high, low, close, volume
|
|
325
|
+
"""
|
|
326
|
+
self.load_markets()
|
|
327
|
+
market = self.market(symbol)
|
|
328
|
+
endTime = Date.now()
|
|
329
|
+
request = {
|
|
330
|
+
'symbol': market['id'],
|
|
331
|
+
'from': (endTime - (24 * 60 * 60 * 1000)),
|
|
332
|
+
'to': endTime,
|
|
333
|
+
'interval': self.safe_string(self.timeframes, timeframe, timeframe),
|
|
334
|
+
}
|
|
335
|
+
if since is not None:
|
|
336
|
+
request['from'] = since
|
|
337
|
+
if timeframe is not None:
|
|
338
|
+
request['interval'] = self.safe_string(self.timeframes, timeframe, timeframe)
|
|
339
|
+
response = self.publicGetQuoteV1Klines(request)
|
|
340
|
+
ohlcvs = []
|
|
341
|
+
for i in range(0, len(response)):
|
|
342
|
+
candle = response[i]
|
|
343
|
+
ts = self.safe_timestamp(candle, 0)
|
|
344
|
+
open = self.safe_float(candle, 1)
|
|
345
|
+
high = self.safe_float(candle, 2)
|
|
346
|
+
low = self.safe_float(candle, 3)
|
|
347
|
+
close = self.safe_float(candle, 4)
|
|
348
|
+
volume = self.safe_float(candle, 5)
|
|
349
|
+
ohlcvs.append([
|
|
350
|
+
ts,
|
|
351
|
+
open,
|
|
352
|
+
high,
|
|
353
|
+
low,
|
|
354
|
+
close,
|
|
355
|
+
volume,
|
|
356
|
+
])
|
|
357
|
+
return self.parse_ohlcvs(ohlcvs, market, timeframe, since, limit)
|
|
358
|
+
|
|
359
|
+
def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
|
|
360
|
+
query = self.omit(params, self.extract_params(path))
|
|
361
|
+
url = self.urls['api']['public'] + '/' + path
|
|
362
|
+
if path == 'quote/v1/ticker/24hr':
|
|
363
|
+
url = url + '?' + self.urlencode(query)
|
|
364
|
+
if path == 'quote/v1/klines':
|
|
365
|
+
url = url + '?' + self.urlencode(query)
|
|
366
|
+
headers = {'Content-Type': 'application/json'}
|
|
367
|
+
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
ccxt/xt.py
CHANGED
|
@@ -1609,7 +1609,7 @@ class xt(Exchange, ImplicitAPI):
|
|
|
1609
1609
|
elif market['inverse']:
|
|
1610
1610
|
response = self.publicInverseGetFutureMarketV1PublicQAggTicker(self.extend(request, params))
|
|
1611
1611
|
else:
|
|
1612
|
-
response = self.
|
|
1612
|
+
response = self.publicSpotGetTicker(self.extend(request, params))
|
|
1613
1613
|
#
|
|
1614
1614
|
# spot
|
|
1615
1615
|
#
|
|
@@ -1861,7 +1861,7 @@ class xt(Exchange, ImplicitAPI):
|
|
|
1861
1861
|
'change': self.safe_number(ticker, 'cv'),
|
|
1862
1862
|
'percentage': self.parse_number(percentage),
|
|
1863
1863
|
'average': None,
|
|
1864
|
-
'baseVolume':
|
|
1864
|
+
'baseVolume': self.safe_number_2(ticker, 'a', 'q'),
|
|
1865
1865
|
'quoteVolume': self.safe_number_2(ticker, 'a', 'v'),
|
|
1866
1866
|
'info': ticker,
|
|
1867
1867
|
}, market)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ccxt-ir
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.9.0
|
|
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
|
|
@@ -62,7 +62,7 @@ Dynamic: summary
|
|
|
62
62
|
|
|
63
63
|
# CCXT – CryptoCurrency eXchange Trading Library
|
|
64
64
|
|
|
65
|
-
[](https://www.npmjs.com/package/ccxt) [](https://npmjs.com/package/ccxt) [](https://pypi.python.org/pypi/ccxt) [](https://www.nuget.org/packages/ccxt) [](https://godoc.org/github.com/ccxt/ccxt/go/v4) [](https://discord.gg/ccxt) [](https://www.npmjs.com/package/ccxt) [](https://npmjs.com/package/ccxt) [](https://pypi.python.org/pypi/ccxt) [](https://www.nuget.org/packages/ccxt) [](https://godoc.org/github.com/ccxt/ccxt/go/v4) [](https://discord.gg/ccxt) [](https://github.com/ccxt/ccxt/wiki/Exchange-Markets) [](https://x.com/ccxt_official)
|
|
66
66
|
|
|
67
67
|
A `JavaScript` / `Python` / `PHP` / `C#` / `Go` library for cryptocurrency trading and e-commerce with support for many bitcoin/ether/altcoin exchange markets and merchant APIs.
|
|
68
68
|
|
|
@@ -304,13 +304,22 @@ console.log(version, Object.keys(exchanges));
|
|
|
304
304
|
|
|
305
305
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
|
306
306
|
|
|
307
|
-
|
|
308
|
-
*
|
|
307
|
+
<<<<<<< HEAD
|
|
308
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.9.0/dist/ccxt.browser.min.js
|
|
309
|
+
* unpkg: https://unpkg.com/ccxt@4.9.0/dist/ccxt.browser.min.js
|
|
310
|
+
=======
|
|
311
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.9.0/dist/ccxt.browser.min.js
|
|
312
|
+
* unpkg: https://unpkg.com/ccxt@4.9.0/dist/ccxt.browser.min.js
|
|
313
|
+
>>>>>>> master
|
|
309
314
|
|
|
310
315
|
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.
|
|
311
316
|
|
|
312
317
|
```HTML
|
|
313
|
-
|
|
318
|
+
<<<<<<< HEAD
|
|
319
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.9.0/dist/ccxt.browser.min.js"></script>
|
|
320
|
+
=======
|
|
321
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.9.0/dist/ccxt.browser.min.js"></script>
|
|
322
|
+
>>>>>>> master
|
|
314
323
|
console.log (ccxt.exchanges) // print all available exchanges
|
|
315
324
|
```
|
|
316
325
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
ccxt/__init__.py,sha256=
|
|
1
|
+
ccxt/__init__.py,sha256=QcX33K5ZLVGcLqV0jBidpfc5ABLYnmTOLo_4ed-Tq2U,19308
|
|
2
2
|
ccxt/abantether.py,sha256=like8inDYyPpE3d3_93KulDhwmYwdOqZxRvoTC1-Nd0,12008
|
|
3
3
|
ccxt/afratether.py,sha256=NeSpFf0zWIM5ejGgn5G9hz1-sefAv_ae7j9241WcdDk,10801
|
|
4
4
|
ccxt/alpaca.py,sha256=oO0YJHxo5_1iYyGVRMbxfGyPahqzuMlE7LZ3TMYgPGo,80694
|
|
@@ -13,7 +13,7 @@ ccxt/binancecoinm.py,sha256=MCMEAmIk1WTxrda8ZuCLdMRokKTIcZioc5kC8KiWzoE,1817
|
|
|
13
13
|
ccxt/binanceus.py,sha256=oI9FAJrJmapOdqf3mnXUULBq8tGK-VfJ2GnDYqIwXsw,9550
|
|
14
14
|
ccxt/binanceusdm.py,sha256=YcuFO1VXQy7ELcN9e7tlJFKby2mOZVBqvmp924clu8U,2701
|
|
15
15
|
ccxt/bingx.py,sha256=9DYikizv3bqTIVUBtNy8uOZ55mpD_Ko2pYGYTH7qAas,278454
|
|
16
|
-
ccxt/bit24.py,sha256=
|
|
16
|
+
ccxt/bit24.py,sha256=xl0kxCw1otDuMKfm6pPbHYCz_liSf1GpQaZqfXzW-wg,13769
|
|
17
17
|
ccxt/bit2c.py,sha256=Yyxj7tK5kRxRJPIvsQwboWi6HwPfUOAMDr1uTrEfhyQ,41190
|
|
18
18
|
ccxt/bitbank.py,sha256=K1rsciFMTmfEjDdab97E9IIxfIcMSHoa9YGIepqj2pY,47781
|
|
19
19
|
ccxt/bitbns.py,sha256=5GqPAa7MEbUA2BcDzlus-GGW2rjUliqeWTg4P5gm0us,50931
|
|
@@ -32,6 +32,7 @@ ccxt/bitso.py,sha256=chJcbGZw210_PbGFo68JjngN5BpHO5B9POlQHFV_PXs,75701
|
|
|
32
32
|
ccxt/bitstamp.py,sha256=XPwRl8x9oFKdxYOxdTnm3vGH-5dWkVdyW4hI-Jq4rvw,97405
|
|
33
33
|
ccxt/bitteam.py,sha256=Jv3wdSztOGKULkV1uZydBJxwQ3I0_M8kI6CDB_gtH9Y,106752
|
|
34
34
|
ccxt/bittrade.py,sha256=vazz9sdfSGS8s0lH0_QVFKS9mj20PAa7nOAfWsonKow,92974
|
|
35
|
+
ccxt/bitunix.py,sha256=hctItPqGfSiTZsHYgZVGXb7GhizKzzKcIgK1Xw6uex4,11451
|
|
35
36
|
ccxt/bitvavo.py,sha256=kX5o4_w5LGbU71mbUzF30coWJHSoZp_gqN1aWYbool0,97531
|
|
36
37
|
ccxt/blockchaincom.py,sha256=_1A2kxt4QHJ5IUJKwCM8sTjz7ZKqUiM0SM73kOl3l0Q,51724
|
|
37
38
|
ccxt/blofin.py,sha256=3Lb0htgOAPkkR8kY9qT3gNzG4CK-sLEFZRD5H3rW9-E,113612
|
|
@@ -63,7 +64,7 @@ ccxt/digifinex.py,sha256=qmYcsm1XTAltKQeywgR0xnnbVVdTVg5Dyu9QHbFiG1I,174815
|
|
|
63
64
|
ccxt/ellipx.py,sha256=fith62iZEIpyx0drFdQfLFxADGsum6M-NJAFrYU8b54,85916
|
|
64
65
|
ccxt/eterex.py,sha256=rbKwogBAVBZh7owkNkaY5xur6Y4foab940ezbpFE6uA,10665
|
|
65
66
|
ccxt/excoino.py,sha256=UzRwsJnYDSq6RqbWLme0WkRdmlWDOBDWYrRpa6YyUs8,15836
|
|
66
|
-
ccxt/exir.py,sha256=
|
|
67
|
+
ccxt/exir.py,sha256=NIp5EDp0g7Hix_gUwzpM1yW67tQ0KR2dDPdp_j1A0No,14758
|
|
67
68
|
ccxt/exmo.py,sha256=rnpx2B__KkLF1TCWj_XDEsVnNbtOgJvmF6Kg1AOAS3Q,121802
|
|
68
69
|
ccxt/exnovin.py,sha256=JVPKmxEHOLmGj2eeCpkKYLPLERHwu3jRbUT1PcAchMo,13035
|
|
69
70
|
ccxt/farhadexchange.py,sha256=Gn6Q_3lb0KjpUGTFHuRtrrYEJOVG78N6JQmBsF6LYbo,9883
|
|
@@ -83,6 +84,7 @@ ccxt/hyperliquid.py,sha256=nRrjedrxNgEuUIuH4Ml7qM9JKw9rPUjmsbylSImCw_I,160952
|
|
|
83
84
|
ccxt/independentreserve.py,sha256=qK_Xd8oSwQ8VTKqDTSUZoxZ8rfKwd2CrfDC9JdBi6uc,44814
|
|
84
85
|
ccxt/indodax.py,sha256=4UtmYm2bExkrmfpnUv-6RSEN8EAyhVWBvdDZCoLILkQ,59303
|
|
85
86
|
ccxt/jibitex.py,sha256=CH3Gb4aXfzBsfUYqKdpQVrohq9o-11AMRWZVXaZkzFk,15785
|
|
87
|
+
ccxt/kcex.py,sha256=WLavduoKatuE1OyodQE85MBr08vMGf9-yINg738KNeY,11957
|
|
86
88
|
ccxt/kraken.py,sha256=wE8GI7g9xx3Gx785M8_W5pn3-wxSDMvxMlb9qQlPkPc,148530
|
|
87
89
|
ccxt/krakenfutures.py,sha256=91NTUvEalzJe6HxX_2JK7MP4oPFmMgEp_QJDJ71n-aA,122915
|
|
88
90
|
ccxt/kucoin.py,sha256=B0lAhQ5v49yhDJyD117FiLBJOX0XKhL2C9zz9YrrIUU,232486
|
|
@@ -118,6 +120,7 @@ ccxt/tabdeal.py,sha256=OWR4aV5Ek3cgIk3zjXy1l04hdbLxJZxd-3icm6prAvA,14358
|
|
|
118
120
|
ccxt/tetherland.py,sha256=W5RTlW37Kgt6rhgWT4x3Gdn_PIRDjuOhhI9k5HVmTvo,13884
|
|
119
121
|
ccxt/timex.py,sha256=MiLB4GyIpEOHweaQuzIrBJyuevw3jsVvitsaK7iQ6RE,76698
|
|
120
122
|
ccxt/tokocrypto.py,sha256=-q95F-FvV-dgatuZzfJNnojtNxuyyyzmTpHLyOpu8Vw,126328
|
|
123
|
+
ccxt/toobit.py,sha256=hFs4roZGL7KfxtFNfcHgkrZVBli7llmm_ksseK1p9ds,13737
|
|
121
124
|
ccxt/tradeogre.py,sha256=Q8CSHf8QGzb37jMFhaBmc_IZ1zga0eRXFVbjhmJnyFY,33712
|
|
122
125
|
ccxt/twox.py,sha256=V1PDZqRWEyV5wuclQHtfvhlJzSF7pyHns9q2JRoJaBM,12064
|
|
123
126
|
ccxt/ubitex.py,sha256=Z9ThriWhEmlZwBgb7WmtIFUC_EfTa17GTyj_0SNumZA,16466
|
|
@@ -128,7 +131,7 @@ ccxt/wavesexchange.py,sha256=y9eMzsVN0QK7fPTVnkKwsOyv5D9amgTCLyQiRTqSGgw,120115
|
|
|
128
131
|
ccxt/whitebit.py,sha256=3ZA8_EuMFj45gqBXhSWsa0gZhxO2Cd430JDEYr2sNgc,151956
|
|
129
132
|
ccxt/woo.py,sha256=69DGLHgIV_xk5ZguuOjR6JRUi4p17dSn9ykhUeqZeL8,180520
|
|
130
133
|
ccxt/woofipro.py,sha256=BlhYlBwfdIjv8hE0CC5nxObF2X6BU6e61nLXEu3wzXY,125453
|
|
131
|
-
ccxt/xt.py,sha256=
|
|
134
|
+
ccxt/xt.py,sha256=15dJ6XgcNEuPHppwV5du3RgYfst5lK0DA14_E1S4c5s,216423
|
|
132
135
|
ccxt/yobit.py,sha256=Mh5NsoZ3csITuRdEScjGqeowlKsUtodUNVjL89BW2m4,57757
|
|
133
136
|
ccxt/zaif.py,sha256=Bn21zden5qjksTPBKIEPKlDEN9yuWP76JifhA3fnFBU,31182
|
|
134
137
|
ccxt/zonda.py,sha256=h8GzoJfu-Md_ZjrT0s75UAeQ5ce-uwDT0WEap8GIKjE,85013
|
|
@@ -166,6 +169,7 @@ ccxt/abstract/bitso.py,sha256=aWtuVoQ3CLMBTukWz3L3-gagyhIeEcEf4G5J48Hz_3k,4025
|
|
|
166
169
|
ccxt/abstract/bitstamp.py,sha256=YcFXFGm3RrCTF-Hi3x3v2wFt3BaH2PYslUVIoZOmcWE,29877
|
|
167
170
|
ccxt/abstract/bitteam.py,sha256=k7txfUy717X9pi_XhXuCkpa7fR0Ul7kQYw7mC4REzuI,3478
|
|
168
171
|
ccxt/abstract/bittrade.py,sha256=12RtB9kVykpBYwQ5JjYa4LK2Fg7MeynJAuOy67F7TP4,14331
|
|
172
|
+
ccxt/abstract/bitunix.py,sha256=1OETXOeuun0F5gsHfytl4-0QChur1ZfyHPykICEOaNc,361
|
|
169
173
|
ccxt/abstract/bitvavo.py,sha256=bPoB0TAmdey7t_O7GBrZpaS9MtwjySWsO1ctqqIuLTw,2357
|
|
170
174
|
ccxt/abstract/blockchaincom.py,sha256=f4bFO3bWjk9ojqGolkzuau06f1CksUAJdLvSc4diA7c,2638
|
|
171
175
|
ccxt/abstract/blofin.py,sha256=HSNIiR_tGKzYlJ-sOtTyXBmvuN9QdhZ8T0ej1lixVMk,9261
|
|
@@ -217,6 +221,7 @@ ccxt/abstract/hyperliquid.py,sha256=YPz-oqjy-ZkDW9chuMZM8pGIUs_5qeP3nQ-d_TSbCyw,
|
|
|
217
221
|
ccxt/abstract/independentreserve.py,sha256=GBa5JX6Wv9rdh2B3a0L4pHCqF6jMLQMcLSOQvAxzq1k,4975
|
|
218
222
|
ccxt/abstract/indodax.py,sha256=E16v8W6Ac9kmV9hFEqf_kwV6VQmK74lc1LEUEkuDpYg,2488
|
|
219
223
|
ccxt/abstract/jibitex.py,sha256=iOktSTvFEp3-kNUeZNIfEY0BPPB9bRlOS2sk7WuI4DM,454
|
|
224
|
+
ccxt/abstract/kcex.py,sha256=ms_exDB-TZhRgb1qLMD1dZo7Yv6rMq-LOtDzPrc01cI,579
|
|
220
225
|
ccxt/abstract/kraken.py,sha256=glI0xp23zwl3KVtmfRPS6yoMlD86IhihUPi6LjFzM6I,5989
|
|
221
226
|
ccxt/abstract/krakenfutures.py,sha256=pu81cKhQgBkQd8F9-Ly3b7xQD-qQ8WLi8EUMfmAUJcM,4080
|
|
222
227
|
ccxt/abstract/kucoin.py,sha256=kVrVEXiigc36arfbSS8lDUMnG7uFdKgUKHIhVb0Am_8,28626
|
|
@@ -252,6 +257,7 @@ ccxt/abstract/tabdeal.py,sha256=9wPBn90yiZrWpS9lWHAbE-mvOj4rdn_0ImYwPaRN5js,418
|
|
|
252
257
|
ccxt/abstract/tetherland.py,sha256=oeq5VUYhHg8h9IaD7bDQlTCgZfHY80WAYnO-F-esl18,174
|
|
253
258
|
ccxt/abstract/timex.py,sha256=9b0CDsyjm8XrYZmhUMB1dTHUmyE9YrsZTCZrz1UTt6E,5875
|
|
254
259
|
ccxt/abstract/tokocrypto.py,sha256=OF5UW4ch_Lf3-avOPgd4AD4CVrOUDUfUpSMCmxhNHlk,4094
|
|
260
|
+
ccxt/abstract/toobit.py,sha256=7Qeqn5TJ8GKY5Jug5ynKwktqhBSZYhc07Ht6qJcPU4Q,295
|
|
255
261
|
ccxt/abstract/tradeogre.py,sha256=bDouHP2c50F6Ins5EU2-3Jw10PsIG2KK3bcKv8y7678,1676
|
|
256
262
|
ccxt/abstract/twox.py,sha256=RHI1yDeSsDxNgV3YX82DZCg1p36V-6fDOcmTXaMZK6w,166
|
|
257
263
|
ccxt/abstract/ubitex.py,sha256=3bN3gGo86vcA1MPvlJTOcSkf8Ql-q0gbvXJCqhB_a-Q,416
|
|
@@ -266,7 +272,7 @@ ccxt/abstract/xt.py,sha256=n3eX1cItL_J0j8prOViV-C_tRwIFv_GO8JTvZZw8jv8,27837
|
|
|
266
272
|
ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
|
|
267
273
|
ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
|
|
268
274
|
ccxt/abstract/zonda.py,sha256=X-hCW0SdX3YKZWixDyW-O2211M58Rno8kKJ6quY7rw4,7183
|
|
269
|
-
ccxt/async_support/__init__.py,sha256=
|
|
275
|
+
ccxt/async_support/__init__.py,sha256=MkqLGWe3daJOuh48jeZW-qOJxzXJlENLQ0biI0hjoK4,19391
|
|
270
276
|
ccxt/async_support/abantether.py,sha256=uLWn1i6gE8dtZr9BXmXfyT0Y-MzYYZU1DDeXGjFngAM,12064
|
|
271
277
|
ccxt/async_support/afratether.py,sha256=JC9ro3QrE8vE4YUm51xqwciSQhHfTPb98Mw1r6cJyvg,10869
|
|
272
278
|
ccxt/async_support/alpaca.py,sha256=oFpSnAjX-faRgTN4d5rwHa08WRaCkwiAbHGZ7JBe6Ww,81140
|
|
@@ -281,7 +287,7 @@ ccxt/async_support/binancecoinm.py,sha256=GS5wgqgwna0HcRW6f6hHjzPq5wYHAn_OArdNan
|
|
|
281
287
|
ccxt/async_support/binanceus.py,sha256=T9ab3Y4N822a_0agKM1mAkbOX3ChmSq_ymAsY2ZmxlI,9564
|
|
282
288
|
ccxt/async_support/binanceusdm.py,sha256=sdx3CYlOma49ss3XxRnZZpqkhwUa0cAz_tfP_64LOwU,2739
|
|
283
289
|
ccxt/async_support/bingx.py,sha256=gFXYiuHiNfh6BEghlr6MhmoI-1wTMGrEUSgvBIhE7CU,279832
|
|
284
|
-
ccxt/async_support/bit24.py,sha256=
|
|
290
|
+
ccxt/async_support/bit24.py,sha256=qsUKq4EXY06KGc8qiJnQPGNMA0dMfcPLoIAX99K6oXU,13825
|
|
285
291
|
ccxt/async_support/bit2c.py,sha256=CYx7PSZNdg3JyN08DTYRtLYPxsz8gOoYxpgN02h1LjI,41402
|
|
286
292
|
ccxt/async_support/bitbank.py,sha256=UHXNZ9GG4v-3-GHVxoFSYfNaLHSkPptfRlC0MiDBGcc,48041
|
|
287
293
|
ccxt/async_support/bitbns.py,sha256=L6wAlhQu7ydl8R1kph7_K6QvnMAKuvjWQd_4w7d_uzY,51185
|
|
@@ -300,6 +306,7 @@ ccxt/async_support/bitso.py,sha256=MhVpnWKbEVeSpeINmk0XeJVzywuXFCNNp9glz5iSer8,7
|
|
|
300
306
|
ccxt/async_support/bitstamp.py,sha256=4DumFv-Z0pMNAtuNbigk49EGQe7JLFxhqG-4DOBbxqA,97905
|
|
301
307
|
ccxt/async_support/bitteam.py,sha256=2k4h8RT_YzDO6TXB803udxI_-AGZ75IBUFLVmXb_HOM,107084
|
|
302
308
|
ccxt/async_support/bittrade.py,sha256=Tx9aiV8fSN8UbDE1hBqzfHY1DYceUTT-DKkYyu_0-PI,93474
|
|
309
|
+
ccxt/async_support/bitunix.py,sha256=G2PbVeLE4UTqag3DqNIUL8QgvtPPWHmgOz0mPci8hLc,11507
|
|
303
310
|
ccxt/async_support/bitvavo.py,sha256=L4oAFMb_URyPwA1zTcamDjX0P5rJAhNBH7AcojP5wtc,97965
|
|
304
311
|
ccxt/async_support/blockchaincom.py,sha256=Z6pq5V7-0q_xfOVdR2MmBShsxtuGh3v6mNY0jdQqGfY,52116
|
|
305
312
|
ccxt/async_support/blofin.py,sha256=I7-521zgBd6Wpfk4myCvqkjo5AydA49TdXb2h6fCNB4,114274
|
|
@@ -331,7 +338,7 @@ ccxt/async_support/digifinex.py,sha256=8_STpgUHR4WFBYFgUJD7TJbH8ZOMOiqY5UZvklO2Y
|
|
|
331
338
|
ccxt/async_support/ellipx.py,sha256=RTBLSiZGXRWtcvhvACTvhjYxudyvJx5QNfVJqqosqdQ,86224
|
|
332
339
|
ccxt/async_support/eterex.py,sha256=Xs0IJgDVvJ5Es9y8gnisi9HqePYerx8zCg1h3_Y6kqM,10727
|
|
333
340
|
ccxt/async_support/excoino.py,sha256=DniOpS8pwmG2e6AZVr23W6GaH9vx5k0gujjDLK70BBs,15928
|
|
334
|
-
ccxt/async_support/exir.py,sha256=
|
|
341
|
+
ccxt/async_support/exir.py,sha256=GaftMPPxGxvStLgVo0F0G3lrSKKm2VeRE6teQTB3B9Q,14856
|
|
335
342
|
ccxt/async_support/exmo.py,sha256=D0WSU6GB1Pi2zcjR5zq-WGia6JubKAL__i_nZM38eKA,122525
|
|
336
343
|
ccxt/async_support/exnovin.py,sha256=bKBK1SBer2hPf_p_qImAvV4JI9S64LD4eYEH_h0Sg-M,13109
|
|
337
344
|
ccxt/async_support/farhadexchange.py,sha256=0B8UNuNthwDgiyFUdZPAF_e7kpuTD9Benz7FEr8pszk,9939
|
|
@@ -351,6 +358,7 @@ ccxt/async_support/hyperliquid.py,sha256=WwsqsDY-95I8cTzVRcZaqV-JSXoau-XsHAYfOP9
|
|
|
351
358
|
ccxt/async_support/independentreserve.py,sha256=jNDXX5VAsUKDfKRYb_qtqT4UJNimsO1mWbCDxL1lU1s,45112
|
|
352
359
|
ccxt/async_support/indodax.py,sha256=gDiNbkssepp2ARs16EroBSG7DTgCHXa1GgnB3NNSd6o,59611
|
|
353
360
|
ccxt/async_support/jibitex.py,sha256=6g3MdbPusjRr7AOoIq4lUHD9GfGHpJy0ZQ-rjTu4GW4,15883
|
|
361
|
+
ccxt/async_support/kcex.py,sha256=IR0ikKaBQ4PlV6N4vhOAJTnStpdIVp6Zh-_pgcl9ohA,12019
|
|
354
362
|
ccxt/async_support/kraken.py,sha256=YcByHZKnph2cKKFRHbd24b6r1AR57qdeFMZdcyEviAg,149212
|
|
355
363
|
ccxt/async_support/krakenfutures.py,sha256=D0IYSDLPm3hMOy_KMrAqcZLNyoJ89Ur5zJmL597mXc8,123403
|
|
356
364
|
ccxt/async_support/kucoin.py,sha256=1g5zjnf_ad1TiIpaRfc86m6ieBTvrp9V_UcUv3oIHHE,233636
|
|
@@ -386,6 +394,7 @@ ccxt/async_support/tabdeal.py,sha256=_kDTQeB8pQSZKYOiBc0IoZBuIsOkwvhhhTNN8m4A0G8
|
|
|
386
394
|
ccxt/async_support/tetherland.py,sha256=k3zpZ7j6sFJm0Rb8f5tRVz46yG8Zyc5mHwKBm2cUYfE,13940
|
|
387
395
|
ccxt/async_support/timex.py,sha256=SMMswaincdUzCI8waSpCnCEMPG5zEWe6UtcE4KteJaI,77060
|
|
388
396
|
ccxt/async_support/tokocrypto.py,sha256=noI2aWGN2rH71WDomTl2GeysjsNbuMbLNHKMTNvJYOs,126690
|
|
397
|
+
ccxt/async_support/toobit.py,sha256=hDiHHwk_7zV0yH70zuzVnQb11fPVpafBuurU5ir5aO4,13817
|
|
389
398
|
ccxt/async_support/tradeogre.py,sha256=gTmxvLXyRX8Ye8OTIrpKLso9QltZ4ZOrwxHklHrvhv8,33954
|
|
390
399
|
ccxt/async_support/twox.py,sha256=FEYBvRZxl-mtN3RgN_s4GzlMG1f71nNH3KRqh1s2ioU,12120
|
|
391
400
|
ccxt/async_support/ubitex.py,sha256=lpLvSKKOftf7FjGRfIcJkY1sCWprmJQB-SvEvJIv_FY,16564
|
|
@@ -396,12 +405,12 @@ ccxt/async_support/wavesexchange.py,sha256=R6ZdfHGjPZCDZS6ZSgoMPDRT3NM6tYoqObF6G
|
|
|
396
405
|
ccxt/async_support/whitebit.py,sha256=p6BqQ9JA_KqeO0YqXmEcXpnJhzqSJn2-r6vK2qDezE8,152780
|
|
397
406
|
ccxt/async_support/woo.py,sha256=NudNZNy3mQBphfcLIoQQb0IdOCBY6MeAsD18ZLOTCr4,181549
|
|
398
407
|
ccxt/async_support/woofipro.py,sha256=QQjxGUdGOOnQoC7VjqmBcUg9vnW50FNCcnxXubyxFcE,126201
|
|
399
|
-
ccxt/async_support/xt.py,sha256=
|
|
408
|
+
ccxt/async_support/xt.py,sha256=G8dHvb_b27wOnDgMX71SFc2DaNOzAh-uyQWH7-lKfqQ,217655
|
|
400
409
|
ccxt/async_support/yobit.py,sha256=FBI7ajvxprTYUqX8zosd7-LntDft8vIEjRTHng5ry8Y,58085
|
|
401
410
|
ccxt/async_support/zaif.py,sha256=mh0PETLMTJV509zhT7jukddg6S7YhvwhCT7zqxC6YLA,31364
|
|
402
411
|
ccxt/async_support/zonda.py,sha256=7hmHotE5JBd8034d1ZbX3oIeWIpQFrQb8aK-dP3Btx0,85327
|
|
403
412
|
ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
|
|
404
|
-
ccxt/async_support/base/exchange.py,sha256=
|
|
413
|
+
ccxt/async_support/base/exchange.py,sha256=xuhTYFsBfNsNTRDZ2tl_tksjpVXBGpiEi5sNZK7YSYY,121268
|
|
405
414
|
ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
|
|
406
415
|
ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
|
|
407
416
|
ccxt/async_support/base/ws/cache.py,sha256=xf2VOtfUwloxSlIQ39M1RGZHWQzyS9IGhB5NX6cDcAc,8370
|
|
@@ -413,10 +422,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
|
|
|
413
422
|
ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
|
|
414
423
|
ccxt/base/decimal_to_precision.py,sha256=3XI30u9YudHbTA438397u5rkdlXa3atxwZEfUus3C4k,6803
|
|
415
424
|
ccxt/base/errors.py,sha256=OGhWNvNtRlJOzFx-n1x3ZjTnaPpfWH0Vc0xACS-MeDw,5012
|
|
416
|
-
ccxt/base/exchange.py,sha256=
|
|
425
|
+
ccxt/base/exchange.py,sha256=cDWt1D0AO43LkUhSvXZDJNKoUq-C1O1ApMhTNlqghUs,334337
|
|
417
426
|
ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
|
|
418
427
|
ccxt/base/types.py,sha256=Gvbogh9i7pPH7Z18xesYeDPribqqwq8uKpOv-YODFBs,11505
|
|
419
|
-
ccxt/pro/__init__.py,sha256=
|
|
428
|
+
ccxt/pro/__init__.py,sha256=Ps66VsmDtcD9yC-pBmql5AcwoSegClnkyhNYWB2nBrs,11463
|
|
420
429
|
ccxt/pro/alpaca.py,sha256=REAEZxdv2pY8xjxBGCBca3nPKpIdleVqr-IVpuVmADg,27637
|
|
421
430
|
ccxt/pro/apex.py,sha256=FLBaLN2FESIh9gqHPVwf0IkkIHpxGHHUcFwgBGBEkrA,42018
|
|
422
431
|
ccxt/pro/ascendex.py,sha256=P0DnIMIA-BIGxyoEQBLGtjH-whRhkPbhe8gU2s5V238,37526
|
|
@@ -739,8 +748,8 @@ ccxt/test/tests_async.py,sha256=D5ZDYYW635E2LFEhJt7HfIjbFVCQl3WSBEFnR-QEQzM,9549
|
|
|
739
748
|
ccxt/test/tests_helpers.py,sha256=egM69A2ZFYeVF5hwC1Qt-c5DOeClY5bv4jowmceeFV8,9736
|
|
740
749
|
ccxt/test/tests_init.py,sha256=qM0-Gb0h0p6CANWTkyYZI7wl-iYOcrPur7aj_OKh7m0,1212
|
|
741
750
|
ccxt/test/tests_sync.py,sha256=Rr72cGmoKqbUIIEJJAGh2_QhBc4rIZlBxVtGCQVd4BE,94440
|
|
742
|
-
ccxt_ir-4.
|
|
743
|
-
ccxt_ir-4.
|
|
744
|
-
ccxt_ir-4.
|
|
745
|
-
ccxt_ir-4.
|
|
746
|
-
ccxt_ir-4.
|
|
751
|
+
ccxt_ir-4.9.0.dist-info/licenses/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
|
|
752
|
+
ccxt_ir-4.9.0.dist-info/METADATA,sha256=XTDJY5uPw4yGvpgOY0wC2CHCfoBLEJROqfFl__tNoPw,139254
|
|
753
|
+
ccxt_ir-4.9.0.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
|
|
754
|
+
ccxt_ir-4.9.0.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
|
|
755
|
+
ccxt_ir-4.9.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|