ccxt-ir 4.7.0__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 +5 -1
- ccxt/abstract/bitunix.py +6 -0
- ccxt/abstract/kcex.py +7 -0
- ccxt/async_support/__init__.py +5 -1
- ccxt/async_support/base/exchange.py +1 -1
- ccxt/async_support/bitunix.py +311 -0
- ccxt/async_support/kcex.py +319 -0
- ccxt/async_support/xt.py +2 -2
- ccxt/base/exchange.py +1 -1
- ccxt/bitunix.py +311 -0
- ccxt/kcex.py +319 -0
- ccxt/pro/__init__.py +1 -1
- ccxt/xt.py +2 -2
- {ccxt_ir-4.7.0.dist-info → ccxt_ir-4.9.0.dist-info}/METADATA +8 -8
- {ccxt_ir-4.7.0.dist-info → ccxt_ir-4.9.0.dist-info}/RECORD +18 -12
- {ccxt_ir-4.7.0.dist-info → ccxt_ir-4.9.0.dist-info}/WHEEL +0 -0
- {ccxt_ir-4.7.0.dist-info → ccxt_ir-4.9.0.dist-info}/licenses/LICENSE.txt +0 -0
- {ccxt_ir-4.7.0.dist-info → ccxt_ir-4.9.0.dist-info}/top_level.txt +0 -0
ccxt/kcex.py
ADDED
|
@@ -0,0 +1,319 @@
|
|
|
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.kcex import ImplicitAPI
|
|
8
|
+
from ccxt.base.types import Any, Market, Strings, Ticker, Tickers
|
|
9
|
+
from typing import List
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class kcex(Exchange, ImplicitAPI):
|
|
13
|
+
|
|
14
|
+
def describe(self) -> Any:
|
|
15
|
+
return self.deep_extend(super(kcex, self).describe(), {
|
|
16
|
+
'id': 'kcex',
|
|
17
|
+
'name': 'Kcex',
|
|
18
|
+
'countries': ['SC'],
|
|
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': False,
|
|
28
|
+
'future': True,
|
|
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
|
+
'fetchL3OrderBook': False,
|
|
59
|
+
'fetchLedger': False,
|
|
60
|
+
'fetchLedgerEntry': False,
|
|
61
|
+
'fetchLeverageTiers': False,
|
|
62
|
+
'fetchMarkets': True,
|
|
63
|
+
'fetchMarkOHLCV': False,
|
|
64
|
+
'fetchMyTrades': False,
|
|
65
|
+
'fetchOHLCV': True,
|
|
66
|
+
'fetchOpenInterestHistory': False,
|
|
67
|
+
'fetchOpenOrders': False,
|
|
68
|
+
'fetchOrder': False,
|
|
69
|
+
'fetchOrderBook': True,
|
|
70
|
+
'fetchOrders': False,
|
|
71
|
+
'fetchOrderTrades': 'emulated',
|
|
72
|
+
'fetchPositions': False,
|
|
73
|
+
'fetchPremiumIndexOHLCV': False,
|
|
74
|
+
'fetchTicker': True,
|
|
75
|
+
'fetchTickers': True,
|
|
76
|
+
'fetchTime': False,
|
|
77
|
+
'fetchTrades': False,
|
|
78
|
+
'fetchTradingFee': False,
|
|
79
|
+
'fetchTradingFees': False,
|
|
80
|
+
'fetchWithdrawals': False,
|
|
81
|
+
'setLeverage': False,
|
|
82
|
+
'setMarginMode': False,
|
|
83
|
+
'transfer': False,
|
|
84
|
+
'withdraw': False,
|
|
85
|
+
},
|
|
86
|
+
'comment': 'This comment is optional',
|
|
87
|
+
'urls': {
|
|
88
|
+
'logo': 'https://cdn.arz.digital/cr-odin/img/exchanges/kcex/64x64.png',
|
|
89
|
+
'api': {
|
|
90
|
+
'public': 'https://www.kcex.com/spot/api',
|
|
91
|
+
},
|
|
92
|
+
'www': 'https://www.kcex.com',
|
|
93
|
+
'doc': [
|
|
94
|
+
'https://www.kcex.com',
|
|
95
|
+
],
|
|
96
|
+
},
|
|
97
|
+
'timeframes': {
|
|
98
|
+
'1m': '1',
|
|
99
|
+
'1h': '60',
|
|
100
|
+
'3h': '180',
|
|
101
|
+
'6h': '360',
|
|
102
|
+
'12h': '720',
|
|
103
|
+
'1d': '1D',
|
|
104
|
+
},
|
|
105
|
+
'api': {
|
|
106
|
+
'public': {
|
|
107
|
+
'get': {
|
|
108
|
+
'market-2/spot/market/v2/web/symbols': 1,
|
|
109
|
+
'market-2/spot/market/v2/web/tickers': 1,
|
|
110
|
+
'market-2/spot/market/v2/web/symbol/ticker': 1,
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
# 'fees': {
|
|
115
|
+
# 'trading': {
|
|
116
|
+
# 'tierBased': False,
|
|
117
|
+
# 'percentage': True,
|
|
118
|
+
# 'maker': self.parse_number('0.001'),
|
|
119
|
+
# 'taker': self.parse_number('0.001'),
|
|
120
|
+
# },
|
|
121
|
+
# },
|
|
122
|
+
})
|
|
123
|
+
|
|
124
|
+
def fetch_markets(self, params={}) -> List[Market]:
|
|
125
|
+
"""
|
|
126
|
+
retrieves data on all markets for kcex
|
|
127
|
+
https://api-docs.kcex.ir/#be8d9c51a2
|
|
128
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
129
|
+
:returns dict[]: an array of objects representing market data
|
|
130
|
+
"""
|
|
131
|
+
response = self.publicGetMarket2SpotMarketV2WebSymbols(params)
|
|
132
|
+
data = self.safe_dict(response, 'data')
|
|
133
|
+
USDTmarketList = self.safe_list(data, 'USDT')
|
|
134
|
+
USDCmarketList = self.safe_list(data, 'USDC')
|
|
135
|
+
marketList = self.array_concat(USDTmarketList, USDCmarketList)
|
|
136
|
+
result = []
|
|
137
|
+
for i in range(0, len(marketList)):
|
|
138
|
+
market = self.parse_market(marketList[i])
|
|
139
|
+
result.append(market)
|
|
140
|
+
return result
|
|
141
|
+
|
|
142
|
+
def parse_market(self, market) -> Market:
|
|
143
|
+
# {
|
|
144
|
+
# id: "e16a2713c7a44bac9d1d4ef98467e75b",
|
|
145
|
+
# mcd: "20f24a571c8544c0b1362794b1804456",
|
|
146
|
+
# mnm: "USDT",
|
|
147
|
+
# cd: "18f40e5428054a4b9c69ddb0cce486f3",
|
|
148
|
+
# vn: "AP",
|
|
149
|
+
# fn: "AMERICA PARTY",
|
|
150
|
+
# srt: 322,
|
|
151
|
+
# sts: 1,
|
|
152
|
+
# in: "F20250607111147267iXgSHIElFbibIQ",
|
|
153
|
+
# fot: 1749247200000,
|
|
154
|
+
# ot: 1749267000000,
|
|
155
|
+
# cp: [
|
|
156
|
+
# "common_section_meme",
|
|
157
|
+
# "common_section_solana"
|
|
158
|
+
# ],
|
|
159
|
+
# ps: 7,
|
|
160
|
+
# qs: 2,
|
|
161
|
+
# cdm: 1
|
|
162
|
+
# }
|
|
163
|
+
id = self.safe_string(market, 'id')
|
|
164
|
+
baseId = self.safe_string(market, 'vn')
|
|
165
|
+
quoteId = self.safe_string(market, 'mnm')
|
|
166
|
+
base = self.safe_currency_code(baseId)
|
|
167
|
+
quote = self.safe_currency_code(quoteId)
|
|
168
|
+
baseId = baseId.lower()
|
|
169
|
+
quoteId = quoteId.lower()
|
|
170
|
+
return {
|
|
171
|
+
'id': id,
|
|
172
|
+
'symbol': base + '/' + quote,
|
|
173
|
+
'base': base,
|
|
174
|
+
'quote': quote,
|
|
175
|
+
'settle': None,
|
|
176
|
+
'baseId': baseId,
|
|
177
|
+
'quoteId': quoteId,
|
|
178
|
+
'settleId': None,
|
|
179
|
+
'type': 'spot',
|
|
180
|
+
'spot': True,
|
|
181
|
+
'margin': False,
|
|
182
|
+
'swap': False,
|
|
183
|
+
'future': False,
|
|
184
|
+
'option': False,
|
|
185
|
+
'active': True,
|
|
186
|
+
'contract': False,
|
|
187
|
+
'linear': None,
|
|
188
|
+
'inverse': None,
|
|
189
|
+
'contractSize': None,
|
|
190
|
+
'expiry': None,
|
|
191
|
+
'expiryDatetime': None,
|
|
192
|
+
'strike': None,
|
|
193
|
+
'optionType': None,
|
|
194
|
+
'precision': {
|
|
195
|
+
'amount': None,
|
|
196
|
+
'price': None,
|
|
197
|
+
},
|
|
198
|
+
'limits': {
|
|
199
|
+
'leverage': {
|
|
200
|
+
'min': None,
|
|
201
|
+
'max': None,
|
|
202
|
+
},
|
|
203
|
+
'amount': {
|
|
204
|
+
'min': None,
|
|
205
|
+
'max': None,
|
|
206
|
+
},
|
|
207
|
+
'price': {
|
|
208
|
+
'min': None,
|
|
209
|
+
'max': None,
|
|
210
|
+
},
|
|
211
|
+
'cost': {
|
|
212
|
+
'min': None,
|
|
213
|
+
'max': None,
|
|
214
|
+
},
|
|
215
|
+
},
|
|
216
|
+
'created': None,
|
|
217
|
+
'info': market,
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
|
221
|
+
"""
|
|
222
|
+
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
223
|
+
https://api-docs.kcex.ir/#be8d9c51a2
|
|
224
|
+
:param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
225
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
226
|
+
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
227
|
+
"""
|
|
228
|
+
self.load_markets()
|
|
229
|
+
if symbols is not None:
|
|
230
|
+
symbols = self.market_symbols(symbols)
|
|
231
|
+
response = self.publicGetMarket2SpotMarketV2WebTickers(params)
|
|
232
|
+
tickers = self.safe_list(response, 'data')
|
|
233
|
+
timestamp = self.safe_integer(response, 'timestamp')
|
|
234
|
+
result = {}
|
|
235
|
+
idToMarket = {}
|
|
236
|
+
marketList = list(self.markets.values())
|
|
237
|
+
for i in range(0, len(marketList)):
|
|
238
|
+
market = marketList[i]
|
|
239
|
+
idToMarket[market['id']] = market
|
|
240
|
+
for i in range(0, len(tickers)):
|
|
241
|
+
ticker = tickers[i]
|
|
242
|
+
id = self.safe_string(ticker, 'id')
|
|
243
|
+
market = idToMarket[id]
|
|
244
|
+
ticker['timestamp'] = timestamp
|
|
245
|
+
if market is not None:
|
|
246
|
+
parsedTicker = self.parse_ticker(ticker, market)
|
|
247
|
+
symbol = parsedTicker['symbol']
|
|
248
|
+
result[symbol] = parsedTicker
|
|
249
|
+
return self.filter_by_array_tickers(result, 'symbol', symbols)
|
|
250
|
+
|
|
251
|
+
def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
252
|
+
"""
|
|
253
|
+
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
254
|
+
https://api-docs.kcex.ir/#be8d9c51a2
|
|
255
|
+
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
256
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
257
|
+
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
258
|
+
"""
|
|
259
|
+
self.load_markets()
|
|
260
|
+
market = self.market(symbol)
|
|
261
|
+
request = {
|
|
262
|
+
'symbol': market['base'] + '_' + market['quote'],
|
|
263
|
+
}
|
|
264
|
+
response = self.publicGetMarket2SpotMarketV2WebSymbolTicker(request)
|
|
265
|
+
tickerdata = self.safe_dict(response, 'data')
|
|
266
|
+
ticker = self.parse_ticker(tickerdata, market)
|
|
267
|
+
return ticker
|
|
268
|
+
|
|
269
|
+
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
|
270
|
+
# {
|
|
271
|
+
# id: "e16a2713c7a44bac9d1d4ef98467e75b",
|
|
272
|
+
# r8: "-0.0261",
|
|
273
|
+
# tzr: "-0.0261",
|
|
274
|
+
# c: "0.0004552",
|
|
275
|
+
# h: "0.0005745",
|
|
276
|
+
# l: "0.0004552",
|
|
277
|
+
# a: "136545.934217",
|
|
278
|
+
# q: "281221205.24",
|
|
279
|
+
# o: "0.0004674",
|
|
280
|
+
# ot: 1749247200000
|
|
281
|
+
# }
|
|
282
|
+
symbol = market['symbol']
|
|
283
|
+
high = self.safe_float(ticker, 'h', 0)
|
|
284
|
+
low = self.safe_float(ticker, 'l', 0)
|
|
285
|
+
open = self.safe_float(ticker, 'o', 0)
|
|
286
|
+
last = self.safe_float(ticker, 'c', 0)
|
|
287
|
+
quoteVolume = self.safe_float(ticker, 'a', 0)
|
|
288
|
+
baseVolume = self.safe_float(ticker, 'q', 0)
|
|
289
|
+
timestamp = self.safe_integer(ticker, 'timestamp', 0)
|
|
290
|
+
return self.safe_ticker({
|
|
291
|
+
'symbol': symbol,
|
|
292
|
+
'timestamp': timestamp,
|
|
293
|
+
'datetime': self.iso8601(timestamp),
|
|
294
|
+
'high': high,
|
|
295
|
+
'low': low,
|
|
296
|
+
'bid': None,
|
|
297
|
+
'bidVolume': None,
|
|
298
|
+
'ask': None,
|
|
299
|
+
'askVolume': None,
|
|
300
|
+
'vwap': None,
|
|
301
|
+
'open': open,
|
|
302
|
+
'close': last,
|
|
303
|
+
'last': last,
|
|
304
|
+
'previousClose': None,
|
|
305
|
+
'change': None,
|
|
306
|
+
'percentage': None,
|
|
307
|
+
'average': None,
|
|
308
|
+
'baseVolume': baseVolume,
|
|
309
|
+
'quoteVolume': quoteVolume,
|
|
310
|
+
'info': ticker,
|
|
311
|
+
}, market)
|
|
312
|
+
|
|
313
|
+
def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
|
|
314
|
+
query = self.omit(params, self.extract_params(path))
|
|
315
|
+
url = self.urls['api']['public'] + '/' + path
|
|
316
|
+
if path == 'market-2/spot/market/v2/web/symbol/ticker':
|
|
317
|
+
url = url + '?' + self.urlencode(query)
|
|
318
|
+
headers = {'Content-Type': 'application/json'}
|
|
319
|
+
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
ccxt/pro/__init__.py
CHANGED
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
|
|
|
@@ -305,20 +305,20 @@ console.log(version, Object.keys(exchanges));
|
|
|
305
305
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
|
306
306
|
|
|
307
307
|
<<<<<<< HEAD
|
|
308
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.
|
|
309
|
-
* unpkg: https://unpkg.com/ccxt@4.
|
|
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
310
|
=======
|
|
311
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.
|
|
312
|
-
* unpkg: https://unpkg.com/ccxt@4.
|
|
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
313
|
>>>>>>> master
|
|
314
314
|
|
|
315
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.
|
|
316
316
|
|
|
317
317
|
```HTML
|
|
318
318
|
<<<<<<< HEAD
|
|
319
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.
|
|
319
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.9.0/dist/ccxt.browser.min.js"></script>
|
|
320
320
|
=======
|
|
321
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.
|
|
321
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.9.0/dist/ccxt.browser.min.js"></script>
|
|
322
322
|
>>>>>>> master
|
|
323
323
|
console.log (ccxt.exchanges) // print all available exchanges
|
|
324
324
|
```
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -129,7 +131,7 @@ ccxt/wavesexchange.py,sha256=y9eMzsVN0QK7fPTVnkKwsOyv5D9amgTCLyQiRTqSGgw,120115
|
|
|
129
131
|
ccxt/whitebit.py,sha256=3ZA8_EuMFj45gqBXhSWsa0gZhxO2Cd430JDEYr2sNgc,151956
|
|
130
132
|
ccxt/woo.py,sha256=69DGLHgIV_xk5ZguuOjR6JRUi4p17dSn9ykhUeqZeL8,180520
|
|
131
133
|
ccxt/woofipro.py,sha256=BlhYlBwfdIjv8hE0CC5nxObF2X6BU6e61nLXEu3wzXY,125453
|
|
132
|
-
ccxt/xt.py,sha256=
|
|
134
|
+
ccxt/xt.py,sha256=15dJ6XgcNEuPHppwV5du3RgYfst5lK0DA14_E1S4c5s,216423
|
|
133
135
|
ccxt/yobit.py,sha256=Mh5NsoZ3csITuRdEScjGqeowlKsUtodUNVjL89BW2m4,57757
|
|
134
136
|
ccxt/zaif.py,sha256=Bn21zden5qjksTPBKIEPKlDEN9yuWP76JifhA3fnFBU,31182
|
|
135
137
|
ccxt/zonda.py,sha256=h8GzoJfu-Md_ZjrT0s75UAeQ5ce-uwDT0WEap8GIKjE,85013
|
|
@@ -167,6 +169,7 @@ ccxt/abstract/bitso.py,sha256=aWtuVoQ3CLMBTukWz3L3-gagyhIeEcEf4G5J48Hz_3k,4025
|
|
|
167
169
|
ccxt/abstract/bitstamp.py,sha256=YcFXFGm3RrCTF-Hi3x3v2wFt3BaH2PYslUVIoZOmcWE,29877
|
|
168
170
|
ccxt/abstract/bitteam.py,sha256=k7txfUy717X9pi_XhXuCkpa7fR0Ul7kQYw7mC4REzuI,3478
|
|
169
171
|
ccxt/abstract/bittrade.py,sha256=12RtB9kVykpBYwQ5JjYa4LK2Fg7MeynJAuOy67F7TP4,14331
|
|
172
|
+
ccxt/abstract/bitunix.py,sha256=1OETXOeuun0F5gsHfytl4-0QChur1ZfyHPykICEOaNc,361
|
|
170
173
|
ccxt/abstract/bitvavo.py,sha256=bPoB0TAmdey7t_O7GBrZpaS9MtwjySWsO1ctqqIuLTw,2357
|
|
171
174
|
ccxt/abstract/blockchaincom.py,sha256=f4bFO3bWjk9ojqGolkzuau06f1CksUAJdLvSc4diA7c,2638
|
|
172
175
|
ccxt/abstract/blofin.py,sha256=HSNIiR_tGKzYlJ-sOtTyXBmvuN9QdhZ8T0ej1lixVMk,9261
|
|
@@ -218,6 +221,7 @@ ccxt/abstract/hyperliquid.py,sha256=YPz-oqjy-ZkDW9chuMZM8pGIUs_5qeP3nQ-d_TSbCyw,
|
|
|
218
221
|
ccxt/abstract/independentreserve.py,sha256=GBa5JX6Wv9rdh2B3a0L4pHCqF6jMLQMcLSOQvAxzq1k,4975
|
|
219
222
|
ccxt/abstract/indodax.py,sha256=E16v8W6Ac9kmV9hFEqf_kwV6VQmK74lc1LEUEkuDpYg,2488
|
|
220
223
|
ccxt/abstract/jibitex.py,sha256=iOktSTvFEp3-kNUeZNIfEY0BPPB9bRlOS2sk7WuI4DM,454
|
|
224
|
+
ccxt/abstract/kcex.py,sha256=ms_exDB-TZhRgb1qLMD1dZo7Yv6rMq-LOtDzPrc01cI,579
|
|
221
225
|
ccxt/abstract/kraken.py,sha256=glI0xp23zwl3KVtmfRPS6yoMlD86IhihUPi6LjFzM6I,5989
|
|
222
226
|
ccxt/abstract/krakenfutures.py,sha256=pu81cKhQgBkQd8F9-Ly3b7xQD-qQ8WLi8EUMfmAUJcM,4080
|
|
223
227
|
ccxt/abstract/kucoin.py,sha256=kVrVEXiigc36arfbSS8lDUMnG7uFdKgUKHIhVb0Am_8,28626
|
|
@@ -268,7 +272,7 @@ ccxt/abstract/xt.py,sha256=n3eX1cItL_J0j8prOViV-C_tRwIFv_GO8JTvZZw8jv8,27837
|
|
|
268
272
|
ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
|
|
269
273
|
ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
|
|
270
274
|
ccxt/abstract/zonda.py,sha256=X-hCW0SdX3YKZWixDyW-O2211M58Rno8kKJ6quY7rw4,7183
|
|
271
|
-
ccxt/async_support/__init__.py,sha256=
|
|
275
|
+
ccxt/async_support/__init__.py,sha256=MkqLGWe3daJOuh48jeZW-qOJxzXJlENLQ0biI0hjoK4,19391
|
|
272
276
|
ccxt/async_support/abantether.py,sha256=uLWn1i6gE8dtZr9BXmXfyT0Y-MzYYZU1DDeXGjFngAM,12064
|
|
273
277
|
ccxt/async_support/afratether.py,sha256=JC9ro3QrE8vE4YUm51xqwciSQhHfTPb98Mw1r6cJyvg,10869
|
|
274
278
|
ccxt/async_support/alpaca.py,sha256=oFpSnAjX-faRgTN4d5rwHa08WRaCkwiAbHGZ7JBe6Ww,81140
|
|
@@ -302,6 +306,7 @@ ccxt/async_support/bitso.py,sha256=MhVpnWKbEVeSpeINmk0XeJVzywuXFCNNp9glz5iSer8,7
|
|
|
302
306
|
ccxt/async_support/bitstamp.py,sha256=4DumFv-Z0pMNAtuNbigk49EGQe7JLFxhqG-4DOBbxqA,97905
|
|
303
307
|
ccxt/async_support/bitteam.py,sha256=2k4h8RT_YzDO6TXB803udxI_-AGZ75IBUFLVmXb_HOM,107084
|
|
304
308
|
ccxt/async_support/bittrade.py,sha256=Tx9aiV8fSN8UbDE1hBqzfHY1DYceUTT-DKkYyu_0-PI,93474
|
|
309
|
+
ccxt/async_support/bitunix.py,sha256=G2PbVeLE4UTqag3DqNIUL8QgvtPPWHmgOz0mPci8hLc,11507
|
|
305
310
|
ccxt/async_support/bitvavo.py,sha256=L4oAFMb_URyPwA1zTcamDjX0P5rJAhNBH7AcojP5wtc,97965
|
|
306
311
|
ccxt/async_support/blockchaincom.py,sha256=Z6pq5V7-0q_xfOVdR2MmBShsxtuGh3v6mNY0jdQqGfY,52116
|
|
307
312
|
ccxt/async_support/blofin.py,sha256=I7-521zgBd6Wpfk4myCvqkjo5AydA49TdXb2h6fCNB4,114274
|
|
@@ -353,6 +358,7 @@ ccxt/async_support/hyperliquid.py,sha256=WwsqsDY-95I8cTzVRcZaqV-JSXoau-XsHAYfOP9
|
|
|
353
358
|
ccxt/async_support/independentreserve.py,sha256=jNDXX5VAsUKDfKRYb_qtqT4UJNimsO1mWbCDxL1lU1s,45112
|
|
354
359
|
ccxt/async_support/indodax.py,sha256=gDiNbkssepp2ARs16EroBSG7DTgCHXa1GgnB3NNSd6o,59611
|
|
355
360
|
ccxt/async_support/jibitex.py,sha256=6g3MdbPusjRr7AOoIq4lUHD9GfGHpJy0ZQ-rjTu4GW4,15883
|
|
361
|
+
ccxt/async_support/kcex.py,sha256=IR0ikKaBQ4PlV6N4vhOAJTnStpdIVp6Zh-_pgcl9ohA,12019
|
|
356
362
|
ccxt/async_support/kraken.py,sha256=YcByHZKnph2cKKFRHbd24b6r1AR57qdeFMZdcyEviAg,149212
|
|
357
363
|
ccxt/async_support/krakenfutures.py,sha256=D0IYSDLPm3hMOy_KMrAqcZLNyoJ89Ur5zJmL597mXc8,123403
|
|
358
364
|
ccxt/async_support/kucoin.py,sha256=1g5zjnf_ad1TiIpaRfc86m6ieBTvrp9V_UcUv3oIHHE,233636
|
|
@@ -399,12 +405,12 @@ ccxt/async_support/wavesexchange.py,sha256=R6ZdfHGjPZCDZS6ZSgoMPDRT3NM6tYoqObF6G
|
|
|
399
405
|
ccxt/async_support/whitebit.py,sha256=p6BqQ9JA_KqeO0YqXmEcXpnJhzqSJn2-r6vK2qDezE8,152780
|
|
400
406
|
ccxt/async_support/woo.py,sha256=NudNZNy3mQBphfcLIoQQb0IdOCBY6MeAsD18ZLOTCr4,181549
|
|
401
407
|
ccxt/async_support/woofipro.py,sha256=QQjxGUdGOOnQoC7VjqmBcUg9vnW50FNCcnxXubyxFcE,126201
|
|
402
|
-
ccxt/async_support/xt.py,sha256=
|
|
408
|
+
ccxt/async_support/xt.py,sha256=G8dHvb_b27wOnDgMX71SFc2DaNOzAh-uyQWH7-lKfqQ,217655
|
|
403
409
|
ccxt/async_support/yobit.py,sha256=FBI7ajvxprTYUqX8zosd7-LntDft8vIEjRTHng5ry8Y,58085
|
|
404
410
|
ccxt/async_support/zaif.py,sha256=mh0PETLMTJV509zhT7jukddg6S7YhvwhCT7zqxC6YLA,31364
|
|
405
411
|
ccxt/async_support/zonda.py,sha256=7hmHotE5JBd8034d1ZbX3oIeWIpQFrQb8aK-dP3Btx0,85327
|
|
406
412
|
ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
|
|
407
|
-
ccxt/async_support/base/exchange.py,sha256=
|
|
413
|
+
ccxt/async_support/base/exchange.py,sha256=xuhTYFsBfNsNTRDZ2tl_tksjpVXBGpiEi5sNZK7YSYY,121268
|
|
408
414
|
ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
|
|
409
415
|
ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
|
|
410
416
|
ccxt/async_support/base/ws/cache.py,sha256=xf2VOtfUwloxSlIQ39M1RGZHWQzyS9IGhB5NX6cDcAc,8370
|
|
@@ -416,10 +422,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
|
|
|
416
422
|
ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
|
|
417
423
|
ccxt/base/decimal_to_precision.py,sha256=3XI30u9YudHbTA438397u5rkdlXa3atxwZEfUus3C4k,6803
|
|
418
424
|
ccxt/base/errors.py,sha256=OGhWNvNtRlJOzFx-n1x3ZjTnaPpfWH0Vc0xACS-MeDw,5012
|
|
419
|
-
ccxt/base/exchange.py,sha256=
|
|
425
|
+
ccxt/base/exchange.py,sha256=cDWt1D0AO43LkUhSvXZDJNKoUq-C1O1ApMhTNlqghUs,334337
|
|
420
426
|
ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
|
|
421
427
|
ccxt/base/types.py,sha256=Gvbogh9i7pPH7Z18xesYeDPribqqwq8uKpOv-YODFBs,11505
|
|
422
|
-
ccxt/pro/__init__.py,sha256=
|
|
428
|
+
ccxt/pro/__init__.py,sha256=Ps66VsmDtcD9yC-pBmql5AcwoSegClnkyhNYWB2nBrs,11463
|
|
423
429
|
ccxt/pro/alpaca.py,sha256=REAEZxdv2pY8xjxBGCBca3nPKpIdleVqr-IVpuVmADg,27637
|
|
424
430
|
ccxt/pro/apex.py,sha256=FLBaLN2FESIh9gqHPVwf0IkkIHpxGHHUcFwgBGBEkrA,42018
|
|
425
431
|
ccxt/pro/ascendex.py,sha256=P0DnIMIA-BIGxyoEQBLGtjH-whRhkPbhe8gU2s5V238,37526
|
|
@@ -742,8 +748,8 @@ ccxt/test/tests_async.py,sha256=D5ZDYYW635E2LFEhJt7HfIjbFVCQl3WSBEFnR-QEQzM,9549
|
|
|
742
748
|
ccxt/test/tests_helpers.py,sha256=egM69A2ZFYeVF5hwC1Qt-c5DOeClY5bv4jowmceeFV8,9736
|
|
743
749
|
ccxt/test/tests_init.py,sha256=qM0-Gb0h0p6CANWTkyYZI7wl-iYOcrPur7aj_OKh7m0,1212
|
|
744
750
|
ccxt/test/tests_sync.py,sha256=Rr72cGmoKqbUIIEJJAGh2_QhBc4rIZlBxVtGCQVd4BE,94440
|
|
745
|
-
ccxt_ir-4.
|
|
746
|
-
ccxt_ir-4.
|
|
747
|
-
ccxt_ir-4.
|
|
748
|
-
ccxt_ir-4.
|
|
749
|
-
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
|