ccxt 4.1.11 → 4.1.13

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 (96) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.js +1056 -66
  3. package/dist/ccxt.browser.min.js +3 -3
  4. package/dist/cjs/ccxt.js +1 -1
  5. package/dist/cjs/src/ace.js +1 -0
  6. package/dist/cjs/src/alpaca.js +1 -0
  7. package/dist/cjs/src/base/Exchange.js +30 -0
  8. package/dist/cjs/src/bigone.js +1 -0
  9. package/dist/cjs/src/binance.js +310 -37
  10. package/dist/cjs/src/bingx.js +1 -0
  11. package/dist/cjs/src/bitbank.js +1 -0
  12. package/dist/cjs/src/bitbns.js +1 -0
  13. package/dist/cjs/src/bitfinex.js +1 -0
  14. package/dist/cjs/src/bitfinex2.js +1 -0
  15. package/dist/cjs/src/bitflyer.js +1 -0
  16. package/dist/cjs/src/bitforex.js +1 -0
  17. package/dist/cjs/src/bitget.js +20 -4
  18. package/dist/cjs/src/bithumb.js +1 -0
  19. package/dist/cjs/src/bitmart.js +103 -0
  20. package/dist/cjs/src/bitmex.js +70 -0
  21. package/dist/cjs/src/bitopro.js +1 -0
  22. package/dist/cjs/src/bitpanda.js +1 -0
  23. package/dist/cjs/src/bitrue.js +1 -0
  24. package/dist/cjs/src/bitso.js +1 -0
  25. package/dist/cjs/src/bitstamp.js +1 -0
  26. package/dist/cjs/src/bitvavo.js +1 -0
  27. package/dist/cjs/src/blockchaincom.js +1 -0
  28. package/dist/cjs/src/btcalpha.js +1 -0
  29. package/dist/cjs/src/btcmarkets.js +1 -0
  30. package/dist/cjs/src/btcturk.js +1 -0
  31. package/dist/cjs/src/bybit.js +15 -9
  32. package/dist/cjs/src/cryptocom.js +1 -1
  33. package/dist/cjs/src/delta.js +2 -2
  34. package/dist/cjs/src/deribit.js +163 -0
  35. package/dist/cjs/src/gate.js +189 -0
  36. package/dist/cjs/src/huobi.js +105 -4
  37. package/dist/cjs/src/kucoin.js +1 -0
  38. package/dist/cjs/src/kucoinfutures.js +1 -1
  39. package/dist/cjs/src/okx.js +2 -0
  40. package/dist/cjs/src/poloniex.js +21 -7
  41. package/dist/cjs/src/whitebit.js +1 -0
  42. package/js/ccxt.d.ts +3 -3
  43. package/js/ccxt.js +1 -1
  44. package/js/src/abstract/poloniex.d.ts +18 -5
  45. package/js/src/ace.js +1 -0
  46. package/js/src/alpaca.js +1 -0
  47. package/js/src/base/Exchange.d.ts +6 -2
  48. package/js/src/base/Exchange.js +30 -0
  49. package/js/src/base/types.d.ts +9 -0
  50. package/js/src/bigone.js +1 -0
  51. package/js/src/binance.d.ts +13 -1
  52. package/js/src/binance.js +310 -37
  53. package/js/src/bingx.d.ts +1 -0
  54. package/js/src/bingx.js +1 -0
  55. package/js/src/bitbank.js +1 -0
  56. package/js/src/bitbns.js +1 -0
  57. package/js/src/bitfinex.js +1 -0
  58. package/js/src/bitfinex2.js +1 -0
  59. package/js/src/bitflyer.js +1 -0
  60. package/js/src/bitforex.js +1 -0
  61. package/js/src/bitget.js +20 -4
  62. package/js/src/bithumb.js +1 -0
  63. package/js/src/bitmart.d.ts +12 -0
  64. package/js/src/bitmart.js +103 -0
  65. package/js/src/bitmex.d.ts +13 -1
  66. package/js/src/bitmex.js +70 -0
  67. package/js/src/bitopro.js +1 -0
  68. package/js/src/bitpanda.js +1 -0
  69. package/js/src/bitrue.js +1 -0
  70. package/js/src/bitso.js +1 -0
  71. package/js/src/bitstamp.js +1 -0
  72. package/js/src/bitvavo.js +1 -0
  73. package/js/src/blockchaincom.js +1 -0
  74. package/js/src/btcalpha.js +1 -0
  75. package/js/src/btcmarkets.js +1 -0
  76. package/js/src/btcturk.js +1 -0
  77. package/js/src/bybit.d.ts +3 -3
  78. package/js/src/bybit.js +15 -9
  79. package/js/src/cryptocom.d.ts +1 -1
  80. package/js/src/cryptocom.js +1 -1
  81. package/js/src/delta.d.ts +2 -54
  82. package/js/src/delta.js +2 -2
  83. package/js/src/deribit.d.ts +14 -0
  84. package/js/src/deribit.js +163 -0
  85. package/js/src/gate.d.ts +13 -0
  86. package/js/src/gate.js +189 -0
  87. package/js/src/huobi.d.ts +13 -1
  88. package/js/src/huobi.js +105 -4
  89. package/js/src/kucoin.js +1 -0
  90. package/js/src/kucoinfutures.js +1 -1
  91. package/js/src/mexc.d.ts +4 -4
  92. package/js/src/okx.js +2 -0
  93. package/js/src/poloniex.js +21 -7
  94. package/js/src/whitebit.js +1 -0
  95. package/package.json +1 -1
  96. package/skip-tests.json +61 -5
@@ -105,10 +105,12 @@ class gate extends gate$1 {
105
105
  'fetchLedger': true,
106
106
  'fetchLeverage': false,
107
107
  'fetchLeverageTiers': true,
108
+ 'fetchLiquidations': true,
108
109
  'fetchMarginMode': false,
109
110
  'fetchMarketLeverageTiers': 'emulated',
110
111
  'fetchMarkets': true,
111
112
  'fetchMarkOHLCV': true,
113
+ 'fetchMyLiquidations': true,
112
114
  'fetchMySettlementHistory': true,
113
115
  'fetchMyTrades': true,
114
116
  'fetchNetworkDepositAddress': true,
@@ -6326,6 +6328,193 @@ class gate extends gate$1 {
6326
6328
  }
6327
6329
  return underlyings;
6328
6330
  }
6331
+ async fetchLiquidations(symbol, since = undefined, limit = undefined, params = {}) {
6332
+ /**
6333
+ * @method
6334
+ * @name gate#fetchLiquidations
6335
+ * @description retrieves the public liquidations of a trading pair
6336
+ * @see https://www.gate.io/docs/developers/apiv4/en/#retrieve-liquidation-history
6337
+ * @param {string} symbol unified CCXT market symbol
6338
+ * @param {int} [since] the earliest time in ms to fetch liquidations for
6339
+ * @param {int} [limit] the maximum number of liquidation structures to retrieve
6340
+ * @param {object} [params] exchange specific parameters for the gate api endpoint
6341
+ * @param {int} [params.until] timestamp in ms of the latest liquidation
6342
+ * @returns {object} an array of [liquidation structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#liquidation-structure}
6343
+ */
6344
+ await this.loadMarkets();
6345
+ const market = this.market(symbol);
6346
+ if (!market['swap']) {
6347
+ throw new errors.NotSupported(this.id + ' fetchLiquidations() supports swap markets only');
6348
+ }
6349
+ let request = {
6350
+ 'settle': market['settleId'],
6351
+ 'contract': market['id'],
6352
+ };
6353
+ if (since !== undefined) {
6354
+ request['from'] = since;
6355
+ }
6356
+ if (limit !== undefined) {
6357
+ request['limit'] = limit;
6358
+ }
6359
+ [request, params] = this.handleUntilOption('to', request, params);
6360
+ const response = await this.publicFuturesGetSettleLiqOrders(this.extend(request, params));
6361
+ //
6362
+ // [
6363
+ // {
6364
+ // "contract": "BTC_USDT",
6365
+ // "left": 0,
6366
+ // "size": -165,
6367
+ // "fill_price": "28070",
6368
+ // "order_price": "28225",
6369
+ // "time": 1696736132
6370
+ // },
6371
+ // ]
6372
+ //
6373
+ return this.parseLiquidations(response, market, since, limit);
6374
+ }
6375
+ async fetchMyLiquidations(symbol = undefined, since = undefined, limit = undefined, params = {}) {
6376
+ /**
6377
+ * @method
6378
+ * @name gate#fetchMyLiquidations
6379
+ * @description retrieves the users liquidated positions
6380
+ * @see https://www.gate.io/docs/developers/apiv4/en/#list-liquidation-history
6381
+ * @see https://www.gate.io/docs/developers/apiv4/en/#list-liquidation-history-2
6382
+ * @see https://www.gate.io/docs/developers/apiv4/en/#list-user-s-liquidation-history-of-specified-underlying
6383
+ * @param {string} symbol unified CCXT market symbol
6384
+ * @param {int} [since] the earliest time in ms to fetch liquidations for
6385
+ * @param {int} [limit] the maximum number of liquidation structures to retrieve
6386
+ * @param {object} [params] exchange specific parameters for the gate api endpoint
6387
+ * @returns {object} an array of [liquidation structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#liquidation-structure}
6388
+ */
6389
+ this.checkRequiredSymbol('fetchMyLiquidations', symbol);
6390
+ await this.loadMarkets();
6391
+ const market = this.market(symbol);
6392
+ const request = {
6393
+ 'contract': market['id'],
6394
+ };
6395
+ let response = undefined;
6396
+ if ((market['swap']) || (market['future'])) {
6397
+ if (limit !== undefined) {
6398
+ request['limit'] = limit;
6399
+ }
6400
+ request['settle'] = market['settleId'];
6401
+ }
6402
+ else if (market['option']) {
6403
+ const marketId = market['id'];
6404
+ const optionParts = marketId.split('-');
6405
+ request['underlying'] = this.safeString(optionParts, 0);
6406
+ }
6407
+ if (market['swap']) {
6408
+ response = await this.privateFuturesGetSettleLiquidates(this.extend(request, params));
6409
+ }
6410
+ else if (market['future']) {
6411
+ response = await this.privateDeliveryGetSettleLiquidates(this.extend(request, params));
6412
+ }
6413
+ else if (market['option']) {
6414
+ response = await this.privateOptionsGetPositionClose(this.extend(request, params));
6415
+ }
6416
+ else {
6417
+ throw new errors.NotSupported(this.id + ' fetchMyLiquidations() does not support ' + market['type'] + ' orders');
6418
+ }
6419
+ //
6420
+ // swap and future
6421
+ //
6422
+ // [
6423
+ // {
6424
+ // "time": 1548654951,
6425
+ // "contract": "BTC_USDT",
6426
+ // "size": 600,
6427
+ // "leverage": "25",
6428
+ // "margin": "0.006705256878",
6429
+ // "entry_price": "3536.123",
6430
+ // "liq_price": "3421.54",
6431
+ // "mark_price": "3420.27",
6432
+ // "order_id": 317393847,
6433
+ // "order_price": "3405",
6434
+ // "fill_price": "3424",
6435
+ // "left": 0
6436
+ // }
6437
+ // ]
6438
+ //
6439
+ // option
6440
+ //
6441
+ // [
6442
+ // {
6443
+ // "time": 1631764800,
6444
+ // "pnl": "-42914.291",
6445
+ // "settle_size": "-10001",
6446
+ // "side": "short",
6447
+ // "contract": "BTC_USDT-20210916-5000-C",
6448
+ // "text": "settled"
6449
+ // }
6450
+ // ]
6451
+ //
6452
+ return this.parseLiquidations(response, market, since, limit);
6453
+ }
6454
+ parseLiquidation(liquidation, market = undefined) {
6455
+ //
6456
+ // fetchLiquidations
6457
+ //
6458
+ // {
6459
+ // "contract": "BTC_USDT",
6460
+ // "left": 0,
6461
+ // "size": -165,
6462
+ // "fill_price": "28070",
6463
+ // "order_price": "28225",
6464
+ // "time": 1696736132
6465
+ // }
6466
+ //
6467
+ // swap and future: fetchMyLiquidations
6468
+ //
6469
+ // {
6470
+ // "time": 1548654951,
6471
+ // "contract": "BTC_USDT",
6472
+ // "size": 600,
6473
+ // "leverage": "25",
6474
+ // "margin": "0.006705256878",
6475
+ // "entry_price": "3536.123",
6476
+ // "liq_price": "3421.54",
6477
+ // "mark_price": "3420.27",
6478
+ // "order_id": 317393847,
6479
+ // "order_price": "3405",
6480
+ // "fill_price": "3424",
6481
+ // "left": 0
6482
+ // }
6483
+ //
6484
+ // option: fetchMyLiquidations
6485
+ //
6486
+ // {
6487
+ // "time": 1631764800,
6488
+ // "pnl": "-42914.291",
6489
+ // "settle_size": "-10001",
6490
+ // "side": "short",
6491
+ // "contract": "BTC_USDT-20210916-5000-C",
6492
+ // "text": "settled"
6493
+ // }
6494
+ //
6495
+ const marketId = this.safeString(liquidation, 'contract');
6496
+ const timestamp = this.safeTimestamp(liquidation, 'time');
6497
+ const contractsStringRaw = this.safeString2(liquidation, 'size', 'settle_size');
6498
+ const contractsString = Precise["default"].stringAbs(contractsStringRaw);
6499
+ const contractSizeString = this.safeString(market, 'contractSize');
6500
+ const priceString = this.safeString2(liquidation, 'liq_price', 'fill_price');
6501
+ const baseValueString = Precise["default"].stringMul(contractsString, contractSizeString);
6502
+ let quoteValueString = this.safeString(liquidation, 'pnl');
6503
+ if (quoteValueString === undefined) {
6504
+ quoteValueString = Precise["default"].stringMul(baseValueString, priceString);
6505
+ }
6506
+ return {
6507
+ 'info': liquidation,
6508
+ 'symbol': this.safeSymbol(marketId, market),
6509
+ 'contracts': this.parseNumber(contractsString),
6510
+ 'contractSize': this.parseNumber(contractSizeString),
6511
+ 'price': this.parseNumber(priceString),
6512
+ 'baseValue': this.parseNumber(baseValueString),
6513
+ 'quoteValue': this.parseNumber(Precise["default"].stringAbs(quoteValueString)),
6514
+ 'timestamp': timestamp,
6515
+ 'datetime': this.iso8601(timestamp),
6516
+ };
6517
+ }
6329
6518
  handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
6330
6519
  if (response === undefined) {
6331
6520
  return undefined;
@@ -72,9 +72,11 @@ class huobi extends huobi$1 {
72
72
  'fetchLedgerEntry': undefined,
73
73
  'fetchLeverage': false,
74
74
  'fetchLeverageTiers': true,
75
+ 'fetchLiquidations': true,
75
76
  'fetchMarketLeverageTiers': true,
76
77
  'fetchMarkets': true,
77
78
  'fetchMarkOHLCV': true,
79
+ 'fetchMyLiquidations': false,
78
80
  'fetchMyTrades': true,
79
81
  'fetchOHLCV': true,
80
82
  'fetchOpenInterest': true,
@@ -7215,10 +7217,9 @@ class huobi extends huobi$1 {
7215
7217
  }
7216
7218
  const timestamp = this.safeInteger(response, 'ts');
7217
7219
  const parsed = this.parsePosition(this.extend(position, omitted));
7218
- return this.extend(parsed, {
7219
- 'timestamp': timestamp,
7220
- 'datetime': this.iso8601(timestamp),
7221
- });
7220
+ parsed['timestamp'] = timestamp;
7221
+ parsed['datetime'] = this.iso8601(timestamp);
7222
+ return parsed;
7222
7223
  }
7223
7224
  parseLedgerEntryType(type) {
7224
7225
  const types = {
@@ -8228,6 +8229,106 @@ class huobi extends huobi$1 {
8228
8229
  'datetime': this.iso8601(timestamp),
8229
8230
  };
8230
8231
  }
8232
+ async fetchLiquidations(symbol, since = undefined, limit = undefined, params = {}) {
8233
+ /**
8234
+ * @method
8235
+ * @name huobi#fetchLiquidations
8236
+ * @description retrieves the public liquidations of a trading pair
8237
+ * @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#general-query-liquidation-orders-new
8238
+ * @see https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#query-liquidation-orders-new
8239
+ * @see https://huobiapi.github.io/docs/dm/v1/en/#query-liquidation-order-information-new
8240
+ * @param {string} symbol unified CCXT market symbol
8241
+ * @param {int} [since] the earliest time in ms to fetch liquidations for
8242
+ * @param {int} [limit] the maximum number of liquidation structures to retrieve
8243
+ * @param {object} [params] exchange specific parameters for the huobi api endpoint
8244
+ * @param {int} [params.until] timestamp in ms of the latest liquidation
8245
+ * @param {int} [params.tradeType] default 0, linear swap 0: all liquidated orders, 5: liquidated longs; 6: liquidated shorts, inverse swap and future 0: filled liquidated orders, 5: liquidated close orders, 6: liquidated open orders
8246
+ * @returns {object} an array of [liquidation structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#liquidation-structure}
8247
+ */
8248
+ await this.loadMarkets();
8249
+ const market = this.market(symbol);
8250
+ const tradeType = this.safeInteger(params, 'trade_type', 0);
8251
+ let request = {
8252
+ 'trade_type': tradeType,
8253
+ };
8254
+ if (since !== undefined) {
8255
+ request['start_time'] = since;
8256
+ }
8257
+ [request, params] = this.handleUntilOption('end_time', request, params);
8258
+ let response = undefined;
8259
+ if (market['swap']) {
8260
+ request['contract'] = market['id'];
8261
+ if (market['linear']) {
8262
+ response = await this.contractPublicGetLinearSwapApiV3SwapLiquidationOrders(this.extend(request, params));
8263
+ }
8264
+ else {
8265
+ response = await this.contractPublicGetSwapApiV3SwapLiquidationOrders(this.extend(request, params));
8266
+ }
8267
+ }
8268
+ else if (market['future']) {
8269
+ request['symbol'] = market['id'];
8270
+ response = await this.contractPublicGetApiV3ContractLiquidationOrders(this.extend(request, params));
8271
+ }
8272
+ else {
8273
+ throw new errors.NotSupported(this.id + ' fetchLiquidations() does not support ' + market['type'] + ' orders');
8274
+ }
8275
+ //
8276
+ // {
8277
+ // "code": 200,
8278
+ // "msg": "",
8279
+ // "data": [
8280
+ // {
8281
+ // "query_id": 452057,
8282
+ // "contract_code": "BTC-USDT-211210",
8283
+ // "symbol": "USDT",
8284
+ // "direction": "sell",
8285
+ // "offset": "close",
8286
+ // "volume": 479.000000000000000000,
8287
+ // "price": 51441.700000000000000000,
8288
+ // "created_at": 1638593647864,
8289
+ // "amount": 0.479000000000000000,
8290
+ // "trade_turnover": 24640.574300000000000000,
8291
+ // "business_type": "futures",
8292
+ // "pair": "BTC-USDT"
8293
+ // }
8294
+ // ],
8295
+ // "ts": 1604312615051
8296
+ // }
8297
+ //
8298
+ const data = this.safeValue(response, 'data', []);
8299
+ return this.parseLiquidations(data, market, since, limit);
8300
+ }
8301
+ parseLiquidation(liquidation, market = undefined) {
8302
+ //
8303
+ // {
8304
+ // "query_id": 452057,
8305
+ // "contract_code": "BTC-USDT-211210",
8306
+ // "symbol": "USDT",
8307
+ // "direction": "sell",
8308
+ // "offset": "close",
8309
+ // "volume": 479.000000000000000000,
8310
+ // "price": 51441.700000000000000000,
8311
+ // "created_at": 1638593647864,
8312
+ // "amount": 0.479000000000000000,
8313
+ // "trade_turnover": 24640.574300000000000000,
8314
+ // "business_type": "futures",
8315
+ // "pair": "BTC-USDT"
8316
+ // }
8317
+ //
8318
+ const marketId = this.safeString(liquidation, 'contract_code');
8319
+ const timestamp = this.safeInteger(liquidation, 'created_at');
8320
+ return {
8321
+ 'info': liquidation,
8322
+ 'symbol': this.safeSymbol(marketId, market),
8323
+ 'contracts': this.safeNumber(liquidation, 'volume'),
8324
+ 'contractSize': this.safeNumber(market, 'contractSize'),
8325
+ 'price': this.safeNumber(liquidation, 'price'),
8326
+ 'baseValue': this.safeNumber(liquidation, 'amount'),
8327
+ 'quoteValue': this.safeNumber(liquidation, 'trade_turnover'),
8328
+ 'timestamp': timestamp,
8329
+ 'datetime': this.iso8601(timestamp),
8330
+ };
8331
+ }
8231
8332
  }
8232
8333
 
8233
8334
  module.exports = huobi;
@@ -1197,6 +1197,7 @@ class kucoin extends kucoin$1 {
1197
1197
  'id': accountId,
1198
1198
  'type': type,
1199
1199
  'currency': code,
1200
+ 'code': code,
1200
1201
  'info': account,
1201
1202
  });
1202
1203
  }
@@ -1033,7 +1033,7 @@ class kucoinfutures extends kucoinfutures$1 {
1033
1033
  //
1034
1034
  const symbol = this.safeString(position, 'symbol');
1035
1035
  market = this.safeMarket(symbol, market);
1036
- const timestamp = this.safeNumber(position, 'currentTimestamp');
1036
+ const timestamp = this.safeInteger(position, 'currentTimestamp');
1037
1037
  const size = this.safeString(position, 'currentQty');
1038
1038
  let side = undefined;
1039
1039
  if (Precise["default"].stringGt(size, '0')) {
@@ -1238,6 +1238,7 @@ class okx extends okx$1 {
1238
1238
  'type': type,
1239
1239
  'currency': undefined,
1240
1240
  'info': account,
1241
+ 'code': undefined,
1241
1242
  });
1242
1243
  }
1243
1244
  return result;
@@ -2112,6 +2113,7 @@ class okx extends okx$1 {
2112
2113
  }
2113
2114
  }
2114
2115
  else if (price === 'index') {
2116
+ request['instId'] = market['info']['instFamily']; // okx index candles require instFamily instead of instId
2115
2117
  if (isHistoryCandles) {
2116
2118
  response = await this.publicGetMarketHistoryIndexCandles(this.extend(request, params));
2117
2119
  }
@@ -104,39 +104,51 @@ class poloniex extends poloniex$1 {
104
104
  'markets/{symbol}': 1,
105
105
  'currencies': 20,
106
106
  'currencies/{currency}': 20,
107
+ 'v2/currencies': 20,
108
+ 'v2/currencies/{currency}': 20,
107
109
  'timestamp': 1,
108
110
  'markets/price': 1,
109
111
  'markets/{symbol}/price': 1,
112
+ 'markets/markPrice': 1,
113
+ 'markets/{symbol}/markPrice': 1,
114
+ 'markets/{symbol}/markPriceComponents': 1,
110
115
  'markets/{symbol}/orderBook': 1,
111
116
  'markets/{symbol}/candles': 1,
112
117
  'markets/{symbol}/trades': 20,
113
118
  'markets/ticker24h': 20,
114
119
  'markets/{symbol}/ticker24h': 20,
120
+ 'markets/collateralInfo': 1,
121
+ 'markets/{currency}/collateralInfo': 1,
122
+ 'markets/borrowRatesInfo': 1,
115
123
  },
116
124
  },
117
125
  'private': {
118
126
  'get': {
119
127
  'accounts': 4,
120
- 'accounts/activity': 4,
121
128
  'accounts/balances': 4,
122
129
  'accounts/{id}/balances': 4,
130
+ 'accounts/activity': 20,
123
131
  'accounts/transfer': 20,
124
132
  'accounts/transfer/{id}': 4,
133
+ 'feeinfo': 20,
134
+ 'accounts/interest/history': 1,
125
135
  'subaccounts': 4,
126
136
  'subaccounts/balances': 20,
127
137
  'subaccounts/{id}/balances': 4,
128
138
  'subaccounts/transfer': 20,
129
139
  'subaccounts/transfer/{id}': 4,
130
- 'feeinfo': 20,
131
140
  'wallets/addresses': 20,
132
- 'wallets/activity': 20,
133
141
  'wallets/addresses/{currency}': 20,
142
+ 'wallets/activity': 20,
143
+ 'margin/accountMargin': 4,
144
+ 'margin/borrowStatus': 4,
145
+ 'margin/maxSize': 4,
134
146
  'orders': 20,
135
147
  'orders/{id}': 4,
136
- 'orders/history': 20,
137
148
  'orders/killSwitchStatus': 4,
138
149
  'smartorders': 20,
139
150
  'smartorders/{id}': 4,
151
+ 'orders/history': 20,
140
152
  'smartorders/history': 20,
141
153
  'trades': 20,
142
154
  'orders/{id}/trades': 4,
@@ -146,9 +158,10 @@ class poloniex extends poloniex$1 {
146
158
  'subaccounts/transfer': 20,
147
159
  'wallets/address': 20,
148
160
  'wallets/withdraw': 20,
161
+ 'v2/wallets/withdraw': 20,
149
162
  'orders': 4,
150
- 'orders/killSwitch': 4,
151
163
  'orders/batch': 20,
164
+ 'orders/killSwitch': 4,
152
165
  'smartorders': 4,
153
166
  },
154
167
  'delete': {
@@ -160,8 +173,8 @@ class poloniex extends poloniex$1 {
160
173
  'smartorders': 20,
161
174
  },
162
175
  'put': {
163
- 'orders/{id}': 4,
164
- 'smartorders/{id}': 4,
176
+ 'orders/{id}': 20,
177
+ 'smartorders/{id}': 20,
165
178
  },
166
179
  },
167
180
  },
@@ -288,6 +301,7 @@ class poloniex extends poloniex$1 {
288
301
  '21352': errors.BadSymbol,
289
302
  '21353': errors.PermissionDenied,
290
303
  '21354': errors.PermissionDenied,
304
+ '21359': errors.OrderNotFound,
291
305
  '21360': errors.InvalidOrder,
292
306
  '24106': errors.BadRequest,
293
307
  '24201': errors.ExchangeNotAvailable,
@@ -57,6 +57,7 @@ class whitebit extends whitebit$1 {
57
57
  'fetchMarginMode': false,
58
58
  'fetchMarkets': true,
59
59
  'fetchMarkOHLCV': false,
60
+ 'fetchMyTrades': true,
60
61
  'fetchOHLCV': true,
61
62
  'fetchOpenInterestHistory': false,
62
63
  'fetchOpenOrders': true,
package/js/ccxt.d.ts CHANGED
@@ -2,9 +2,9 @@ import { Exchange } from './src/base/Exchange.js';
2
2
  import { Precise } from './src/base/Precise.js';
3
3
  import * as functions from './src/base/functions.js';
4
4
  import * as errors from './src/base/errors.js';
5
- import { Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory } from './src/base/types.js';
5
+ import { Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, Liquidation } from './src/base/types.js';
6
6
  import { BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange } from './src/base/errors.js';
7
- declare const version = "4.1.10";
7
+ declare const version = "4.1.12";
8
8
  import ace from './src/ace.js';
9
9
  import alpaca from './src/alpaca.js';
10
10
  import ascendex from './src/ascendex.js';
@@ -513,5 +513,5 @@ declare const ccxt: {
513
513
  zaif: typeof zaif;
514
514
  zonda: typeof zonda;
515
515
  } & typeof functions & typeof errors;
516
- export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange, Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, ace, alpaca, ascendex, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit2c, bitbank, bitbay, bitbns, bitcoincom, bitfinex, bitfinex2, bitflyer, bitforex, bitget, bithumb, bitmart, bitmex, bitopro, bitpanda, bitrue, bitso, bitstamp, bitstamp1, bittrex, bitvavo, bl3p, blockchaincom, btcalpha, btcbox, btcmarkets, btctradeua, btcturk, bybit, cex, coinbase, coinbaseprime, coinbasepro, coincheck, coinex, coinfalcon, coinmate, coinone, coinsph, coinspot, cryptocom, currencycom, delta, deribit, digifinex, exmo, fmfwio, gate, gateio, gemini, hitbtc, hitbtc3, hollaex, huobi, huobijp, huobipro, idex, independentreserve, indodax, kraken, krakenfutures, kucoin, kucoinfutures, kuna, latoken, lbank, lbank2, luno, lykke, mercado, mexc, mexc3, ndax, novadax, oceanex, okcoin, okex, okex5, okx, paymium, phemex, poloniex, poloniexfutures, probit, tidex, timex, tokocrypto, upbit, wavesexchange, wazirx, whitebit, woo, yobit, zaif, zonda, };
516
+ export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange, Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, Liquidation, ace, alpaca, ascendex, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit2c, bitbank, bitbay, bitbns, bitcoincom, bitfinex, bitfinex2, bitflyer, bitforex, bitget, bithumb, bitmart, bitmex, bitopro, bitpanda, bitrue, bitso, bitstamp, bitstamp1, bittrex, bitvavo, bl3p, blockchaincom, btcalpha, btcbox, btcmarkets, btctradeua, btcturk, bybit, cex, coinbase, coinbaseprime, coinbasepro, coincheck, coinex, coinfalcon, coinmate, coinone, coinsph, coinspot, cryptocom, currencycom, delta, deribit, digifinex, exmo, fmfwio, gate, gateio, gemini, hitbtc, hitbtc3, hollaex, huobi, huobijp, huobipro, idex, independentreserve, indodax, kraken, krakenfutures, kucoin, kucoinfutures, kuna, latoken, lbank, lbank2, luno, lykke, mercado, mexc, mexc3, ndax, novadax, oceanex, okcoin, okex, okex5, okx, paymium, phemex, poloniex, poloniexfutures, probit, tidex, timex, tokocrypto, upbit, wavesexchange, wazirx, whitebit, woo, yobit, zaif, zonda, };
517
517
  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, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange } from './src/base/errors.js';
39
39
  //-----------------------------------------------------------------------------
40
40
  // this is updated by vss.js when building
41
- const version = '4.1.11';
41
+ const version = '4.1.13';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import ace from './src/ace.js';
@@ -5,35 +5,47 @@ interface Exchange {
5
5
  publicGetMarketsSymbol(params?: {}): Promise<implicitReturnType>;
6
6
  publicGetCurrencies(params?: {}): Promise<implicitReturnType>;
7
7
  publicGetCurrenciesCurrency(params?: {}): Promise<implicitReturnType>;
8
+ publicGetV2Currencies(params?: {}): Promise<implicitReturnType>;
9
+ publicGetV2CurrenciesCurrency(params?: {}): Promise<implicitReturnType>;
8
10
  publicGetTimestamp(params?: {}): Promise<implicitReturnType>;
9
11
  publicGetMarketsPrice(params?: {}): Promise<implicitReturnType>;
10
12
  publicGetMarketsSymbolPrice(params?: {}): Promise<implicitReturnType>;
13
+ publicGetMarketsMarkPrice(params?: {}): Promise<implicitReturnType>;
14
+ publicGetMarketsSymbolMarkPrice(params?: {}): Promise<implicitReturnType>;
15
+ publicGetMarketsSymbolMarkPriceComponents(params?: {}): Promise<implicitReturnType>;
11
16
  publicGetMarketsSymbolOrderBook(params?: {}): Promise<implicitReturnType>;
12
17
  publicGetMarketsSymbolCandles(params?: {}): Promise<implicitReturnType>;
13
18
  publicGetMarketsSymbolTrades(params?: {}): Promise<implicitReturnType>;
14
19
  publicGetMarketsTicker24h(params?: {}): Promise<implicitReturnType>;
15
20
  publicGetMarketsSymbolTicker24h(params?: {}): Promise<implicitReturnType>;
21
+ publicGetMarketsCollateralInfo(params?: {}): Promise<implicitReturnType>;
22
+ publicGetMarketsCurrencyCollateralInfo(params?: {}): Promise<implicitReturnType>;
23
+ publicGetMarketsBorrowRatesInfo(params?: {}): Promise<implicitReturnType>;
16
24
  privateGetAccounts(params?: {}): Promise<implicitReturnType>;
17
- privateGetAccountsActivity(params?: {}): Promise<implicitReturnType>;
18
25
  privateGetAccountsBalances(params?: {}): Promise<implicitReturnType>;
19
26
  privateGetAccountsIdBalances(params?: {}): Promise<implicitReturnType>;
27
+ privateGetAccountsActivity(params?: {}): Promise<implicitReturnType>;
20
28
  privateGetAccountsTransfer(params?: {}): Promise<implicitReturnType>;
21
29
  privateGetAccountsTransferId(params?: {}): Promise<implicitReturnType>;
30
+ privateGetFeeinfo(params?: {}): Promise<implicitReturnType>;
31
+ privateGetAccountsInterestHistory(params?: {}): Promise<implicitReturnType>;
22
32
  privateGetSubaccounts(params?: {}): Promise<implicitReturnType>;
23
33
  privateGetSubaccountsBalances(params?: {}): Promise<implicitReturnType>;
24
34
  privateGetSubaccountsIdBalances(params?: {}): Promise<implicitReturnType>;
25
35
  privateGetSubaccountsTransfer(params?: {}): Promise<implicitReturnType>;
26
36
  privateGetSubaccountsTransferId(params?: {}): Promise<implicitReturnType>;
27
- privateGetFeeinfo(params?: {}): Promise<implicitReturnType>;
28
37
  privateGetWalletsAddresses(params?: {}): Promise<implicitReturnType>;
29
- privateGetWalletsActivity(params?: {}): Promise<implicitReturnType>;
30
38
  privateGetWalletsAddressesCurrency(params?: {}): Promise<implicitReturnType>;
39
+ privateGetWalletsActivity(params?: {}): Promise<implicitReturnType>;
40
+ privateGetMarginAccountMargin(params?: {}): Promise<implicitReturnType>;
41
+ privateGetMarginBorrowStatus(params?: {}): Promise<implicitReturnType>;
42
+ privateGetMarginMaxSize(params?: {}): Promise<implicitReturnType>;
31
43
  privateGetOrders(params?: {}): Promise<implicitReturnType>;
32
44
  privateGetOrdersId(params?: {}): Promise<implicitReturnType>;
33
- privateGetOrdersHistory(params?: {}): Promise<implicitReturnType>;
34
45
  privateGetOrdersKillSwitchStatus(params?: {}): Promise<implicitReturnType>;
35
46
  privateGetSmartorders(params?: {}): Promise<implicitReturnType>;
36
47
  privateGetSmartordersId(params?: {}): Promise<implicitReturnType>;
48
+ privateGetOrdersHistory(params?: {}): Promise<implicitReturnType>;
37
49
  privateGetSmartordersHistory(params?: {}): Promise<implicitReturnType>;
38
50
  privateGetTrades(params?: {}): Promise<implicitReturnType>;
39
51
  privateGetOrdersIdTrades(params?: {}): Promise<implicitReturnType>;
@@ -41,9 +53,10 @@ interface Exchange {
41
53
  privatePostSubaccountsTransfer(params?: {}): Promise<implicitReturnType>;
42
54
  privatePostWalletsAddress(params?: {}): Promise<implicitReturnType>;
43
55
  privatePostWalletsWithdraw(params?: {}): Promise<implicitReturnType>;
56
+ privatePostV2WalletsWithdraw(params?: {}): Promise<implicitReturnType>;
44
57
  privatePostOrders(params?: {}): Promise<implicitReturnType>;
45
- privatePostOrdersKillSwitch(params?: {}): Promise<implicitReturnType>;
46
58
  privatePostOrdersBatch(params?: {}): Promise<implicitReturnType>;
59
+ privatePostOrdersKillSwitch(params?: {}): Promise<implicitReturnType>;
47
60
  privatePostSmartorders(params?: {}): Promise<implicitReturnType>;
48
61
  privateDeleteOrdersId(params?: {}): Promise<implicitReturnType>;
49
62
  privateDeleteOrdersCancelByIds(params?: {}): Promise<implicitReturnType>;
package/js/src/ace.js CHANGED
@@ -245,6 +245,7 @@ export default class ace extends Exchange {
245
245
  'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'basePrecision'))),
246
246
  },
247
247
  'active': undefined,
248
+ 'created': undefined,
248
249
  'info': market,
249
250
  });
250
251
  }
package/js/src/alpaca.js CHANGED
@@ -309,6 +309,7 @@ export default class alpaca extends Exchange {
309
309
  'max': undefined,
310
310
  },
311
311
  },
312
+ 'created': undefined,
312
313
  'info': asset,
313
314
  });
314
315
  }
@@ -4,8 +4,8 @@ ExchangeError, AuthenticationError, DDoSProtection, RequestTimeout, ExchangeNotA
4
4
  import WsClient from './ws/WsClient.js';
5
5
  import { Future } from './ws/Future.js';
6
6
  import { OrderBook as WsOrderBook, IndexedOrderBook, CountedOrderBook } from './ws/OrderBook.js';
7
- import { Market, Trade, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, FundingRateHistory, OpenInterest } from './types.js';
8
- export { Market, Trade, Fee, Position, Ticker } from './types.js';
7
+ import { Market, Trade, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, FundingRateHistory, OpenInterest, Liquidation } from './types.js';
8
+ export { Market, Trade, Fee, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, Transaction, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, FundingRateHistory, Liquidation } from './types.js';
9
9
  /**
10
10
  * @class Exchange
11
11
  */
@@ -724,6 +724,8 @@ export default class Exchange {
724
724
  fetchOpenOrdersWs(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
725
725
  fetchClosedOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
726
726
  fetchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
727
+ fetchMyLiquidations(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Liquidation[]>;
728
+ fetchLiquidations(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Liquidation[]>;
727
729
  fetchMyTradesWs(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
728
730
  watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
729
731
  fetchOHLCVWs(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
@@ -816,5 +818,7 @@ export default class Exchange {
816
818
  removeRepeatedElementsFromArray(input: any): any;
817
819
  handleUntilOption(key: any, request: any, params: any, multiplier?: number): any[];
818
820
  safeOpenInterest(interest: any, market?: any): OpenInterest;
821
+ parseLiquidation(liquidation: any, market?: any): Liquidation;
822
+ parseLiquidations(liquidations: any, market?: any, since?: Int, limit?: Int): Liquidation[];
819
823
  }
820
824
  export { Exchange, };