ccxt-ir 4.9.22 → 4.9.25
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 +3 -3
- package/dist/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +4 -1
- package/dist/cjs/src/abstract/iranexchange.js +11 -0
- package/dist/cjs/src/iranexchange.js +400 -0
- package/js/ccxt.d.ts +5 -2
- package/js/ccxt.js +4 -2
- package/js/src/abstract/iranexchange.d.ts +9 -0
- package/js/src/abstract/iranexchange.js +11 -0
- package/js/src/base/Exchange.d.ts +2 -2
- package/js/src/coinbaseexchange.d.ts +1 -1
- package/js/src/iranexchange.d.ts +21 -0
- package/js/src/iranexchange.js +399 -0
- package/js/src/protobuf/mexc/compiled.d.cts +0 -6
- package/js/src/static_dependencies/fflake/browser.d.ts +5 -5
- package/js/src/static_dependencies/qs/formats.d.cts +0 -6
- package/js/src/static_dependencies/qs/index.d.cts +0 -6
- package/js/src/static_dependencies/qs/parse.d.cts +0 -6
- package/js/src/static_dependencies/qs/stringify.d.cts +0 -6
- package/js/src/static_dependencies/qs/utils.d.cts +0 -6
- package/package.json +1 -1
package/dist/cjs/ccxt.js
CHANGED
|
@@ -100,6 +100,7 @@ var huobi = require('./src/huobi.js');
|
|
|
100
100
|
var hyperliquid = require('./src/hyperliquid.js');
|
|
101
101
|
var independentreserve = require('./src/independentreserve.js');
|
|
102
102
|
var indodax = require('./src/indodax.js');
|
|
103
|
+
var iranexchange = require('./src/iranexchange.js');
|
|
103
104
|
var jibitex = require('./src/jibitex.js');
|
|
104
105
|
var kcex = require('./src/kcex.js');
|
|
105
106
|
var kifpoolme = require('./src/kifpoolme.js');
|
|
@@ -233,7 +234,7 @@ var xt$1 = require('./src/pro/xt.js');
|
|
|
233
234
|
|
|
234
235
|
//-----------------------------------------------------------------------------
|
|
235
236
|
// this is updated by vss.js when building
|
|
236
|
-
const version = '4.9.
|
|
237
|
+
const version = '4.9.25';
|
|
237
238
|
Exchange["default"].ccxtVersion = version;
|
|
238
239
|
const exchanges = {
|
|
239
240
|
'abantether': abantether["default"],
|
|
@@ -324,6 +325,7 @@ const exchanges = {
|
|
|
324
325
|
'hyperliquid': hyperliquid["default"],
|
|
325
326
|
'independentreserve': independentreserve["default"],
|
|
326
327
|
'indodax': indodax["default"],
|
|
328
|
+
'iranexchange': iranexchange["default"],
|
|
327
329
|
'jibitex': jibitex["default"],
|
|
328
330
|
'kcex': kcex["default"],
|
|
329
331
|
'kifpoolme': kifpoolme["default"],
|
|
@@ -596,6 +598,7 @@ exports.huobi = huobi["default"];
|
|
|
596
598
|
exports.hyperliquid = hyperliquid["default"];
|
|
597
599
|
exports.independentreserve = independentreserve["default"];
|
|
598
600
|
exports.indodax = indodax["default"];
|
|
601
|
+
exports.iranexchange = iranexchange["default"];
|
|
599
602
|
exports.jibitex = jibitex["default"];
|
|
600
603
|
exports.kcex = kcex["default"];
|
|
601
604
|
exports.kifpoolme = kifpoolme["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,400 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var iranexchange$1 = require('./abstract/iranexchange.js');
|
|
6
|
+
|
|
7
|
+
// ----------------------------------------------------------------------------
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
/**
|
|
10
|
+
* @class iranexchange
|
|
11
|
+
* @augments Exchange
|
|
12
|
+
* @description Set rateLimit to 1000 if fully verified
|
|
13
|
+
*/
|
|
14
|
+
class iranexchange extends iranexchange$1["default"] {
|
|
15
|
+
describe() {
|
|
16
|
+
return this.deepExtend(super.describe(), {
|
|
17
|
+
'id': 'iranexchange',
|
|
18
|
+
'name': 'Iran Exchange',
|
|
19
|
+
'countries': ['IR'],
|
|
20
|
+
'rateLimit': 1000,
|
|
21
|
+
'version': '1',
|
|
22
|
+
'certified': false,
|
|
23
|
+
'pro': false,
|
|
24
|
+
'timeout': 30000,
|
|
25
|
+
'has': {
|
|
26
|
+
'CORS': undefined,
|
|
27
|
+
'spot': false,
|
|
28
|
+
'margin': false,
|
|
29
|
+
'swap': false,
|
|
30
|
+
'future': false,
|
|
31
|
+
'option': false,
|
|
32
|
+
'addMargin': false,
|
|
33
|
+
'cancelAllOrders': false,
|
|
34
|
+
'cancelOrder': false,
|
|
35
|
+
'cancelOrders': false,
|
|
36
|
+
'createDepositAddress': false,
|
|
37
|
+
'createOrder': false,
|
|
38
|
+
'createStopLimitOrder': false,
|
|
39
|
+
'createStopMarketOrder': false,
|
|
40
|
+
'createStopOrder': false,
|
|
41
|
+
'editOrder': false,
|
|
42
|
+
'fetchBalance': false,
|
|
43
|
+
'fetchBorrowInterest': false,
|
|
44
|
+
'fetchBorrowRateHistories': false,
|
|
45
|
+
'fetchBorrowRateHistory': false,
|
|
46
|
+
'fetchClosedOrders': false,
|
|
47
|
+
'fetchCrossBorrowRate': false,
|
|
48
|
+
'fetchCrossBorrowRates': false,
|
|
49
|
+
'fetchCurrencies': false,
|
|
50
|
+
'fetchDepositAddress': false,
|
|
51
|
+
'fetchDeposits': false,
|
|
52
|
+
'fetchFundingHistory': false,
|
|
53
|
+
'fetchFundingRate': false,
|
|
54
|
+
'fetchFundingRateHistory': false,
|
|
55
|
+
'fetchFundingRates': false,
|
|
56
|
+
'fetchIndexOHLCV': false,
|
|
57
|
+
'fetchIsolatedBorrowRate': false,
|
|
58
|
+
'fetchIsolatedBorrowRates': false,
|
|
59
|
+
'fetchL2OrderBook': false,
|
|
60
|
+
'fetchLedger': false,
|
|
61
|
+
'fetchLedgerEntry': false,
|
|
62
|
+
'fetchLeverageTiers': false,
|
|
63
|
+
'fetchMarkets': true,
|
|
64
|
+
'fetchMarkOHLCV': false,
|
|
65
|
+
'fetchMyTrades': false,
|
|
66
|
+
'fetchOHLCV': false,
|
|
67
|
+
'fetchOpenInterestHistory': false,
|
|
68
|
+
'fetchOpenOrders': false,
|
|
69
|
+
'fetchOrder': false,
|
|
70
|
+
'fetchOrderBook': false,
|
|
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
|
+
'otc': true,
|
|
83
|
+
'setLeverage': false,
|
|
84
|
+
'setMarginMode': false,
|
|
85
|
+
'transfer': false,
|
|
86
|
+
'withdraw': false,
|
|
87
|
+
},
|
|
88
|
+
'comment': 'This comment is optional',
|
|
89
|
+
'urls': {
|
|
90
|
+
'logo': 'https://cdn.arz.digital/cr-odin/img/exchanges/iran-exchange/64x64.png',
|
|
91
|
+
'api': {
|
|
92
|
+
'public': 'https://api.iranexchange.com/api/public/modules/crypto',
|
|
93
|
+
},
|
|
94
|
+
'www': 'https://iranexchange.com/',
|
|
95
|
+
'doc': [
|
|
96
|
+
'https://iranexchange.com/',
|
|
97
|
+
],
|
|
98
|
+
},
|
|
99
|
+
'api': {
|
|
100
|
+
'public': {
|
|
101
|
+
'get': {
|
|
102
|
+
'v1/client/listProduct': 1,
|
|
103
|
+
'v1/client/getBySymbol': 1,
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
'fees': {
|
|
108
|
+
'trading': {
|
|
109
|
+
'tierBased': false,
|
|
110
|
+
'percentage': true,
|
|
111
|
+
'maker': this.parseNumber('0.001'),
|
|
112
|
+
'taker': this.parseNumber('0.001'),
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
async fetchMarkets(params = {}) {
|
|
118
|
+
/**
|
|
119
|
+
* @method
|
|
120
|
+
* @name iranexchange#fetchMarkets
|
|
121
|
+
* @description retrieves data on all markets for iranexchange
|
|
122
|
+
* @see https://iranexchange.co/
|
|
123
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
124
|
+
* @returns {object[]} an array of objects representing market data
|
|
125
|
+
*/
|
|
126
|
+
const response = await this.publicGetV1ClientListProduct();
|
|
127
|
+
const markets = this.safeList(response, 'data');
|
|
128
|
+
const result = [];
|
|
129
|
+
for (let i = 0; i < markets.length; i++) {
|
|
130
|
+
const market = this.parseMarket(markets[i]);
|
|
131
|
+
result.push(market);
|
|
132
|
+
}
|
|
133
|
+
return result;
|
|
134
|
+
}
|
|
135
|
+
parseMarket(market) {
|
|
136
|
+
// {
|
|
137
|
+
// _id: "60b08a57b202353abb592032",
|
|
138
|
+
// name: "Bitcoin",
|
|
139
|
+
// fa_name: "بیت کوین",
|
|
140
|
+
// symbol: "BTC",
|
|
141
|
+
// slug: "bitcoin",
|
|
142
|
+
// is_sell_to_customer_active: 1,
|
|
143
|
+
// is_fast_sell_to_customer_active: 1,
|
|
144
|
+
// is_buy_from_customer_active: 1,
|
|
145
|
+
// logo: "https://iranexchange.com/strapi/media/BTC_78d99b9d12.png",
|
|
146
|
+
// dollar_price: 89240.18,
|
|
147
|
+
// sell_to_iranicard_currency_price: 1234526,
|
|
148
|
+
// buy_from_iranicard_currency_price: 1239474,
|
|
149
|
+
// fast_sell_to_iranicard_currency_price: 1234526,
|
|
150
|
+
// buy_from_iranicard_network_list: [
|
|
151
|
+
// {
|
|
152
|
+
// network: "BTC",
|
|
153
|
+
// name: "Bitcoin",
|
|
154
|
+
// addressRegex: "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^[(bc1q)|(bc1p)][0-9A-Za-z]{37,62}$",
|
|
155
|
+
// coin: "BTC",
|
|
156
|
+
// withdrawEnable: true,
|
|
157
|
+
// depositEnable: true,
|
|
158
|
+
// withdrawMin: "0.000100000",
|
|
159
|
+
// withdrawMax: null,
|
|
160
|
+
// withdrawFee: "0.000100000",
|
|
161
|
+
// sameAddress: false,
|
|
162
|
+
// memoRegex: null,
|
|
163
|
+
// tradeEnable: true
|
|
164
|
+
// }
|
|
165
|
+
// ],
|
|
166
|
+
// sell_to_iranicard_network_list: [
|
|
167
|
+
// {
|
|
168
|
+
// network: "BTC",
|
|
169
|
+
// name: "Bitcoin",
|
|
170
|
+
// addressRegex: "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^[(bc1q)|(bc1p)][0-9A-Za-z]{37,62}$",
|
|
171
|
+
// coin: "BTC",
|
|
172
|
+
// withdrawEnable: true,
|
|
173
|
+
// depositEnable: true,
|
|
174
|
+
// withdrawMin: "0.000100000",
|
|
175
|
+
// withdrawMax: null,
|
|
176
|
+
// withdrawFee: "0.000100000",
|
|
177
|
+
// sameAddress: false,
|
|
178
|
+
// memoRegex: null,
|
|
179
|
+
// tradeEnable: true
|
|
180
|
+
// }
|
|
181
|
+
// ],
|
|
182
|
+
// is_price_maker_active: 1,
|
|
183
|
+
// quotation: {
|
|
184
|
+
// maxPrice: "90199.99",
|
|
185
|
+
// minPrice: "88925",
|
|
186
|
+
// dailyChangePercent: "-0.26"
|
|
187
|
+
// },
|
|
188
|
+
// dailyChangePercent: -0.26,
|
|
189
|
+
// order: 0,
|
|
190
|
+
// stock_status: "in_stock",
|
|
191
|
+
// stock_label: null,
|
|
192
|
+
// stock_description: null
|
|
193
|
+
// },
|
|
194
|
+
const id = this.safeString(market, 'symbol') + '_' + 'IRT';
|
|
195
|
+
let baseId = this.safeString(market, 'symbol');
|
|
196
|
+
let quoteId = 'IRT';
|
|
197
|
+
const base = this.safeCurrencyCode(baseId);
|
|
198
|
+
const quote = this.safeCurrencyCode(quoteId);
|
|
199
|
+
baseId = baseId.toLowerCase();
|
|
200
|
+
quoteId = quoteId.toLowerCase();
|
|
201
|
+
return {
|
|
202
|
+
'id': id,
|
|
203
|
+
'symbol': base + '/' + quote,
|
|
204
|
+
'base': base,
|
|
205
|
+
'quote': quote,
|
|
206
|
+
'settle': undefined,
|
|
207
|
+
'baseId': baseId,
|
|
208
|
+
'quoteId': quoteId,
|
|
209
|
+
'settleId': undefined,
|
|
210
|
+
'type': 'otc',
|
|
211
|
+
'spot': false,
|
|
212
|
+
'margin': false,
|
|
213
|
+
'swap': false,
|
|
214
|
+
'future': false,
|
|
215
|
+
'option': false,
|
|
216
|
+
'active': true,
|
|
217
|
+
'contract': false,
|
|
218
|
+
'linear': undefined,
|
|
219
|
+
'inverse': undefined,
|
|
220
|
+
'contractSize': undefined,
|
|
221
|
+
'expiry': undefined,
|
|
222
|
+
'expiryDatetime': undefined,
|
|
223
|
+
'strike': undefined,
|
|
224
|
+
'optionType': undefined,
|
|
225
|
+
'precision': {
|
|
226
|
+
'amount': undefined,
|
|
227
|
+
'price': undefined,
|
|
228
|
+
},
|
|
229
|
+
'limits': {
|
|
230
|
+
'leverage': {
|
|
231
|
+
'min': undefined,
|
|
232
|
+
'max': undefined,
|
|
233
|
+
},
|
|
234
|
+
'amount': {
|
|
235
|
+
'min': undefined,
|
|
236
|
+
'max': undefined,
|
|
237
|
+
},
|
|
238
|
+
'price': {
|
|
239
|
+
'min': undefined,
|
|
240
|
+
'max': undefined,
|
|
241
|
+
},
|
|
242
|
+
'cost': {
|
|
243
|
+
'min': undefined,
|
|
244
|
+
'max': undefined,
|
|
245
|
+
},
|
|
246
|
+
},
|
|
247
|
+
'created': undefined,
|
|
248
|
+
'info': market,
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
async fetchTickers(symbols = undefined, params = {}) {
|
|
252
|
+
/**
|
|
253
|
+
* @method
|
|
254
|
+
* @name iranexchange#fetchTickers
|
|
255
|
+
* @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
256
|
+
* @see https://iranexchange.co/
|
|
257
|
+
* @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
258
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
259
|
+
* @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
260
|
+
*/
|
|
261
|
+
await this.loadMarkets();
|
|
262
|
+
if (symbols !== undefined) {
|
|
263
|
+
symbols = this.marketSymbols(symbols);
|
|
264
|
+
}
|
|
265
|
+
const response = await this.publicGetV1ClientListProduct();
|
|
266
|
+
const markets = this.safeList(response, 'data');
|
|
267
|
+
const result = {};
|
|
268
|
+
for (let i = 0; i < markets.length; i++) {
|
|
269
|
+
const ticker = this.parseTicker(markets[i]);
|
|
270
|
+
const symbol = ticker['symbol'];
|
|
271
|
+
result[symbol] = ticker;
|
|
272
|
+
}
|
|
273
|
+
return this.filterByArrayTickers(result, 'symbol', symbols);
|
|
274
|
+
}
|
|
275
|
+
async fetchTicker(symbol, params = {}) {
|
|
276
|
+
/**
|
|
277
|
+
* @method
|
|
278
|
+
* @name iranexchange#fetchTicker
|
|
279
|
+
* @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
280
|
+
* @see https://iranexchange.co/
|
|
281
|
+
* @param {string} symbol unified symbol of the market to fetch the ticker for
|
|
282
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
283
|
+
* @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
284
|
+
*/
|
|
285
|
+
await this.loadMarkets();
|
|
286
|
+
const market = this.market(symbol);
|
|
287
|
+
const request = {
|
|
288
|
+
'id': market['base'],
|
|
289
|
+
};
|
|
290
|
+
const response = await this.publicGetV1ClientGetBySymbol(request);
|
|
291
|
+
const marketData = this.safeDict(response, 'data');
|
|
292
|
+
const ticker = this.parseTicker(marketData);
|
|
293
|
+
return ticker;
|
|
294
|
+
}
|
|
295
|
+
parseTicker(ticker, market = undefined) {
|
|
296
|
+
// {
|
|
297
|
+
// _id: "60b08a57b202353abb592032",
|
|
298
|
+
// name: "Bitcoin",
|
|
299
|
+
// fa_name: "بیت کوین",
|
|
300
|
+
// symbol: "BTC",
|
|
301
|
+
// slug: "bitcoin",
|
|
302
|
+
// is_sell_to_customer_active: 1,
|
|
303
|
+
// is_fast_sell_to_customer_active: 1,
|
|
304
|
+
// is_buy_from_customer_active: 1,
|
|
305
|
+
// logo: "https://iranexchange.com/strapi/media/BTC_78d99b9d12.png",
|
|
306
|
+
// dollar_price: 89240.18,
|
|
307
|
+
// sell_to_iranicard_currency_price: 1234526,
|
|
308
|
+
// buy_from_iranicard_currency_price: 1239474,
|
|
309
|
+
// fast_sell_to_iranicard_currency_price: 1234526,
|
|
310
|
+
// buy_from_iranicard_network_list: [
|
|
311
|
+
// {
|
|
312
|
+
// network: "BTC",
|
|
313
|
+
// name: "Bitcoin",
|
|
314
|
+
// addressRegex: "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^[(bc1q)|(bc1p)][0-9A-Za-z]{37,62}$",
|
|
315
|
+
// coin: "BTC",
|
|
316
|
+
// withdrawEnable: true,
|
|
317
|
+
// depositEnable: true,
|
|
318
|
+
// withdrawMin: "0.000100000",
|
|
319
|
+
// withdrawMax: null,
|
|
320
|
+
// withdrawFee: "0.000100000",
|
|
321
|
+
// sameAddress: false,
|
|
322
|
+
// memoRegex: null,
|
|
323
|
+
// tradeEnable: true
|
|
324
|
+
// }
|
|
325
|
+
// ],
|
|
326
|
+
// sell_to_iranicard_network_list: [
|
|
327
|
+
// {
|
|
328
|
+
// network: "BTC",
|
|
329
|
+
// name: "Bitcoin",
|
|
330
|
+
// addressRegex: "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^[(bc1q)|(bc1p)][0-9A-Za-z]{37,62}$",
|
|
331
|
+
// coin: "BTC",
|
|
332
|
+
// withdrawEnable: true,
|
|
333
|
+
// depositEnable: true,
|
|
334
|
+
// withdrawMin: "0.000100000",
|
|
335
|
+
// withdrawMax: null,
|
|
336
|
+
// withdrawFee: "0.000100000",
|
|
337
|
+
// sameAddress: false,
|
|
338
|
+
// memoRegex: null,
|
|
339
|
+
// tradeEnable: true
|
|
340
|
+
// }
|
|
341
|
+
// ],
|
|
342
|
+
// is_price_maker_active: 1,
|
|
343
|
+
// quotation: {
|
|
344
|
+
// maxPrice: "90199.99",
|
|
345
|
+
// minPrice: "88925",
|
|
346
|
+
// dailyChangePercent: "-0.26"
|
|
347
|
+
// },
|
|
348
|
+
// dailyChangePercent: -0.26,
|
|
349
|
+
// order: 0,
|
|
350
|
+
// stock_status: "in_stock",
|
|
351
|
+
// stock_label: null,
|
|
352
|
+
// stock_description: null
|
|
353
|
+
// }
|
|
354
|
+
const marketType = 'otc';
|
|
355
|
+
const marketId = this.safeString(ticker, 'symbol') + '_' + 'IRT';
|
|
356
|
+
const symbol = this.safeSymbol(marketId, market, undefined, marketType);
|
|
357
|
+
const quotation = this.safeValue(ticker, 'quotation', {});
|
|
358
|
+
const dollar_price = this.safeFloat(ticker, 'dollar_price', 0);
|
|
359
|
+
const high = this.safeFloat(quotation, 'maxPrice', 0) * dollar_price;
|
|
360
|
+
const low = this.safeFloat(quotation, 'minPrice', 0) * dollar_price;
|
|
361
|
+
const bid = this.safeFloat(ticker, 'sell_to_iranicard_currency_price', 0) * dollar_price;
|
|
362
|
+
const ask = this.safeFloat(ticker, 'buy_from_iranicard_currency_price', 0) * dollar_price;
|
|
363
|
+
const last = this.safeFloat(ticker, 'sell_to_iranicard_currency_price', 0) * dollar_price;
|
|
364
|
+
const change = this.safeFloat(quotation, 'dailyChangePercent', 0);
|
|
365
|
+
return this.safeTicker({
|
|
366
|
+
'symbol': symbol,
|
|
367
|
+
'timestamp': undefined,
|
|
368
|
+
'datetime': undefined,
|
|
369
|
+
'high': high,
|
|
370
|
+
'low': low,
|
|
371
|
+
'bid': bid,
|
|
372
|
+
'bidVolume': undefined,
|
|
373
|
+
'ask': ask,
|
|
374
|
+
'askVolume': undefined,
|
|
375
|
+
'vwap': undefined,
|
|
376
|
+
'open': last,
|
|
377
|
+
'close': last,
|
|
378
|
+
'last': last,
|
|
379
|
+
'previousClose': undefined,
|
|
380
|
+
'change': change,
|
|
381
|
+
'percentage': change,
|
|
382
|
+
'average': undefined,
|
|
383
|
+
'baseVolume': undefined,
|
|
384
|
+
'quoteVolume': undefined,
|
|
385
|
+
'info': ticker,
|
|
386
|
+
}, market);
|
|
387
|
+
}
|
|
388
|
+
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
389
|
+
const query = this.omit(params, this.extractParams(path));
|
|
390
|
+
let url = this.urls['api']['public'] + '/' + path + '?' + this.urlencode(query);
|
|
391
|
+
const pair_id = this.safeString(params, 'id');
|
|
392
|
+
if (pair_id !== undefined) {
|
|
393
|
+
url = this.urls['api']['public'] + '/' + path + '/' + pair_id;
|
|
394
|
+
}
|
|
395
|
+
headers = { 'Content-Type': 'application/json' };
|
|
396
|
+
return { 'url': url, 'method': method, 'body': body, 'headers': headers };
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
exports["default"] = iranexchange;
|
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.9.
|
|
7
|
+
declare const version = "4.9.25";
|
|
8
8
|
import abantether from './src/abantether.js';
|
|
9
9
|
import afratether from './src/afratether.js';
|
|
10
10
|
import alpaca from './src/alpaca.js';
|
|
@@ -93,6 +93,7 @@ import huobi from './src/huobi.js';
|
|
|
93
93
|
import hyperliquid from './src/hyperliquid.js';
|
|
94
94
|
import independentreserve from './src/independentreserve.js';
|
|
95
95
|
import indodax from './src/indodax.js';
|
|
96
|
+
import iranexchange from './src/iranexchange.js';
|
|
96
97
|
import jibitex from './src/jibitex.js';
|
|
97
98
|
import kcex from './src/kcex.js';
|
|
98
99
|
import kifpoolme from './src/kifpoolme.js';
|
|
@@ -312,6 +313,7 @@ declare const exchanges: {
|
|
|
312
313
|
hyperliquid: typeof hyperliquid;
|
|
313
314
|
independentreserve: typeof independentreserve;
|
|
314
315
|
indodax: typeof indodax;
|
|
316
|
+
iranexchange: typeof iranexchange;
|
|
315
317
|
jibitex: typeof jibitex;
|
|
316
318
|
kcex: typeof kcex;
|
|
317
319
|
kifpoolme: typeof kifpoolme;
|
|
@@ -614,6 +616,7 @@ declare const ccxt: {
|
|
|
614
616
|
hyperliquid: typeof hyperliquid;
|
|
615
617
|
independentreserve: typeof independentreserve;
|
|
616
618
|
indodax: typeof indodax;
|
|
619
|
+
iranexchange: typeof iranexchange;
|
|
617
620
|
jibitex: typeof jibitex;
|
|
618
621
|
kcex: typeof kcex;
|
|
619
622
|
kifpoolme: typeof kifpoolme;
|
|
@@ -672,5 +675,5 @@ declare const ccxt: {
|
|
|
672
675
|
zaif: typeof zaif;
|
|
673
676
|
zonda: typeof zonda;
|
|
674
677
|
} & typeof functions & typeof errors;
|
|
675
|
-
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, bitbarg, bitbns, bitfinex, bitflyer, bitget, bithumb, bitimen, bitir, bitmart, bitmex, bitopro, bitpin, bitrue, bitso, bitstamp, bitteam, bittrade, bitunix, bitvavo, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, bydfi, cafearz, 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, hamtapay, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, jibitex, kcex, kifpoolme, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mazdax, mercado, mexc, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, oxfun, p2b, paradex, paymium, phemex, pingi, poloniex, pooleno, probit, ramzinex, sarmayex, sarrafex, tabdeal, tehran_exchange, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
|
|
678
|
+
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, bitbarg, bitbns, bitfinex, bitflyer, bitget, bithumb, bitimen, bitir, bitmart, bitmex, bitopro, bitpin, bitrue, bitso, bitstamp, bitteam, bittrade, bitunix, bitvavo, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, bydfi, cafearz, 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, hamtapay, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, iranexchange, jibitex, kcex, kifpoolme, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mazdax, mercado, mexc, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, oxfun, p2b, paradex, paymium, phemex, pingi, poloniex, pooleno, probit, ramzinex, sarmayex, sarrafex, tabdeal, tehran_exchange, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
|
|
676
679
|
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.9.
|
|
41
|
+
const version = '4.9.25';
|
|
42
42
|
Exchange.ccxtVersion = version;
|
|
43
43
|
//-----------------------------------------------------------------------------
|
|
44
44
|
import abantether from './src/abantether.js';
|
|
@@ -129,6 +129,7 @@ import huobi from './src/huobi.js';
|
|
|
129
129
|
import hyperliquid from './src/hyperliquid.js';
|
|
130
130
|
import independentreserve from './src/independentreserve.js';
|
|
131
131
|
import indodax from './src/indodax.js';
|
|
132
|
+
import iranexchange from './src/iranexchange.js';
|
|
132
133
|
import jibitex from './src/jibitex.js';
|
|
133
134
|
import kcex from './src/kcex.js';
|
|
134
135
|
import kifpoolme from './src/kifpoolme.js';
|
|
@@ -349,6 +350,7 @@ const exchanges = {
|
|
|
349
350
|
'hyperliquid': hyperliquid,
|
|
350
351
|
'independentreserve': independentreserve,
|
|
351
352
|
'indodax': indodax,
|
|
353
|
+
'iranexchange': iranexchange,
|
|
352
354
|
'jibitex': jibitex,
|
|
353
355
|
'kcex': kcex,
|
|
354
356
|
'kifpoolme': kifpoolme,
|
|
@@ -494,6 +496,6 @@ pro.exchanges = Object.keys(pro);
|
|
|
494
496
|
pro['Exchange'] = Exchange; // now the same for rest and ts
|
|
495
497
|
//-----------------------------------------------------------------------------
|
|
496
498
|
const ccxt = Object.assign({ version, Exchange, Precise, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, functions, errors);
|
|
497
|
-
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, bitbarg, bitbns, bitfinex, bitflyer, bitget, bithumb, bitimen, bitir, bitmart, bitmex, bitopro, bitpin, bitrue, bitso, bitstamp, bitteam, bittrade, bitunix, bitvavo, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, bydfi, cafearz, 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, hamtapay, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, jibitex, kcex, kifpoolme, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mazdax, mercado, mexc, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, oxfun, p2b, paradex, paymium, phemex, pingi, poloniex, pooleno, probit, ramzinex, sarmayex, sarrafex, tabdeal, tehran_exchange, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
|
|
499
|
+
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, bitbarg, bitbns, bitfinex, bitflyer, bitget, bithumb, bitimen, bitir, bitmart, bitmex, bitopro, bitpin, bitrue, bitso, bitstamp, bitteam, bittrade, bitunix, bitvavo, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, bydfi, cafearz, 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, hamtapay, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, iranexchange, jibitex, kcex, kifpoolme, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mazdax, mercado, mexc, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, oxfun, p2b, paradex, paymium, phemex, pingi, poloniex, pooleno, probit, ramzinex, sarmayex, sarrafex, tabdeal, tehran_exchange, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
|
|
498
500
|
export default ccxt;
|
|
499
501
|
//-----------------------------------------------------------------------------
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { implicitReturnType } from '../base/types.js';
|
|
2
|
+
import { Exchange as _Exchange } from '../base/Exchange.js';
|
|
3
|
+
interface Exchange {
|
|
4
|
+
publicGetV1ClientListProduct(params?: {}): Promise<implicitReturnType>;
|
|
5
|
+
publicGetV1ClientGetBySymbol(params?: {}): Promise<implicitReturnType>;
|
|
6
|
+
}
|
|
7
|
+
declare abstract class Exchange extends _Exchange {
|
|
8
|
+
}
|
|
9
|
+
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?: "binary" | "hex" | "base64") => 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?: "binary" | "hex" | "base64") => 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): "pending" | "ok" | "failed" | "canceled";
|
|
315
315
|
parseTransaction(transaction: Dict, currency?: Currency): Transaction;
|
|
316
316
|
/**
|
|
317
317
|
* @method
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import Exchange from './abstract/iranexchange.js';
|
|
2
|
+
import { Market, Strings, Ticker, Tickers } from './base/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* @class iranexchange
|
|
5
|
+
* @augments Exchange
|
|
6
|
+
* @description Set rateLimit to 1000 if fully verified
|
|
7
|
+
*/
|
|
8
|
+
export default class iranexchange 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
|
+
}
|