ccxt 4.4.70 → 4.4.71

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 (60) hide show
  1. package/README.md +5 -8
  2. package/dist/ccxt.browser.min.js +7 -7
  3. package/dist/cjs/ccxt.js +1 -6
  4. package/dist/cjs/src/abstract/poloniexfutures.js +1 -1
  5. package/dist/cjs/src/base/Exchange.js +22 -0
  6. package/dist/cjs/src/binance.js +106 -101
  7. package/dist/cjs/src/bingx.js +64 -42
  8. package/dist/cjs/src/bitget.js +1 -5
  9. package/dist/cjs/src/bitmart.js +15 -1
  10. package/dist/cjs/src/bitopro.js +1 -0
  11. package/dist/cjs/src/bitrue.js +1 -0
  12. package/dist/cjs/src/cex.js +1 -0
  13. package/dist/cjs/src/coinbaseexchange.js +1 -0
  14. package/dist/cjs/src/deribit.js +1 -0
  15. package/dist/cjs/src/hashkey.js +4 -2
  16. package/dist/cjs/src/kraken.js +83 -6
  17. package/dist/cjs/src/kucoin.js +4 -2
  18. package/dist/cjs/src/mexc.js +8 -4
  19. package/dist/cjs/src/okx.js +58 -46
  20. package/dist/cjs/src/poloniex.js +1311 -81
  21. package/dist/cjs/src/poloniexfutures.js +1 -1
  22. package/dist/cjs/src/pro/binance.js +94 -94
  23. package/dist/cjs/src/pro/bingx.js +63 -52
  24. package/dist/cjs/src/pro/poloniexfutures.js +1 -1
  25. package/dist/cjs/src/whitebit.js +4 -2
  26. package/js/ccxt.d.ts +3 -9
  27. package/js/ccxt.js +2 -6
  28. package/js/src/abstract/bingx.d.ts +1 -0
  29. package/js/src/abstract/bitmart.d.ts +1 -0
  30. package/js/src/abstract/poloniex.d.ts +36 -0
  31. package/js/src/abstract/poloniexfutures.js +6 -0
  32. package/js/src/base/Exchange.d.ts +11 -2
  33. package/js/src/base/Exchange.js +22 -0
  34. package/js/src/base/types.d.ts +31 -0
  35. package/js/src/binance.d.ts +98 -97
  36. package/js/src/binance.js +106 -101
  37. package/js/src/bingx.js +64 -42
  38. package/js/src/bitget.js +1 -5
  39. package/js/src/bitmart.d.ts +1 -0
  40. package/js/src/bitmart.js +15 -1
  41. package/js/src/bitopro.js +1 -0
  42. package/js/src/bitrue.js +1 -0
  43. package/js/src/cex.js +1 -0
  44. package/js/src/coinbaseexchange.js +1 -0
  45. package/js/src/deribit.js +1 -0
  46. package/js/src/hashkey.js +4 -2
  47. package/js/src/kraken.d.ts +1 -0
  48. package/js/src/kraken.js +83 -6
  49. package/js/src/kucoin.js +4 -2
  50. package/js/src/mexc.js +8 -4
  51. package/js/src/okx.js +58 -46
  52. package/js/src/poloniex.d.ts +109 -1
  53. package/js/src/poloniex.js +1311 -81
  54. package/js/src/poloniexfutures.js +6 -0
  55. package/js/src/pro/binance.d.ts +94 -94
  56. package/js/src/pro/binance.js +94 -94
  57. package/js/src/pro/bingx.js +63 -52
  58. package/js/src/pro/poloniexfutures.js +6 -0
  59. package/js/src/whitebit.js +4 -2
  60. package/package.json +1 -1
@@ -42,6 +42,7 @@ class bingx extends bingx$1 {
42
42
  'createOrder': true,
43
43
  'createOrders': true,
44
44
  'createOrderWithTakeProfitAndStopLoss': true,
45
+ 'createReduceOnlyOrder': true,
45
46
  'createStopLossOrder': true,
46
47
  'createStopOrder': true,
47
48
  'createTakeProfitOrder': true,
@@ -159,6 +160,7 @@ class bingx extends bingx$1 {
159
160
  'trade/myTrades': 2,
160
161
  'user/commissionRate': 5,
161
162
  'account/balance': 2,
163
+ 'account/allAccountBalance': 2,
162
164
  },
163
165
  'post': {
164
166
  'trade/order': 2,
@@ -1457,62 +1459,82 @@ class bingx extends bingx$1 {
1457
1459
  // spot
1458
1460
  //
1459
1461
  // {
1460
- // "code": 0,
1461
- // "data": {
1462
- // "bids": [
1463
- // [
1464
- // "26324.73",
1465
- // "0.37655"
1466
- // ],
1467
- // [
1468
- // "26324.71",
1469
- // "0.31888"
1470
- // ],
1471
- // ],
1472
- // "asks": [
1473
- // [
1474
- // "26340.30",
1475
- // "6.45221"
1462
+ // "code":0,
1463
+ // "timestamp":1743240504535,
1464
+ // "data":{
1465
+ // "bids":[
1466
+ // ["83775.39","1.981875"],
1467
+ // ["83775.38","0.001076"],
1468
+ // ["83775.34","0.254716"],
1476
1469
  // ],
1477
- // [
1478
- // "26340.15",
1479
- // "6.73261"
1470
+ // "asks":[
1471
+ // ["83985.40","0.000013"],
1472
+ // ["83980.00","0.000011"],
1473
+ // ["83975.70","0.000061000000000000005"],
1480
1474
  // ],
1481
- // ]}
1475
+ // "ts":1743240504535,
1476
+ // "lastUpdateId":13565639906
1477
+ // }
1482
1478
  // }
1483
1479
  //
1484
- // swap
1480
+ //
1481
+ // linear swap
1485
1482
  //
1486
1483
  // {
1487
- // "code": 0,
1488
- // "msg": "",
1489
- // "data": {
1490
- // "T": 1683914263304,
1491
- // "bids": [
1492
- // [
1493
- // "26300.90000000",
1494
- // "30408.00000000"
1484
+ // "code":0,
1485
+ // "msg":"",
1486
+ // "data":{
1487
+ // "T":1743240836255,
1488
+ // "bids":[
1489
+ // ["83760.7","7.0861"],
1490
+ // ["83760.6","0.0044"],
1491
+ // ["83757.7","1.9526"],
1495
1492
  // ],
1496
- // [
1497
- // "26300.80000000",
1498
- // "50906.00000000"
1493
+ // "asks":[
1494
+ // ["83784.3","8.3531"],
1495
+ // ["83782.8","23.7289"],
1496
+ // ["83780.1","18.0617"],
1499
1497
  // ],
1500
- // ],
1501
- // "asks": [
1502
- // [
1503
- // "26301.00000000",
1504
- // "43616.00000000"
1498
+ // "bidsCoin":[
1499
+ // ["83760.7","0.0007"],
1500
+ // ["83760.6","0.0000"],
1501
+ // ["83757.7","0.0002"],
1505
1502
  // ],
1506
- // [
1507
- // "26301.10000000",
1508
- // "49402.00000000"
1503
+ // "asksCoin":[
1504
+ // ["83784.3","0.0008"],
1505
+ // ["83782.8","0.0024"],
1506
+ // ["83780.1","0.0018"],
1507
+ // ]
1508
+ // }
1509
+ // }
1510
+ //
1511
+ // inverse swap
1512
+ //
1513
+ // {
1514
+ // "code":0,
1515
+ // "msg":"",
1516
+ // "timestamp":1743240979146,
1517
+ // "data":{
1518
+ // "T":1743240978691,
1519
+ // "bids":[
1520
+ // ["83611.4","241.0"],
1521
+ // ["83611.3","1.0"],
1522
+ // ["83602.9","666.0"],
1509
1523
  // ],
1510
- // ]}
1524
+ // "asks":[
1525
+ // ["83645.0","4253.0"],
1526
+ // ["83640.5","3188.0"],
1527
+ // ["83636.0","5540.0"],
1528
+ // ]
1529
+ // }
1511
1530
  // }
1512
1531
  //
1513
1532
  const orderbook = this.safeDict(response, 'data', {});
1533
+ const nonce = this.safeInteger(orderbook, 'lastUpdateId');
1514
1534
  const timestamp = this.safeInteger2(orderbook, 'T', 'ts');
1515
- return this.parseOrderBook(orderbook, market['symbol'], timestamp, 'bids', 'asks', 0, 1);
1535
+ const result = this.parseOrderBook(orderbook, market['symbol'], timestamp, 'bids', 'asks', 0, 1);
1536
+ result['nonce'] = nonce;
1537
+ return result;
1516
1538
  }
1517
1539
  /**
1518
1540
  * @method
@@ -1747,11 +1747,7 @@ class bitget extends bitget$1 {
1747
1747
  if (this.options['adjustForTimeDifference']) {
1748
1748
  await this.loadTimeDifference();
1749
1749
  }
1750
- const sandboxMode = this.safeBool(this.options, 'sandboxMode', false);
1751
- let types = this.safeValue(this.options, 'fetchMarkets', ['spot', 'swap']);
1752
- if (sandboxMode) {
1753
- types = ['swap'];
1754
- }
1750
+ const types = this.safeValue(this.options, 'fetchMarkets', ['spot', 'swap']);
1755
1751
  const promises = [];
1756
1752
  let fetchMargins = false;
1757
1753
  for (let i = 0; i < types.length; i++) {
@@ -42,6 +42,7 @@ class bitmart extends bitmart$1 {
42
42
  'createOrder': true,
43
43
  'createOrders': true,
44
44
  'createPostOnlyOrder': true,
45
+ 'createReduceOnlyOrder': true,
45
46
  'createStopLimitOrder': false,
46
47
  'createStopMarketOrder': false,
47
48
  'createStopOrder': false,
@@ -259,6 +260,7 @@ class bitmart extends bitmart$1 {
259
260
  'contract/private/submit-tp-sl-order': 2.5,
260
261
  'contract/private/modify-plan-order': 2.5,
261
262
  'contract/private/modify-preset-plan-order': 2.5,
263
+ 'contract/private/modify-limit-order': 2.5,
262
264
  'contract/private/modify-tp-sl-order': 2.5,
263
265
  'contract/private/submit-trail-order': 2.5,
264
266
  'contract/private/cancel-trail-order': 1.5, // weight is not provided by the exchange, is set as ordinary order
@@ -5119,6 +5121,7 @@ class bitmart extends bitmart$1 {
5119
5121
  * @see https://developer-pro.bitmart.com/en/futuresv2/#modify-plan-order-signed
5120
5122
  * @see https://developer-pro.bitmart.com/en/futuresv2/#modify-tp-sl-order-signed
5121
5123
  * @see https://developer-pro.bitmart.com/en/futuresv2/#modify-preset-plan-order-signed
5124
+ * @see https://developer-pro.bitmart.com/en/futuresv2/#modify-limit-order-signed
5122
5125
  * @param {string} id order id
5123
5126
  * @param {string} symbol unified symbol of the market to edit an order in
5124
5127
  * @param {string} type 'market' or 'limit'
@@ -5154,6 +5157,7 @@ class bitmart extends bitmart$1 {
5154
5157
  const isTakeProfit = takeProfitPrice !== undefined;
5155
5158
  const isPresetStopLoss = presetStopLoss !== undefined;
5156
5159
  const isPresetTakeProfit = presetTakeProfit !== undefined;
5160
+ const isLimitOrder = (type === 'limit');
5157
5161
  const request = {
5158
5162
  'symbol': market['id'],
5159
5163
  };
@@ -5229,8 +5233,18 @@ class bitmart extends bitmart$1 {
5229
5233
  // }
5230
5234
  //
5231
5235
  }
5236
+ else if (isLimitOrder) {
5237
+ request['order_id'] = this.parseToInt(id); // reparse id as int this endpoint is the only one requiring it
5238
+ if (amount !== undefined) {
5239
+ request['size'] = this.amountToPrecision(symbol, amount);
5240
+ }
5241
+ if (price !== undefined) {
5242
+ request['price'] = this.priceToPrecision(symbol, price);
5243
+ }
5244
+ response = await this.privatePostContractPrivateModifyLimitOrder(this.extend(request, params));
5245
+ }
5232
5246
  else {
5233
- throw new errors.NotSupported(this.id + ' editOrder() only supports trigger, stop loss and take profit orders');
5247
+ throw new errors.NotSupported(this.id + ' editOrder() only supports limit, trigger, stop loss and take profit orders');
5234
5248
  }
5235
5249
  const data = this.safeDict(response, 'data', {});
5236
5250
  return this.parseOrder(data, market);
@@ -34,6 +34,7 @@ class bitopro extends bitopro$1 {
34
34
  'closeAllPositions': false,
35
35
  'closePosition': false,
36
36
  'createOrder': true,
37
+ 'createReduceOnlyOrder': false,
37
38
  'createStopOrder': true,
38
39
  'createTriggerOrder': true,
39
40
  'editOrder': false,
@@ -36,6 +36,7 @@ class bitrue extends bitrue$1 {
36
36
  'createMarketOrderWithCost': false,
37
37
  'createMarketSellOrderWithCost': false,
38
38
  'createOrder': true,
39
+ 'createReduceOnlyOrder': true,
39
40
  'createStopLimitOrder': true,
40
41
  'createStopMarketOrder': true,
41
42
  'createStopOrder': true,
@@ -30,6 +30,7 @@ class cex extends cex$1 {
30
30
  'cancelAllOrders': true,
31
31
  'cancelOrder': true,
32
32
  'createOrder': true,
33
+ 'createReduceOnlyOrder': false,
33
34
  'createStopOrder': true,
34
35
  'createTriggerOrder': true,
35
36
  'fetchAccounts': true,
@@ -32,6 +32,7 @@ class coinbaseexchange extends coinbaseexchange$1 {
32
32
  'cancelOrder': true,
33
33
  'createDepositAddress': true,
34
34
  'createOrder': true,
35
+ 'createReduceOnlyOrder': false,
35
36
  'createStopLimitOrder': true,
36
37
  'createStopMarketOrder': true,
37
38
  'createStopOrder': true,
@@ -37,6 +37,7 @@ class deribit extends deribit$1 {
37
37
  'cancelOrders': false,
38
38
  'createDepositAddress': true,
39
39
  'createOrder': true,
40
+ 'createReduceOnlyOrder': true,
40
41
  'createStopLimitOrder': true,
41
42
  'createStopMarketOrder': true,
42
43
  'createStopOrder': true,
@@ -2444,8 +2444,10 @@ class hashkey extends hashkey$1 {
2444
2444
  if (!market['spot']) {
2445
2445
  throw new errors.NotSupported(this.id + ' createMarketBuyOrderWithCost() is supported for spot markets only');
2446
2446
  }
2447
- params['cost'] = cost;
2448
- return await this.createOrder(symbol, 'market', 'buy', cost, undefined, params);
2447
+ const req = {
2448
+ 'cost': cost,
2449
+ };
2450
+ return await this.createOrder(symbol, 'market', 'buy', cost, undefined, this.extend(req, params));
2449
2451
  }
2450
2452
  /**
2451
2453
  * @method
@@ -225,13 +225,13 @@ class kraken extends kraken$1 {
225
225
  },
226
226
  },
227
227
  'commonCurrencies': {
228
+ // about X & Z prefixes and .S & .M suffixes, see comment under fetchCurrencies
228
229
  'LUNA': 'LUNC',
229
230
  'LUNA2': 'LUNA',
230
231
  'REPV2': 'REP',
231
232
  'REP': 'REPV1',
232
233
  'UST': 'USTC',
233
234
  'XBT': 'BTC',
234
- 'XBT.M': 'BTC.M',
235
235
  'XDG': 'DOGE',
236
236
  },
237
237
  'options': {
@@ -771,9 +771,48 @@ class kraken extends kraken$1 {
771
771
  // {
772
772
  // "error": [],
773
773
  // "result": {
774
- // "BCH": {
774
+ // "ATOM": {
775
775
  // "aclass": "currency",
776
- // "altname": "BCH",
776
+ // "altname": "ATOM",
777
+ // "collateral_value": "0.7",
778
+ // "decimals": 8,
779
+ // "display_decimals": 6,
780
+ // "margin_rate": 0.02,
781
+ // "status": "enabled",
782
+ // },
783
+ // "ATOM.S": {
784
+ // "aclass": "currency",
785
+ // "altname": "ATOM.S",
786
+ // "decimals": 8,
787
+ // "display_decimals": 6,
788
+ // "status": "enabled",
789
+ // },
790
+ // "XXBT": {
791
+ // "aclass": "currency",
792
+ // "altname": "XBT",
793
+ // "decimals": 10,
794
+ // "display_decimals": 5,
795
+ // "margin_rate": 0.01,
796
+ // "status": "enabled",
797
+ // },
798
+ // "XETH": {
799
+ // "aclass": "currency",
800
+ // "altname": "ETH",
801
+ // "decimals": 10,
802
+ // "display_decimals": 5
803
+ // "margin_rate": 0.02,
804
+ // "status": "enabled",
805
+ // },
806
+ // "XBT.M": {
807
+ // "aclass": "currency",
808
+ // "altname": "XBT.M",
809
+ // "decimals": 10,
810
+ // "display_decimals": 5
811
+ // "status": "enabled",
812
+ // },
813
+ // "ETH.M": {
814
+ // "aclass": "currency",
815
+ // "altname": "ETH.M",
777
816
  // "decimals": 10,
778
817
  // "display_decimals": 5
779
818
  // "status": "enabled",
@@ -792,7 +831,30 @@ class kraken extends kraken$1 {
792
831
  // see: https://support.kraken.com/hc/en-us/articles/201893608-What-are-the-withdrawal-fees-
793
832
  // to add support for multiple withdrawal/deposit methods and
794
833
  // differentiated fees for each particular method
795
- const code = this.safeCurrencyCode(id);
834
+ //
835
+ // Notes about abbreviations:
836
+ // Z and X prefixes: https://support.kraken.com/hc/en-us/articles/360001206766-Bitcoin-currency-code-XBT-vs-BTC
837
+ // S and M suffixes: https://support.kraken.com/hc/en-us/articles/360039879471-What-is-Asset-S-and-Asset-M-
838
+ //
839
+ let code = this.safeCurrencyCode(id);
840
+ // the below can not be reliable done in `safeCurrencyCode`, so we have to do it here
841
+ if (id.indexOf('.') < 0) {
842
+ const altName = this.safeString(currency, 'altname');
843
+ // handle cases like below:
844
+ //
845
+ // id | altname
846
+ // ---------------
847
+ // XXBT | XBT
848
+ // ZUSD | USD
849
+ if (id !== altName && (id.startsWith('X') || id.startsWith('Z'))) {
850
+ code = this.safeCurrencyCode(altName);
851
+ // also, add map in commonCurrencies:
852
+ this.commonCurrencies[id] = code;
853
+ }
854
+ else {
855
+ code = this.safeCurrencyCode(id);
856
+ }
857
+ }
796
858
  const precision = this.parseNumber(this.parsePrecision(this.safeString(currency, 'decimals')));
797
859
  // assumes all currencies are active except those listed above
798
860
  const active = this.safeString(currency, 'status') === 'enabled';
@@ -821,6 +883,19 @@ class kraken extends kraken$1 {
821
883
  }
822
884
  return result;
823
885
  }
886
+ safeCurrencyCode(currencyId, currency = undefined) {
887
+ if (currencyId === undefined) {
888
+ return currencyId;
889
+ }
890
+ if (currencyId.indexOf('.') > 0) {
891
+ // if ID contains .M, .S or .F, then it can't contain X or Z prefix. in such case, ID equals to ALTNAME
892
+ const parts = currencyId.split('.');
893
+ const firstPart = this.safeString(parts, 0);
894
+ const secondPart = this.safeString(parts, 1);
895
+ return super.safeCurrencyCode(firstPart, currency) + '.' + secondPart;
896
+ }
897
+ return super.safeCurrencyCode(currencyId, currency);
898
+ }
824
899
  /**
825
900
  * @method
826
901
  * @name kraken#fetchTradingFee
@@ -1517,8 +1592,10 @@ class kraken extends kraken$1 {
1517
1592
  async createMarketOrderWithCost(symbol, side, cost, params = {}) {
1518
1593
  await this.loadMarkets();
1519
1594
  // only buy orders are supported by the endpoint
1520
- params['cost'] = cost;
1521
- return await this.createOrder(symbol, 'market', side, cost, undefined, params);
1595
+ const req = {
1596
+ 'cost': cost,
1597
+ };
1598
+ return await this.createOrder(symbol, 'market', side, cost, undefined, this.extend(req, params));
1522
1599
  }
1523
1600
  /**
1524
1601
  * @method
@@ -2299,8 +2299,10 @@ class kucoin extends kucoin$1 {
2299
2299
  */
2300
2300
  async createMarketOrderWithCost(symbol, side, cost, params = {}) {
2301
2301
  await this.loadMarkets();
2302
- params['cost'] = cost;
2303
- return await this.createOrder(symbol, 'market', side, cost, undefined, params);
2302
+ const req = {
2303
+ 'cost': cost,
2304
+ };
2305
+ return await this.createOrder(symbol, 'market', side, cost, undefined, this.extend(req, params));
2304
2306
  }
2305
2307
  /**
2306
2308
  * @method
@@ -2257,8 +2257,10 @@ class mexc extends mexc$1 {
2257
2257
  if (!market['spot']) {
2258
2258
  throw new errors.NotSupported(this.id + ' createMarketBuyOrderWithCost() supports spot orders only');
2259
2259
  }
2260
- params['cost'] = cost;
2261
- return await this.createOrder(symbol, 'market', 'buy', 0, undefined, params);
2260
+ const req = {
2261
+ 'cost': cost,
2262
+ };
2263
+ return await this.createOrder(symbol, 'market', 'buy', 0, undefined, this.extend(req, params));
2262
2264
  }
2263
2265
  /**
2264
2266
  * @method
@@ -2276,8 +2278,10 @@ class mexc extends mexc$1 {
2276
2278
  if (!market['spot']) {
2277
2279
  throw new errors.NotSupported(this.id + ' createMarketBuyOrderWithCost() supports spot orders only');
2278
2280
  }
2279
- params['cost'] = cost;
2280
- return await this.createOrder(symbol, 'market', 'sell', 0, undefined, params);
2281
+ const req = {
2282
+ 'cost': cost,
2283
+ };
2284
+ return await this.createOrder(symbol, 'market', 'sell', 0, undefined, this.extend(req, params));
2281
2285
  }
2282
2286
  /**
2283
2287
  * @method
@@ -987,71 +987,64 @@ class okx extends okx$1 {
987
987
  'networks': {
988
988
  'BTC': 'Bitcoin',
989
989
  'BTCLN': 'Lightning',
990
+ 'BTCLIGHTNING': 'Lightning',
990
991
  'BEP20': 'BSC',
992
+ 'BRC20': 'BRC20',
991
993
  'ERC20': 'ERC20',
992
994
  'TRC20': 'TRC20',
993
995
  'CRC20': 'Crypto',
994
- // sorted
995
996
  'ACA': 'Acala',
996
997
  'ALGO': 'Algorand',
997
- 'BHP': 'BHP',
998
998
  'APT': 'Aptos',
999
+ 'SCROLL': 'Scroll',
999
1000
  'ARBONE': 'Arbitrum One',
1000
1001
  'AVAXC': 'Avalanche C-Chain',
1001
1002
  'AVAXX': 'Avalanche X-Chain',
1002
- 'ARK': 'ARK',
1003
+ 'BASE': 'Base',
1004
+ 'SUI': 'SUI',
1005
+ 'ZKSYNCERA': 'zkSync Era',
1006
+ 'LINEA': 'Linea',
1003
1007
  'AR': 'Arweave',
1004
1008
  'ASTR': 'Astar',
1005
1009
  'BCH': 'BitcoinCash',
1006
1010
  'BSV': 'Bitcoin SV',
1007
- 'BTM': 'Bytom',
1008
1011
  'ADA': 'Cardano',
1009
1012
  'CSPR': 'Casper',
1010
1013
  'CELO': 'CELO',
1011
1014
  'XCH': 'Chia',
1012
- 'CHZ': 'Chiliz',
1015
+ // 'CHZ': 'Chiliz', TBD: Chiliz 2.0 Chain vs Chiliz Chain
1013
1016
  'ATOM': 'Cosmos',
1014
- 'TRUE': 'TrueChain',
1015
- 'DCR': 'Decred',
1016
1017
  'DGB': 'Digibyte',
1017
1018
  'DOGE': 'Dogecoin',
1018
- 'XEC': 'XEC',
1019
1019
  'EGLD': 'Elrond',
1020
+ 'CFX': 'Conflux',
1020
1021
  'EOS': 'EOS',
1022
+ 'CORE': 'CORE',
1021
1023
  'ETC': 'Ethereum Classic',
1022
1024
  'ETHW': 'EthereumPow',
1023
- 'FTM': 'Fantom',
1025
+ // 'FTM': 'Fantom', 'Sonic' TBD
1024
1026
  'FIL': 'Filecoin',
1025
- 'FLOW': 'FLOW',
1026
- 'FSN': 'Fusion',
1027
1027
  'ONE': 'Harmony',
1028
1028
  'HBAR': 'Hedera',
1029
- 'HNT': 'Helium',
1030
- 'ZEN': 'Horizen',
1031
1029
  'ICX': 'ICON',
1032
1030
  'ICP': 'Dfinity',
1033
1031
  'IOST': 'IOST',
1034
1032
  'IOTA': 'MIOTA',
1035
- 'KDA': 'Kadena',
1036
- 'KAR': 'KAR',
1037
1033
  'KLAY': 'Klaytn',
1038
1034
  'KSM': 'Kusama',
1039
1035
  'LSK': 'Lisk',
1040
1036
  'LTC': 'Litecoin',
1041
1037
  'METIS': 'Metis',
1042
1038
  'MINA': 'Mina',
1043
- 'XMR': 'Monero',
1044
1039
  'GLRM': 'Moonbeam',
1045
1040
  'MOVR': 'Moonriver',
1046
1041
  'NANO': 'Nano',
1047
1042
  'NEAR': 'NEAR',
1048
- 'NAS': 'Nebulas',
1049
- 'NEM': 'New Economy Movement',
1050
1043
  'NULS': 'NULS',
1051
1044
  'OASYS': 'OASYS',
1052
- 'OKC': 'OKC',
1053
1045
  'ONT': 'Ontology',
1054
1046
  'OPTIMISM': 'Optimism',
1047
+ // 'OP': 'Optimism', or Optimism (V2), TBD
1055
1048
  'LAT': 'PlatON',
1056
1049
  'DOT': 'Polkadot',
1057
1050
  'MATIC': 'Polygon',
@@ -1064,35 +1057,54 @@ class okx extends okx$1 {
1064
1057
  'XTZ': 'Tezos',
1065
1058
  'TON': 'TON',
1066
1059
  'THETA': 'Theta',
1067
- 'VSYS': 'VSYSTEMS',
1068
- 'WAVES': 'WAVES',
1069
1060
  'WAX': 'Wax',
1070
- 'ZEC': 'Zcash',
1071
1061
  'ZIL': 'Zilliqa',
1072
- 'ZKSYNC': 'ZKSYNC',
1073
- 'OMNI': 'Omni',
1074
- // 'NEON3': 'N3', // tbd
1075
- // undetermined : "CELO-TOKEN", "Digital Cash", Khala
1076
- // todo: uncomment below after consensus
1077
- // 'AELF': 'AELF',
1078
- // 'BITCOINDIAMOND': 'Bitcoin Diamond',
1079
- // 'BITCOINGOLD': 'BitcoinGold',
1080
- // 'YOYOW': 'YOYOW',
1081
- // 'QTUM': 'Quantum',
1082
- // 'INTCHAIN': 'INTCHAIN',
1083
- // 'YOUCHAIN': 'YOUCHAIN',
1084
- // 'RONIN': 'Ronin',
1085
- // 'OEC': 'OEC',
1086
- // 'WAYIKICHAIN': 'WGRT',
1087
- // 'MDNA': 'DNA',
1088
- // 'STEP': 'Step Network',
1089
- // 'EMINER': 'Eminer',
1090
- // 'CYBERMILES': 'CyberMiles',
1091
- // 'HYPERCASH': 'HyperCash',
1092
- // 'CONFLUX': 'Conflux',
1093
- // 'CORTEX': 'Cortex',
1094
- // 'TERRA': 'Terra',
1095
- // 'TERRACLASSIC': 'Terra Classic',
1062
+ // non-supported known network: CRP. KAVA, TAIKO, BOB, GNO, BLAST, RSK, SEI, MANTLE, HYPE, RUNE, OSMO, XIN, WEMIX, HT, FSN, NEO, TLOS, CANTO, SCRT, AURORA, XMR
1063
+ // others:
1064
+ // "OKTC",
1065
+ // "X Layer",
1066
+ // "Polygon (Bridged)",
1067
+ // "BTCK-OKTC",
1068
+ // "ETHK-OKTC",
1069
+ // "Starknet",
1070
+ // "LTCK-OKTC",
1071
+ // "XRPK-OKTC",
1072
+ // "BCHK-OKTC",
1073
+ // "ETCK-OKTC",
1074
+ // "Endurance Smart Chain",
1075
+ // "Berachain",
1076
+ // "CELO-TOKEN",
1077
+ // "CFX_EVM",
1078
+ // "Cortex",
1079
+ // "DAIK-OKTC",
1080
+ // "Dora Vota Mainnet",
1081
+ // "DOTK-OKTC",
1082
+ // "DYDX",
1083
+ // "AELF",
1084
+ // "Enjin Relay Chain",
1085
+ // "FEVM",
1086
+ // "FILK-OKTC",
1087
+ // "Flare",
1088
+ // "Gravity Alpha Mainnet",
1089
+ // "INJ",
1090
+ // "Story",
1091
+ // "LINKK-OKTC",
1092
+ // "Terra",
1093
+ // "Terra Classic",
1094
+ // "Terra Classic (USTC)",
1095
+ // "MERLIN Network",
1096
+ // "Layer 3",
1097
+ // "PI",
1098
+ // "Ronin",
1099
+ // "Quantum",
1100
+ // "SHIBK-OKTC",
1101
+ // "SUSHIK-OKTC",
1102
+ // "Celestia",
1103
+ // "TRXK-OKTC",
1104
+ // "UNIK-OKTC",
1105
+ // "Venom",
1106
+ // "WBTCK-OKTC",
1107
+ // "ZetaChain",
1096
1108
  },
1097
1109
  'fetchOpenInterestHistory': {
1098
1110
  'timeframes': {