ccxt-ir 4.20.1 → 4.22.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.
Files changed (75) hide show
  1. package/README.md +4 -4
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +10 -1
  4. package/dist/cjs/src/abstract/exino.js +11 -0
  5. package/dist/cjs/src/ariomex.js +198 -0
  6. package/dist/cjs/src/arzplus.js +2 -2
  7. package/dist/cjs/src/bitimen.js +2 -2
  8. package/dist/cjs/src/bitir.js +2 -2
  9. package/dist/cjs/src/bitpin.js +3 -3
  10. package/dist/cjs/src/excoino.js +2 -2
  11. package/dist/cjs/src/exino.js +215 -0
  12. package/dist/cjs/src/exir.js +2 -2
  13. package/dist/cjs/src/exnovin.js +1 -1
  14. package/dist/cjs/src/hitobit.js +2 -2
  15. package/dist/cjs/src/jibitex.js +2 -2
  16. package/dist/cjs/src/kifpoolme.js +1 -1
  17. package/dist/cjs/src/nobitex.js +3 -3
  18. package/dist/cjs/src/okexchange.js +2 -2
  19. package/dist/cjs/src/ompfinex.js +2 -2
  20. package/dist/cjs/src/pingi.js +1 -1
  21. package/dist/cjs/src/poulyar.js +190 -0
  22. package/dist/cjs/src/raastin.js +1 -1
  23. package/dist/cjs/src/ramzinex.js +10 -10
  24. package/dist/cjs/src/sarrafex.js +2 -2
  25. package/dist/cjs/src/tabdeal.js +2 -2
  26. package/dist/cjs/src/ubitex.js +3 -3
  27. package/dist/cjs/src/wallex.js +2 -2
  28. package/js/ccxt.d.ts +11 -2
  29. package/js/ccxt.js +8 -2
  30. package/js/src/abstract/ariomex.d.ts +8 -0
  31. package/js/src/abstract/ariomex.js +11 -0
  32. package/js/src/abstract/exino.d.ts +8 -0
  33. package/js/src/abstract/exino.js +11 -0
  34. package/js/src/abstract/poulyar.d.ts +8 -0
  35. package/js/src/abstract/poulyar.js +11 -0
  36. package/js/src/ariomex.d.ts +21 -0
  37. package/js/src/ariomex.js +197 -0
  38. package/js/src/arzplus.js +2 -2
  39. package/js/src/base/Exchange.d.ts +2 -2
  40. package/js/src/bitimen.js +2 -2
  41. package/js/src/bitir.js +2 -2
  42. package/js/src/bitpin.js +3 -3
  43. package/js/src/coinbaseexchange.d.ts +1 -1
  44. package/js/src/excoino.js +2 -2
  45. package/js/src/exino.d.ts +16 -0
  46. package/js/src/exino.js +214 -0
  47. package/js/src/exir.js +2 -2
  48. package/js/src/exnovin.js +1 -1
  49. package/js/src/hitobit.js +2 -2
  50. package/js/src/jibitex.js +2 -2
  51. package/js/src/kifpoolme.js +1 -1
  52. package/js/src/nobitex.js +3 -3
  53. package/js/src/okexchange.js +2 -2
  54. package/js/src/ompfinex.js +2 -2
  55. package/js/src/pingi.js +1 -1
  56. package/js/src/poulyar.d.ts +20 -0
  57. package/js/src/poulyar.js +189 -0
  58. package/js/src/protobuf/mexc/compiled.d.cts +6 -0
  59. package/js/src/raastin.js +1 -1
  60. package/js/src/ramzinex.js +10 -10
  61. package/js/src/sarrafex.js +2 -2
  62. package/js/src/static_dependencies/fflake/browser.d.ts +5 -5
  63. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  64. package/js/src/static_dependencies/qs/formats.d.cts +6 -0
  65. package/js/src/static_dependencies/qs/index.d.cts +6 -0
  66. package/js/src/static_dependencies/qs/parse.d.cts +6 -0
  67. package/js/src/static_dependencies/qs/stringify.d.cts +6 -0
  68. package/js/src/static_dependencies/qs/utils.d.cts +6 -0
  69. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +1 -1
  70. package/js/src/tabdeal.js +2 -2
  71. package/js/src/ubitex.js +3 -3
  72. package/js/src/wallex.js +2 -2
  73. package/js/test.d.ts +1 -1
  74. package/js/test.js +35 -63
  75. package/package.json +1 -1
@@ -352,7 +352,7 @@ class jibitex extends jibitex$1["default"] {
352
352
  */
353
353
  await this.loadMarkets();
354
354
  const market = this.market(symbol);
355
- const endTime = Date.now();
355
+ const endTime = this.milliseconds();
356
356
  const request = {
357
357
  'market': market['id'],
358
358
  'from': (endTime / 1000) - (24 * 60 * 60),
@@ -400,7 +400,7 @@ class jibitex extends jibitex$1["default"] {
400
400
  };
401
401
  const response = await this.publicGetApi1OrdersOrderBookMarket(request);
402
402
  const orderBook = this.safeDict(response, 'content');
403
- const timestamp = Date.now();
403
+ const timestamp = this.milliseconds();
404
404
  return this.parseOrderBook(orderBook, symbol, timestamp, 'buys', 'sells', 'unitPrice', 'size');
405
405
  }
406
406
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
@@ -362,7 +362,7 @@ class kifpoolme extends kifpoolme$1["default"] {
362
362
  */
363
363
  await this.loadMarkets();
364
364
  const market = this.market(symbol);
365
- const endTime = Date.now();
365
+ const endTime = this.milliseconds();
366
366
  const request = {
367
367
  'symbol': market['baseId'],
368
368
  'currency': market['quoteId'],
@@ -357,7 +357,7 @@ class nobitex extends nobitex$1["default"] {
357
357
  */
358
358
  await this.loadMarkets();
359
359
  const market = this.market(symbol);
360
- const endTime = Date.now();
360
+ const endTime = this.milliseconds();
361
361
  if (market['quote'] === 'IRT') {
362
362
  market['id'] = market['symbol'].replace('/', '');
363
363
  }
@@ -424,10 +424,10 @@ class nobitex extends nobitex$1["default"] {
424
424
  const bids = this.safeList(response, 'bids');
425
425
  const asks = this.safeList(response, 'asks');
426
426
  for (let i = 0; i < bids.length; i++) {
427
- bids[i][0] = bids[i][0] ? bids[i][0] / 10 : 0;
427
+ bids[i][0] = bids[i][0] ? this.parseToNumeric(bids[i][0]) / 10 : 0;
428
428
  }
429
429
  for (let i = 0; i < asks.length; i++) {
430
- asks[i][0] = asks[i][0] ? asks[i][0] / 10 : 0;
430
+ asks[i][0] = asks[i][0] ? this.parseToNumeric(asks[i][0]) / 10 : 0;
431
431
  }
432
432
  response['bids'] = bids;
433
433
  response['asks'] = asks;
@@ -314,7 +314,7 @@ class okexchange extends okexchange$1["default"] {
314
314
  */
315
315
  await this.loadMarkets();
316
316
  const market = this.market(symbol);
317
- const endTime = Date.now();
317
+ const endTime = this.milliseconds();
318
318
  const request = {
319
319
  'symbol': symbol.replace('/', ''),
320
320
  'startTime': endTime - 24 * 60 * 60 * 1000,
@@ -354,7 +354,7 @@ class okexchange extends okexchange$1["default"] {
354
354
  };
355
355
  const response = await this.publicGetOapiV1MarketOrderbook(request);
356
356
  const orderBook = this.safeDict(response, 'books', {});
357
- const timestamp = Date.now();
357
+ const timestamp = this.milliseconds();
358
358
  return this.parseOrderBook(orderBook, symbol, timestamp);
359
359
  }
360
360
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
@@ -412,7 +412,7 @@ class ompfinex extends ompfinex$1["default"] {
412
412
  if (market['quote'] === 'IRT') {
413
413
  symbol = market['base'] + 'IRR';
414
414
  }
415
- const endTime = Date.now();
415
+ const endTime = this.milliseconds();
416
416
  const request = {
417
417
  'symbol': symbol.replace('/', ''),
418
418
  'from': (endTime / 1000) - (24 * 60 * 60),
@@ -486,7 +486,7 @@ class ompfinex extends ompfinex$1["default"] {
486
486
  else {
487
487
  orderbook = this.safeDict(orderbook, market['base'] + market['quote']);
488
488
  }
489
- const timestamp = Date.now();
489
+ const timestamp = this.milliseconds();
490
490
  return this.parseOrderBook(orderbook, symbol, timestamp, 'bids', 'asks', 'price', 'amount');
491
491
  }
492
492
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
@@ -389,7 +389,7 @@ class pingi extends pingi$1["default"] {
389
389
  */
390
390
  await this.loadMarkets();
391
391
  const market = this.market(symbol);
392
- const endTime = Date.now();
392
+ const endTime = this.milliseconds();
393
393
  const request = {
394
394
  'symbol': market['base'] + '/' + market['quote'],
395
395
  'resolution': this.safeString(this.timeframes, timeframe, timeframe),
@@ -0,0 +1,190 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Exchange = require('./base/Exchange.js');
6
+
7
+ // ----------------------------------------------------------------------------
8
+ // ---------------------------------------------------------------------------
9
+ /**
10
+ * @class poulyar
11
+ * @augments Exchange
12
+ */
13
+ class poulyar extends Exchange["default"] {
14
+ describe() {
15
+ return this.deepExtend(super.describe(), {
16
+ 'id': 'poulyar',
17
+ 'name': 'Poulyar',
18
+ 'countries': ['IR'],
19
+ 'rateLimit': 1000,
20
+ 'version': 'v2',
21
+ 'certified': false,
22
+ 'pro': false,
23
+ 'has': {
24
+ 'CORS': undefined,
25
+ 'spot': false,
26
+ 'margin': false,
27
+ 'swap': false,
28
+ 'future': false,
29
+ 'option': false,
30
+ 'fetchMarkets': true,
31
+ 'fetchTicker': true,
32
+ 'fetchTickers': true,
33
+ 'otc': true,
34
+ },
35
+ 'options': {
36
+ 'defaultType': 'otc',
37
+ },
38
+ 'urls': {
39
+ 'api': {
40
+ 'public': 'https://api.poulyar.com',
41
+ },
42
+ 'www': 'https://poulyar.com',
43
+ 'doc': 'https://api.poulyar.com/api/v2/market-data',
44
+ },
45
+ 'api': {
46
+ 'public': {
47
+ 'get': {
48
+ 'api/v2/market-data': 1,
49
+ },
50
+ },
51
+ },
52
+ });
53
+ }
54
+ async fetchMarkets(params = {}) {
55
+ /**
56
+ * @method
57
+ * @name poulyar#fetchMarkets
58
+ * @description retrieves data on all OTC markets for poulyar
59
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
60
+ * @returns {object[]} an array of objects representing market data
61
+ */
62
+ const response = await this.publicGetApiV2MarketData(params);
63
+ const result = this.safeDict(response, 'result', {});
64
+ const markets = this.safeDict(result, 'symbols', {});
65
+ const marketIds = Object.keys(markets);
66
+ const parsedMarkets = [];
67
+ for (let i = 0; i < marketIds.length; i++) {
68
+ parsedMarkets.push(this.parseMarket(markets[marketIds[i]]));
69
+ }
70
+ return parsedMarkets;
71
+ }
72
+ parseMarket(market) {
73
+ const id = this.safeString(market, 'symbol');
74
+ const baseId = this.safeString(market, 'baseAsset');
75
+ const quoteId = this.safeString(market, 'quoteAsset');
76
+ const base = this.safeCurrencyCode(baseId);
77
+ const quote = this.safeCurrencyCode(quoteId);
78
+ return {
79
+ 'id': id,
80
+ 'symbol': base + '/' + quote,
81
+ 'base': base,
82
+ 'quote': quote,
83
+ 'settle': undefined,
84
+ 'baseId': baseId,
85
+ 'quoteId': quoteId,
86
+ 'settleId': undefined,
87
+ 'type': 'otc',
88
+ 'spot': false,
89
+ 'margin': false,
90
+ 'swap': false,
91
+ 'future': false,
92
+ 'option': false,
93
+ 'active': true,
94
+ 'contract': false,
95
+ 'linear': undefined,
96
+ 'inverse': undefined,
97
+ 'contractSize': undefined,
98
+ 'expiry': undefined,
99
+ 'expiryDatetime': undefined,
100
+ 'strike': undefined,
101
+ 'optionType': undefined,
102
+ 'precision': {
103
+ 'amount': this.safeNumber(market, 'basePrecision'),
104
+ 'price': this.safeNumber(market, 'quotePrecision'),
105
+ },
106
+ 'limits': {
107
+ 'leverage': { 'min': undefined, 'max': undefined },
108
+ 'amount': { 'min': this.safeNumber(market, 'minQty'), 'max': undefined },
109
+ 'price': { 'min': undefined, 'max': undefined },
110
+ 'cost': { 'min': this.safeNumber(market, 'minNotional'), 'max': undefined },
111
+ },
112
+ 'created': undefined,
113
+ 'info': market,
114
+ };
115
+ }
116
+ async fetchTicker(symbol, params = {}) {
117
+ /**
118
+ * @method
119
+ * @name poulyar#fetchTicker
120
+ * @description fetches a price ticker for an OTC market
121
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
122
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
123
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
124
+ */
125
+ const tickers = await this.fetchTickers([symbol], params);
126
+ return tickers[symbol];
127
+ }
128
+ async fetchTickers(symbols = undefined, params = {}) {
129
+ /**
130
+ * @method
131
+ * @name poulyar#fetchTickers
132
+ * @description fetches price tickers for all OTC markets
133
+ * @param {string[]|undefined} symbols unified symbols of the markets to fetch the tickers for
134
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
135
+ * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
136
+ */
137
+ await this.loadMarkets();
138
+ if (symbols !== undefined) {
139
+ symbols = this.marketSymbols(symbols);
140
+ }
141
+ const response = await this.publicGetApiV2MarketData(params);
142
+ const result = this.safeDict(response, 'result', {});
143
+ const markets = this.safeDict(result, 'symbols', {});
144
+ const marketIds = Object.keys(markets);
145
+ const tickers = {};
146
+ for (let i = 0; i < marketIds.length; i++) {
147
+ const ticker = this.parseTicker(markets[marketIds[i]]);
148
+ tickers[ticker['symbol']] = ticker;
149
+ }
150
+ return this.filterByArrayTickers(tickers, 'symbol', symbols);
151
+ }
152
+ parseTicker(ticker, market = undefined) {
153
+ const marketId = this.safeString(ticker, 'symbol');
154
+ market = this.safeMarket(marketId, market);
155
+ const stats = this.safeDict(ticker, 'stats', {});
156
+ return this.safeTicker({
157
+ 'symbol': market['symbol'],
158
+ 'timestamp': this.parse8601(this.safeString(ticker, 'updatedAt')),
159
+ 'datetime': undefined,
160
+ 'high': undefined,
161
+ 'low': undefined,
162
+ 'bid': this.safeString(stats, 'bidPrice'),
163
+ 'bidVolume': undefined,
164
+ 'ask': this.safeString(stats, 'askPrice'),
165
+ 'askVolume': undefined,
166
+ 'vwap': undefined,
167
+ 'open': undefined,
168
+ 'close': this.safeString(stats, 'lastPrice'),
169
+ 'last': this.safeString(stats, 'lastPrice'),
170
+ 'previousClose': undefined,
171
+ 'change': undefined,
172
+ 'percentage': this.safeString(stats, '24h_ch'),
173
+ 'average': undefined,
174
+ 'baseVolume': undefined,
175
+ 'quoteVolume': undefined,
176
+ 'info': ticker,
177
+ }, market);
178
+ }
179
+ sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
180
+ let url = this.urls['api'][api] + '/' + this.implodeParams(path, params);
181
+ const query = this.omit(params, this.extractParams(path));
182
+ if (Object.keys(query).length) {
183
+ url += '?' + this.urlencode(query);
184
+ }
185
+ headers = { 'Accept': 'application/json' };
186
+ return { 'url': url, 'method': method, 'body': body, 'headers': headers };
187
+ }
188
+ }
189
+
190
+ exports["default"] = poulyar;
@@ -497,7 +497,7 @@ class raastin extends raastin$1["default"] {
497
497
  // "bids": [{ "price": "164003", "amount": "19.99", "depth": "1", "total": "3278419" }],
498
498
  // "asks": [{ "price": "166000", "amount": "47.79", "depth": "2", "total": "7933140" }]
499
499
  // }
500
- const timestamp = Date.now();
500
+ const timestamp = this.milliseconds();
501
501
  return this.parseOrderBook(response, symbol, timestamp, 'bids', 'asks', 'price', 'amount');
502
502
  }
503
503
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
@@ -389,7 +389,7 @@ class ramzinex extends ramzinex$1["default"] {
389
389
  'vwap': undefined,
390
390
  'open': open,
391
391
  'close': close,
392
- 'last': last,
392
+ 'last': high,
393
393
  'previousClose': undefined,
394
394
  'change': change,
395
395
  'percentage': undefined,
@@ -417,7 +417,7 @@ class ramzinex extends ramzinex$1["default"] {
417
417
  if (market['quote'] === 'IRT') {
418
418
  symbol = market['base'] + 'IRR';
419
419
  }
420
- const endTime = Date.now();
420
+ const endTime = this.milliseconds();
421
421
  const request = {
422
422
  'symbol': symbol.replace('/', ''),
423
423
  'from': (endTime / 1000) - (24 * 60 * 60),
@@ -443,11 +443,11 @@ class ramzinex extends ramzinex$1["default"] {
443
443
  const ohlcvs = [];
444
444
  for (let i = 0; i < openList.length; i++) {
445
445
  if (market['quote'] === 'IRT') {
446
- openList[i] = openList[i] ? openList[i] / 10 : 0;
447
- highList[i] = highList[i] ? highList[i] / 10 : 0;
448
- lastList[i] = lastList[i] ? lastList[i] / 10 : 0;
449
- closeList[i] = closeList[i] ? closeList[i] / 10 : 0;
450
- volumeList[i] = volumeList[i] ? volumeList[i] / 10 : 0;
446
+ openList[i] = openList[i] ? this.parseToNumeric(openList[i]) / 10 : 0;
447
+ highList[i] = highList[i] ? this.parseToNumeric(highList[i]) / 10 : 0;
448
+ lastList[i] = lastList[i] ? this.parseToNumeric(lastList[i]) / 10 : 0;
449
+ closeList[i] = closeList[i] ? this.parseToNumeric(closeList[i]) / 10 : 0;
450
+ volumeList[i] = volumeList[i] ? this.parseToNumeric(volumeList[i]) / 10 : 0;
451
451
  }
452
452
  ohlcvs.push([
453
453
  timestampList[i],
@@ -482,15 +482,15 @@ class ramzinex extends ramzinex$1["default"] {
482
482
  const bids = this.safeList(orderbook, 'sells');
483
483
  const asks = this.safeList(orderbook, 'buys');
484
484
  for (let i = 0; i < bids.length; i++) {
485
- bids[i][0] = bids[i][0] ? bids[i][0] / 10 : 0;
485
+ bids[i][0] = bids[i][0] ? this.parseToNumeric(bids[i][0]) / 10 : 0;
486
486
  }
487
487
  for (let i = 0; i < asks.length; i++) {
488
- asks[i][0] = asks[i][0] ? asks[i][0] / 10 : 0;
488
+ asks[i][0] = asks[i][0] ? this.parseToNumeric(asks[i][0]) / 10 : 0;
489
489
  }
490
490
  orderbook['buys'] = asks;
491
491
  orderbook['sells'] = bids;
492
492
  }
493
- const timestamp = Date.now();
493
+ const timestamp = this.milliseconds();
494
494
  return this.parseOrderBook(orderbook, symbol, timestamp, 'sells', 'buys');
495
495
  }
496
496
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
@@ -426,7 +426,7 @@ class sarrafex extends sarrafex$1["default"] {
426
426
  */
427
427
  await this.loadMarkets();
428
428
  const market = this.market(symbol);
429
- const endTime = Date.now();
429
+ const endTime = this.milliseconds();
430
430
  const request = {
431
431
  'symbol': market['base'] + market['quote'],
432
432
  'from': (endTime / 1000) - (24 * 60 * 60),
@@ -482,7 +482,7 @@ class sarrafex extends sarrafex$1["default"] {
482
482
  };
483
483
  let orderBook = await this.publicGetApiGatewayExchangerOrderbook(request);
484
484
  orderBook = this.safeDict(orderBook, 0);
485
- const timestamp = Date.now();
485
+ const timestamp = this.milliseconds();
486
486
  return this.parseOrderBook(orderBook, symbol, timestamp, 'bids', 'asks', 'price', 'quantity');
487
487
  }
488
488
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
@@ -314,7 +314,7 @@ class tabdeal extends tabdeal$1["default"] {
314
314
  */
315
315
  await this.loadMarkets();
316
316
  const market = this.market(symbol);
317
- const endTime = Date.now();
317
+ const endTime = this.milliseconds();
318
318
  const request = {
319
319
  'symbol': market['id'],
320
320
  'from': (endTime / 1000) - (24 * 60 * 60),
@@ -368,7 +368,7 @@ class tabdeal extends tabdeal$1["default"] {
368
368
  'tabdealSymbol': market['id'],
369
369
  };
370
370
  const response = await this.publicGetRApiV1Depth(request);
371
- const timestamp = Date.now();
371
+ const timestamp = this.milliseconds();
372
372
  return this.parseOrderBook(response, symbol, timestamp);
373
373
  }
374
374
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
@@ -355,7 +355,7 @@ class ubitex extends ubitex$1["default"] {
355
355
  */
356
356
  await this.loadMarkets();
357
357
  const market = this.market(symbol);
358
- const endTime = Date.now();
358
+ const endTime = this.milliseconds();
359
359
  const request = {
360
360
  'symbol': market['base'] + market['quote'],
361
361
  'from': (endTime / 1000) - (24 * 60 * 60),
@@ -411,13 +411,13 @@ class ubitex extends ubitex$1["default"] {
411
411
  'id': market['id'],
412
412
  };
413
413
  const orderBook = await this.publicGetApiDashboard(request);
414
- const timestamp = Date.now();
414
+ const timestamp = this.milliseconds();
415
415
  return this.parseOrderBook(orderBook, symbol, timestamp, 'buyers', 'sellers', 'price', 'totalAmount');
416
416
  }
417
417
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
418
418
  const query = this.omit(params, this.extractParams(path));
419
419
  let url = this.urls['api']['public'] + '/' + path;
420
- if (params['src'] !== undefined && params['dest'] !== undefined) {
420
+ if (this.safeString(params, 'src') !== undefined && this.safeString(params, 'dest') !== undefined) {
421
421
  url = url + '?' + this.urlencode(query);
422
422
  }
423
423
  if (path === 'api/dashboard') {
@@ -394,7 +394,7 @@ class wallex extends wallex$1["default"] {
394
394
  */
395
395
  await this.loadMarkets();
396
396
  const market = this.market(symbol);
397
- const endTime = Date.now();
397
+ const endTime = this.milliseconds();
398
398
  const request = {
399
399
  'symbol': market['id'],
400
400
  'from': (endTime / 1000) - (24 * 60 * 60),
@@ -448,7 +448,7 @@ class wallex extends wallex$1["default"] {
448
448
  };
449
449
  const response = await this.publicGetV1Depth(request);
450
450
  const orderBook = this.safeDict(response, 'result', {});
451
- const timestamp = Date.now();
451
+ const timestamp = this.milliseconds();
452
452
  return this.parseOrderBook(orderBook, symbol, timestamp, 'bid', 'ask', 'price', 'quantity');
453
453
  }
454
454
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
package/js/ccxt.d.ts CHANGED
@@ -4,11 +4,12 @@ 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.20.1";
7
+ declare const version = "4.22.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';
11
11
  import apex from './src/apex.js';
12
+ import ariomex from './src/ariomex.js';
12
13
  import arzinja from './src/arzinja.js';
13
14
  import arzplus from './src/arzplus.js';
14
15
  import asacoine from './src/asacoine.js';
@@ -81,6 +82,7 @@ import digikalagold from './src/digikalagold.js';
81
82
  import ellipx from './src/ellipx.js';
82
83
  import eterex from './src/eterex.js';
83
84
  import excoino from './src/excoino.js';
85
+ import exino from './src/exino.js';
84
86
  import exir from './src/exir.js';
85
87
  import exmo from './src/exmo.js';
86
88
  import exnovin from './src/exnovin.js';
@@ -142,6 +144,7 @@ import phemex from './src/phemex.js';
142
144
  import pingi from './src/pingi.js';
143
145
  import poloniex from './src/poloniex.js';
144
146
  import pooleno from './src/pooleno.js';
147
+ import poulyar from './src/poulyar.js';
145
148
  import probit from './src/probit.js';
146
149
  import raastin from './src/raastin.js';
147
150
  import ramzinex from './src/ramzinex.js';
@@ -255,6 +258,7 @@ declare const exchanges: {
255
258
  afratether: typeof afratether;
256
259
  alpaca: typeof alpaca;
257
260
  apex: typeof apex;
261
+ ariomex: typeof ariomex;
258
262
  arzinja: typeof arzinja;
259
263
  arzplus: typeof arzplus;
260
264
  asacoine: typeof asacoine;
@@ -327,6 +331,7 @@ declare const exchanges: {
327
331
  ellipx: typeof ellipx;
328
332
  eterex: typeof eterex;
329
333
  excoino: typeof excoino;
334
+ exino: typeof exino;
330
335
  exir: typeof exir;
331
336
  exmo: typeof exmo;
332
337
  exnovin: typeof exnovin;
@@ -388,6 +393,7 @@ declare const exchanges: {
388
393
  pingi: typeof pingi;
389
394
  poloniex: typeof poloniex;
390
395
  pooleno: typeof pooleno;
396
+ poulyar: typeof poulyar;
391
397
  probit: typeof probit;
392
398
  raastin: typeof raastin;
393
399
  ramzinex: typeof ramzinex;
@@ -584,6 +590,7 @@ declare const ccxt: {
584
590
  afratether: typeof afratether;
585
591
  alpaca: typeof alpaca;
586
592
  apex: typeof apex;
593
+ ariomex: typeof ariomex;
587
594
  arzinja: typeof arzinja;
588
595
  arzplus: typeof arzplus;
589
596
  asacoine: typeof asacoine;
@@ -656,6 +663,7 @@ declare const ccxt: {
656
663
  ellipx: typeof ellipx;
657
664
  eterex: typeof eterex;
658
665
  excoino: typeof excoino;
666
+ exino: typeof exino;
659
667
  exir: typeof exir;
660
668
  exmo: typeof exmo;
661
669
  exnovin: typeof exnovin;
@@ -717,6 +725,7 @@ declare const ccxt: {
717
725
  pingi: typeof pingi;
718
726
  poloniex: typeof poloniex;
719
727
  pooleno: typeof pooleno;
728
+ poulyar: typeof poulyar;
720
729
  probit: typeof probit;
721
730
  raastin: typeof raastin;
722
731
  ramzinex: typeof ramzinex;
@@ -753,5 +762,5 @@ declare const ccxt: {
753
762
  zarpin: typeof zarpin;
754
763
  zonda: typeof zonda;
755
764
  } & typeof functions & typeof errors;
756
- 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, asacoine, ascendex, asretether, baazar, bequant, bidarz, 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, bitwana, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, bydfi, cafearz, cex, changefa, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, daric, defx, delta, deribit, derive, digifinex, digikalagold, ellipx, eterex, excoino, exir, exmo, exnovin, farhadexchange, fmfwio, foxbit, gate, gateio, gemini, gerami, goldika, goldis, hamrahgold, hamtapay, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, iranexchange, jibitex, kcex, kifpoolme, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mazdax, melligold, mercado, mexc, milligold, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, ourbit, oxfun, p2b, paradex, paymium, phemex, pingi, poloniex, pooleno, probit, raastin, ramzinex, saraf, sarmayex, sarrafex, tabdeal, talaavan, talapp, talasea, technogold, tehran_exchange, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wallgold, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zarafza, zarminex, zarniv, zarpin, zonda, };
765
+ 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, ariomex, arzinja, arzplus, asacoine, ascendex, asretether, baazar, bequant, bidarz, 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, bitwana, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, bydfi, cafearz, cex, changefa, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, daric, defx, delta, deribit, derive, digifinex, digikalagold, ellipx, eterex, excoino, exino, exir, exmo, exnovin, farhadexchange, fmfwio, foxbit, gate, gateio, gemini, gerami, goldika, goldis, hamrahgold, hamtapay, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, iranexchange, jibitex, kcex, kifpoolme, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mazdax, melligold, mercado, mexc, milligold, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, ourbit, oxfun, p2b, paradex, paymium, phemex, pingi, poloniex, pooleno, poulyar, probit, raastin, ramzinex, saraf, sarmayex, sarrafex, tabdeal, talaavan, talapp, talasea, technogold, tehran_exchange, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wallgold, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zarafza, zarminex, zarniv, zarpin, zonda, };
757
766
  export default ccxt;
package/js/ccxt.js CHANGED
@@ -38,13 +38,14 @@ 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.20.1';
41
+ const version = '4.22.0';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import abantether from './src/abantether.js';
45
45
  import afratether from './src/afratether.js';
46
46
  import alpaca from './src/alpaca.js';
47
47
  import apex from './src/apex.js';
48
+ import ariomex from './src/ariomex.js';
48
49
  import arzinja from './src/arzinja.js';
49
50
  import arzplus from './src/arzplus.js';
50
51
  import asacoine from './src/asacoine.js';
@@ -117,6 +118,7 @@ import digikalagold from './src/digikalagold.js';
117
118
  import ellipx from './src/ellipx.js';
118
119
  import eterex from './src/eterex.js';
119
120
  import excoino from './src/excoino.js';
121
+ import exino from './src/exino.js';
120
122
  import exir from './src/exir.js';
121
123
  import exmo from './src/exmo.js';
122
124
  import exnovin from './src/exnovin.js';
@@ -178,6 +180,7 @@ import phemex from './src/phemex.js';
178
180
  import pingi from './src/pingi.js';
179
181
  import poloniex from './src/poloniex.js';
180
182
  import pooleno from './src/pooleno.js';
183
+ import poulyar from './src/poulyar.js';
181
184
  import probit from './src/probit.js';
182
185
  import raastin from './src/raastin.js';
183
186
  import ramzinex from './src/ramzinex.js';
@@ -292,6 +295,7 @@ const exchanges = {
292
295
  'afratether': afratether,
293
296
  'alpaca': alpaca,
294
297
  'apex': apex,
298
+ 'ariomex': ariomex,
295
299
  'arzinja': arzinja,
296
300
  'arzplus': arzplus,
297
301
  'asacoine': asacoine,
@@ -364,6 +368,7 @@ const exchanges = {
364
368
  'ellipx': ellipx,
365
369
  'eterex': eterex,
366
370
  'excoino': excoino,
371
+ 'exino': exino,
367
372
  'exir': exir,
368
373
  'exmo': exmo,
369
374
  'exnovin': exnovin,
@@ -425,6 +430,7 @@ const exchanges = {
425
430
  'pingi': pingi,
426
431
  'poloniex': poloniex,
427
432
  'pooleno': pooleno,
433
+ 'poulyar': poulyar,
428
434
  'probit': probit,
429
435
  'raastin': raastin,
430
436
  'ramzinex': ramzinex,
@@ -548,6 +554,6 @@ pro.exchanges = Object.keys(pro);
548
554
  pro['Exchange'] = Exchange; // now the same for rest and ts
549
555
  //-----------------------------------------------------------------------------
550
556
  const ccxt = Object.assign({ version, Exchange, Precise, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, functions, errors);
551
- 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, asacoine, ascendex, asretether, baazar, bequant, bidarz, 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, bitwana, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, bydfi, cafearz, cex, changefa, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, daric, defx, delta, deribit, derive, digifinex, digikalagold, ellipx, eterex, excoino, exir, exmo, exnovin, farhadexchange, fmfwio, foxbit, gate, gateio, gemini, gerami, goldika, goldis, hamrahgold, hamtapay, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, iranexchange, jibitex, kcex, kifpoolme, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mazdax, melligold, mercado, mexc, milligold, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, ourbit, oxfun, p2b, paradex, paymium, phemex, pingi, poloniex, pooleno, probit, raastin, ramzinex, saraf, sarmayex, sarrafex, tabdeal, talaavan, talapp, talasea, technogold, tehran_exchange, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wallgold, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zarafza, zarminex, zarniv, zarpin, zonda, };
557
+ 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, ariomex, arzinja, arzplus, asacoine, ascendex, asretether, baazar, bequant, bidarz, 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, bitwana, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, bydfi, cafearz, cex, changefa, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, daric, defx, delta, deribit, derive, digifinex, digikalagold, ellipx, eterex, excoino, exino, exir, exmo, exnovin, farhadexchange, fmfwio, foxbit, gate, gateio, gemini, gerami, goldika, goldis, hamrahgold, hamtapay, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, iranexchange, jibitex, kcex, kifpoolme, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mazdax, melligold, mercado, mexc, milligold, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, ourbit, oxfun, p2b, paradex, paymium, phemex, pingi, poloniex, pooleno, poulyar, probit, raastin, ramzinex, saraf, sarmayex, sarrafex, tabdeal, talaavan, talapp, talasea, technogold, tehran_exchange, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wallgold, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zarafza, zarminex, zarniv, zarpin, zonda, };
552
558
  export default ccxt;
553
559
  //-----------------------------------------------------------------------------
@@ -0,0 +1,8 @@
1
+ import { implicitReturnType } from '../base/types.js';
2
+ import { Exchange as _Exchange } from '../base/Exchange.js';
3
+ interface Exchange {
4
+ publicGetV1PublicMarketsDetails(params?: {}): Promise<implicitReturnType>;
5
+ }
6
+ declare abstract class Exchange extends _Exchange {
7
+ }
8
+ 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;
@@ -0,0 +1,8 @@
1
+ import { implicitReturnType } from '../base/types.js';
2
+ import { Exchange as _Exchange } from '../base/Exchange.js';
3
+ interface Exchange {
4
+ publicPostCryptoV2PublicMarket(params?: {}): Promise<implicitReturnType>;
5
+ }
6
+ declare abstract class Exchange extends _Exchange {
7
+ }
8
+ export default Exchange;