ccxt-ir 4.7.0 → 4.8.0
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.
- package/README.md +7 -7
- package/dist/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +4 -1
- package/dist/cjs/src/abstract/kcex.js +11 -0
- package/dist/cjs/src/kcex.js +336 -0
- package/js/ccxt.d.ts +5 -2
- package/js/ccxt.js +4 -2
- package/js/src/abstract/kcex.d.ts +10 -0
- package/js/src/abstract/kcex.js +11 -0
- package/js/src/base/Exchange.d.ts +2 -2
- package/js/src/coinbaseexchange.d.ts +1 -1
- package/js/src/kcex.d.ts +21 -0
- package/js/src/kcex.js +335 -0
- package/js/src/protobuf/mexc/compiled.d.cts +6 -0
- package/js/src/static_dependencies/fflake/browser.d.ts +5 -5
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
- package/js/src/static_dependencies/qs/formats.d.cts +6 -0
- package/js/src/static_dependencies/qs/index.d.cts +6 -0
- package/js/src/static_dependencies/qs/parse.d.cts +6 -0
- package/js/src/static_dependencies/qs/stringify.d.cts +6 -0
- package/js/src/static_dependencies/qs/utils.d.cts +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/cjs/ccxt.js
CHANGED
|
@@ -96,6 +96,7 @@ var hyperliquid = require('./src/hyperliquid.js');
|
|
|
96
96
|
var independentreserve = require('./src/independentreserve.js');
|
|
97
97
|
var indodax = require('./src/indodax.js');
|
|
98
98
|
var jibitex = require('./src/jibitex.js');
|
|
99
|
+
var kcex = require('./src/kcex.js');
|
|
99
100
|
var kraken = require('./src/kraken.js');
|
|
100
101
|
var krakenfutures = require('./src/krakenfutures.js');
|
|
101
102
|
var kucoin = require('./src/kucoin.js');
|
|
@@ -222,7 +223,7 @@ var xt$1 = require('./src/pro/xt.js');
|
|
|
222
223
|
|
|
223
224
|
//-----------------------------------------------------------------------------
|
|
224
225
|
// this is updated by vss.js when building
|
|
225
|
-
const version = '4.
|
|
226
|
+
const version = '4.8.0';
|
|
226
227
|
Exchange["default"].ccxtVersion = version;
|
|
227
228
|
const exchanges = {
|
|
228
229
|
'abantether': abantether["default"],
|
|
@@ -309,6 +310,7 @@ const exchanges = {
|
|
|
309
310
|
'independentreserve': independentreserve["default"],
|
|
310
311
|
'indodax': indodax["default"],
|
|
311
312
|
'jibitex': jibitex["default"],
|
|
313
|
+
'kcex': kcex["default"],
|
|
312
314
|
'kraken': kraken["default"],
|
|
313
315
|
'krakenfutures': krakenfutures["default"],
|
|
314
316
|
'kucoin': kucoin["default"],
|
|
@@ -570,6 +572,7 @@ exports.hyperliquid = hyperliquid["default"];
|
|
|
570
572
|
exports.independentreserve = independentreserve["default"];
|
|
571
573
|
exports.indodax = indodax["default"];
|
|
572
574
|
exports.jibitex = jibitex["default"];
|
|
575
|
+
exports.kcex = kcex["default"];
|
|
573
576
|
exports.kraken = kraken["default"];
|
|
574
577
|
exports.krakenfutures = krakenfutures["default"];
|
|
575
578
|
exports.kucoin = kucoin["default"];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var Exchange$1 = require('../base/Exchange.js');
|
|
6
|
+
|
|
7
|
+
// ----------------------------------------------------------------------------
|
|
8
|
+
class Exchange extends Exchange$1["default"] {
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports["default"] = Exchange;
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var kcex$1 = require('./abstract/kcex.js');
|
|
6
|
+
|
|
7
|
+
// ----------------------------------------------------------------------------
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
/**
|
|
10
|
+
* @class kcex
|
|
11
|
+
* @augments Exchange
|
|
12
|
+
* @description Set rateLimit to 1000 if fully verified
|
|
13
|
+
*/
|
|
14
|
+
class kcex extends kcex$1["default"] {
|
|
15
|
+
describe() {
|
|
16
|
+
return this.deepExtend(super.describe(), {
|
|
17
|
+
'id': 'kcex',
|
|
18
|
+
'name': 'Kcex',
|
|
19
|
+
'countries': ['SC'],
|
|
20
|
+
'rateLimit': 1000,
|
|
21
|
+
'version': '1',
|
|
22
|
+
'certified': false,
|
|
23
|
+
'pro': false,
|
|
24
|
+
'has': {
|
|
25
|
+
'CORS': undefined,
|
|
26
|
+
'spot': true,
|
|
27
|
+
'margin': false,
|
|
28
|
+
'swap': false,
|
|
29
|
+
'future': true,
|
|
30
|
+
'option': false,
|
|
31
|
+
'addMargin': false,
|
|
32
|
+
'cancelAllOrders': false,
|
|
33
|
+
'cancelOrder': false,
|
|
34
|
+
'cancelOrders': false,
|
|
35
|
+
'createDepositAddress': false,
|
|
36
|
+
'createOrder': false,
|
|
37
|
+
'createStopLimitOrder': false,
|
|
38
|
+
'createStopMarketOrder': false,
|
|
39
|
+
'createStopOrder': false,
|
|
40
|
+
'editOrder': false,
|
|
41
|
+
'fetchBalance': false,
|
|
42
|
+
'fetchBorrowInterest': false,
|
|
43
|
+
'fetchBorrowRateHistories': false,
|
|
44
|
+
'fetchBorrowRateHistory': false,
|
|
45
|
+
'fetchClosedOrders': false,
|
|
46
|
+
'fetchCrossBorrowRate': false,
|
|
47
|
+
'fetchCrossBorrowRates': false,
|
|
48
|
+
'fetchCurrencies': false,
|
|
49
|
+
'fetchDepositAddress': false,
|
|
50
|
+
'fetchDeposits': false,
|
|
51
|
+
'fetchFundingHistory': false,
|
|
52
|
+
'fetchFundingRate': false,
|
|
53
|
+
'fetchFundingRateHistory': false,
|
|
54
|
+
'fetchFundingRates': false,
|
|
55
|
+
'fetchIndexOHLCV': false,
|
|
56
|
+
'fetchIsolatedBorrowRate': false,
|
|
57
|
+
'fetchIsolatedBorrowRates': false,
|
|
58
|
+
'fetchL2OrderBook': false,
|
|
59
|
+
'fetchL3OrderBook': false,
|
|
60
|
+
'fetchLedger': false,
|
|
61
|
+
'fetchLedgerEntry': false,
|
|
62
|
+
'fetchLeverageTiers': false,
|
|
63
|
+
'fetchMarkets': true,
|
|
64
|
+
'fetchMarkOHLCV': false,
|
|
65
|
+
'fetchMyTrades': false,
|
|
66
|
+
'fetchOHLCV': true,
|
|
67
|
+
'fetchOpenInterestHistory': false,
|
|
68
|
+
'fetchOpenOrders': false,
|
|
69
|
+
'fetchOrder': false,
|
|
70
|
+
'fetchOrderBook': true,
|
|
71
|
+
'fetchOrders': false,
|
|
72
|
+
'fetchOrderTrades': 'emulated',
|
|
73
|
+
'fetchPositions': false,
|
|
74
|
+
'fetchPremiumIndexOHLCV': false,
|
|
75
|
+
'fetchTicker': true,
|
|
76
|
+
'fetchTickers': true,
|
|
77
|
+
'fetchTime': false,
|
|
78
|
+
'fetchTrades': false,
|
|
79
|
+
'fetchTradingFee': false,
|
|
80
|
+
'fetchTradingFees': false,
|
|
81
|
+
'fetchWithdrawals': false,
|
|
82
|
+
'setLeverage': false,
|
|
83
|
+
'setMarginMode': false,
|
|
84
|
+
'transfer': false,
|
|
85
|
+
'withdraw': false,
|
|
86
|
+
},
|
|
87
|
+
'comment': 'This comment is optional',
|
|
88
|
+
'urls': {
|
|
89
|
+
'logo': 'https://cdn.arz.digital/cr-odin/img/exchanges/kcex/64x64.png',
|
|
90
|
+
'api': {
|
|
91
|
+
'public': 'https://www.kcex.com/spot/api',
|
|
92
|
+
},
|
|
93
|
+
'www': 'https://www.kcex.com',
|
|
94
|
+
'doc': [
|
|
95
|
+
'https://www.kcex.com',
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
'timeframes': {
|
|
99
|
+
'1m': '1',
|
|
100
|
+
'1h': '60',
|
|
101
|
+
'3h': '180',
|
|
102
|
+
'6h': '360',
|
|
103
|
+
'12h': '720',
|
|
104
|
+
'1d': '1D',
|
|
105
|
+
},
|
|
106
|
+
'api': {
|
|
107
|
+
'public': {
|
|
108
|
+
'get': {
|
|
109
|
+
'market-2/spot/market/v2/web/symbols': 1,
|
|
110
|
+
'market-2/spot/market/v2/web/tickers': 1,
|
|
111
|
+
'market-2/spot/market/v2/web/symbol/ticker': 1,
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
// 'fees': {
|
|
116
|
+
// 'trading': {
|
|
117
|
+
// 'tierBased': false,
|
|
118
|
+
// 'percentage': true,
|
|
119
|
+
// 'maker': this.parseNumber ('0.001'),
|
|
120
|
+
// 'taker': this.parseNumber ('0.001'),
|
|
121
|
+
// },
|
|
122
|
+
// },
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
async fetchMarkets(params = {}) {
|
|
126
|
+
/**
|
|
127
|
+
* @method
|
|
128
|
+
* @name kcex#fetchMarkets
|
|
129
|
+
* @description retrieves data on all markets for kcex
|
|
130
|
+
* @see https://api-docs.kcex.ir/#be8d9c51a2
|
|
131
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
132
|
+
* @returns {object[]} an array of objects representing market data
|
|
133
|
+
*/
|
|
134
|
+
const response = await this.publicGetMarket2SpotMarketV2WebSymbols(params);
|
|
135
|
+
const data = this.safeDict(response, 'data');
|
|
136
|
+
const USDTmarketList = this.safeList(data, 'USDT');
|
|
137
|
+
const USDCmarketList = this.safeList(data, 'USDC');
|
|
138
|
+
const marketList = this.arrayConcat(USDTmarketList, USDCmarketList);
|
|
139
|
+
const result = [];
|
|
140
|
+
for (let i = 0; i < marketList.length; i++) {
|
|
141
|
+
const market = this.parseMarket(marketList[i]);
|
|
142
|
+
result.push(market);
|
|
143
|
+
}
|
|
144
|
+
return result;
|
|
145
|
+
}
|
|
146
|
+
parseMarket(market) {
|
|
147
|
+
// {
|
|
148
|
+
// id: "e16a2713c7a44bac9d1d4ef98467e75b",
|
|
149
|
+
// mcd: "20f24a571c8544c0b1362794b1804456",
|
|
150
|
+
// mnm: "USDT",
|
|
151
|
+
// cd: "18f40e5428054a4b9c69ddb0cce486f3",
|
|
152
|
+
// vn: "AP",
|
|
153
|
+
// fn: "AMERICA PARTY",
|
|
154
|
+
// srt: 322,
|
|
155
|
+
// sts: 1,
|
|
156
|
+
// in: "F20250607111147267iXgSHIElFbibIQ",
|
|
157
|
+
// fot: 1749247200000,
|
|
158
|
+
// ot: 1749267000000,
|
|
159
|
+
// cp: [
|
|
160
|
+
// "common_section_meme",
|
|
161
|
+
// "common_section_solana"
|
|
162
|
+
// ],
|
|
163
|
+
// ps: 7,
|
|
164
|
+
// qs: 2,
|
|
165
|
+
// cdm: 1
|
|
166
|
+
// }
|
|
167
|
+
const id = this.safeString(market, 'id');
|
|
168
|
+
let baseId = this.safeString(market, 'vn');
|
|
169
|
+
let quoteId = this.safeString(market, 'mnm');
|
|
170
|
+
const base = this.safeCurrencyCode(baseId);
|
|
171
|
+
const quote = this.safeCurrencyCode(quoteId);
|
|
172
|
+
baseId = baseId.toLowerCase();
|
|
173
|
+
quoteId = quoteId.toLowerCase();
|
|
174
|
+
return {
|
|
175
|
+
'id': id,
|
|
176
|
+
'symbol': base + '/' + quote,
|
|
177
|
+
'base': base,
|
|
178
|
+
'quote': quote,
|
|
179
|
+
'settle': undefined,
|
|
180
|
+
'baseId': baseId,
|
|
181
|
+
'quoteId': quoteId,
|
|
182
|
+
'settleId': undefined,
|
|
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': undefined,
|
|
192
|
+
'inverse': undefined,
|
|
193
|
+
'contractSize': undefined,
|
|
194
|
+
'expiry': undefined,
|
|
195
|
+
'expiryDatetime': undefined,
|
|
196
|
+
'strike': undefined,
|
|
197
|
+
'optionType': undefined,
|
|
198
|
+
'precision': {
|
|
199
|
+
'amount': undefined,
|
|
200
|
+
'price': undefined,
|
|
201
|
+
},
|
|
202
|
+
'limits': {
|
|
203
|
+
'leverage': {
|
|
204
|
+
'min': undefined,
|
|
205
|
+
'max': undefined,
|
|
206
|
+
},
|
|
207
|
+
'amount': {
|
|
208
|
+
'min': undefined,
|
|
209
|
+
'max': undefined,
|
|
210
|
+
},
|
|
211
|
+
'price': {
|
|
212
|
+
'min': undefined,
|
|
213
|
+
'max': undefined,
|
|
214
|
+
},
|
|
215
|
+
'cost': {
|
|
216
|
+
'min': undefined,
|
|
217
|
+
'max': undefined,
|
|
218
|
+
},
|
|
219
|
+
},
|
|
220
|
+
'created': undefined,
|
|
221
|
+
'info': market,
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
async fetchTickers(symbols = undefined, params = {}) {
|
|
225
|
+
/**
|
|
226
|
+
* @method
|
|
227
|
+
* @name kcex#fetchTickers
|
|
228
|
+
* @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
229
|
+
* @see https://api-docs.kcex.ir/#be8d9c51a2
|
|
230
|
+
* @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
231
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
232
|
+
* @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
233
|
+
*/
|
|
234
|
+
await this.loadMarkets();
|
|
235
|
+
if (symbols !== undefined) {
|
|
236
|
+
symbols = this.marketSymbols(symbols);
|
|
237
|
+
}
|
|
238
|
+
const response = await this.publicGetMarket2SpotMarketV2WebTickers(params);
|
|
239
|
+
const tickers = this.safeList(response, 'data');
|
|
240
|
+
const timestamp = this.safeInteger(response, 'timestamp');
|
|
241
|
+
const result = {};
|
|
242
|
+
const idToMarket = {};
|
|
243
|
+
const marketList = Object.values(this.markets);
|
|
244
|
+
for (let i = 0; i < marketList.length; i++) {
|
|
245
|
+
const market = marketList[i];
|
|
246
|
+
idToMarket[market['id']] = market;
|
|
247
|
+
}
|
|
248
|
+
for (let i = 0; i < tickers.length; i++) {
|
|
249
|
+
const ticker = tickers[i];
|
|
250
|
+
const id = this.safeString(ticker, 'id');
|
|
251
|
+
const market = idToMarket[id];
|
|
252
|
+
ticker['timestamp'] = timestamp;
|
|
253
|
+
if (market !== undefined) {
|
|
254
|
+
const parsedTicker = this.parseTicker(ticker, market);
|
|
255
|
+
const symbol = parsedTicker['symbol'];
|
|
256
|
+
result[symbol] = parsedTicker;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return this.filterByArrayTickers(result, 'symbol', symbols);
|
|
260
|
+
}
|
|
261
|
+
async fetchTicker(symbol, params = {}) {
|
|
262
|
+
/**
|
|
263
|
+
* @method
|
|
264
|
+
* @name kcex#fetchTicker
|
|
265
|
+
* @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
266
|
+
* @see https://api-docs.kcex.ir/#be8d9c51a2
|
|
267
|
+
* @param {string} symbol unified symbol of the market to fetch the ticker for
|
|
268
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
269
|
+
* @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
270
|
+
*/
|
|
271
|
+
await this.loadMarkets();
|
|
272
|
+
const market = this.market(symbol);
|
|
273
|
+
const request = {
|
|
274
|
+
'symbol': market['base'] + '_' + market['quote'],
|
|
275
|
+
};
|
|
276
|
+
const response = await this.publicGetMarket2SpotMarketV2WebSymbolTicker(request);
|
|
277
|
+
const tickerdata = this.safeDict(response, 'data');
|
|
278
|
+
const ticker = this.parseTicker(tickerdata, market);
|
|
279
|
+
return ticker;
|
|
280
|
+
}
|
|
281
|
+
parseTicker(ticker, market = undefined) {
|
|
282
|
+
// {
|
|
283
|
+
// id: "e16a2713c7a44bac9d1d4ef98467e75b",
|
|
284
|
+
// r8: "-0.0261",
|
|
285
|
+
// tzr: "-0.0261",
|
|
286
|
+
// c: "0.0004552",
|
|
287
|
+
// h: "0.0005745",
|
|
288
|
+
// l: "0.0004552",
|
|
289
|
+
// a: "136545.934217",
|
|
290
|
+
// q: "281221205.24",
|
|
291
|
+
// o: "0.0004674",
|
|
292
|
+
// ot: 1749247200000
|
|
293
|
+
// }
|
|
294
|
+
const symbol = market['symbol'];
|
|
295
|
+
const high = this.safeFloat(ticker, 'h', 0);
|
|
296
|
+
const low = this.safeFloat(ticker, 'l', 0);
|
|
297
|
+
const open = this.safeFloat(ticker, 'o', 0);
|
|
298
|
+
const last = this.safeFloat(ticker, 'c', 0);
|
|
299
|
+
const quoteVolume = this.safeFloat(ticker, 'a', 0);
|
|
300
|
+
const baseVolume = this.safeFloat(ticker, 'q', 0);
|
|
301
|
+
const timestamp = this.safeInteger(ticker, 'timestamp', 0);
|
|
302
|
+
return this.safeTicker({
|
|
303
|
+
'symbol': symbol,
|
|
304
|
+
'timestamp': timestamp,
|
|
305
|
+
'datetime': this.iso8601(timestamp),
|
|
306
|
+
'high': high,
|
|
307
|
+
'low': low,
|
|
308
|
+
'bid': undefined,
|
|
309
|
+
'bidVolume': undefined,
|
|
310
|
+
'ask': undefined,
|
|
311
|
+
'askVolume': undefined,
|
|
312
|
+
'vwap': undefined,
|
|
313
|
+
'open': open,
|
|
314
|
+
'close': last,
|
|
315
|
+
'last': last,
|
|
316
|
+
'previousClose': undefined,
|
|
317
|
+
'change': undefined,
|
|
318
|
+
'percentage': undefined,
|
|
319
|
+
'average': undefined,
|
|
320
|
+
'baseVolume': baseVolume,
|
|
321
|
+
'quoteVolume': quoteVolume,
|
|
322
|
+
'info': ticker,
|
|
323
|
+
}, market);
|
|
324
|
+
}
|
|
325
|
+
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
326
|
+
const query = this.omit(params, this.extractParams(path));
|
|
327
|
+
let url = this.urls['api']['public'] + '/' + path;
|
|
328
|
+
if (path === 'market-2/spot/market/v2/web/symbol/ticker') {
|
|
329
|
+
url = url + '?' + this.urlencode(query);
|
|
330
|
+
}
|
|
331
|
+
headers = { 'Content-Type': 'application/json' };
|
|
332
|
+
return { 'url': url, 'method': method, 'body': body, 'headers': headers };
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
exports["default"] = kcex;
|
package/js/ccxt.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import * as functions from './src/base/functions.js';
|
|
|
4
4
|
import * as errors from './src/base/errors.js';
|
|
5
5
|
import type { Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketMarginModes, MarketInterface, Trade, Order, OrderBook, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers, LongShortRatio, OrderBooks, OpenInterests, ConstructorArgs } from './src/base/types.js';
|
|
6
6
|
import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError } from './src/base/errors.js';
|
|
7
|
-
declare const version = "4.
|
|
7
|
+
declare const version = "4.8.0";
|
|
8
8
|
import abantether from './src/abantether.js';
|
|
9
9
|
import afratether from './src/afratether.js';
|
|
10
10
|
import alpaca from './src/alpaca.js';
|
|
@@ -89,6 +89,7 @@ import hyperliquid from './src/hyperliquid.js';
|
|
|
89
89
|
import independentreserve from './src/independentreserve.js';
|
|
90
90
|
import indodax from './src/indodax.js';
|
|
91
91
|
import jibitex from './src/jibitex.js';
|
|
92
|
+
import kcex from './src/kcex.js';
|
|
92
93
|
import kraken from './src/kraken.js';
|
|
93
94
|
import krakenfutures from './src/krakenfutures.js';
|
|
94
95
|
import kucoin from './src/kucoin.js';
|
|
@@ -297,6 +298,7 @@ declare const exchanges: {
|
|
|
297
298
|
independentreserve: typeof independentreserve;
|
|
298
299
|
indodax: typeof indodax;
|
|
299
300
|
jibitex: typeof jibitex;
|
|
301
|
+
kcex: typeof kcex;
|
|
300
302
|
kraken: typeof kraken;
|
|
301
303
|
krakenfutures: typeof krakenfutures;
|
|
302
304
|
kucoin: typeof kucoin;
|
|
@@ -588,6 +590,7 @@ declare const ccxt: {
|
|
|
588
590
|
independentreserve: typeof independentreserve;
|
|
589
591
|
indodax: typeof indodax;
|
|
590
592
|
jibitex: typeof jibitex;
|
|
593
|
+
kcex: typeof kcex;
|
|
591
594
|
kraken: typeof kraken;
|
|
592
595
|
krakenfutures: typeof krakenfutures;
|
|
593
596
|
kucoin: typeof kucoin;
|
|
@@ -639,5 +642,5 @@ declare const ccxt: {
|
|
|
639
642
|
zaif: typeof zaif;
|
|
640
643
|
zonda: typeof zonda;
|
|
641
644
|
} & typeof functions & typeof errors;
|
|
642
|
-
export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError, Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, ConstructorArgs, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketMarginModes, MarketInterface, Trade, Order, OrderBook, OrderBooks, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, OpenInterests, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, LongShortRatio, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers, abantether, afratether, alpaca, apex, arzinja, arzplus, ascendex, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit24, bit2c, bitbank, bitbns, bitfinex, bitflyer, bitget, bithumb, bitimen, bitir, bitmart, bitmex, bitopro, bitpin, bitrue, bitso, bitstamp, bitteam, bittrade, bitvavo, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, cex, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, defx, delta, deribit, derive, digifinex, ellipx, eterex, excoino, exir, exmo, exnovin, farhadexchange, fmfwio, foxbit, gate, gateio, gemini, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, jibitex, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mercado, mexc, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, oxfun, p2b, paradex, paymium, phemex, poloniex, probit, ramzinex, sarmayex, sarrafex, tabdeal, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
|
|
645
|
+
export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError, Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, ConstructorArgs, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketMarginModes, MarketInterface, Trade, Order, OrderBook, OrderBooks, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, OpenInterests, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, LongShortRatio, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers, abantether, afratether, alpaca, apex, arzinja, arzplus, ascendex, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit24, bit2c, bitbank, bitbns, bitfinex, bitflyer, bitget, bithumb, bitimen, bitir, bitmart, bitmex, bitopro, bitpin, bitrue, bitso, bitstamp, bitteam, bittrade, bitvavo, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, cex, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, defx, delta, deribit, derive, digifinex, ellipx, eterex, excoino, exir, exmo, exnovin, farhadexchange, fmfwio, foxbit, gate, gateio, gemini, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, jibitex, kcex, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mercado, mexc, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, oxfun, p2b, paradex, paymium, phemex, poloniex, probit, ramzinex, sarmayex, sarrafex, tabdeal, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
|
|
643
646
|
export default ccxt;
|
package/js/ccxt.js
CHANGED
|
@@ -38,7 +38,7 @@ import * as errors from './src/base/errors.js';
|
|
|
38
38
|
import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError } from './src/base/errors.js';
|
|
39
39
|
//-----------------------------------------------------------------------------
|
|
40
40
|
// this is updated by vss.js when building
|
|
41
|
-
const version = '4.
|
|
41
|
+
const version = '4.8.0';
|
|
42
42
|
Exchange.ccxtVersion = version;
|
|
43
43
|
//-----------------------------------------------------------------------------
|
|
44
44
|
import abantether from './src/abantether.js';
|
|
@@ -125,6 +125,7 @@ import hyperliquid from './src/hyperliquid.js';
|
|
|
125
125
|
import independentreserve from './src/independentreserve.js';
|
|
126
126
|
import indodax from './src/indodax.js';
|
|
127
127
|
import jibitex from './src/jibitex.js';
|
|
128
|
+
import kcex from './src/kcex.js';
|
|
128
129
|
import kraken from './src/kraken.js';
|
|
129
130
|
import krakenfutures from './src/krakenfutures.js';
|
|
130
131
|
import kucoin from './src/kucoin.js';
|
|
@@ -334,6 +335,7 @@ const exchanges = {
|
|
|
334
335
|
'independentreserve': independentreserve,
|
|
335
336
|
'indodax': indodax,
|
|
336
337
|
'jibitex': jibitex,
|
|
338
|
+
'kcex': kcex,
|
|
337
339
|
'kraken': kraken,
|
|
338
340
|
'krakenfutures': krakenfutures,
|
|
339
341
|
'kucoin': kucoin,
|
|
@@ -472,6 +474,6 @@ pro.exchanges = Object.keys(pro);
|
|
|
472
474
|
pro['Exchange'] = Exchange; // now the same for rest and ts
|
|
473
475
|
//-----------------------------------------------------------------------------
|
|
474
476
|
const ccxt = Object.assign({ version, Exchange, Precise, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, functions, errors);
|
|
475
|
-
export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError, abantether, afratether, alpaca, apex, arzinja, arzplus, ascendex, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit24, bit2c, bitbank, bitbns, bitfinex, bitflyer, bitget, bithumb, bitimen, bitir, bitmart, bitmex, bitopro, bitpin, bitrue, bitso, bitstamp, bitteam, bittrade, bitvavo, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, cex, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, defx, delta, deribit, derive, digifinex, ellipx, eterex, excoino, exir, exmo, exnovin, farhadexchange, fmfwio, foxbit, gate, gateio, gemini, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, jibitex, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mercado, mexc, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, oxfun, p2b, paradex, paymium, phemex, poloniex, probit, ramzinex, sarmayex, sarrafex, tabdeal, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
|
|
477
|
+
export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError, abantether, afratether, alpaca, apex, arzinja, arzplus, ascendex, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit24, bit2c, bitbank, bitbns, bitfinex, bitflyer, bitget, bithumb, bitimen, bitir, bitmart, bitmex, bitopro, bitpin, bitrue, bitso, bitstamp, bitteam, bittrade, bitvavo, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, cex, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, defx, delta, deribit, derive, digifinex, ellipx, eterex, excoino, exir, exmo, exnovin, farhadexchange, fmfwio, foxbit, gate, gateio, gemini, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, jibitex, kcex, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mercado, mexc, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, oxfun, p2b, paradex, paymium, phemex, poloniex, probit, ramzinex, sarmayex, sarrafex, tabdeal, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
|
|
476
478
|
export default ccxt;
|
|
477
479
|
//-----------------------------------------------------------------------------
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { implicitReturnType } from '../base/types.js';
|
|
2
|
+
import { Exchange as _Exchange } from '../base/Exchange.js';
|
|
3
|
+
interface Exchange {
|
|
4
|
+
publicGetMarket2SpotMarketV2WebSymbols(params?: {}): Promise<implicitReturnType>;
|
|
5
|
+
publicGetMarket2SpotMarketV2WebTickers(params?: {}): Promise<implicitReturnType>;
|
|
6
|
+
publicGetMarket2SpotMarketV2WebSymbolTicker(params?: {}): Promise<implicitReturnType>;
|
|
7
|
+
}
|
|
8
|
+
declare abstract class Exchange extends _Exchange {
|
|
9
|
+
}
|
|
10
|
+
export default Exchange;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
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
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
7
|
+
// -------------------------------------------------------------------------------
|
|
8
|
+
import { Exchange as _Exchange } from '../base/Exchange.js';
|
|
9
|
+
class Exchange extends _Exchange {
|
|
10
|
+
}
|
|
11
|
+
export default Exchange;
|
|
@@ -252,7 +252,7 @@ export default class Exchange {
|
|
|
252
252
|
outputLen: number;
|
|
253
253
|
blockLen: number;
|
|
254
254
|
create(): import("../static_dependencies/noble-hashes/utils.js").Hash<import("../static_dependencies/noble-hashes/utils.js").Hash<any>>;
|
|
255
|
-
}, digest?: "
|
|
255
|
+
}, digest?: "hex" | "base64" | "binary") => any;
|
|
256
256
|
arrayConcat: (a: any[], b: any[]) => any[];
|
|
257
257
|
encode: (str: string) => Uint8Array;
|
|
258
258
|
urlencode: (object: object, sort?: boolean) => string;
|
|
@@ -261,7 +261,7 @@ export default class Exchange {
|
|
|
261
261
|
outputLen: number;
|
|
262
262
|
blockLen: number;
|
|
263
263
|
create(): import("../static_dependencies/noble-hashes/utils.js").Hash<import("../static_dependencies/noble-hashes/utils.js").Hash<any>>;
|
|
264
|
-
}, digest?: "
|
|
264
|
+
}, digest?: "hex" | "base64" | "binary") => any;
|
|
265
265
|
numberToString: typeof functions.numberToString;
|
|
266
266
|
parseTimeframe: (timeframe: string) => number;
|
|
267
267
|
safeInteger2: (o: any, k1: IndexType, k2: IndexType, $default?: number) => number;
|
|
@@ -311,7 +311,7 @@ export default class coinbaseexchange extends Exchange {
|
|
|
311
311
|
* @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
|
|
312
312
|
*/
|
|
313
313
|
fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
|
|
314
|
-
parseTransactionStatus(transaction: any): "
|
|
314
|
+
parseTransactionStatus(transaction: any): "canceled" | "pending" | "ok" | "failed";
|
|
315
315
|
parseTransaction(transaction: Dict, currency?: Currency): Transaction;
|
|
316
316
|
/**
|
|
317
317
|
* @method
|
package/js/src/kcex.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import Exchange from './abstract/kcex.js';
|
|
2
|
+
import { Market, Strings, Ticker, Tickers } from './base/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* @class kcex
|
|
5
|
+
* @augments Exchange
|
|
6
|
+
* @description Set rateLimit to 1000 if fully verified
|
|
7
|
+
*/
|
|
8
|
+
export default class kcex extends Exchange {
|
|
9
|
+
describe(): any;
|
|
10
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
11
|
+
parseMarket(market: any): Market;
|
|
12
|
+
fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
13
|
+
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
14
|
+
parseTicker(ticker: any, market?: Market): Ticker;
|
|
15
|
+
sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
|
|
16
|
+
url: string;
|
|
17
|
+
method: string;
|
|
18
|
+
body: any;
|
|
19
|
+
headers: any;
|
|
20
|
+
};
|
|
21
|
+
}
|