ccxt 4.1.70 → 4.1.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17497,6 +17497,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
17497
17497
  'sapiV2': {
17498
17498
  'get': {
17499
17499
  'sub-account/futures/account': 0.1,
17500
+ 'sub-account/futures/accountSummary': 1,
17500
17501
  'sub-account/futures/positionRisk': 0.1,
17501
17502
  },
17502
17503
  'post': {
@@ -85288,12 +85289,15 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
85288
85289
  'brokerage/transaction_summary',
85289
85290
  'brokerage/product_book',
85290
85291
  'brokerage/best_bid_ask',
85292
+ 'brokerage/convert/trade/{trade_id}',
85291
85293
  ],
85292
85294
  'post': [
85293
85295
  'brokerage/orders',
85294
85296
  'brokerage/orders/batch_cancel',
85295
85297
  'brokerage/orders/edit',
85296
85298
  'brokerage/orders/edit_preview',
85299
+ 'brokerage/convert/quote',
85300
+ 'brokerage/convert/trade/{trade_id}',
85297
85301
  ],
85298
85302
  },
85299
85303
  },
@@ -123969,11 +123973,16 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
123969
123973
  if (limit !== undefined) {
123970
123974
  request['limit'] = limit;
123971
123975
  }
123972
- const method = this.getSupportedMapping(type, {
123973
- 'swap': 'privateFuturesGetSettleAccountBook',
123974
- 'future': 'privateDeliveryGetSettleAccountBook',
123975
- });
123976
- const response = await this[method](this.extend(request, requestParams));
123976
+ let response = undefined;
123977
+ if (type === 'swap') {
123978
+ response = await this.privateFuturesGetSettleAccountBook(this.extend(request, requestParams));
123979
+ }
123980
+ else if (type === 'future') {
123981
+ response = await this.privateDeliveryGetSettleAccountBook(this.extend(request, requestParams));
123982
+ }
123983
+ else {
123984
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' fetchFundingHistory() only support swap & future market type');
123985
+ }
123977
123986
  //
123978
123987
  // [
123979
123988
  // {
@@ -124046,18 +124055,26 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
124046
124055
  // };
124047
124056
  //
124048
124057
  const [request, query] = this.prepareRequest(market, market['type'], params);
124049
- const method = this.getSupportedMapping(market['type'], {
124050
- 'spot': 'publicSpotGetOrderBook',
124051
- 'margin': 'publicSpotGetOrderBook',
124052
- 'swap': 'publicFuturesGetSettleOrderBook',
124053
- 'future': 'publicDeliveryGetSettleOrderBook',
124054
- 'option': 'publicOptionsGetOrderBook',
124055
- });
124056
124058
  if (limit !== undefined) {
124057
124059
  request['limit'] = limit; // default 10, max 100
124058
124060
  }
124059
124061
  request['with_id'] = true;
124060
- const response = await this[method](this.extend(request, query));
124062
+ let response = undefined;
124063
+ if (market['spot'] || market['margin']) {
124064
+ response = await this.publicSpotGetOrderBook(this.extend(request, query));
124065
+ }
124066
+ else if (market['swap']) {
124067
+ response = await this.publicFuturesGetSettleOrderBook(this.extend(request, query));
124068
+ }
124069
+ else if (market['future']) {
124070
+ response = await this.publicDeliveryGetSettleOrderBook(this.extend(request, query));
124071
+ }
124072
+ else if (market['option']) {
124073
+ response = await this.publicOptionsGetOrderBook(this.extend(request, query));
124074
+ }
124075
+ else {
124076
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' fetchOrderBook() not support this market type');
124077
+ }
124061
124078
  //
124062
124079
  // spot
124063
124080
  //
@@ -124149,19 +124166,25 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
124149
124166
  await this.loadMarkets();
124150
124167
  const market = this.market(symbol);
124151
124168
  const [request, query] = this.prepareRequest(market, undefined, params);
124152
- const method = this.getSupportedMapping(market['type'], {
124153
- 'spot': 'publicSpotGetTickers',
124154
- 'margin': 'publicSpotGetTickers',
124155
- 'swap': 'publicFuturesGetSettleTickers',
124156
- 'future': 'publicDeliveryGetSettleTickers',
124157
- 'option': 'publicOptionsGetTickers',
124158
- });
124159
- if (market['option']) {
124169
+ let response = undefined;
124170
+ if (market['spot'] || market['margin']) {
124171
+ response = await this.publicSpotGetTickers(this.extend(request, query));
124172
+ }
124173
+ else if (market['swap']) {
124174
+ response = await this.publicFuturesGetSettleTickers(this.extend(request, query));
124175
+ }
124176
+ else if (market['future']) {
124177
+ response = await this.publicDeliveryGetSettleTickers(this.extend(request, query));
124178
+ }
124179
+ else if (market['option']) {
124160
124180
  const marketId = market['id'];
124161
124181
  const optionParts = marketId.split('-');
124162
124182
  request['underlying'] = this.safeString(optionParts, 0);
124183
+ response = await this.publicOptionsGetTickers(this.extend(request, query));
124184
+ }
124185
+ else {
124186
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' fetchTicker() not support this market type');
124163
124187
  }
124164
- const response = await this[method](this.extend(request, query));
124165
124188
  let ticker = undefined;
124166
124189
  if (market['option']) {
124167
124190
  for (let i = 0; i < response.length; i++) {
@@ -124311,20 +124334,26 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
124311
124334
  }
124312
124335
  const [type, query] = this.handleMarketTypeAndParams('fetchTickers', market, params);
124313
124336
  const [request, requestParams] = this.prepareRequest(undefined, type, query);
124314
- const method = this.getSupportedMapping(type, {
124315
- 'spot': 'publicSpotGetTickers',
124316
- 'margin': 'publicSpotGetTickers',
124317
- 'swap': 'publicFuturesGetSettleTickers',
124318
- 'future': 'publicDeliveryGetSettleTickers',
124319
- 'option': 'publicOptionsGetTickers',
124320
- });
124321
- if (type === 'option') {
124337
+ let response = undefined;
124338
+ if (type === 'spot' || type === 'margin') {
124339
+ response = await this.publicSpotGetTickers(this.extend(request, requestParams));
124340
+ }
124341
+ else if (type === 'swap') {
124342
+ response = await this.publicFuturesGetSettleTickers(this.extend(request, requestParams));
124343
+ }
124344
+ else if (type === 'future') {
124345
+ response = await this.publicDeliveryGetSettleTickers(this.extend(request, requestParams));
124346
+ }
124347
+ else if (type === 'option') {
124322
124348
  this.checkRequiredArgument('fetchTickers', symbols, 'symbols');
124323
124349
  const marketId = market['id'];
124324
124350
  const optionParts = marketId.split('-');
124325
124351
  request['underlying'] = this.safeString(optionParts, 0);
124352
+ response = await this.publicOptionsGetTickers(this.extend(request, requestParams));
124353
+ }
124354
+ else {
124355
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' fetchTickers() not support this market type');
124326
124356
  }
124327
- const response = await this[method](this.extend(request, requestParams));
124328
124357
  return this.parseTickers(response, symbols);
124329
124358
  }
124330
124359
  parseBalanceHelper(entry) {
@@ -124355,18 +124384,36 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
124355
124384
  const market = this.market(symbol);
124356
124385
  request['currency_pair'] = market['id'];
124357
124386
  }
124358
- const method = this.getSupportedMapping(type, {
124359
- 'spot': this.getSupportedMapping(marginMode, {
124360
- 'spot': 'privateSpotGetAccounts',
124361
- 'margin': 'privateMarginGetAccounts',
124362
- 'cross_margin': 'privateMarginGetCrossAccounts',
124363
- }),
124364
- 'funding': 'privateMarginGetFundingAccounts',
124365
- 'swap': 'privateFuturesGetSettleAccounts',
124366
- 'future': 'privateDeliveryGetSettleAccounts',
124367
- 'option': 'privateOptionsGetAccounts',
124368
- });
124369
- let response = await this[method](this.extend(request, requestQuery));
124387
+ let response = undefined;
124388
+ if (type === 'spot') {
124389
+ if (marginMode === 'spot') {
124390
+ response = await this.privateSpotGetAccounts(this.extend(request, requestQuery));
124391
+ }
124392
+ else if (marginMode === 'margin') {
124393
+ response = await this.privateMarginGetAccounts(this.extend(request, requestQuery));
124394
+ }
124395
+ else if (marginMode === 'cross_margin') {
124396
+ response = await this.privateMarginGetCrossAccounts(this.extend(request, requestQuery));
124397
+ }
124398
+ else {
124399
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' fetchBalance() not support this marginMode');
124400
+ }
124401
+ }
124402
+ else if (type === 'funding') {
124403
+ response = await this.privateMarginGetFundingAccounts(this.extend(request, requestQuery));
124404
+ }
124405
+ else if (type === 'swap') {
124406
+ response = await this.privateFuturesGetSettleAccounts(this.extend(request, requestQuery));
124407
+ }
124408
+ else if (type === 'future') {
124409
+ response = await this.privateDeliveryGetSettleAccounts(this.extend(request, requestQuery));
124410
+ }
124411
+ else if (type === 'option') {
124412
+ response = await this.privateOptionsGetAccounts(this.extend(request, requestQuery));
124413
+ }
124414
+ else {
124415
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' fetchBalance() not support this market type');
124416
+ }
124370
124417
  const contract = ((type === 'swap') || (type === 'future') || (type === 'option'));
124371
124418
  if (contract) {
124372
124419
  response = [response];
@@ -124586,23 +124633,7 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
124586
124633
  let request = {};
124587
124634
  [request, params] = this.prepareRequest(market, undefined, params);
124588
124635
  request['interval'] = this.safeString(this.timeframes, timeframe, timeframe);
124589
- let method = 'publicSpotGetCandlesticks';
124590
124636
  let maxLimit = 1000;
124591
- if (market['contract']) {
124592
- maxLimit = 1999;
124593
- if (market['future']) {
124594
- method = 'publicDeliveryGetSettleCandlesticks';
124595
- }
124596
- else if (market['swap']) {
124597
- method = 'publicFuturesGetSettleCandlesticks';
124598
- }
124599
- const isMark = (price === 'mark');
124600
- const isIndex = (price === 'index');
124601
- if (isMark || isIndex) {
124602
- request['contract'] = price + '_' + market['id'];
124603
- params = this.omit(params, 'price');
124604
- }
124605
- }
124606
124637
  limit = (limit === undefined) ? maxLimit : Math.min(limit, maxLimit);
124607
124638
  let until = this.safeInteger(params, 'until');
124608
124639
  if (until !== undefined) {
@@ -124629,7 +124660,25 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
124629
124660
  }
124630
124661
  request['limit'] = limit;
124631
124662
  }
124632
- const response = await this[method](this.extend(request, params));
124663
+ let response = undefined;
124664
+ if (market['contract']) {
124665
+ maxLimit = 1999;
124666
+ const isMark = (price === 'mark');
124667
+ const isIndex = (price === 'index');
124668
+ if (isMark || isIndex) {
124669
+ request['contract'] = price + '_' + market['id'];
124670
+ params = this.omit(params, 'price');
124671
+ }
124672
+ if (market['future']) {
124673
+ response = await this.publicDeliveryGetSettleCandlesticks(this.extend(request, params));
124674
+ }
124675
+ else if (market['swap']) {
124676
+ response = await this.publicFuturesGetSettleCandlesticks(this.extend(request, params));
124677
+ }
124678
+ }
124679
+ else {
124680
+ response = await this.publicSpotGetCandlesticks(this.extend(request, params));
124681
+ }
124633
124682
  return this.parseOHLCVs(response, market, timeframe, since, limit);
124634
124683
  }
124635
124684
  async fetchOptionOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
@@ -124666,8 +124715,7 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
124666
124715
  if (limit !== undefined) {
124667
124716
  request['limit'] = limit;
124668
124717
  }
124669
- const method = 'publicFuturesGetSettleFundingRate';
124670
- const response = await this[method](this.extend(request, query));
124718
+ const response = await this.publicFuturesGetSettleFundingRate(this.extend(request, query));
124671
124719
  //
124672
124720
  // {
124673
124721
  // "r": "0.00063521",
@@ -124782,13 +124830,6 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
124782
124830
  // };
124783
124831
  //
124784
124832
  const [request, query] = this.prepareRequest(market, undefined, params);
124785
- const method = this.getSupportedMapping(market['type'], {
124786
- 'spot': 'publicSpotGetTrades',
124787
- 'margin': 'publicSpotGetTrades',
124788
- 'swap': 'publicFuturesGetSettleTrades',
124789
- 'future': 'publicDeliveryGetSettleTrades',
124790
- 'option': 'publicOptionsGetTrades',
124791
- });
124792
124833
  const until = this.safeInteger2(params, 'to', 'until');
124793
124834
  if (until !== undefined) {
124794
124835
  params = this.omit(params, ['until']);
@@ -124800,7 +124841,22 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
124800
124841
  if (since !== undefined && (market['contract'])) {
124801
124842
  request['from'] = this.parseToInt(since / 1000);
124802
124843
  }
124803
- const response = await this[method](this.extend(request, query));
124844
+ let response = undefined;
124845
+ if (market['type'] === 'spot' || market['type'] === 'margin') {
124846
+ response = await this.publicSpotGetTrades(this.extend(request, query));
124847
+ }
124848
+ else if (market['swap']) {
124849
+ response = await this.publicFuturesGetSettleTrades(this.extend(request, query));
124850
+ }
124851
+ else if (market['future']) {
124852
+ response = await this.publicDeliveryGetSettleTrades(this.extend(request, query));
124853
+ }
124854
+ else if (market['type'] === 'option') {
124855
+ response = await this.publicOptionsGetTrades(this.extend(request, query));
124856
+ }
124857
+ else {
124858
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' fetchTrades() not support this market type.');
124859
+ }
124804
124860
  //
124805
124861
  // spot
124806
124862
  //
@@ -124946,14 +125002,22 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
124946
125002
  if (until !== undefined) {
124947
125003
  request['to'] = this.parseToInt(until / 1000);
124948
125004
  }
124949
- const method = this.getSupportedMapping(type, {
124950
- 'spot': 'privateSpotGetMyTrades',
124951
- 'margin': 'privateSpotGetMyTrades',
124952
- 'swap': 'privateFuturesGetSettleMyTradesTimerange',
124953
- 'future': 'privateDeliveryGetSettleMyTrades',
124954
- 'option': 'privateOptionsGetMyTrades',
124955
- });
124956
- const response = await this[method](this.extend(request, params));
125005
+ let response = undefined;
125006
+ if (type === 'spot' || type === 'margin') {
125007
+ response = await this.privateSpotGetMyTrades(this.extend(request, params));
125008
+ }
125009
+ else if (type === 'swap') {
125010
+ response = await this.privateFuturesGetSettleMyTradesTimerange(this.extend(request, params));
125011
+ }
125012
+ else if (type === 'future') {
125013
+ response = await this.privateDeliveryGetSettleMyTrades(this.extend(request, params));
125014
+ }
125015
+ else if (type === 'option') {
125016
+ response = await this.privateOptionsGetMyTrades(this.extend(request, params));
125017
+ }
125018
+ else {
125019
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' fetchMyTrades() not support this market type.');
125020
+ }
124957
125021
  //
124958
125022
  // spot
124959
125023
  //
@@ -126204,15 +126268,37 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
126204
126268
  const contract = (type === 'swap') || (type === 'future') || (type === 'option');
126205
126269
  const [request, requestParams] = contract ? this.prepareRequest(market, type, query) : this.spotOrderPrepareRequest(market, stop, query);
126206
126270
  request['order_id'] = orderId;
126207
- const methodMiddle = stop ? 'PriceOrders' : 'Orders';
126208
- const method = this.getSupportedMapping(type, {
126209
- 'spot': 'privateSpotGet' + methodMiddle + 'OrderId',
126210
- 'margin': 'privateSpotGet' + methodMiddle + 'OrderId',
126211
- 'swap': 'privateFuturesGetSettle' + methodMiddle + 'OrderId',
126212
- 'future': 'privateDeliveryGetSettle' + methodMiddle + 'OrderId',
126213
- 'option': 'privateOptionsGetOrdersOrderId',
126214
- });
126215
- const response = await this[method](this.extend(request, requestParams));
126271
+ let response = undefined;
126272
+ if (type === 'spot' || type === 'margin') {
126273
+ if (stop) {
126274
+ response = await this.privateSpotGetPriceOrdersOrderId(this.extend(request, requestParams));
126275
+ }
126276
+ else {
126277
+ response = await this.privateSpotGetOrdersOrderId(this.extend(request, requestParams));
126278
+ }
126279
+ }
126280
+ else if (type === 'swap') {
126281
+ if (stop) {
126282
+ response = await this.privateFuturesGetSettlePriceOrdersOrderId(this.extend(request, requestParams));
126283
+ }
126284
+ else {
126285
+ response = await this.privateFuturesGetSettleOrdersOrderId(this.extend(request, requestParams));
126286
+ }
126287
+ }
126288
+ else if (type === 'future') {
126289
+ if (stop) {
126290
+ response = await this.privateDeliveryGetSettlePriceOrdersOrderId(this.extend(request, requestParams));
126291
+ }
126292
+ else {
126293
+ response = await this.privateDeliveryGetSettleOrdersOrderId(this.extend(request, requestParams));
126294
+ }
126295
+ }
126296
+ else if (type === 'option') {
126297
+ response = await this.privateOptionsGetOrdersOrderId(this.extend(request, requestParams));
126298
+ }
126299
+ else {
126300
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' fetchOrder() not support this market type');
126301
+ }
126216
126302
  return this.parseOrder(response, market);
126217
126303
  }
126218
126304
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -126277,19 +126363,41 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
126277
126363
  if (since !== undefined && spot) {
126278
126364
  request['from'] = this.parseToInt(since / 1000);
126279
126365
  }
126280
- let methodTail = stop ? 'PriceOrders' : 'Orders';
126281
126366
  const openSpotOrders = spot && (status === 'open') && !stop;
126282
- if (openSpotOrders) {
126283
- methodTail = 'OpenOrders';
126367
+ let response = undefined;
126368
+ if (type === 'spot' || type === 'margin') {
126369
+ if (openSpotOrders) {
126370
+ response = await this.privateSpotGetOpenOrders(this.extend(request, requestParams));
126371
+ }
126372
+ else if (stop) {
126373
+ response = await this.privateSpotGetPriceOrders(this.extend(request, requestParams));
126374
+ }
126375
+ else {
126376
+ response = await this.privateSpotGetOrders(this.extend(request, requestParams));
126377
+ }
126378
+ }
126379
+ else if (type === 'swap') {
126380
+ if (stop) {
126381
+ response = await this.privateFuturesGetSettlePriceOrders(this.extend(request, requestParams));
126382
+ }
126383
+ else {
126384
+ response = await this.privateFuturesGetSettleOrders(this.extend(request, requestParams));
126385
+ }
126386
+ }
126387
+ else if (type === 'future') {
126388
+ if (stop) {
126389
+ response = await this.privateDeliveryGetSettlePriceOrders(this.extend(request, requestParams));
126390
+ }
126391
+ else {
126392
+ response = await this.privateDeliveryGetSettleOrders(this.extend(request, requestParams));
126393
+ }
126394
+ }
126395
+ else if (type === 'option') {
126396
+ response = await this.privateOptionsGetOrders(this.extend(request, requestParams));
126397
+ }
126398
+ else {
126399
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' fetchOrders() not support this market type');
126284
126400
  }
126285
- const method = this.getSupportedMapping(type, {
126286
- 'spot': 'privateSpotGet' + methodTail,
126287
- 'margin': 'privateSpotGet' + methodTail,
126288
- 'swap': 'privateFuturesGetSettle' + methodTail,
126289
- 'future': 'privateDeliveryGetSettle' + methodTail,
126290
- 'option': 'privateOptionsGetOrders',
126291
- });
126292
- const response = await this[method](this.extend(request, requestParams));
126293
126401
  //
126294
126402
  // spot open orders
126295
126403
  //
@@ -126469,15 +126577,37 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
126469
126577
  const [type, query] = this.handleMarketTypeAndParams('cancelOrder', market, params);
126470
126578
  const [request, requestParams] = (type === 'spot' || type === 'margin') ? this.spotOrderPrepareRequest(market, stop, query) : this.prepareRequest(market, type, query);
126471
126579
  request['order_id'] = id;
126472
- const pathMiddle = stop ? 'Price' : '';
126473
- const method = this.getSupportedMapping(type, {
126474
- 'spot': 'privateSpotDelete' + pathMiddle + 'OrdersOrderId',
126475
- 'margin': 'privateSpotDelete' + pathMiddle + 'OrdersOrderId',
126476
- 'swap': 'privateFuturesDeleteSettle' + pathMiddle + 'OrdersOrderId',
126477
- 'future': 'privateDeliveryDeleteSettle' + pathMiddle + 'OrdersOrderId',
126478
- 'option': 'privateOptionsDeleteOrdersOrderId',
126479
- });
126480
- const response = await this[method](this.extend(request, requestParams));
126580
+ let response = undefined;
126581
+ if (type === 'spot' || type === 'margin') {
126582
+ if (stop) {
126583
+ response = await this.privateSpotDeletePriceOrdersOrderId(this.extend(request, requestParams));
126584
+ }
126585
+ else {
126586
+ response = await this.privateSpotDeleteOrdersOrderId(this.extend(request, requestParams));
126587
+ }
126588
+ }
126589
+ else if (type === 'swap') {
126590
+ if (stop) {
126591
+ response = await this.privateFuturesDeleteSettlePriceOrdersOrderId(this.extend(request, requestParams));
126592
+ }
126593
+ else {
126594
+ response = await this.privateFuturesDeleteSettleOrdersOrderId(this.extend(request, requestParams));
126595
+ }
126596
+ }
126597
+ else if (type === 'future') {
126598
+ if (stop) {
126599
+ response = await this.privateDeliveryDeleteSettlePriceOrdersOrderId(this.extend(request, requestParams));
126600
+ }
126601
+ else {
126602
+ response = await this.privateDeliveryDeleteSettleOrdersOrderId(this.extend(request, requestParams));
126603
+ }
126604
+ }
126605
+ else if (type === 'option') {
126606
+ response = await this.privateOptionsDeleteOrdersOrderId(this.extend(request, requestParams));
126607
+ }
126608
+ else {
126609
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' cancelOrder() not support this market type');
126610
+ }
126481
126611
  //
126482
126612
  // spot
126483
126613
  //
@@ -126580,15 +126710,37 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
126580
126710
  params = this.omit(params, 'stop');
126581
126711
  const [type, query] = this.handleMarketTypeAndParams('cancelAllOrders', market, params);
126582
126712
  const [request, requestParams] = (type === 'spot') ? this.multiOrderSpotPrepareRequest(market, stop, query) : this.prepareRequest(market, type, query);
126583
- const methodTail = stop ? 'PriceOrders' : 'Orders';
126584
- const method = this.getSupportedMapping(type, {
126585
- 'spot': 'privateSpotDelete' + methodTail,
126586
- 'margin': 'privateSpotDelete' + methodTail,
126587
- 'swap': 'privateFuturesDeleteSettle' + methodTail,
126588
- 'future': 'privateDeliveryDeleteSettle' + methodTail,
126589
- 'option': 'privateOptionsDeleteOrders',
126590
- });
126591
- const response = await this[method](this.extend(request, requestParams));
126713
+ let response = undefined;
126714
+ if (type === 'spot' || type === 'margin') {
126715
+ if (stop) {
126716
+ response = await this.privateSpotDeletePriceOrders(this.extend(request, requestParams));
126717
+ }
126718
+ else {
126719
+ response = await this.privateSpotDeleteOrders(this.extend(request, requestParams));
126720
+ }
126721
+ }
126722
+ else if (type === 'swap') {
126723
+ if (stop) {
126724
+ response = await this.privateFuturesDeleteSettlePriceOrders(this.extend(request, requestParams));
126725
+ }
126726
+ else {
126727
+ response = await this.privateFuturesDeleteSettleOrders(this.extend(request, requestParams));
126728
+ }
126729
+ }
126730
+ else if (type === 'future') {
126731
+ if (stop) {
126732
+ response = await this.privateDeliveryDeleteSettlePriceOrders(this.extend(request, requestParams));
126733
+ }
126734
+ else {
126735
+ response = await this.privateDeliveryDeleteSettleOrders(this.extend(request, requestParams));
126736
+ }
126737
+ }
126738
+ else if (type === 'option') {
126739
+ response = await this.privateOptionsDeleteOrders(this.extend(request, requestParams));
126740
+ }
126741
+ else {
126742
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' cancelAllOrders() not support this market type');
126743
+ }
126592
126744
  //
126593
126745
  // [
126594
126746
  // {
@@ -126718,10 +126870,6 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
126718
126870
  }
126719
126871
  await this.loadMarkets();
126720
126872
  const market = this.market(symbol);
126721
- const method = this.getSupportedMapping(market['type'], {
126722
- 'swap': 'privateFuturesPostSettlePositionsContractLeverage',
126723
- 'future': 'privateDeliveryPostSettlePositionsContractLeverage',
126724
- });
126725
126873
  const [request, query] = this.prepareRequest(market, undefined, params);
126726
126874
  const defaultMarginMode = this.safeString2(this.options, 'marginMode', 'defaultMarginMode');
126727
126875
  const crossLeverageLimit = this.safeString(query, 'cross_leverage_limit');
@@ -126737,7 +126885,16 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
126737
126885
  else {
126738
126886
  request['leverage'] = leverage.toString();
126739
126887
  }
126740
- const response = await this[method](this.extend(request, query));
126888
+ let response = undefined;
126889
+ if (market['swap']) {
126890
+ response = await this.privateFuturesPostSettlePositionsContractLeverage(this.extend(request, query));
126891
+ }
126892
+ else if (market['future']) {
126893
+ response = await this.privateDeliveryPostSettlePositionsContractLeverage(this.extend(request, query));
126894
+ }
126895
+ else {
126896
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' setLeverage() not support this market type');
126897
+ }
126741
126898
  //
126742
126899
  // {
126743
126900
  // "value": "0",
@@ -126898,10 +127055,10 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
126898
127055
  [request, params] = this.prepareRequest(market, market['type'], params);
126899
127056
  const extendedRequest = this.extend(request, params);
126900
127057
  let response = undefined;
126901
- if (market['type'] === 'swap') {
127058
+ if (market['swap']) {
126902
127059
  response = await this.privateFuturesGetSettlePositionsContract(extendedRequest);
126903
127060
  }
126904
- else if (market['type'] === 'future') {
127061
+ else if (market['future']) {
126905
127062
  response = await this.privateDeliveryGetSettlePositionsContract(extendedRequest);
126906
127063
  }
126907
127064
  else if (market['type'] === 'option') {
@@ -127081,11 +127238,16 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
127081
127238
  if (type !== 'future' && type !== 'swap') {
127082
127239
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' fetchLeverageTiers only supports swap and future');
127083
127240
  }
127084
- const method = this.getSupportedMapping(type, {
127085
- 'swap': 'publicFuturesGetSettleContracts',
127086
- 'future': 'publicDeliveryGetSettleContracts',
127087
- });
127088
- const response = await this[method](this.extend(request, requestParams));
127241
+ let response = undefined;
127242
+ if (type === 'swap') {
127243
+ response = await this.publicFuturesGetSettleContracts(this.extend(request, requestParams));
127244
+ }
127245
+ else if (type === 'future') {
127246
+ response = await this.publicDeliveryGetSettleContracts(this.extend(request, requestParams));
127247
+ }
127248
+ else {
127249
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' fetchLeverageTiers() not support this market type');
127250
+ }
127089
127251
  //
127090
127252
  // Perpetual swap
127091
127253
  //
@@ -127591,11 +127753,16 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
127591
127753
  const market = this.market(symbol);
127592
127754
  const [request, query] = this.prepareRequest(market, undefined, params);
127593
127755
  request['change'] = this.numberToString(amount);
127594
- const method = this.getSupportedMapping(market['type'], {
127595
- 'swap': 'privateFuturesPostSettlePositionsContractMargin',
127596
- 'future': 'privateDeliveryPostSettlePositionsContractMargin',
127597
- });
127598
- const response = await this[method](this.extend(request, query));
127756
+ let response = undefined;
127757
+ if (market['swap']) {
127758
+ response = await this.privateFuturesPostSettlePositionsContractMargin(this.extend(request, query));
127759
+ }
127760
+ else if (market['future']) {
127761
+ response = await this.privateDeliveryPostSettlePositionsContractMargin(this.extend(request, query));
127762
+ }
127763
+ else {
127764
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' modifyMarginHelper() not support this market type');
127765
+ }
127599
127766
  return this.parseMarginModification(response, market);
127600
127767
  }
127601
127768
  parseMarginModification(data, market = undefined) {
@@ -205735,20 +205902,23 @@ class binance extends _binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
205735
205902
  return;
205736
205903
  }
205737
205904
  let method = 'publicPutUserDataStream';
205905
+ const request = {};
205906
+ const symbol = this.safeString(params, 'symbol');
205907
+ const sendParams = this.omit(params, ['type', 'symbol']);
205738
205908
  if (type === 'future') {
205739
205909
  method = 'fapiPrivatePutListenKey';
205740
205910
  }
205741
205911
  else if (type === 'delivery') {
205742
205912
  method = 'dapiPrivatePutListenKey';
205743
205913
  }
205744
- else if (type === 'margin') {
205745
- method = 'sapiPutUserDataStream';
205914
+ else {
205915
+ request['listenKey'] = listenKey;
205916
+ if (type === 'margin') {
205917
+ request['symbol'] = symbol;
205918
+ method = 'sapiPutUserDataStream';
205919
+ }
205746
205920
  }
205747
- const request = {
205748
- 'listenKey': listenKey,
205749
- };
205750
205921
  const time = this.milliseconds();
205751
- const sendParams = this.omit(params, 'type');
205752
205922
  try {
205753
205923
  await this[method](this.extend(request, sendParams));
205754
205924
  }
@@ -206502,9 +206672,7 @@ class binance extends _binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
206502
206672
  market = this.market(symbol);
206503
206673
  symbol = market['symbol'];
206504
206674
  messageHash += ':' + symbol;
206505
- params = this.extend(params, { 'type': market['type'], 'symbol': symbol }); // needed inside authenticate for isolated margin
206506
206675
  }
206507
- await this.authenticate(params);
206508
206676
  let type = undefined;
206509
206677
  [type, params] = this.handleMarketTypeAndParams('watchOrders', market, params);
206510
206678
  let subType = undefined;
@@ -206515,6 +206683,8 @@ class binance extends _binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
206515
206683
  else if (this.isInverse(type, subType)) {
206516
206684
  type = 'delivery';
206517
206685
  }
206686
+ params = this.extend(params, { 'type': type, 'symbol': symbol }); // needed inside authenticate for isolated margin
206687
+ await this.authenticate(params);
206518
206688
  let urlType = type;
206519
206689
  if (type === 'margin') {
206520
206690
  urlType = 'spot'; // spot-margin shares the same stream as regular spot
@@ -288310,7 +288480,7 @@ SOFTWARE.
288310
288480
 
288311
288481
  //-----------------------------------------------------------------------------
288312
288482
  // this is updated by vss.js when building
288313
- const version = '4.1.70';
288483
+ const version = '4.1.71';
288314
288484
  _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion = version;
288315
288485
  //-----------------------------------------------------------------------------
288316
288486