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.
- package/README.md +3 -3
- package/dist/ccxt.browser.js +312 -142
- package/dist/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/binance.js +1 -0
- package/dist/cjs/src/coinbase.js +3 -0
- package/dist/cjs/src/gate.js +297 -134
- package/dist/cjs/src/pro/binance.js +11 -8
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/binance.d.ts +1 -0
- package/js/src/abstract/binancecoinm.d.ts +1 -0
- package/js/src/abstract/binanceus.d.ts +1 -0
- package/js/src/abstract/binanceusdm.d.ts +1 -0
- package/js/src/abstract/coinbase.d.ts +3 -0
- package/js/src/binance.js +1 -0
- package/js/src/coinbase.js +3 -0
- package/js/src/gate.js +297 -134
- package/js/src/pro/binance.js +11 -8
- package/package.json +1 -1
- package/skip-tests.json +3 -1
package/dist/ccxt.browser.js
CHANGED
|
@@ -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
|
-
|
|
123973
|
-
|
|
123974
|
-
|
|
123975
|
-
}
|
|
123976
|
-
|
|
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
|
-
|
|
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
|
-
|
|
124153
|
-
|
|
124154
|
-
|
|
124155
|
-
|
|
124156
|
-
|
|
124157
|
-
|
|
124158
|
-
}
|
|
124159
|
-
if (market['
|
|
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
|
-
|
|
124315
|
-
|
|
124316
|
-
|
|
124317
|
-
|
|
124318
|
-
|
|
124319
|
-
|
|
124320
|
-
}
|
|
124321
|
-
if (type === '
|
|
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
|
-
|
|
124359
|
-
|
|
124360
|
-
|
|
124361
|
-
|
|
124362
|
-
|
|
124363
|
-
|
|
124364
|
-
|
|
124365
|
-
|
|
124366
|
-
'
|
|
124367
|
-
|
|
124368
|
-
|
|
124369
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
124950
|
-
|
|
124951
|
-
|
|
124952
|
-
|
|
124953
|
-
|
|
124954
|
-
|
|
124955
|
-
}
|
|
124956
|
-
|
|
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
|
-
|
|
126208
|
-
|
|
126209
|
-
|
|
126210
|
-
|
|
126211
|
-
|
|
126212
|
-
|
|
126213
|
-
|
|
126214
|
-
|
|
126215
|
-
|
|
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
|
-
|
|
126283
|
-
|
|
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
|
-
|
|
126473
|
-
|
|
126474
|
-
|
|
126475
|
-
|
|
126476
|
-
|
|
126477
|
-
|
|
126478
|
-
|
|
126479
|
-
|
|
126480
|
-
|
|
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
|
-
|
|
126584
|
-
|
|
126585
|
-
|
|
126586
|
-
|
|
126587
|
-
|
|
126588
|
-
|
|
126589
|
-
|
|
126590
|
-
|
|
126591
|
-
|
|
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
|
-
|
|
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['
|
|
127058
|
+
if (market['swap']) {
|
|
126902
127059
|
response = await this.privateFuturesGetSettlePositionsContract(extendedRequest);
|
|
126903
127060
|
}
|
|
126904
|
-
else if (market['
|
|
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
|
-
|
|
127085
|
-
|
|
127086
|
-
|
|
127087
|
-
}
|
|
127088
|
-
|
|
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
|
-
|
|
127595
|
-
|
|
127596
|
-
|
|
127597
|
-
}
|
|
127598
|
-
|
|
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
|
|
205745
|
-
|
|
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.
|
|
288483
|
+
const version = '4.1.71';
|
|
288314
288484
|
_src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion = version;
|
|
288315
288485
|
//-----------------------------------------------------------------------------
|
|
288316
288486
|
|