ccxt-ir 4.5.1__py2.py3-none-any.whl → 4.7.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 +5 -1
- ccxt/abstract/bit24.py +5 -0
- ccxt/abstract/toobit.py +6 -0
- ccxt/async_support/__init__.py +5 -1
- ccxt/async_support/abantether.py +1 -1
- ccxt/async_support/base/exchange.py +1 -1
- ccxt/async_support/bit24.py +372 -0
- ccxt/async_support/exir.py +14 -11
- ccxt/async_support/nobitex.py +31 -22
- ccxt/async_support/sarmayex.py +1 -1
- ccxt/async_support/toobit.py +367 -0
- ccxt/base/exchange.py +1 -1
- ccxt/bit24.py +372 -0
- ccxt/exir.py +14 -11
- ccxt/nobitex.py +31 -22
- ccxt/pro/__init__.py +1 -1
- ccxt/sarmayex.py +1 -1
- ccxt/toobit.py +367 -0
- {ccxt_ir-4.5.1.dist-info → ccxt_ir-4.7.0.dist-info}/METADATA +14 -10
- {ccxt_ir-4.5.1.dist-info → ccxt_ir-4.7.0.dist-info}/RECORD +23 -17
- {ccxt_ir-4.5.1.dist-info → ccxt_ir-4.7.0.dist-info}/WHEEL +0 -0
- {ccxt_ir-4.5.1.dist-info → ccxt_ir-4.7.0.dist-info}/licenses/LICENSE.txt +0 -0
- {ccxt_ir-4.5.1.dist-info → ccxt_ir-4.7.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}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ccxt-ir
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.7.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,18 +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.7.0/dist/ccxt.browser.min.js
|
|
309
|
+
* unpkg: https://unpkg.com/ccxt@4.7.0/dist/ccxt.browser.min.js
|
|
310
|
+
=======
|
|
311
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.7.0/dist/ccxt.browser.min.js
|
|
312
|
+
* unpkg: https://unpkg.com/ccxt@4.7.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
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
```JavaScript
|
|
318
|
+
<<<<<<< HEAD
|
|
319
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.7.0/dist/ccxt.browser.min.js"></script>
|
|
320
|
+
=======
|
|
321
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.7.0/dist/ccxt.browser.min.js"></script>
|
|
322
|
+
>>>>>>> master
|
|
319
323
|
console.log (ccxt.exchanges) // print all available exchanges
|
|
320
324
|
```
|
|
321
325
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
ccxt/__init__.py,sha256=
|
|
1
|
+
ccxt/__init__.py,sha256=yVtxyPSvSaS0SlouXjUX5fs5vK0407bX6UMZlP9UOmA,19115
|
|
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,6 +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=xl0kxCw1otDuMKfm6pPbHYCz_liSf1GpQaZqfXzW-wg,13769
|
|
16
17
|
ccxt/bit2c.py,sha256=Yyxj7tK5kRxRJPIvsQwboWi6HwPfUOAMDr1uTrEfhyQ,41190
|
|
17
18
|
ccxt/bitbank.py,sha256=K1rsciFMTmfEjDdab97E9IIxfIcMSHoa9YGIepqj2pY,47781
|
|
18
19
|
ccxt/bitbns.py,sha256=5GqPAa7MEbUA2BcDzlus-GGW2rjUliqeWTg4P5gm0us,50931
|
|
@@ -62,7 +63,7 @@ ccxt/digifinex.py,sha256=qmYcsm1XTAltKQeywgR0xnnbVVdTVg5Dyu9QHbFiG1I,174815
|
|
|
62
63
|
ccxt/ellipx.py,sha256=fith62iZEIpyx0drFdQfLFxADGsum6M-NJAFrYU8b54,85916
|
|
63
64
|
ccxt/eterex.py,sha256=rbKwogBAVBZh7owkNkaY5xur6Y4foab940ezbpFE6uA,10665
|
|
64
65
|
ccxt/excoino.py,sha256=UzRwsJnYDSq6RqbWLme0WkRdmlWDOBDWYrRpa6YyUs8,15836
|
|
65
|
-
ccxt/exir.py,sha256=
|
|
66
|
+
ccxt/exir.py,sha256=NIp5EDp0g7Hix_gUwzpM1yW67tQ0KR2dDPdp_j1A0No,14758
|
|
66
67
|
ccxt/exmo.py,sha256=rnpx2B__KkLF1TCWj_XDEsVnNbtOgJvmF6Kg1AOAS3Q,121802
|
|
67
68
|
ccxt/exnovin.py,sha256=JVPKmxEHOLmGj2eeCpkKYLPLERHwu3jRbUT1PcAchMo,13035
|
|
68
69
|
ccxt/farhadexchange.py,sha256=Gn6Q_3lb0KjpUGTFHuRtrrYEJOVG78N6JQmBsF6LYbo,9883
|
|
@@ -94,7 +95,7 @@ ccxt/mexc.py,sha256=fpvMyG4DsY62UpK_m4R_yML9ydx0uJAKy4EtNrpyvBk,259668
|
|
|
94
95
|
ccxt/modetrade.py,sha256=NOm_GYlosUuMYTZIgKCWIrUMhtJCqbuIauK0m3H3iWM,124933
|
|
95
96
|
ccxt/myokx.py,sha256=1fuUUuz5HuhSzTefnqUayu4NWVLNXzK58LPdpi0GYu4,1773
|
|
96
97
|
ccxt/ndax.py,sha256=ptOVfbuHhEfpxwpdJO8aYlpjr4Ru-XOcGptlliIUf0c,114216
|
|
97
|
-
ccxt/nobitex.py,sha256=
|
|
98
|
+
ccxt/nobitex.py,sha256=J6gxw9zDGmboZtxFmttqp47t9w_oTZxtrcZG2WYCkdw,16955
|
|
98
99
|
ccxt/novadax.py,sha256=D9JFxDqKCyv4L2le1i6P_oaYdC4H0vDN7XjedE9xy-4,69122
|
|
99
100
|
ccxt/oceanex.py,sha256=YhvVgresX7nm8sFxD8Yr5pQI5IzuuRllW-JdA9RkDSM,44195
|
|
100
101
|
ccxt/okcoin.py,sha256=yvSRgQhAYim1iF_INP02tVwi-oh_-GUD3jmbkXTRDKY,153947
|
|
@@ -111,12 +112,13 @@ ccxt/phemex.py,sha256=vWIh8G8Jo2mNwuYI8EpG3pzHBbd0F9-mI_lzmCm-_Sk,243174
|
|
|
111
112
|
ccxt/poloniex.py,sha256=Ukb2tZq57T44McUdD3-J3J_uLHTTEyBaLV1o3kmU4Rw,155050
|
|
112
113
|
ccxt/probit.py,sha256=Lsfz21itILHEURhx_7qs9oQcjQNOXn-JFIfIUiOBJNo,79205
|
|
113
114
|
ccxt/ramzinex.py,sha256=Si0Nuhfy7fo7t3Gi9y7uVFSt_FM5nS3Uo2j2vf6gxEw,19486
|
|
114
|
-
ccxt/sarmayex.py,sha256=
|
|
115
|
+
ccxt/sarmayex.py,sha256=jTbQOwdZYlxgHKDoFRoKTngtm1asFaEihnUx7n1Q2pw,13404
|
|
115
116
|
ccxt/sarrafex.py,sha256=D1fo5tCmowlDb8CtsCoHrVkmf_WjhYp-6q-pcVkDFBg,19125
|
|
116
117
|
ccxt/tabdeal.py,sha256=OWR4aV5Ek3cgIk3zjXy1l04hdbLxJZxd-3icm6prAvA,14358
|
|
117
118
|
ccxt/tetherland.py,sha256=W5RTlW37Kgt6rhgWT4x3Gdn_PIRDjuOhhI9k5HVmTvo,13884
|
|
118
119
|
ccxt/timex.py,sha256=MiLB4GyIpEOHweaQuzIrBJyuevw3jsVvitsaK7iQ6RE,76698
|
|
119
120
|
ccxt/tokocrypto.py,sha256=-q95F-FvV-dgatuZzfJNnojtNxuyyyzmTpHLyOpu8Vw,126328
|
|
121
|
+
ccxt/toobit.py,sha256=hFs4roZGL7KfxtFNfcHgkrZVBli7llmm_ksseK1p9ds,13737
|
|
120
122
|
ccxt/tradeogre.py,sha256=Q8CSHf8QGzb37jMFhaBmc_IZ1zga0eRXFVbjhmJnyFY,33712
|
|
121
123
|
ccxt/twox.py,sha256=V1PDZqRWEyV5wuclQHtfvhlJzSF7pyHns9q2JRoJaBM,12064
|
|
122
124
|
ccxt/ubitex.py,sha256=Z9ThriWhEmlZwBgb7WmtIFUC_EfTa17GTyj_0SNumZA,16466
|
|
@@ -146,6 +148,7 @@ ccxt/abstract/binancecoinm.py,sha256=g13z3l0oHsoTclroBA6nLmQQu17CIJ1p-XRxa2EFomY
|
|
|
146
148
|
ccxt/abstract/binanceus.py,sha256=uI0vMSecfZGt89lHZZ6hb1cW8Z6DpJAmoHCgrzgh46M,107204
|
|
147
149
|
ccxt/abstract/binanceusdm.py,sha256=g13z3l0oHsoTclroBA6nLmQQu17CIJ1p-XRxa2EFomY,100542
|
|
148
150
|
ccxt/abstract/bingx.py,sha256=C4BlHUuEW5JXQDksCNof8PjfLPMbKQ7y-bLsAxgXpo0,24982
|
|
151
|
+
ccxt/abstract/bit24.py,sha256=BJ3em9TJuJsGoyo3gVPxTWQoMOxgKqCLTUuF-gZB32Y,165
|
|
149
152
|
ccxt/abstract/bit2c.py,sha256=np6i756kSB5dO3Nj6POLKxkWkpYcsGg-4LS8BwPrizI,2830
|
|
150
153
|
ccxt/abstract/bitbank.py,sha256=7NfcFZ4u4osVPeYc9VVBuw65thDCr8qSrlzk_1P3D1U,3398
|
|
151
154
|
ccxt/abstract/bitbns.py,sha256=3T3cHS7SgzGipd6F8vzPnmM0x3XNfQXEPjoInD-C1Sw,4082
|
|
@@ -250,6 +253,7 @@ ccxt/abstract/tabdeal.py,sha256=9wPBn90yiZrWpS9lWHAbE-mvOj4rdn_0ImYwPaRN5js,418
|
|
|
250
253
|
ccxt/abstract/tetherland.py,sha256=oeq5VUYhHg8h9IaD7bDQlTCgZfHY80WAYnO-F-esl18,174
|
|
251
254
|
ccxt/abstract/timex.py,sha256=9b0CDsyjm8XrYZmhUMB1dTHUmyE9YrsZTCZrz1UTt6E,5875
|
|
252
255
|
ccxt/abstract/tokocrypto.py,sha256=OF5UW4ch_Lf3-avOPgd4AD4CVrOUDUfUpSMCmxhNHlk,4094
|
|
256
|
+
ccxt/abstract/toobit.py,sha256=7Qeqn5TJ8GKY5Jug5ynKwktqhBSZYhc07Ht6qJcPU4Q,295
|
|
253
257
|
ccxt/abstract/tradeogre.py,sha256=bDouHP2c50F6Ins5EU2-3Jw10PsIG2KK3bcKv8y7678,1676
|
|
254
258
|
ccxt/abstract/twox.py,sha256=RHI1yDeSsDxNgV3YX82DZCg1p36V-6fDOcmTXaMZK6w,166
|
|
255
259
|
ccxt/abstract/ubitex.py,sha256=3bN3gGo86vcA1MPvlJTOcSkf8Ql-q0gbvXJCqhB_a-Q,416
|
|
@@ -264,8 +268,8 @@ ccxt/abstract/xt.py,sha256=n3eX1cItL_J0j8prOViV-C_tRwIFv_GO8JTvZZw8jv8,27837
|
|
|
264
268
|
ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
|
|
265
269
|
ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
|
|
266
270
|
ccxt/abstract/zonda.py,sha256=X-hCW0SdX3YKZWixDyW-O2211M58Rno8kKJ6quY7rw4,7183
|
|
267
|
-
ccxt/async_support/__init__.py,sha256=
|
|
268
|
-
ccxt/async_support/abantether.py,sha256=
|
|
271
|
+
ccxt/async_support/__init__.py,sha256=MQWGRDhbI9AhAbvJTV1RJcdXBXA4Vvf_jdak3NAcz_Q,19178
|
|
272
|
+
ccxt/async_support/abantether.py,sha256=uLWn1i6gE8dtZr9BXmXfyT0Y-MzYYZU1DDeXGjFngAM,12064
|
|
269
273
|
ccxt/async_support/afratether.py,sha256=JC9ro3QrE8vE4YUm51xqwciSQhHfTPb98Mw1r6cJyvg,10869
|
|
270
274
|
ccxt/async_support/alpaca.py,sha256=oFpSnAjX-faRgTN4d5rwHa08WRaCkwiAbHGZ7JBe6Ww,81140
|
|
271
275
|
ccxt/async_support/apex.py,sha256=ouj8uyC4f8Ar3IowHxbrPTBp-g2ctheo5ir_YLsg-Gg,83228
|
|
@@ -279,6 +283,7 @@ ccxt/async_support/binancecoinm.py,sha256=GS5wgqgwna0HcRW6f6hHjzPq5wYHAn_OArdNan
|
|
|
279
283
|
ccxt/async_support/binanceus.py,sha256=T9ab3Y4N822a_0agKM1mAkbOX3ChmSq_ymAsY2ZmxlI,9564
|
|
280
284
|
ccxt/async_support/binanceusdm.py,sha256=sdx3CYlOma49ss3XxRnZZpqkhwUa0cAz_tfP_64LOwU,2739
|
|
281
285
|
ccxt/async_support/bingx.py,sha256=gFXYiuHiNfh6BEghlr6MhmoI-1wTMGrEUSgvBIhE7CU,279832
|
|
286
|
+
ccxt/async_support/bit24.py,sha256=qsUKq4EXY06KGc8qiJnQPGNMA0dMfcPLoIAX99K6oXU,13825
|
|
282
287
|
ccxt/async_support/bit2c.py,sha256=CYx7PSZNdg3JyN08DTYRtLYPxsz8gOoYxpgN02h1LjI,41402
|
|
283
288
|
ccxt/async_support/bitbank.py,sha256=UHXNZ9GG4v-3-GHVxoFSYfNaLHSkPptfRlC0MiDBGcc,48041
|
|
284
289
|
ccxt/async_support/bitbns.py,sha256=L6wAlhQu7ydl8R1kph7_K6QvnMAKuvjWQd_4w7d_uzY,51185
|
|
@@ -328,7 +333,7 @@ ccxt/async_support/digifinex.py,sha256=8_STpgUHR4WFBYFgUJD7TJbH8ZOMOiqY5UZvklO2Y
|
|
|
328
333
|
ccxt/async_support/ellipx.py,sha256=RTBLSiZGXRWtcvhvACTvhjYxudyvJx5QNfVJqqosqdQ,86224
|
|
329
334
|
ccxt/async_support/eterex.py,sha256=Xs0IJgDVvJ5Es9y8gnisi9HqePYerx8zCg1h3_Y6kqM,10727
|
|
330
335
|
ccxt/async_support/excoino.py,sha256=DniOpS8pwmG2e6AZVr23W6GaH9vx5k0gujjDLK70BBs,15928
|
|
331
|
-
ccxt/async_support/exir.py,sha256=
|
|
336
|
+
ccxt/async_support/exir.py,sha256=GaftMPPxGxvStLgVo0F0G3lrSKKm2VeRE6teQTB3B9Q,14856
|
|
332
337
|
ccxt/async_support/exmo.py,sha256=D0WSU6GB1Pi2zcjR5zq-WGia6JubKAL__i_nZM38eKA,122525
|
|
333
338
|
ccxt/async_support/exnovin.py,sha256=bKBK1SBer2hPf_p_qImAvV4JI9S64LD4eYEH_h0Sg-M,13109
|
|
334
339
|
ccxt/async_support/farhadexchange.py,sha256=0B8UNuNthwDgiyFUdZPAF_e7kpuTD9Benz7FEr8pszk,9939
|
|
@@ -360,7 +365,7 @@ ccxt/async_support/mexc.py,sha256=NONCKdVPd2VM65J4kk26iEbkMdKwt-k8TAHQa4tLY84,26
|
|
|
360
365
|
ccxt/async_support/modetrade.py,sha256=TR2m_iMqUeMnpqHGJ2yoL79USuCbIppDRYwl7luhdEk,125649
|
|
361
366
|
ccxt/async_support/myokx.py,sha256=hU24R4SOpmyjnvgZe5YSU4ELucsSZlENBox4U0P862w,1787
|
|
362
367
|
ccxt/async_support/ndax.py,sha256=9Rxl5ISp9HFqQ-aovzQCJkowxzvbvVDjUTKC13_jMRs,114740
|
|
363
|
-
ccxt/async_support/nobitex.py,sha256=
|
|
368
|
+
ccxt/async_support/nobitex.py,sha256=bC-cJSuUBPTy4rBGZHoqEcR5BGFlAyIhsacaYh6z-VI,17047
|
|
364
369
|
ccxt/async_support/novadax.py,sha256=OCgHTU0fbdywjSRp_S3iUmxUVWMWQaUr4bYccYwiQ1A,69490
|
|
365
370
|
ccxt/async_support/oceanex.py,sha256=_vi8sI3aucMmMPXwqqrpdfnWWHpfLYN_QaBpo2s9zvg,44533
|
|
366
371
|
ccxt/async_support/okcoin.py,sha256=xK_FnaPu63ElHGgtUPxwfDmCV4Dkp3ONgGhKCFkk6wo,154471
|
|
@@ -377,12 +382,13 @@ ccxt/async_support/phemex.py,sha256=OeSEn8uXYh7Z-6eeivJEQghrBr9s__qj1_C6zS9icUw,
|
|
|
377
382
|
ccxt/async_support/poloniex.py,sha256=uniLoCvC3e37u6mLp-20H2awAGu5XsTHVc-LHkcbX1I,155852
|
|
378
383
|
ccxt/async_support/probit.py,sha256=uQOGglJZ1MWcmGwBWv3VJRluUB5HWkl80brpyElBoQc,79597
|
|
379
384
|
ccxt/async_support/ramzinex.py,sha256=Abs2Uj31vh4KnAXxuRsTcj2Bjrs0MExZ4dC4PCTuX4Y,19584
|
|
380
|
-
ccxt/async_support/sarmayex.py,sha256=
|
|
385
|
+
ccxt/async_support/sarmayex.py,sha256=WqQjSTKi9EAoaOilJEEA0BMtqoEKOzk9XoAijdD1i-E,13460
|
|
381
386
|
ccxt/async_support/sarrafex.py,sha256=ZJBxRfWZ0vMgBPeneEyxlNVxXHLzeGICwxT3lAVhH-M,19223
|
|
382
387
|
ccxt/async_support/tabdeal.py,sha256=_kDTQeB8pQSZKYOiBc0IoZBuIsOkwvhhhTNN8m4A0G8,14450
|
|
383
388
|
ccxt/async_support/tetherland.py,sha256=k3zpZ7j6sFJm0Rb8f5tRVz46yG8Zyc5mHwKBm2cUYfE,13940
|
|
384
389
|
ccxt/async_support/timex.py,sha256=SMMswaincdUzCI8waSpCnCEMPG5zEWe6UtcE4KteJaI,77060
|
|
385
390
|
ccxt/async_support/tokocrypto.py,sha256=noI2aWGN2rH71WDomTl2GeysjsNbuMbLNHKMTNvJYOs,126690
|
|
391
|
+
ccxt/async_support/toobit.py,sha256=hDiHHwk_7zV0yH70zuzVnQb11fPVpafBuurU5ir5aO4,13817
|
|
386
392
|
ccxt/async_support/tradeogre.py,sha256=gTmxvLXyRX8Ye8OTIrpKLso9QltZ4ZOrwxHklHrvhv8,33954
|
|
387
393
|
ccxt/async_support/twox.py,sha256=FEYBvRZxl-mtN3RgN_s4GzlMG1f71nNH3KRqh1s2ioU,12120
|
|
388
394
|
ccxt/async_support/ubitex.py,sha256=lpLvSKKOftf7FjGRfIcJkY1sCWprmJQB-SvEvJIv_FY,16564
|
|
@@ -398,7 +404,7 @@ ccxt/async_support/yobit.py,sha256=FBI7ajvxprTYUqX8zosd7-LntDft8vIEjRTHng5ry8Y,5
|
|
|
398
404
|
ccxt/async_support/zaif.py,sha256=mh0PETLMTJV509zhT7jukddg6S7YhvwhCT7zqxC6YLA,31364
|
|
399
405
|
ccxt/async_support/zonda.py,sha256=7hmHotE5JBd8034d1ZbX3oIeWIpQFrQb8aK-dP3Btx0,85327
|
|
400
406
|
ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
|
|
401
|
-
ccxt/async_support/base/exchange.py,sha256=
|
|
407
|
+
ccxt/async_support/base/exchange.py,sha256=8da6qNt4N5ZwjLyy7T5XZaiwghbexHX3lPti67Mgzis,121268
|
|
402
408
|
ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
|
|
403
409
|
ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
|
|
404
410
|
ccxt/async_support/base/ws/cache.py,sha256=xf2VOtfUwloxSlIQ39M1RGZHWQzyS9IGhB5NX6cDcAc,8370
|
|
@@ -410,10 +416,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
|
|
|
410
416
|
ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
|
|
411
417
|
ccxt/base/decimal_to_precision.py,sha256=3XI30u9YudHbTA438397u5rkdlXa3atxwZEfUus3C4k,6803
|
|
412
418
|
ccxt/base/errors.py,sha256=OGhWNvNtRlJOzFx-n1x3ZjTnaPpfWH0Vc0xACS-MeDw,5012
|
|
413
|
-
ccxt/base/exchange.py,sha256=
|
|
419
|
+
ccxt/base/exchange.py,sha256=hCVro64mcaWt9mwkjXkaaOYB8lP6xiiL1e_WMP-Afog,334337
|
|
414
420
|
ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
|
|
415
421
|
ccxt/base/types.py,sha256=Gvbogh9i7pPH7Z18xesYeDPribqqwq8uKpOv-YODFBs,11505
|
|
416
|
-
ccxt/pro/__init__.py,sha256=
|
|
422
|
+
ccxt/pro/__init__.py,sha256=y9lSdKFSFamdzxT17RIkWpyQsokPiwGndJp0NkAw2lA,11463
|
|
417
423
|
ccxt/pro/alpaca.py,sha256=REAEZxdv2pY8xjxBGCBca3nPKpIdleVqr-IVpuVmADg,27637
|
|
418
424
|
ccxt/pro/apex.py,sha256=FLBaLN2FESIh9gqHPVwf0IkkIHpxGHHUcFwgBGBEkrA,42018
|
|
419
425
|
ccxt/pro/ascendex.py,sha256=P0DnIMIA-BIGxyoEQBLGtjH-whRhkPbhe8gU2s5V238,37526
|
|
@@ -736,8 +742,8 @@ ccxt/test/tests_async.py,sha256=D5ZDYYW635E2LFEhJt7HfIjbFVCQl3WSBEFnR-QEQzM,9549
|
|
|
736
742
|
ccxt/test/tests_helpers.py,sha256=egM69A2ZFYeVF5hwC1Qt-c5DOeClY5bv4jowmceeFV8,9736
|
|
737
743
|
ccxt/test/tests_init.py,sha256=qM0-Gb0h0p6CANWTkyYZI7wl-iYOcrPur7aj_OKh7m0,1212
|
|
738
744
|
ccxt/test/tests_sync.py,sha256=Rr72cGmoKqbUIIEJJAGh2_QhBc4rIZlBxVtGCQVd4BE,94440
|
|
739
|
-
ccxt_ir-4.
|
|
740
|
-
ccxt_ir-4.
|
|
741
|
-
ccxt_ir-4.
|
|
742
|
-
ccxt_ir-4.
|
|
743
|
-
ccxt_ir-4.
|
|
745
|
+
ccxt_ir-4.7.0.dist-info/licenses/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
|
|
746
|
+
ccxt_ir-4.7.0.dist-info/METADATA,sha256=bv8Q5fUtCJ4edgRGK73c7jFCXfXgBgFGkoYaE1D19m0,139254
|
|
747
|
+
ccxt_ir-4.7.0.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
|
|
748
|
+
ccxt_ir-4.7.0.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
|
|
749
|
+
ccxt_ir-4.7.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|