ccxt-ir 4.9.10 → 4.9.12

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/dist/cjs/ccxt.js CHANGED
@@ -232,7 +232,7 @@ var xt$1 = require('./src/pro/xt.js');
232
232
 
233
233
  //-----------------------------------------------------------------------------
234
234
  // this is updated by vss.js when building
235
- const version = '4.9.10';
235
+ const version = '4.9.12';
236
236
  Exchange["default"].ccxtVersion = version;
237
237
  const exchanges = {
238
238
  'abantether': abantether["default"],
@@ -139,8 +139,8 @@ class bitbarg extends bitbarg$1["default"] {
139
139
  'baseId': baseId,
140
140
  'quoteId': quoteId,
141
141
  'settleId': undefined,
142
- 'type': 'otc',
143
- 'spot': false,
142
+ 'type': 'spot',
143
+ 'spot': true,
144
144
  'margin': false,
145
145
  'swap': false,
146
146
  'future': false,
@@ -220,7 +220,7 @@ class bitbarg extends bitbarg$1["default"] {
220
220
  const request = {
221
221
  'pageSize': -1,
222
222
  };
223
- const response = await this.publicGetApiV1Currencies(this.extend(request, params));
223
+ const response = await this.publicGetApiV1Currencies(request);
224
224
  const data = this.safeDict(response, 'result', {});
225
225
  const items = this.safeList(data, 'items', []);
226
226
  const result = {};
@@ -271,7 +271,7 @@ class bitbarg extends bitbarg$1["default"] {
271
271
  // "isFavorite": false,
272
272
  // "chart": [...]
273
273
  // }
274
- const marketType = 'otc';
274
+ const marketType = 'spot';
275
275
  const marketId = this.safeString(ticker, 'coin') + '/' + 'USDT';
276
276
  const symbol = this.safeSymbol(marketId, market, undefined, marketType);
277
277
  const last = this.safeFloat(ticker, 'price', 0);
@@ -217,8 +217,9 @@ class hamtapay extends hamtapay$1["default"] {
217
217
  for (let i = 0; i < quotes.length; i++) {
218
218
  const current_qoute = quotes[i];
219
219
  const corresponding_data = this.safeDict(data, current_qoute, {});
220
- for (let j = 0; j < Object.keys(corresponding_data).length; j++) {
221
- const current_base = Object.keys(corresponding_data)[j];
220
+ const baseSymbols = Object.keys(corresponding_data);
221
+ for (let j = 0; j < baseSymbols.length; j++) {
222
+ const current_base = baseSymbols[j];
222
223
  const current_ticker = corresponding_data[current_base];
223
224
  current_ticker['base'] = current_base;
224
225
  current_ticker['quote'] = current_qoute;
@@ -202,7 +202,7 @@ class kifpoolme extends kifpoolme$1["default"] {
202
202
  * @param {object} [params] extra parameters specific to the exchange API endpoint
203
203
  * @returns {object[]} an array of objects representing market data
204
204
  */
205
- const response = await this.publicGetApiSpotPrice(params);
205
+ const response = await this.publicGetApiSpotPrice();
206
206
  const result = [];
207
207
  // Response is an array of coin objects
208
208
  for (let i = 0; i < response.length; i++) {
@@ -240,7 +240,7 @@ class kifpoolme extends kifpoolme$1["default"] {
240
240
  const baseSymbols = [];
241
241
  for (let i = 0; i < symbols.length; i++) {
242
242
  const market = this.market(symbols[i]);
243
- if (baseSymbols.indexOf(market['baseId']) === -1) {
243
+ if (!(market['baseId'] in baseSymbols)) {
244
244
  baseSymbols.push(market['baseId']);
245
245
  }
246
246
  }
@@ -250,7 +250,7 @@ class kifpoolme extends kifpoolme$1["default"] {
250
250
  if (symbolsParam !== undefined) {
251
251
  request['symbol'] = symbolsParam;
252
252
  }
253
- const response = await this.publicGetApiSpotPrice(this.extend(request, params));
253
+ const response = await this.publicGetApiSpotPrice(this.extend(request));
254
254
  const result = {};
255
255
  for (let i = 0; i < response.length; i++) {
256
256
  const item = response[i];
@@ -3,10 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tetherland$1 = require('./abstract/tetherland.js');
6
- require('./base/functions/platform.js');
7
- var type = require('./base/functions/type.js');
8
- require('./base/functions/encode.js');
9
- require('./base/functions/crypto.js');
10
6
 
11
7
  // ----------------------------------------------------------------------------
12
8
  // ---------------------------------------------------------------------------
@@ -257,7 +253,7 @@ class tetherland extends tetherland$1["default"] {
257
253
  }
258
254
  const response = await this.publicGetApiV5Currencies(params);
259
255
  const markets = this.safeList(response, 'data');
260
- const result = [];
256
+ const result = {};
261
257
  const quotes = ['USDT', 'IRT'];
262
258
  for (let i = 0; i < markets.length; i++) {
263
259
  for (let key = 0; key < quotes.length; key++) {
@@ -334,7 +330,7 @@ class tetherland extends tetherland$1["default"] {
334
330
  const marketId = this.safeString(ticker, 'id');
335
331
  const quote = this.safeString(ticker, 'quote');
336
332
  const symbol = this.safeSymbol(marketId, market, undefined, marketType);
337
- let last = type.asFloat(this.safeString(ticker, 'price', '').replace(',', ''));
333
+ let last = parseFloat(this.safeString(ticker, 'price', '').replace(',', ''));
338
334
  if (quote === 'IRT') {
339
335
  last = this.safeFloat(ticker, 'toman_amount', 0);
340
336
  }
@@ -243,7 +243,7 @@ class twox extends twox$1["default"] {
243
243
  symbols = this.marketSymbols(symbols);
244
244
  }
245
245
  const response = await this.publicGetApiCurrencies(params);
246
- const result = [];
246
+ const result = {};
247
247
  const quotes = ['IRT', 'USDT'];
248
248
  for (let i = 0; i < response.length; i++) {
249
249
  const base = this.safeString(response[i], 'symbol');
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.10";
7
+ declare const version = "4.9.12";
8
8
  import abantether from './src/abantether.js';
9
9
  import afratether from './src/afratether.js';
10
10
  import alpaca from './src/alpaca.js';
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.10';
41
+ const version = '4.9.12';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import abantether from './src/abantether.js';
@@ -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?: "binary" | "hex" | "base64") => any;
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?: "binary" | "hex" | "base64") => any;
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;
package/js/src/bitbarg.js CHANGED
@@ -140,8 +140,8 @@ export default class bitbarg extends Exchange {
140
140
  'baseId': baseId,
141
141
  'quoteId': quoteId,
142
142
  'settleId': undefined,
143
- 'type': 'otc',
144
- 'spot': false,
143
+ 'type': 'spot',
144
+ 'spot': true,
145
145
  'margin': false,
146
146
  'swap': false,
147
147
  'future': false,
@@ -221,7 +221,7 @@ export default class bitbarg extends Exchange {
221
221
  const request = {
222
222
  'pageSize': -1,
223
223
  };
224
- const response = await this.publicGetApiV1Currencies(this.extend(request, params));
224
+ const response = await this.publicGetApiV1Currencies(request);
225
225
  const data = this.safeDict(response, 'result', {});
226
226
  const items = this.safeList(data, 'items', []);
227
227
  const result = {};
@@ -272,7 +272,7 @@ export default class bitbarg extends Exchange {
272
272
  // "isFavorite": false,
273
273
  // "chart": [...]
274
274
  // }
275
- const marketType = 'otc';
275
+ const marketType = 'spot';
276
276
  const marketId = this.safeString(ticker, 'coin') + '/' + 'USDT';
277
277
  const symbol = this.safeSymbol(marketId, market, undefined, marketType);
278
278
  const last = this.safeFloat(ticker, 'price', 0);
@@ -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): "pending" | "ok" | "failed" | "canceled";
314
+ parseTransactionStatus(transaction: any): "canceled" | "pending" | "ok" | "failed";
315
315
  parseTransaction(transaction: Dict, currency?: Currency): Transaction;
316
316
  /**
317
317
  * @method
@@ -218,8 +218,9 @@ export default class hamtapay extends Exchange {
218
218
  for (let i = 0; i < quotes.length; i++) {
219
219
  const current_qoute = quotes[i];
220
220
  const corresponding_data = this.safeDict(data, current_qoute, {});
221
- for (let j = 0; j < Object.keys(corresponding_data).length; j++) {
222
- const current_base = Object.keys(corresponding_data)[j];
221
+ const baseSymbols = Object.keys(corresponding_data);
222
+ for (let j = 0; j < baseSymbols.length; j++) {
223
+ const current_base = baseSymbols[j];
223
224
  const current_ticker = corresponding_data[current_base];
224
225
  current_ticker['base'] = current_base;
225
226
  current_ticker['quote'] = current_qoute;
@@ -203,7 +203,7 @@ export default class kifpoolme extends Exchange {
203
203
  * @param {object} [params] extra parameters specific to the exchange API endpoint
204
204
  * @returns {object[]} an array of objects representing market data
205
205
  */
206
- const response = await this.publicGetApiSpotPrice(params);
206
+ const response = await this.publicGetApiSpotPrice();
207
207
  const result = [];
208
208
  // Response is an array of coin objects
209
209
  for (let i = 0; i < response.length; i++) {
@@ -241,7 +241,7 @@ export default class kifpoolme extends Exchange {
241
241
  const baseSymbols = [];
242
242
  for (let i = 0; i < symbols.length; i++) {
243
243
  const market = this.market(symbols[i]);
244
- if (baseSymbols.indexOf(market['baseId']) === -1) {
244
+ if (!(market['baseId'] in baseSymbols)) {
245
245
  baseSymbols.push(market['baseId']);
246
246
  }
247
247
  }
@@ -251,7 +251,7 @@ export default class kifpoolme extends Exchange {
251
251
  if (symbolsParam !== undefined) {
252
252
  request['symbol'] = symbolsParam;
253
253
  }
254
- const response = await this.publicGetApiSpotPrice(this.extend(request, params));
254
+ const response = await this.publicGetApiSpotPrice(this.extend(request));
255
255
  const result = {};
256
256
  for (let i = 0; i < response.length; i++) {
257
257
  const item = response[i];
@@ -1,2 +1,8 @@
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
+
1
7
  export = $root;
2
8
  declare var $root: {};
@@ -5,7 +5,7 @@ export function deflate(data: any, opts: any, cb: any): () => void;
5
5
  * @param opts The compression options
6
6
  * @returns The deflated version of the data
7
7
  */
8
- export function deflateSync(data: any, opts: any): Uint8Array | Uint32Array | Uint16Array;
8
+ export function deflateSync(data: any, opts: any): Uint8Array | Uint16Array | Uint32Array;
9
9
  export function inflate(data: any, opts: any, cb: any): () => void;
10
10
  /**
11
11
  * Expands DEFLATE data with no wrapper
@@ -21,7 +21,7 @@ export function gzip(data: any, opts: any, cb: any): () => void;
21
21
  * @param opts The compression options
22
22
  * @returns The gzipped version of the data
23
23
  */
24
- export function gzipSync(data: any, opts: any): Uint8Array | Uint32Array | Uint16Array;
24
+ export function gzipSync(data: any, opts: any): Uint8Array | Uint16Array | Uint32Array;
25
25
  export function gunzip(data: any, opts: any, cb: any): () => void;
26
26
  /**
27
27
  * Expands GZIP data
@@ -37,7 +37,7 @@ export function zlib(data: any, opts: any, cb: any): () => void;
37
37
  * @param opts The compression options
38
38
  * @returns The zlib-compressed version of the data
39
39
  */
40
- export function zlibSync(data: any, opts: any): Uint8Array | Uint32Array | Uint16Array;
40
+ export function zlibSync(data: any, opts: any): Uint8Array | Uint16Array | Uint32Array;
41
41
  export function unzlib(data: any, opts: any, cb: any): () => void;
42
42
  /**
43
43
  * Expands Zlib data
@@ -61,7 +61,7 @@ export function decompressSync(data: any, out: any): any;
61
61
  * not need to be true unless decoding a binary string.
62
62
  * @returns The string encoded in UTF-8/Latin-1 binary
63
63
  */
64
- export function strToU8(str: any, latin1: any): Uint8Array | Uint32Array | Uint16Array;
64
+ export function strToU8(str: any, latin1: any): Uint8Array | Uint16Array | Uint32Array;
65
65
  /**
66
66
  * Converts a Uint8Array to a string
67
67
  * @param dat The data to decode to string
@@ -69,7 +69,7 @@ export function strToU8(str: any, latin1: any): Uint8Array | Uint32Array | Uint1
69
69
  * not need to be true unless encoding to binary string.
70
70
  * @returns The original UTF-8/Latin-1 string
71
71
  */
72
- export function strFromU8(dat: any, latin1: any): string | Uint8Array | Uint32Array | Uint16Array;
72
+ export function strFromU8(dat: any, latin1: any): string | Uint8Array | Uint16Array | Uint32Array;
73
73
  export function zip(data: any, opts: any, cb: any): () => void;
74
74
  /**
75
75
  * Synchronously creates a ZIP file. Prefer using `zip` for better performance
@@ -12,7 +12,7 @@ export declare class Stream {
12
12
  parseStringUTF(start: number, end: number): string;
13
13
  parseStringBMP(start: number, end: number): string;
14
14
  parseTime(start: number, end: number, shortYear: boolean): string;
15
- parseInteger(start: number, end: number): string | -1 | 0;
15
+ parseInteger(start: number, end: number): string | 0 | -1;
16
16
  parseBitString(start: number, end: number, maxLength: number): string;
17
17
  parseOctetString(start: number, end: number, maxLength: number): string;
18
18
  parseOID(start: number, end: number, maxLength: number): string;
@@ -25,7 +25,7 @@ export declare class ASN1 {
25
25
  private tag;
26
26
  sub: ASN1[];
27
27
  typeName(): string;
28
- content(maxLength: number): string | -1 | 0;
28
+ content(maxLength: number): string | 0 | -1;
29
29
  toString(): string;
30
30
  toPrettyString(indent: string): string;
31
31
  posStart(): number;
@@ -15,7 +15,7 @@ export declare class BigInteger {
15
15
  protected intValue(): number;
16
16
  protected byteValue(): number;
17
17
  protected shortValue(): number;
18
- protected signum(): 1 | -1 | 0;
18
+ protected signum(): 0 | 1 | -1;
19
19
  toByteArray(): number[];
20
20
  protected equals(a: BigInteger): boolean;
21
21
  protected min(a: BigInteger): BigInteger;
@@ -1,3 +1,9 @@
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
+
1
7
  declare const _default: string;
2
8
  export declare namespace formatters {
3
9
  function RFC1738(value: any): string;
@@ -1,3 +1,9 @@
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
+
1
7
  import formats = require("./formats.cjs");
2
8
  import parse = require("./parse.cjs");
3
9
  import stringify = require("./stringify.cjs");
@@ -1,2 +1,8 @@
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
+
1
7
  declare function _exports(str: any, opts: any): any;
2
8
  export = _exports;
@@ -1,2 +1,8 @@
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
+
1
7
  declare function _exports(object: any, opts: any): string;
2
8
  export = _exports;
@@ -1,3 +1,9 @@
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
+
1
7
  export function arrayToObject(source: any, options: any): any;
2
8
  export function assign(target: any, source: any): any;
3
9
  export function combine(a: any, b: any): any[];
@@ -1,5 +1,5 @@
1
1
  import { Abi, FunctionAbi, RawArgs } from '../../../types/index.js';
2
2
  import { AbiParserInterface } from './interface.js';
3
3
  export declare function createAbiParser(abi: Abi): AbiParserInterface;
4
- export declare function getAbiVersion(abi: Abi): 1 | 0 | 2;
4
+ export declare function getAbiVersion(abi: Abi): 0 | 1 | 2;
5
5
  export declare function isNoConstructorValid(method: string, argsCalldata: RawArgs, abiMethod?: FunctionAbi): boolean;
@@ -6,7 +6,6 @@
6
6
 
7
7
  // ---------------------------------------------------------------------------
8
8
  import Exchange from './abstract/tetherland.js';
9
- import { asFloat } from './base/functions.js';
10
9
  // ---------------------------------------------------------------------------
11
10
  /**
12
11
  * @class tetherland
@@ -255,7 +254,7 @@ export default class tetherland extends Exchange {
255
254
  }
256
255
  const response = await this.publicGetApiV5Currencies(params);
257
256
  const markets = this.safeList(response, 'data');
258
- const result = [];
257
+ const result = {};
259
258
  const quotes = ['USDT', 'IRT'];
260
259
  for (let i = 0; i < markets.length; i++) {
261
260
  for (let key = 0; key < quotes.length; key++) {
@@ -332,7 +331,7 @@ export default class tetherland extends Exchange {
332
331
  const marketId = this.safeString(ticker, 'id');
333
332
  const quote = this.safeString(ticker, 'quote');
334
333
  const symbol = this.safeSymbol(marketId, market, undefined, marketType);
335
- let last = asFloat(this.safeString(ticker, 'price', '').replace(',', ''));
334
+ let last = parseFloat(this.safeString(ticker, 'price', '').replace(',', ''));
336
335
  if (quote === 'IRT') {
337
336
  last = this.safeFloat(ticker, 'toman_amount', 0);
338
337
  }
package/js/src/twox.js CHANGED
@@ -244,7 +244,7 @@ export default class twox extends Exchange {
244
244
  symbols = this.marketSymbols(symbols);
245
245
  }
246
246
  const response = await this.publicGetApiCurrencies(params);
247
- const result = [];
247
+ const result = {};
248
248
  const quotes = ['IRT', 'USDT'];
249
249
  for (let i = 0; i < response.length; i++) {
250
250
  const base = this.safeString(response[i], 'symbol');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt-ir",
3
- "version": "4.9.10",
3
+ "version": "4.9.12",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.min.js",
6
6
  "type": "module",