ccxt 4.2.43 → 4.2.44

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.
@@ -10173,6 +10173,9 @@ class Exchange {
10173
10173
  * @param {string} currencyCode unified currency code, but this argument is not required by default, unless there is an exchange (like huobi) that needs an override of the method to be able to pass currencyCode argument additionally
10174
10174
  * @returns {string|undefined} exchange-specific network id
10175
10175
  */
10176
+ if (networkCode === undefined) {
10177
+ return undefined;
10178
+ }
10176
10179
  const networkIdsByCodes = this.safeValue(this.options, 'networks', {});
10177
10180
  let networkId = this.safeString(networkIdsByCodes, networkCode);
10178
10181
  // for example, if 'ETH' is passed for networkCode, but 'ETH' key not defined in `options->networks` object
@@ -10216,6 +10219,9 @@ class Exchange {
10216
10219
  * @param {string|undefined} currencyCode unified currency code, but this argument is not required by default, unless there is an exchange (like huobi) that needs an override of the method to be able to pass currencyCode argument additionally
10217
10220
  * @returns {string|undefined} unified network code
10218
10221
  */
10222
+ if (networkId === undefined) {
10223
+ return undefined;
10224
+ }
10219
10225
  const networkCodesByIds = this.safeDict(this.options, 'networksById', {});
10220
10226
  let networkCode = this.safeString(networkCodesByIds, networkId, networkId);
10221
10227
  // replace mainnet network-codes (i.e. ERC20->ETH)
@@ -20649,9 +20655,11 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20649
20655
  const networkList = this.safeList(entry, 'networkList', []);
20650
20656
  const fees = {};
20651
20657
  let fee = undefined;
20658
+ const networks = {};
20652
20659
  for (let j = 0; j < networkList.length; j++) {
20653
20660
  const networkItem = networkList[j];
20654
20661
  const network = this.safeString(networkItem, 'network');
20662
+ const networkCode = this.networkIdToCode(network);
20655
20663
  // const name = this.safeString (networkItem, 'name');
20656
20664
  const withdrawFee = this.safeNumber(networkItem, 'withdrawFee');
20657
20665
  const depositEnable = this.safeBool(networkItem, 'depositEnable');
@@ -20669,6 +20677,26 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20669
20677
  if (!_base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise */ .O.stringEq(precisionTick, '0')) {
20670
20678
  minPrecision = (minPrecision === undefined) ? precisionTick : _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise */ .O.stringMin(minPrecision, precisionTick);
20671
20679
  }
20680
+ networks[networkCode] = {
20681
+ 'info': networkItem,
20682
+ 'id': network,
20683
+ 'network': networkCode,
20684
+ 'active': depositEnable && withdrawEnable,
20685
+ 'deposit': depositEnable,
20686
+ 'withdraw': withdrawEnable,
20687
+ 'fee': this.parseNumber(fee),
20688
+ 'precision': minPrecision,
20689
+ 'limits': {
20690
+ 'withdraw': {
20691
+ 'min': this.safeNumber(networkItem, 'withdrawMin'),
20692
+ 'max': this.safeNumber(networkItem, 'withdrawMax'),
20693
+ },
20694
+ 'deposit': {
20695
+ 'min': undefined,
20696
+ 'max': undefined,
20697
+ },
20698
+ },
20699
+ };
20672
20700
  }
20673
20701
  const trading = this.safeBool(entry, 'trading');
20674
20702
  const active = (isWithdrawEnabled && isDepositEnabled && trading);
@@ -20685,7 +20713,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20685
20713
  'active': active,
20686
20714
  'deposit': isDepositEnabled,
20687
20715
  'withdraw': isWithdrawEnabled,
20688
- 'networks': networkList,
20716
+ 'networks': networks,
20689
20717
  'fee': fee,
20690
20718
  'fees': fees,
20691
20719
  'limits': this.limits,
@@ -23098,7 +23126,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
23098
23126
  // "msg": "Quantity greater than max quantity."
23099
23127
  // }
23100
23128
  //
23101
- // createOrder, fetchOpenOrders, fetchOrder, cancelOrder: portfolio margin linear swap and future
23129
+ // createOrder, fetchOpenOrders, fetchOrder, cancelOrder, fetchOrders: portfolio margin linear swap and future
23102
23130
  //
23103
23131
  // {
23104
23132
  // "symbol": "BTCUSDT",
@@ -23121,7 +23149,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
23121
23149
  // "status": "NEW"
23122
23150
  // }
23123
23151
  //
23124
- // createOrder, fetchOpenOrders, fetchOrder, cancelOrder: portfolio margin inverse swap and future
23152
+ // createOrder, fetchOpenOrders, fetchOrder, cancelOrder, fetchOrders: portfolio margin inverse swap and future
23125
23153
  //
23126
23154
  // {
23127
23155
  // "symbol": "ETHUSD_PERP",
@@ -23206,7 +23234,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
23206
23234
  // "type": "LIMIT"
23207
23235
  // }
23208
23236
  //
23209
- // fetchOpenOrders, fetchOrder: portfolio margin spot margin
23237
+ // fetchOpenOrders, fetchOrder, fetchOrders: portfolio margin spot margin
23210
23238
  //
23211
23239
  // {
23212
23240
  // "symbol": "BTCUSDT",
@@ -23256,6 +23284,32 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
23256
23284
  // "selfTradePreventionMode": "NONE"
23257
23285
  // }
23258
23286
  //
23287
+ // fetchOrders: portfolio margin linear and inverse swap conditional
23288
+ //
23289
+ // {
23290
+ // "newClientStrategyId": "x-xcKtGhcuaf166172ed504cd1bc0396",
23291
+ // "strategyId": 3733211,
23292
+ // "strategyStatus": "CANCELLED",
23293
+ // "strategyType": "STOP",
23294
+ // "origQty": "0.010",
23295
+ // "price": "35000",
23296
+ // "orderId": 0,
23297
+ // "reduceOnly": false,
23298
+ // "side": "BUY",
23299
+ // "positionSide": "BOTH",
23300
+ // "stopPrice": "50000",
23301
+ // "symbol": "BTCUSDT",
23302
+ // "type": "LIMIT",
23303
+ // "bookTime": 1707270098774,
23304
+ // "updateTime": 1707270119261,
23305
+ // "timeInForce": "GTC",
23306
+ // "triggerTime": 0,
23307
+ // "workingType": "CONTRACT_PRICE",
23308
+ // "priceProtect": false,
23309
+ // "goodTillDate": 0,
23310
+ // "selfTradePreventionMode": "NONE"
23311
+ // }
23312
+ //
23259
23313
  const code = this.safeString(order, 'code');
23260
23314
  if (code !== undefined) {
23261
23315
  // cancelOrders/createOrders might have a partial success
@@ -23314,7 +23368,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
23314
23368
  }
23315
23369
  return this.safeOrder({
23316
23370
  'info': order,
23317
- 'id': this.safeString2(order, 'orderId', 'strategyId'),
23371
+ 'id': this.safeString2(order, 'strategyId', 'orderId'),
23318
23372
  'clientOrderId': this.safeString2(order, 'clientOrderId', 'newClientStrategyId'),
23319
23373
  'timestamp': timestamp,
23320
23374
  'datetime': this.iso8601(timestamp),
@@ -23949,13 +24003,20 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
23949
24003
  * @see https://binance-docs.github.io/apidocs/delivery/en/#all-orders-user_data
23950
24004
  * @see https://binance-docs.github.io/apidocs/voptions/en/#query-option-order-history-trade
23951
24005
  * @see https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-all-orders-user_data
24006
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-um-orders-user_data
24007
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-cm-orders-user_data
24008
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-um-conditional-orders-user_data
24009
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-cm-conditional-orders-user_data
24010
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-margin-account-orders-user_data
23952
24011
  * @param {string} symbol unified market symbol of the market orders were made in
23953
24012
  * @param {int} [since] the earliest time in ms to fetch orders for
23954
24013
  * @param {int} [limit] the maximum number of order structures to retrieve
23955
24014
  * @param {object} [params] extra parameters specific to the exchange API endpoint
23956
24015
  * @param {string} [params.marginMode] 'cross' or 'isolated', for spot margin trading
23957
24016
  * @param {int} [params.until] the latest time in ms to fetch orders for
23958
- * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
24017
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
24018
+ * @param {boolean} [params.portfolioMargin] set to true if you would like to fetch orders in a portfolio margin account
24019
+ * @param {boolean} [params.stop] set to true if you would like to fetch portfolio margin account stop or conditional orders
23959
24020
  * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
23960
24021
  */
23961
24022
  if (symbol === undefined) {
@@ -23968,17 +24029,18 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
23968
24029
  return await this.fetchPaginatedCallDynamic('fetchOrders', symbol, since, limit, params);
23969
24030
  }
23970
24031
  const market = this.market(symbol);
23971
- const defaultType = this.safeString2(this.options, 'fetchOrders', 'defaultType', 'spot');
24032
+ const defaultType = this.safeString2(this.options, 'fetchOrders', 'defaultType', market['type']);
23972
24033
  const type = this.safeString(params, 'type', defaultType);
23973
- const [marginMode, query] = this.handleMarginModeAndParams('fetchOrders', params);
23974
- const request = {
24034
+ let marginMode = undefined;
24035
+ [marginMode, params] = this.handleMarginModeAndParams('fetchOrders', params);
24036
+ let isPortfolioMargin = undefined;
24037
+ [isPortfolioMargin, params] = this.handleOptionAndParams2(params, 'fetchOrders', 'papi', 'portfolioMargin', false);
24038
+ const isConditional = this.safeBool2(params, 'stop', 'conditional');
24039
+ params = this.omit(params, ['stop', 'conditional', 'type']);
24040
+ let request = {
23975
24041
  'symbol': market['id'],
23976
24042
  };
23977
- const until = this.safeInteger(params, 'until');
23978
- if (until !== undefined) {
23979
- params = this.omit(params, 'until');
23980
- request['endTime'] = until;
23981
- }
24043
+ [request, params] = this.handleUntilOption('endTime', request, params);
23982
24044
  if (since !== undefined) {
23983
24045
  request['startTime'] = since;
23984
24046
  }
@@ -23987,22 +24049,47 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
23987
24049
  }
23988
24050
  let response = undefined;
23989
24051
  if (market['option']) {
23990
- response = await this.eapiPrivateGetHistoryOrders(this.extend(request, query));
24052
+ response = await this.eapiPrivateGetHistoryOrders(this.extend(request, params));
23991
24053
  }
23992
24054
  else if (market['linear']) {
23993
- response = await this.fapiPrivateGetAllOrders(this.extend(request, query));
24055
+ if (isPortfolioMargin) {
24056
+ if (isConditional) {
24057
+ response = await this.papiGetUmConditionalAllOrders(this.extend(request, params));
24058
+ }
24059
+ else {
24060
+ response = await this.papiGetUmAllOrders(this.extend(request, params));
24061
+ }
24062
+ }
24063
+ else {
24064
+ response = await this.fapiPrivateGetAllOrders(this.extend(request, params));
24065
+ }
23994
24066
  }
23995
24067
  else if (market['inverse']) {
23996
- response = await this.dapiPrivateGetAllOrders(this.extend(request, query));
23997
- }
23998
- else if (type === 'margin' || marginMode !== undefined) {
23999
- if (marginMode === 'isolated') {
24000
- request['isIsolated'] = true;
24068
+ if (isPortfolioMargin) {
24069
+ if (isConditional) {
24070
+ response = await this.papiGetCmConditionalAllOrders(this.extend(request, params));
24071
+ }
24072
+ else {
24073
+ response = await this.papiGetCmAllOrders(this.extend(request, params));
24074
+ }
24075
+ }
24076
+ else {
24077
+ response = await this.dapiPrivateGetAllOrders(this.extend(request, params));
24001
24078
  }
24002
- response = await this.sapiGetMarginAllOrders(this.extend(request, query));
24003
24079
  }
24004
24080
  else {
24005
- response = await this.privateGetAllOrders(this.extend(request, query));
24081
+ if (isPortfolioMargin) {
24082
+ response = await this.papiGetMarginAllOrders(this.extend(request, params));
24083
+ }
24084
+ else if (type === 'margin' || marginMode !== undefined) {
24085
+ if (marginMode === 'isolated') {
24086
+ request['isIsolated'] = true;
24087
+ }
24088
+ response = await this.sapiGetMarginAllOrders(this.extend(request, params));
24089
+ }
24090
+ else {
24091
+ response = await this.privateGetAllOrders(this.extend(request, params));
24092
+ }
24006
24093
  }
24007
24094
  //
24008
24095
  // spot
@@ -24078,6 +24165,112 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
24078
24165
  // }
24079
24166
  // ]
24080
24167
  //
24168
+ // inverse portfolio margin
24169
+ //
24170
+ // [
24171
+ // {
24172
+ // "orderId": 71328442983,
24173
+ // "symbol": "ETHUSD_PERP",
24174
+ // "pair": "ETHUSD",
24175
+ // "status": "CANCELED",
24176
+ // "clientOrderId": "x-xcKtGhcu4b3e3d8515dd4dc5ba9ccc",
24177
+ // "price": "2000",
24178
+ // "avgPrice": "0.00",
24179
+ // "origQty": "1",
24180
+ // "executedQty": "0",
24181
+ // "cumBase": "0",
24182
+ // "timeInForce": "GTC",
24183
+ // "type": "LIMIT",
24184
+ // "reduceOnly": false,
24185
+ // "side": "BUY",
24186
+ // "origType": "LIMIT",
24187
+ // "time": 1707197843046,
24188
+ // "updateTime": 1707197941373,
24189
+ // "positionSide": "BOTH"
24190
+ // },
24191
+ // ]
24192
+ //
24193
+ // linear portfolio margin
24194
+ //
24195
+ // [
24196
+ // {
24197
+ // "orderId": 259235347005,
24198
+ // "symbol": "BTCUSDT",
24199
+ // "status": "CANCELED",
24200
+ // "clientOrderId": "x-xcKtGhcu402881c9103f42bdb4183b",
24201
+ // "price": "35000",
24202
+ // "avgPrice": "0.00000",
24203
+ // "origQty": "0.010",
24204
+ // "executedQty": "0",
24205
+ // "cumQuote": "0",
24206
+ // "timeInForce": "GTC",
24207
+ // "type": "LIMIT",
24208
+ // "reduceOnly": false,
24209
+ // "side": "BUY",
24210
+ // "origType": "LIMIT",
24211
+ // "time": 1707194702167,
24212
+ // "updateTime": 1707197804748,
24213
+ // "positionSide": "BOTH",
24214
+ // "selfTradePreventionMode": "NONE",
24215
+ // "goodTillDate": 0
24216
+ // },
24217
+ // ]
24218
+ //
24219
+ // conditional portfolio margin
24220
+ //
24221
+ // [
24222
+ // {
24223
+ // "newClientStrategyId": "x-xcKtGhcuaf166172ed504cd1bc0396",
24224
+ // "strategyId": 3733211,
24225
+ // "strategyStatus": "CANCELLED",
24226
+ // "strategyType": "STOP",
24227
+ // "origQty": "0.010",
24228
+ // "price": "35000",
24229
+ // "orderId": 0,
24230
+ // "reduceOnly": false,
24231
+ // "side": "BUY",
24232
+ // "positionSide": "BOTH",
24233
+ // "stopPrice": "50000",
24234
+ // "symbol": "BTCUSDT",
24235
+ // "type": "LIMIT",
24236
+ // "bookTime": 1707270098774,
24237
+ // "updateTime": 1707270119261,
24238
+ // "timeInForce": "GTC",
24239
+ // "triggerTime": 0,
24240
+ // "workingType": "CONTRACT_PRICE",
24241
+ // "priceProtect": false,
24242
+ // "goodTillDate": 0,
24243
+ // "selfTradePreventionMode": "NONE"
24244
+ // },
24245
+ // ]
24246
+ //
24247
+ // spot margin portfolio margin
24248
+ //
24249
+ // [
24250
+ // {
24251
+ // "symbol": "BTCUSDT",
24252
+ // "orderId": 24684460474,
24253
+ // "clientOrderId": "x-R4BD3S82e9ef29d8346440f0b28b86",
24254
+ // "price": "35000.00000000",
24255
+ // "origQty": "0.00100000",
24256
+ // "executedQty": "0.00000000",
24257
+ // "cummulativeQuoteQty": "0.00000000",
24258
+ // "status": "CANCELED",
24259
+ // "timeInForce": "GTC",
24260
+ // "type": "LIMIT",
24261
+ // "side": "BUY",
24262
+ // "stopPrice": "0.00000000",
24263
+ // "icebergQty": "0.00000000",
24264
+ // "time": 1707113538870,
24265
+ // "updateTime": 1707113797688,
24266
+ // "isWorking": true,
24267
+ // "accountId": 200180970,
24268
+ // "selfTradePreventionMode": "EXPIRE_MAKER",
24269
+ // "preventedMatchId": null,
24270
+ // "preventedQuantity": null
24271
+ // },
24272
+ // ]
24273
+ //
24081
24274
  return this.parseOrders(response, market, since, limit);
24082
24275
  }
24083
24276
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -24202,13 +24395,23 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
24202
24395
  * @see https://binance-docs.github.io/apidocs/delivery/en/#all-orders-user_data
24203
24396
  * @see https://binance-docs.github.io/apidocs/voptions/en/#query-option-order-history-trade
24204
24397
  * @see https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-all-orders-user_data
24398
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-um-orders-user_data
24399
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-cm-orders-user_data
24400
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-um-conditional-orders-user_data
24401
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-cm-conditional-orders-user_data
24402
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-margin-account-orders-user_data
24205
24403
  * @param {string} symbol unified market symbol of the market orders were made in
24206
24404
  * @param {int} [since] the earliest time in ms to fetch orders for
24207
24405
  * @param {int} [limit] the maximum number of order structures to retrieve
24208
24406
  * @param {object} [params] extra parameters specific to the exchange API endpoint
24209
- * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
24407
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
24408
+ * @param {boolean} [params.portfolioMargin] set to true if you would like to fetch orders in a portfolio margin account
24409
+ * @param {boolean} [params.stop] set to true if you would like to fetch portfolio margin account stop or conditional orders
24210
24410
  * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
24211
24411
  */
24412
+ if (symbol === undefined) {
24413
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchClosedOrders() requires a symbol argument');
24414
+ }
24212
24415
  const orders = await this.fetchOrders(symbol, since, undefined, params);
24213
24416
  const filteredOrders = this.filterBy(orders, 'status', 'closed');
24214
24417
  return this.filterBySinceLimit(filteredOrders, since, limit);
@@ -24221,22 +24424,23 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
24221
24424
  * @see https://binance-docs.github.io/apidocs/spot/en/#all-orders-user_data
24222
24425
  * @see https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-all-orders-user_data
24223
24426
  * @see https://binance-docs.github.io/apidocs/voptions/en/#query-option-order-history-trade
24427
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-um-orders-user_data
24428
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-cm-orders-user_data
24429
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-um-conditional-orders-user_data
24430
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-cm-conditional-orders-user_data
24431
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-margin-account-orders-user_data
24224
24432
  * @param {string} symbol unified market symbol of the market the orders were made in
24225
24433
  * @param {int} [since] the earliest time in ms to fetch orders for
24226
24434
  * @param {int} [limit] the maximum number of order structures to retrieve
24227
24435
  * @param {object} [params] extra parameters specific to the exchange API endpoint
24228
- * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
24436
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
24437
+ * @param {boolean} [params.portfolioMargin] set to true if you would like to fetch orders in a portfolio margin account
24438
+ * @param {boolean} [params.stop] set to true if you would like to fetch portfolio margin account stop or conditional orders
24229
24439
  * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
24230
24440
  */
24231
24441
  if (symbol === undefined) {
24232
24442
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchCanceledOrders() requires a symbol argument');
24233
24443
  }
24234
- await this.loadMarkets();
24235
- const market = this.market(symbol);
24236
- if (market['swap'] || market['future']) {
24237
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' fetchCanceledOrders() supports spot, margin and option markets only');
24238
- }
24239
- params = this.omit(params, 'type');
24240
24444
  const orders = await this.fetchOrders(symbol, since, undefined, params);
24241
24445
  const filteredOrders = this.filterBy(orders, 'status', 'canceled');
24242
24446
  return this.filterBySinceLimit(filteredOrders, since, limit);
@@ -25985,35 +26189,48 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
25985
26189
  * @see https://binance-docs.github.io/apidocs/spot/en/#trade-fee-user_data
25986
26190
  * @see https://binance-docs.github.io/apidocs/futures/en/#user-commission-rate-user_data
25987
26191
  * @see https://binance-docs.github.io/apidocs/delivery/en/#user-commission-rate-user_data
26192
+ * @see https://binance-docs.github.io/apidocs/pm/en/#get-user-commission-rate-for-um-user_data
26193
+ * @see https://binance-docs.github.io/apidocs/pm/en/#get-user-commission-rate-for-cm-user_data
25988
26194
  * @param {string} symbol unified market symbol
25989
26195
  * @param {object} [params] extra parameters specific to the exchange API endpoint
26196
+ * @param {boolean} [params.portfolioMargin] set to true if you would like to fetch trading fees in a portfolio margin account
25990
26197
  * @returns {object} a [fee structure]{@link https://docs.ccxt.com/#/?id=fee-structure}
25991
26198
  */
25992
26199
  await this.loadMarkets();
25993
26200
  const market = this.market(symbol);
25994
- const defaultType = this.safeString2(this.options, 'fetchTradingFee', 'defaultType', 'linear');
25995
- const type = this.safeString(params, 'type', defaultType);
25996
- params = this.omit(params, 'type');
26201
+ const type = market['type'];
25997
26202
  let subType = undefined;
25998
26203
  [subType, params] = this.handleSubTypeAndParams('fetchTradingFee', market, params);
25999
- const isSpotOrMargin = (type === 'spot') || (type === 'margin');
26204
+ let isPortfolioMargin = undefined;
26205
+ [isPortfolioMargin, params] = this.handleOptionAndParams2(params, 'fetchTradingFee', 'papi', 'portfolioMargin', false);
26000
26206
  const isLinear = this.isLinear(type, subType);
26001
26207
  const isInverse = this.isInverse(type, subType);
26002
26208
  const request = {
26003
26209
  'symbol': market['id'],
26004
26210
  };
26005
26211
  let response = undefined;
26006
- if (isSpotOrMargin) {
26007
- response = await this.sapiGetAssetTradeFee(this.extend(request, params));
26008
- }
26009
- else if (isLinear) {
26010
- response = await this.fapiPrivateGetCommissionRate(this.extend(request, params));
26212
+ if (isLinear) {
26213
+ if (isPortfolioMargin) {
26214
+ response = await this.papiGetUmCommissionRate(this.extend(request, params));
26215
+ }
26216
+ else {
26217
+ response = await this.fapiPrivateGetCommissionRate(this.extend(request, params));
26218
+ }
26011
26219
  }
26012
26220
  else if (isInverse) {
26013
- response = await this.dapiPrivateGetCommissionRate(this.extend(request, params));
26221
+ if (isPortfolioMargin) {
26222
+ response = await this.papiGetCmCommissionRate(this.extend(request, params));
26223
+ }
26224
+ else {
26225
+ response = await this.dapiPrivateGetCommissionRate(this.extend(request, params));
26226
+ }
26227
+ }
26228
+ else {
26229
+ response = await this.sapiGetAssetTradeFee(this.extend(request, params));
26014
26230
  }
26015
26231
  //
26016
26232
  // spot
26233
+ //
26017
26234
  // [
26018
26235
  // {
26019
26236
  // "symbol": "BTCUSDT",
@@ -26023,6 +26240,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
26023
26240
  // ]
26024
26241
  //
26025
26242
  // swap
26243
+ //
26026
26244
  // {
26027
26245
  // "symbol": "BTCUSD_PERP",
26028
26246
  // "makerCommissionRate": "0.00015", // 0.015%
@@ -26033,7 +26251,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
26033
26251
  if (Array.isArray(data)) {
26034
26252
  data = this.safeDict(data, 0, {});
26035
26253
  }
26036
- return this.parseTradingFee(data);
26254
+ return this.parseTradingFee(data, market);
26037
26255
  }
26038
26256
  async fetchTradingFees(params = {}) {
26039
26257
  /**
@@ -30106,7 +30324,9 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
30106
30324
  },
30107
30325
  'broad': {},
30108
30326
  },
30109
- 'commonCurrencies': {},
30327
+ 'commonCurrencies': {
30328
+ 'SNOW': 'Snowman', // Snowman vs SnowSwap conflict
30329
+ },
30110
30330
  'options': {
30111
30331
  'defaultType': 'spot',
30112
30332
  'accountsByType': {
@@ -77324,7 +77544,8 @@ class blofin extends _abstract_blofin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
77324
77544
  const request = {};
77325
77545
  let response = undefined;
77326
77546
  if (accountType !== undefined) {
77327
- const parsedAccountType = this.safeString(this.options, 'accountsByType', accountType);
77547
+ const options = this.safeDict(this.options, 'accountsByType', {});
77548
+ const parsedAccountType = this.safeString(options, accountType, accountType);
77328
77549
  request['accountType'] = parsedAccountType;
77329
77550
  response = await this.privateGetAssetBalances(this.extend(request, params));
77330
77551
  }
@@ -94996,13 +95217,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
94996
95217
  payload = body;
94997
95218
  }
94998
95219
  }
94999
- let auth = undefined;
95000
- if (version === 'v3') {
95001
- auth = nonce + method + savedPath + payload;
95002
- }
95003
- else {
95004
- auth = nonce + method + fullPath + payload;
95005
- }
95220
+ const auth = nonce + method + savedPath + payload;
95006
95221
  const signature = this.hmac(this.encode(auth), this.encode(this.secret), _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_4__/* .sha256 */ .J);
95007
95222
  headers = {
95008
95223
  'CB-ACCESS-KEY': this.apiKey,
@@ -164117,6 +164332,7 @@ class krakenfutures extends _abstract_krakenfutures_js__WEBPACK_IMPORTED_MODULE_
164117
164332
  }
164118
164333
  createOrderRequest(symbol, type, side, amount, price = undefined, params = {}) {
164119
164334
  const market = this.market(symbol);
164335
+ symbol = market['symbol'];
164120
164336
  type = this.safeString(params, 'orderType', type);
164121
164337
  const timeInForce = this.safeString(params, 'timeInForce');
164122
164338
  let postOnly = false;
@@ -164136,7 +164352,7 @@ class krakenfutures extends _abstract_krakenfutures_js__WEBPACK_IMPORTED_MODULE_
164136
164352
  const request = {
164137
164353
  'symbol': market['id'],
164138
164354
  'side': side,
164139
- 'size': amount,
164355
+ 'size': this.amountToPrecision(symbol, amount),
164140
164356
  };
164141
164357
  const clientOrderId = this.safeString2(params, 'clientOrderId', 'cliOrdId');
164142
164358
  if (clientOrderId !== undefined) {
@@ -164174,7 +164390,7 @@ class krakenfutures extends _abstract_krakenfutures_js__WEBPACK_IMPORTED_MODULE_
164174
164390
  }
164175
164391
  request['orderType'] = type;
164176
164392
  if (price !== undefined) {
164177
- request['limitPrice'] = price;
164393
+ request['limitPrice'] = this.priceToPrecision(symbol, price);
164178
164394
  }
164179
164395
  params = this.omit(params, ['clientOrderId', 'timeInForce', 'triggerPrice', 'stopLossPrice', 'takeProfitPrice']);
164180
164396
  return this.extend(request, params);
@@ -169672,11 +169888,11 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
169672
169888
  }
169673
169889
  }
169674
169890
  let fee = undefined;
169675
- const feeCost = this.safeNumber(item, 'fee');
169891
+ const feeCost = this.safeString(item, 'fee');
169676
169892
  let feeCurrency = undefined;
169677
- if (feeCost !== 0) {
169893
+ if (feeCost !== '0') {
169678
169894
  feeCurrency = code;
169679
- fee = { 'cost': feeCost, 'currency': feeCurrency };
169895
+ fee = { 'cost': this.parseNumber(feeCost), 'currency': feeCurrency };
169680
169896
  }
169681
169897
  return {
169682
169898
  'id': id,
@@ -169790,8 +170006,12 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
169790
170006
  // }
169791
170007
  // }
169792
170008
  //
169793
- const data = this.safeValue(response, 'data');
169794
- const items = this.safeValue(data, 'items', data);
170009
+ const dataList = this.safeList(response, 'data');
170010
+ if (dataList !== undefined) {
170011
+ return this.parseLedger(dataList, currency, since, limit);
170012
+ }
170013
+ const data = this.safeDict(response, 'data');
170014
+ const items = this.safeList(data, 'items', []);
169795
170015
  return this.parseLedger(items, currency, since, limit);
169796
170016
  }
169797
170017
  calculateRateLimiterCost(api, method, path, params, config = {}) {
@@ -183211,247 +183431,353 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
183211
183431
  'defaultNetwork': 'ETH',
183212
183432
  'defaultNetworks': {
183213
183433
  'ETH': 'ETH',
183214
- 'USDT': 'TRC20',
183434
+ 'USDT': 'ERC20',
183435
+ 'USDC': 'ERC20',
183436
+ 'BTC': 'BTC',
183437
+ 'LTC': 'LTC',
183215
183438
  },
183216
183439
  'networks': {
183217
- 'BTC': 'BTC',
183218
- 'BCH': 'BCH',
183219
- 'TRC20': 'Tron(TRC20)',
183220
- 'ERC20': 'Ethereum(ERC20)',
183221
- 'BEP20': 'BNB Smart Chain(BEP20)',
183222
- 'OPTIMISM': 'Optimism(OP)',
183223
- 'SOL': 'Solana(SOL)',
183224
- 'CRC20': 'CRONOS',
183440
+ 'ABBC': 'ABBC',
183441
+ 'ACA': 'ACALA',
183442
+ 'ADA': 'Cardano(ADA)',
183443
+ 'AE': 'AE',
183225
183444
  'ALGO': 'Algorand(ALGO)',
183226
- 'XRP': 'XRP',
183227
- 'MATIC': 'Polygon(MATIC)',
183228
- 'AVAXX': 'AVAX_XCHAIN',
183229
- 'AVAXC': 'AvalancheCChain(AVAXCCHAIN)',
183230
- 'ARBONE': 'ArbitrumOne(ARB)',
183445
+ 'ALPH': 'Alephium(ALPH)',
183446
+ 'AME': 'AME',
183447
+ 'AOK': 'AOK',
183448
+ 'APT': 'APTOS(APT)',
183449
+ 'AR': 'AR',
183450
+ 'ARB': 'Arbitrum One(ARB)',
183231
183451
  'ARBNOVA': 'ARBNOVA',
183232
- 'FTM': 'FTM',
183233
- 'WAVES': 'WAVES',
183234
- 'CHZ': 'Chiliz Chain(CHZ)',
183235
- 'HRC20': 'HECO',
183236
- 'TRC10': 'TRC10',
183237
- 'DASH': 'DASH',
183238
- 'LTC': 'LTC',
183239
- // 'DOGECOIN': [ 'DOGE', 'DOGECHAIN' ], // todo after unification
183240
- 'XTZ': 'XTZ',
183241
- 'OMNI': 'OMNI',
183242
- 'APT': 'APTOS',
183243
- 'ONT': 'ONT',
183244
- 'BSV': 'BSV',
183245
- 'OKC': 'OKT',
183452
+ 'ARBONE': 'ArbitrumOne(ARB)',
183453
+ 'ARK': 'ARK',
183454
+ 'ASTR': 'ASTAR',
183455
+ 'ATOM': 'Cosmos(ATOM)',
183456
+ 'AVAXC': 'Avalanche C Chain(AVAX CCHAIN)',
183457
+ 'AVAXX': 'Avalanche X Chain(AVAX XCHAIN)',
183458
+ 'AZERO': 'Aleph Zero(AZERO)',
183459
+ 'BCH': 'Bitcoin Cash(BCH)',
183460
+ 'BDX': 'BDX',
183461
+ 'BEAM': 'BEAM',
183462
+ 'BEP2': 'BNB Beacon Chain(BEP2)',
183463
+ 'BEP20': 'BNB Smart Chain(BEP20)',
183464
+ 'BITCI': 'BITCI',
183465
+ 'BNC': 'BNC',
183466
+ 'BNCDOT': 'BNCPOLKA',
183467
+ 'BOBA': 'BOBA',
183468
+ 'BSC': 'BEP20(BSC)',
183469
+ 'BSV': 'Bitcoin SV(BSV)',
183470
+ 'BTC': 'Bitcoin(BTC)',
183471
+ 'BTM': 'BTM2',
183246
183472
  'CELO': 'CELO',
183247
- 'KLAY': 'KLAY',
183248
- 'BEP2': 'BEP2',
183473
+ 'CFX': 'CFX',
183474
+ 'CHZ': 'Chiliz Legacy Chain(CHZ)',
183475
+ 'CHZ2': 'Chiliz Chain(CHZ2)',
183476
+ 'CKB': 'CKB',
183477
+ 'CLORE': 'Clore.ai(CLORE)',
183478
+ 'CRC20': 'CRONOS',
183479
+ 'CSPR': 'CSPR',
183480
+ 'DASH': 'DASH',
183481
+ 'DC': 'Dogechain(DC)',
183482
+ 'DCR': 'DCR',
183483
+ 'DNX': 'Dynex(DNX)',
183484
+ 'DOGE': 'Dogecoin(DOGE)',
183485
+ 'DOT': 'Polkadot(DOT)',
183486
+ 'DYM': 'Dymension(DYM)',
183487
+ 'EDG': 'EDG',
183249
183488
  'EGLD': 'EGLD',
183250
183489
  'EOS': 'EOS',
183251
- 'ZIL': 'ZIL',
183490
+ 'ERC20': 'Ethereum(ERC20)',
183491
+ 'ETC': 'Ethereum Classic(ETC)',
183492
+ 'ETHF': 'ETF',
183252
183493
  'ETHW': 'ETHW',
183253
- 'IOTX': 'IOTX',
183494
+ 'EVER': 'EVER',
183495
+ 'FET': 'FET',
183496
+ 'FIL': 'FIL',
183497
+ 'FIO': 'FIO',
183498
+ 'FLOW': 'FLOW',
183499
+ 'FSN': 'FSN',
183500
+ 'FTM': 'Fantom(FTM)',
183501
+ 'FUSE': 'FUSE',
183502
+ 'GLMR': 'GLMR',
183503
+ 'GRIN': 'GRIN',
183504
+ 'HBAR': 'Hedera(HBAR)',
183505
+ 'HIVE': 'HIVE',
183506
+ 'HRC20': 'HECO',
183507
+ 'HYDRA': 'HYDRA',
183508
+ 'ICP': 'Internet Computer(ICP)',
183509
+ 'INDEX': 'Index Chain',
183510
+ 'IOST': 'IOST',
183254
183511
  'IOTA': 'IOTA',
183255
- 'SYS': 'SYS',
183256
- 'XCH': 'CHIA',
183257
- 'KMA': 'KMA',
183258
- 'ONE': 'ONE',
183259
- 'METIS': 'METIS',
183512
+ 'IOTX': 'IOTX',
183513
+ 'IRIS': 'IRIS',
183514
+ 'KAR': 'KAR',
183515
+ 'KAS': 'Kaspa(KAS)',
183260
183516
  'KAVA': 'KAVA',
183261
183517
  'KDA': 'KDA',
183262
- 'IOST': 'IOST',
183263
- 'XEC': 'XEC',
183264
- 'VET': 'VET',
183265
- 'XLM': 'XLM',
183518
+ 'KILT': 'KILT',
183519
+ 'KLAY': 'Klaytn(KLAY)',
183520
+ 'KMA': 'KMA',
183266
183521
  'KSM': 'KSM',
183267
- 'MOVR': 'MOVR',
183268
- 'XMR': 'XMR',
183269
183522
  'LAT': 'LAT',
183270
- 'ETC': 'ETC',
183271
- // 'TLOS': 'TELOS', // todo
183272
- // 'TELOSCOIN': 'TLOS', // todo
183273
- 'GLMR': 'GLMR',
183274
- 'DOT': 'DOT',
183275
- 'SC': 'SC',
183276
- 'ICP': 'ICP',
183277
- 'AOK': 'AOK',
183278
- 'ZEC': 'ZEC',
183279
- 'ACA': 'ACALA',
183280
- 'ASTR': 'ASTAR',
183281
- 'FIL': 'FIL',
183282
- 'NEAR': 'NEAR',
183283
- 'OSMO': 'OSMO',
183284
- 'SDN': 'SDN',
183285
- 'BITCI': 'BITCI',
183523
+ 'LAVA': 'Elysium(LAVA)',
183524
+ 'LTC': 'Litecoin(LTC)',
183525
+ 'LUNA': 'Terra(LUNA)',
183526
+ 'MASS': 'MASS',
183527
+ 'MATIC': 'Polygon(MATIC)',
183528
+ 'MCOIN': 'Mcoin Network',
183529
+ 'METIS': 'METIS',
183530
+ 'MINA': 'MINA',
183531
+ 'MNT': 'Mantle(MNT)',
183532
+ 'MOVR': 'MOVR',
183533
+ 'MTRG': 'Meter(MTRG)',
183534
+ 'NAS': 'NAS',
183535
+ 'NEAR': 'NEAR Protocol(NEAR)',
183536
+ 'NEBL': 'NEBL',
183537
+ 'NEM': 'NEM',
183286
183538
  'NEO': 'NEO',
183287
- 'ADA': 'ADA',
183288
- 'RVN': 'RVN',
183289
- 'BNC': 'BNC',
183290
- 'BNCDOT': 'BNCPOLKA',
183291
- 'ETHF': 'ETF',
183292
- 'STEEM': 'STEEM',
183293
- 'OASYS': 'OASYS',
183294
- 'BEAM': 'BEAM',
183295
- 'VSYS': 'VSYS',
183539
+ 'NEO3': 'NEO3',
183540
+ 'NEOXA': 'Neoxa Network',
183541
+ 'NULS': 'NULS',
183296
183542
  'OASIS': 'ROSE',
183297
- 'AR': 'AR',
183298
- 'AE': 'AE',
183543
+ 'OASYS': 'OASYS',
183544
+ 'OKC': 'OKT',
183545
+ 'OMN': 'Omega Network(OMN)',
183546
+ 'OMNI': 'OMNI',
183547
+ 'ONE': 'ONE',
183548
+ 'ONT': 'ONT',
183549
+ 'OPTIMISM': 'Optimism(OP)',
183550
+ 'OSMO': 'OSMO',
183551
+ 'PLCU': 'PLCU',
183552
+ 'POKT': 'POKT',
183553
+ 'QKC': 'QKC',
183299
183554
  'QTUM': 'QTUM',
183300
- 'ATOM': 'ATOM',
183301
- 'HBAR': 'HBAR',
183302
- 'CSPR': 'CSPR',
183303
- 'WEMIX': 'WEMIX',
183304
- 'SGB': 'SGB',
183305
- 'XPR': 'PROTON',
183306
- 'HYDRA': 'HYDRA',
183555
+ 'RAP20': 'RAP20 (Rangers Mainnet)',
183556
+ 'REI': 'REI',
183557
+ 'RSK': 'RBTC',
183558
+ 'RVN': 'Ravencoin(RVN)',
183559
+ 'SATOX': 'Satoxcoin(SATOX)',
183560
+ 'SC': 'SC',
183307
183561
  'SCRT': 'SCRT',
183562
+ 'SDN': 'SDN',
183563
+ 'SGB': 'SGB',
183564
+ 'SOL': 'Solana(SOL)',
183565
+ 'STAR': 'STAR',
183566
+ 'STARK': 'Starknet(STARK)',
183567
+ 'STEEM': 'STEEM',
183568
+ 'SYS': 'SYS',
183569
+ 'TAO': 'Bittensor(TAO)',
183570
+ 'TIA': 'Celestia(TIA)',
183308
183571
  'TOMO': 'TOMO',
183572
+ 'TON': 'Toncoin(TON)',
183573
+ 'TRC10': 'TRC10',
183574
+ 'TRC20': 'Tron(TRC20)',
183575
+ 'UGAS': 'UGAS(Ultrain)',
183576
+ 'VET': 'VeChain(VET)',
183577
+ 'VEX': 'Vexanium(VEX)',
183578
+ 'VSYS': 'VSYS',
183579
+ 'WAVES': 'WAVES',
183309
183580
  'WAX': 'WAX',
183310
- 'KAR': 'KAR',
183311
- 'KILT': 'KILT',
183581
+ 'WEMIX': 'WEMIX',
183582
+ 'XCH': 'Chia(XCH)',
183312
183583
  'XDC': 'XDC',
183313
- 'GRIN': 'GRIN',
183314
- 'PLCU': 'PLCU',
183315
- 'MINA': 'MINA',
183316
- 'ABBC': 'ABBC',
183317
- 'ZEN': 'ZEN',
183318
- 'FLOW': 'FLOW',
183319
- 'RSK': 'RBTC',
183320
- 'DCR': 'DCR',
183321
- 'HIVE': 'HIVE',
183322
- 'XYM': 'XYM',
183323
- 'CKB': 'CKB',
183584
+ 'XEC': 'XEC',
183585
+ 'XLM': 'Stellar(XLM)',
183586
+ 'XMR': 'Monero(XMR)',
183587
+ 'XNA': 'Neurai(XNA)',
183588
+ 'XPR': 'XPR Network',
183324
183589
  'XRD': 'XRD',
183590
+ 'XRP': 'Ripple(XRP)',
183591
+ 'XTZ': 'XTZ',
183325
183592
  'XVG': 'XVG',
183326
- 'BOBA': 'BOBA',
183327
- 'AZERO': 'AZERO',
183328
- 'ARK': 'ARK',
183329
- 'NULS': 'NULS',
183330
- 'POKT': 'POKT',
183331
- 'NEO3': 'NEO3',
183332
- 'FIO': 'FIO',
183333
- 'MASS': 'MASS',
183334
- 'AME': 'AME',
183335
- 'REI': 'REI',
183336
- 'IRIS': 'IRIS',
183593
+ 'XYM': 'XYM',
183594
+ 'ZEC': 'ZEC',
183595
+ 'ZEN': 'ZEN',
183596
+ 'ZIL': 'Zilliqa(ZIL)',
183337
183597
  'ZTG': 'ZTG',
183338
- 'EDG': 'EDG',
183339
- 'FUSE': 'FUSE',
183340
- 'EVER': 'EVER',
183341
- 'FET': 'FET',
183342
- 'CFX': 'CFX',
183343
- 'NEBL': 'NEBL',
183344
- 'STAR': 'STAR',
183345
- 'NEM': 'NEM',
183346
- 'BDX': 'BDX',
183347
- 'TON': 'TONCOIN',
183348
- 'NAS': 'NAS',
183349
- 'QKC': 'QKC',
183350
- 'BTM': 'BTM2',
183351
- 'FSN': 'FSN',
183352
183598
  // todo: uncomment below after concensus
183353
- // 'TERRACLASSIC': 'LUNC',
183354
- // 'TERRA': 'LUNA2',
183355
- // 'PHALA': 'Khala',
183356
- // 'NODLE': 'NODLE',
183357
- // 'KUJIRA': 'KUJI',
183358
- // 'HUAHUA': 'HUAHUA',
183359
- // 'FRUITS': 'FRTS',
183360
- // 'IOEX': 'IOEX',
183361
- // 'TOMAINFO': 'TON',
183599
+ // 'ALAYA': 'ATP',
183600
+ // 'ANDUSCHAIN': 'DEB',
183601
+ // 'ASSETMANTLE': 'MNTL',
183602
+ // 'AXE': 'AXE',
183362
183603
  // 'BITCOINHD': 'BHD',
183604
+ // 'BITCOINVAULT': 'BTCV',
183605
+ // 'BITKUB': 'KUB',
183606
+ // 'BITSHARES_OLD': 'BTS',
183607
+ // 'BITSHARES': 'NBS',
183608
+ // 'BYTZ': 'BYTZ',
183609
+ // 'CANTO': 'CANTO', // CANTOEVM
183363
183610
  // 'CENNZ': 'CENNZ',
183364
- // 'WAYKICHAIN': 'WICC',
183365
- // 'EMERALD': 'EMERALD', // sits on top of OASIS
183611
+ // 'CHAINX': 'PCX',
183612
+ // 'CONCODRIUM': 'CCD',
183366
183613
  // 'CONTENTVALUENETWORK': 'CVNT',
183367
- // 'ORIGYN': 'OGY',
183368
- // 'KASPA': 'KASPA',
183369
- // 'CANTO': 'CANTO', // CANTOEVM
183614
+ // 'CORTEX': 'CTXC',
183615
+ // 'CYPHERIUM': 'CPH',
183616
+ // 'DANGNN': 'DGC',
183370
183617
  // 'DARWINIASMARTCHAIN': 'Darwinia Smart Chain',
183371
- // 'KEKCHAIN': 'KEKCHAIN',
183372
- // 'ZENITH': 'ZENITH',
183618
+ // 'DHEALTH': 'DHP',
183619
+ // 'DOGECOIN': [ 'DOGE', 'DOGECHAIN' ], // todo after unification
183620
+ // 'DRAC': 'DRAC',
183621
+ // 'DRAKEN': 'DRK',
183373
183622
  // 'ECOCHAIN': 'ECOC',
183374
183623
  // 'ELECTRAPROTOCOL': 'XEP',
183375
- // 'KULUPU': 'KLP',
183376
- // 'KINTSUGI': 'KINT',
183377
- // 'PLEX': 'PLEX',
183378
- // 'CONCODRIUM': 'CCD',
183379
- // 'REBUS': 'REBUS', // REBUSEVM is different
183380
- // 'BITKUB': 'KUB',
183381
- // 'BITCOINVAULT': 'BTCV',
183382
- // 'PROXIMAX': 'XPX',
183383
- // 'PAC': 'PAC',
183384
- // 'CHAINX': 'PCX',
183385
- // 'DRAC': 'DRAC',
183386
- // 'WHITECOIN': 'XWC',
183387
- // 'TECHPAY': 'TPC',
183388
- // 'GXCHAIN': 'GXC',
183389
- // 'CYPHERIUM': 'CPH',
183390
- // 'LBRY': 'LBC',
183391
- // 'TONGTONG': 'TTC',
183392
- // 'LEDGIS': 'LED',
183393
- // 'PMG': 'PMG',
183394
- // 'PROOFOFMEMES': 'POM',
183395
- // 'SENTINEL': 'DVPN',
183396
- // 'METER': 'MTRG',
183397
- // 'YAS': 'YAS',
183398
- // 'ULTRAIN': 'UGAS',
183399
- // 'PASTEL': 'PSL',
183400
- // 'KONSTELLATION': 'DARC',
183401
- // 'ANDUSCHAIN': 'DEB',
183624
+ // 'EMERALD': 'EMERALD', // sits on top of OASIS
183625
+ // 'EVMOS': 'EVMOS', // EVMOSETH is different
183626
+ // 'EXOSAMA': 'SAMA',
183627
+ // 'FIBOS': 'FO',
183628
+ // 'FILECASH': 'FIC',
183402
183629
  // 'FIRMACHAIN': 'FCT',
183630
+ // 'FIRO': 'XZC',
183631
+ // 'FNCY': 'FNCY',
183632
+ // 'FRUITS': 'FRTS',
183633
+ // 'GLEEC': 'GLEEC',
183634
+ // 'GXCHAIN': 'GXC',
183403
183635
  // 'HANDSHAKE': 'HNS',
183404
- // 'DANGNN': 'DGC',
183405
- // 'SERO': 'SERO',
183406
183636
  // 'HPB': 'HPB',
183407
- // 'XDAI': 'XDAI',
183408
- // 'EXOSAMA': 'SAMA',
183409
- // 'DHEALTH': 'DHP',
183410
- // 'HUPAYX': 'HPX',
183411
- // 'GLEEC': 'GLEEC',
183412
- // 'FIBOS': 'FO',
183413
- // 'MDNA': 'DNA',
183414
183637
  // 'HSHARE': 'HC',
183415
- // 'BYTZ': 'BYTZ',
183416
- // 'DRAKEN': 'DRK',
183638
+ // 'HUAHUA': 'HUAHUA',
183639
+ // 'HUPAYX': 'HPX',
183640
+ // 'INDEXCHAIN': 'IDX',
183641
+ // 'INTCHAIN': 'INT',
183642
+ // 'INTEGRITEE': 'TEER',
183643
+ // 'INTERLAY': 'INTR',
183644
+ // 'IOEX': 'IOEX',
183645
+ // 'JUNO': 'JUNO',
183646
+ // 'KASPA': 'KASPA',
183647
+ // 'KEKCHAIN': 'KEKCHAIN',
183648
+ // 'KINTSUGI': 'KINT',
183649
+ // 'KOINOS': 'KOINOS',
183650
+ // 'KONSTELLATION': 'DARC',
183651
+ // 'KUJIRA': 'KUJI',
183652
+ // 'KULUPU': 'KLP',
183653
+ // 'LBRY': 'LBC',
183654
+ // 'LEDGIS': 'LED',
183655
+ // 'LIGHTNINGBITCOIN': 'LBTC',
183417
183656
  // 'LINE': 'LINE',
183657
+ // 'MDNA': 'DNA',
183418
183658
  // 'MDUKEY': 'MDU',
183419
- // 'KOINOS': 'KOINOS',
183659
+ // 'METAMUI': 'MMUI',
183660
+ // 'METAVERSE_ETP': 'ETP',
183661
+ // 'METER': 'MTRG',
183420
183662
  // 'MEVERSE': 'MEVerse',
183663
+ // 'NEWTON': 'NEW',
183664
+ // 'NODLE': 'NODLE',
183665
+ // 'ORIGYN': 'OGY',
183666
+ // 'PAC': 'PAC',
183667
+ // 'PASTEL': 'PSL',
183668
+ // 'PHALA': 'Khala',
183669
+ // 'PLEX': 'PLEX',
183670
+ // 'PMG': 'PMG',
183421
183671
  // 'POINT': 'POINT', // POINTEVM is different
183422
- // 'INDEXCHAIN': 'IDX',
183423
- // 'ULORD': 'UT',
183424
- // 'INTEGRITEE': 'TEER',
183425
- // 'XX': 'XX',
183426
- // 'CORTEX': 'CTXC',
183672
+ // 'PROOFOFMEMES': 'POM',
183673
+ // 'PROXIMAX': 'XPX',
183674
+ // 'RCHAIN': 'REV',
183675
+ // 'REBUS': 'REBUS', // REBUSEVM is different
183427
183676
  // 'RIZON': 'ATOLO',
183677
+ // 'SENTINEL': 'DVPN',
183678
+ // 'SERO': 'SERO',
183679
+ // 'TECHPAY': 'TPC',
183680
+ // 'TELOSCOIN': 'TLOS', // todo
183681
+ // 'TERRA': 'LUNA2',
183682
+ // 'TERRACLASSIC': 'LUNC',
183683
+ // 'TLOS': 'TELOS', // todo
183684
+ // 'TOMAINFO': 'TON',
183685
+ // 'TONGTONG': 'TTC',
183686
+ // 'TURTLECOIN': 'TRTL',
183687
+ // 'ULORD': 'UT',
183688
+ // 'ULTRAIN': 'UGAS',
183689
+ // 'UMEE': 'UMEE',
183428
183690
  // 'VDIMENSION': 'VOLLAR',
183429
- // 'JUNO': 'JUNO',
183430
183691
  // 'VEXANIUM': 'VEX',
183431
- // 'INTCHAIN': 'INT',
183432
- // 'METAMUI': 'MMUI',
183433
- // 'RCHAIN': 'REV',
183434
- // 'EVMOS': 'EVMOS', // EVMOSETH is different
183435
- // 'ZKSYNC': 'ZKSYNC',
183436
- // 'BITSHARES_OLD': 'BTS',
183437
- // 'BITSHARES': 'NBS',
183438
- // 'UMEE': 'UMEE',
183439
183692
  // 'VNT': 'VNT',
183440
- // 'TURTLECOIN': 'TRTL',
183441
- // 'METAVERSE_ETP': 'ETP',
183442
- // 'NEWTON': 'NEW',
183443
- // // 'BAJUN': '',
183444
- // 'INTERLAY': 'INTR',
183445
- // 'LIGHTNINGBITCOIN': 'LBTC',
183446
- // 'FIRO': 'XZC',
183447
- // 'ALAYA': 'ATP',
183448
- // 'AXE': 'AXE',
183449
- // 'FNCY': 'FNCY',
183693
+ // 'WAYKICHAIN': 'WICC',
183694
+ // 'WHITECOIN': 'XWC',
183450
183695
  // 'WITNET': 'WIT',
183451
- // 'FILECASH': 'FIC',
183452
- // 'ASSETMANTLE': 'MNTL',
183696
+ // 'XDAI': 'XDAI',
183697
+ // 'XX': 'XX',
183698
+ // 'YAS': 'YAS',
183699
+ // 'ZENITH': 'ZENITH',
183700
+ // 'ZKSYNC': 'ZKSYNC',
183701
+ // // 'BAJUN': '',
183453
183702
  // OKB <> OKT (for usdt it's exception) for OKC, PMEER, FLARE, STRD, ZEL, FUND, "NONE", CRING, FREETON, QTZ (probably unique network is meant), HT, BSC(RACAV1), BSC(RACAV2), AMBROSUS, BAJUN, NOM. their individual info is at https://www.mexc.com/api/platform/asset/spot/{COINNAME}
183454
183703
  },
183704
+ 'networksById': {
183705
+ 'Aleph Zero(AZERO)': 'AZERO',
183706
+ 'Alephium(ALPH)': 'ALPH',
183707
+ 'Algorand(ALGO)': 'ALGO',
183708
+ 'APTOS(APT)': 'APT',
183709
+ 'Arbitrum One(ARB)': 'ARB',
183710
+ 'Avalanche C Chain(AVAX CCHAIN)': 'AVAXC',
183711
+ 'Avalanche X Chain(AVAX XCHAIN)': 'AVAXX',
183712
+ 'BEP20(BSC)': 'BSC',
183713
+ 'Bitcoin Cash(BCH)': 'BCH',
183714
+ 'Bitcoin SV(BSV)': 'BSV',
183715
+ 'Bitcoin(BTC)': 'BTC',
183716
+ 'Bittensor(TAO)': 'TAO',
183717
+ 'BNB Beacon Chain(BEP2)': 'BEP2',
183718
+ 'BNB Smart Chain(BEP20-RACAV1)': 'BSC',
183719
+ 'BNB Smart Chain(BEP20-RACAV2)': 'BSC',
183720
+ 'BNB Smart Chain(BEP20)': 'BSC',
183721
+ 'Cardano(ADA)': 'ADA',
183722
+ 'Celestia(TIA)': 'TIA',
183723
+ 'Chia(XCH)': 'XCH',
183724
+ 'Chiliz Chain(CHZ2)': 'CHZ2',
183725
+ 'Chiliz Legacy Chain(CHZ)': 'CHZ',
183726
+ 'Clore.ai(CLORE)': 'CLORE',
183727
+ 'Cosmos(ATOM)': 'ATOM',
183728
+ 'Dogechain(DC)': 'DC',
183729
+ 'Dogecoin(DOGE)': 'DOGE',
183730
+ 'Dymension(DYM)': 'DYM',
183731
+ 'Dynex(DNX)': 'DNX',
183732
+ 'Elysium(LAVA)': 'LAVA',
183733
+ 'Ethereum Classic(ETC)': 'ETC',
183734
+ 'Ethereum(ERC20)': 'ERC20',
183735
+ 'Fantom(FTM)': 'FTM',
183736
+ 'Hedera(HBAR)': 'HBAR',
183737
+ 'Index Chain': 'INDEX',
183738
+ 'Internet Computer(ICP)': 'ICP',
183739
+ 'Kaspa(KAS)': 'KAS',
183740
+ 'Klaytn(KLAY)': 'KLAY',
183741
+ 'Litecoin(LTC)': 'LTC',
183742
+ 'Mantle(MNT)': 'MNT',
183743
+ 'Mcoin Network': 'MCOIN',
183744
+ 'Meter(MTRG)': 'MTRG',
183745
+ 'Monero(XMR)': 'XMR',
183746
+ 'NEAR Protocol(NEAR)': 'NEAR',
183747
+ 'Neoxa Network': 'NEOXA',
183748
+ 'Neurai(XNA)': 'XNA',
183749
+ 'Omega Network(OMN)': 'OMN',
183750
+ 'Optimism(OP)': 'OPTIMISM',
183751
+ 'Polkadot(DOT)': 'DOT',
183752
+ 'Polygon(MATIC)': 'MATIC',
183753
+ 'RAP20 (Rangers Mainnet)': 'RAP20',
183754
+ 'Ravencoin(RVN)': 'RVN',
183755
+ 'Ripple(XRP)': 'XRP',
183756
+ 'Satoxcoin(SATOX)': 'SATOX',
183757
+ 'Solana(SOL)': 'SOL',
183758
+ 'Starknet(STARK)': 'STARK',
183759
+ 'Stellar(XLM)': 'XLM',
183760
+ 'Terra(LUNA)': 'LUNA',
183761
+ 'Toncoin(TON)': 'TON',
183762
+ 'Tron(TRC20)': 'TRC20',
183763
+ 'UGAS(Ultrain)': 'UGAS',
183764
+ 'VeChain(VET)': 'VET',
183765
+ 'Vexanium(VEX)': 'VEX',
183766
+ 'XPR Network': 'XPR',
183767
+ 'Zilliqa(ZIL)': 'ZIL',
183768
+ // TODO: uncomment below after deciding unified name
183769
+ // 'PEPE COIN BSC':
183770
+ // 'SMART BLOCKCHAIN':
183771
+ // 'f(x)Core':
183772
+ // 'Syscoin Rollux':
183773
+ // 'Syscoin UTXO':
183774
+ // 'zkSync Era':
183775
+ // 'zkSync Lite':
183776
+ // 'Darwinia Smart Chain':
183777
+ // 'Arbitrum One(ARB-Bridged)':
183778
+ // 'Optimism(OP-Bridged)':
183779
+ // 'Polygon(MATIC-Bridged)':
183780
+ },
183455
183781
  'recvWindow': 5 * 1000,
183456
183782
  'maxTimeTillEnd': 90 * 86400 * 1000 - 1,
183457
183783
  'broker': 'CCXT',
@@ -183731,7 +184057,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
183731
184057
  for (let j = 0; j < chains.length; j++) {
183732
184058
  const chain = chains[j];
183733
184059
  const networkId = this.safeString(chain, 'network');
183734
- const network = this.safeNetwork(networkId);
184060
+ const network = this.networkIdToCode(networkId);
183735
184061
  const isDepositEnabled = this.safeBool(chain, 'depositEnable', false);
183736
184062
  const isWithdrawEnabled = this.safeBool(chain, 'withdrawEnable', false);
183737
184063
  const active = (isDepositEnabled && isWithdrawEnabled);
@@ -183804,26 +184130,6 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
183804
184130
  }
183805
184131
  return result;
183806
184132
  }
183807
- safeNetwork(networkId) {
183808
- if (networkId.indexOf('BSC') >= 0) {
183809
- return 'BEP20';
183810
- }
183811
- const parts = networkId.split(' ');
183812
- networkId = parts.join('');
183813
- networkId = networkId.replace('-20', '20');
183814
- const networksById = {
183815
- 'Ethereum(ERC20)': 'ERC20',
183816
- 'Algorand(ALGO)': 'ALGO',
183817
- 'ArbitrumOne(ARB)': 'ARBONE',
183818
- 'AvalancheCChain(AVAXCCHAIN)': 'AVAXC',
183819
- 'BNB Smart Chain(BEP20)': 'BEP20',
183820
- 'Polygon(MATIC)': 'MATIC',
183821
- 'Optimism(OP)': 'OPTIMISM',
183822
- 'Solana(SOL)': 'SOL',
183823
- 'Tron(TRC20)': 'TRC20',
183824
- };
183825
- return this.safeString(networksById, networkId, networkId);
183826
- }
183827
184133
  async fetchMarkets(params = {}) {
183828
184134
  /**
183829
184135
  * @method
@@ -187068,23 +187374,22 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
187068
187374
  }
187069
187375
  parseDepositAddress(depositAddress, currency = undefined) {
187070
187376
  //
187071
- // {"chain":"ERC-20","address":"0x55cbd73db24eafcca97369e3f2db74b2490586e6"},
187072
- // {"chain":"MATIC","address":"0x05aa3236f1970eae0f8feb17ec19435b39574d74"},
187073
- // {"chain":"TRC20","address":"TGaPfhW41EXD3sAfs1grLF6DKfugfqANNw"},
187074
- // {"chain":"SOL","address":"5FSpUKuh2gjw4mF89T2e7sEjzUA1SkRKjBChFqP43KhV"},
187075
- // {"chain":"ALGO","address":"B3XTZND2JJTSYR7R2TQVCUDT4QSSYVAIZYDPWVBX34DGAYATBU3AUV43VU"}
187076
- //
187377
+ // {
187378
+ // coin: "USDT",
187379
+ // network: "BNB Smart Chain(BEP20)",
187380
+ // address: "0x0d48003e0c27c5de62b97c9b4cdb31fdd29da619",
187381
+ // memo: null
187382
+ // }
187077
187383
  //
187078
187384
  const address = this.safeString(depositAddress, 'address');
187079
- const code = this.safeCurrencyCode(undefined, currency);
187080
- const networkId = this.safeString(depositAddress, 'chain');
187081
- const network = this.safeNetwork(networkId);
187385
+ const currencyId = this.safeString(depositAddress, 'coin');
187386
+ const networkId = this.safeString(depositAddress, 'network');
187082
187387
  this.checkAddress(address);
187083
187388
  return {
187084
- 'currency': code,
187389
+ 'currency': this.safeCurrencyCode(currencyId, currency),
187085
187390
  'address': address,
187086
- 'tag': undefined,
187087
- 'network': network,
187391
+ 'tag': this.safeString(depositAddress, 'memo'),
187392
+ 'network': this.networkIdToCode(networkId),
187088
187393
  'info': depositAddress,
187089
187394
  };
187090
187395
  }
@@ -187113,23 +187418,19 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
187113
187418
  }
187114
187419
  params = this.omit(params, 'network');
187115
187420
  const response = await this.spotPrivateGetCapitalDepositAddress(this.extend(request, params));
187116
- const result = [];
187117
- for (let i = 0; i < response.length; i++) {
187118
- const depositAddress = response[i];
187119
- const coin = this.safeString(depositAddress, 'coin');
187120
- const currencyInner = this.currency(coin);
187121
- const networkIdInner = this.safeString(depositAddress, 'network');
187122
- const network = this.safeNetwork(networkIdInner);
187123
- const address = this.safeString(depositAddress, 'address', undefined);
187124
- const tag = this.safeString2(depositAddress, 'tag', 'memo', undefined);
187125
- result.push({
187126
- 'currency': currencyInner['id'],
187127
- 'network': network,
187128
- 'address': address,
187129
- 'tag': tag,
187130
- });
187131
- }
187132
- return result;
187421
+ //
187422
+ // [
187423
+ // {
187424
+ // coin: "USDT",
187425
+ // network: "BNB Smart Chain(BEP20)",
187426
+ // address: "0x0d48003e0c27c5de62b97c9b4cdb31fdd29da619",
187427
+ // memo: null
187428
+ // }
187429
+ // ...
187430
+ // ]
187431
+ //
187432
+ const addressStructures = this.parseDepositAddresses(response, undefined, false);
187433
+ return this.indexBy(addressStructures, 'network');
187133
187434
  }
187134
187435
  async createDepositAddress(code, params = {}) {
187135
187436
  /**
@@ -187163,13 +187464,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
187163
187464
  // "address": "zzqqqqqqqqqq",
187164
187465
  // "memo": "MX10068"
187165
187466
  // }
187166
- return {
187167
- 'info': response,
187168
- 'currency': this.safeString(response, 'coin'),
187169
- 'network': this.safeString(response, 'network'),
187170
- 'address': this.safeString(response, 'address'),
187171
- 'tag': this.safeString(response, 'memo'),
187172
- };
187467
+ return this.parseDepositAddress(response, currency);
187173
187468
  }
187174
187469
  async fetchDepositAddress(code, params = {}) {
187175
187470
  /**
@@ -187179,23 +187474,30 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
187179
187474
  * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#deposit-address-supporting-network
187180
187475
  * @param {string} code unified currency code
187181
187476
  * @param {object} [params] extra parameters specific to the exchange API endpoint
187477
+ * @param {string} [params.network] the chain of currency, this only apply for multi-chain currency, and there is no need for single chain currency
187182
187478
  * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
187183
187479
  */
187184
- const rawNetwork = this.safeStringUpper(params, 'network');
187185
- params = this.omit(params, 'network');
187186
- const response = await this.fetchDepositAddressesByNetwork(code, params);
187187
- if (rawNetwork !== undefined) {
187188
- for (let i = 0; i < response.length; i++) {
187189
- const depositAddress = response[i];
187190
- const network = this.safeStringUpper(depositAddress, 'network');
187191
- if (rawNetwork === network) {
187192
- return depositAddress;
187193
- }
187480
+ const network = this.safeString(params, 'network');
187481
+ params = this.omit(params, ['network']);
187482
+ const addressStructures = await this.fetchDepositAddressesByNetwork(code, params);
187483
+ let result = undefined;
187484
+ if (network !== undefined) {
187485
+ result = this.safeDict(addressStructures, this.networkIdToCode(network, code));
187486
+ }
187487
+ else {
187488
+ const options = this.safeDict(this.options, 'defaultNetworks');
187489
+ const defaultNetworkForCurrency = this.safeString(options, code);
187490
+ if (defaultNetworkForCurrency !== undefined) {
187491
+ result = this.safeDict(addressStructures, defaultNetworkForCurrency);
187492
+ }
187493
+ else {
187494
+ const keys = Object.keys(addressStructures);
187495
+ const key = this.safeString(keys, 0);
187496
+ result = this.safeDict(addressStructures, key);
187194
187497
  }
187195
187498
  }
187196
- const result = this.safeValue(response, 0);
187197
187499
  if (result === undefined) {
187198
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidAddress(this.id + ' fetchDepositAddress() cannot find a deposit address for ' + code + ', consider creating one using the MEXC platform');
187500
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidAddress(this.id + ' fetchDepositAddress() cannot find a deposit address for ' + code + ', and network' + network + 'consider creating one using the MEXC platform');
187199
187501
  }
187200
187502
  return result;
187201
187503
  }
@@ -187367,7 +187669,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
187367
187669
  let network = undefined;
187368
187670
  const rawNetwork = this.safeString(transaction, 'network');
187369
187671
  if (rawNetwork !== undefined) {
187370
- network = this.safeNetwork(rawNetwork);
187672
+ network = this.networkIdToCode(rawNetwork);
187371
187673
  }
187372
187674
  const code = this.safeCurrencyCode(currencyId, currency);
187373
187675
  const status = this.parseTransactionStatusByType(this.safeString(transaction, 'status'), type);
@@ -305282,7 +305584,7 @@ SOFTWARE.
305282
305584
 
305283
305585
  //-----------------------------------------------------------------------------
305284
305586
  // this is updated by vss.js when building
305285
- const version = '4.2.43';
305587
+ const version = '4.2.44';
305286
305588
  _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion = version;
305287
305589
  //-----------------------------------------------------------------------------
305288
305590