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/cjs/ccxt.js
CHANGED
|
@@ -173,7 +173,7 @@ var woo$1 = require('./src/pro/woo.js');
|
|
|
173
173
|
|
|
174
174
|
//-----------------------------------------------------------------------------
|
|
175
175
|
// this is updated by vss.js when building
|
|
176
|
-
const version = '4.1.
|
|
176
|
+
const version = '4.1.71';
|
|
177
177
|
Exchange["default"].ccxtVersion = version;
|
|
178
178
|
const exchanges = {
|
|
179
179
|
'ace': ace,
|
package/dist/cjs/src/binance.js
CHANGED
package/dist/cjs/src/coinbase.js
CHANGED
|
@@ -195,12 +195,15 @@ class coinbase extends coinbase$1 {
|
|
|
195
195
|
'brokerage/transaction_summary',
|
|
196
196
|
'brokerage/product_book',
|
|
197
197
|
'brokerage/best_bid_ask',
|
|
198
|
+
'brokerage/convert/trade/{trade_id}',
|
|
198
199
|
],
|
|
199
200
|
'post': [
|
|
200
201
|
'brokerage/orders',
|
|
201
202
|
'brokerage/orders/batch_cancel',
|
|
202
203
|
'brokerage/orders/edit',
|
|
203
204
|
'brokerage/orders/edit_preview',
|
|
205
|
+
'brokerage/convert/quote',
|
|
206
|
+
'brokerage/convert/trade/{trade_id}',
|
|
204
207
|
],
|
|
205
208
|
},
|
|
206
209
|
},
|
package/dist/cjs/src/gate.js
CHANGED
|
@@ -2235,11 +2235,16 @@ class gate extends gate$1 {
|
|
|
2235
2235
|
if (limit !== undefined) {
|
|
2236
2236
|
request['limit'] = limit;
|
|
2237
2237
|
}
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
}
|
|
2242
|
-
|
|
2238
|
+
let response = undefined;
|
|
2239
|
+
if (type === 'swap') {
|
|
2240
|
+
response = await this.privateFuturesGetSettleAccountBook(this.extend(request, requestParams));
|
|
2241
|
+
}
|
|
2242
|
+
else if (type === 'future') {
|
|
2243
|
+
response = await this.privateDeliveryGetSettleAccountBook(this.extend(request, requestParams));
|
|
2244
|
+
}
|
|
2245
|
+
else {
|
|
2246
|
+
throw new errors.NotSupported(this.id + ' fetchFundingHistory() only support swap & future market type');
|
|
2247
|
+
}
|
|
2243
2248
|
//
|
|
2244
2249
|
// [
|
|
2245
2250
|
// {
|
|
@@ -2312,18 +2317,26 @@ class gate extends gate$1 {
|
|
|
2312
2317
|
// };
|
|
2313
2318
|
//
|
|
2314
2319
|
const [request, query] = this.prepareRequest(market, market['type'], params);
|
|
2315
|
-
const method = this.getSupportedMapping(market['type'], {
|
|
2316
|
-
'spot': 'publicSpotGetOrderBook',
|
|
2317
|
-
'margin': 'publicSpotGetOrderBook',
|
|
2318
|
-
'swap': 'publicFuturesGetSettleOrderBook',
|
|
2319
|
-
'future': 'publicDeliveryGetSettleOrderBook',
|
|
2320
|
-
'option': 'publicOptionsGetOrderBook',
|
|
2321
|
-
});
|
|
2322
2320
|
if (limit !== undefined) {
|
|
2323
2321
|
request['limit'] = limit; // default 10, max 100
|
|
2324
2322
|
}
|
|
2325
2323
|
request['with_id'] = true;
|
|
2326
|
-
|
|
2324
|
+
let response = undefined;
|
|
2325
|
+
if (market['spot'] || market['margin']) {
|
|
2326
|
+
response = await this.publicSpotGetOrderBook(this.extend(request, query));
|
|
2327
|
+
}
|
|
2328
|
+
else if (market['swap']) {
|
|
2329
|
+
response = await this.publicFuturesGetSettleOrderBook(this.extend(request, query));
|
|
2330
|
+
}
|
|
2331
|
+
else if (market['future']) {
|
|
2332
|
+
response = await this.publicDeliveryGetSettleOrderBook(this.extend(request, query));
|
|
2333
|
+
}
|
|
2334
|
+
else if (market['option']) {
|
|
2335
|
+
response = await this.publicOptionsGetOrderBook(this.extend(request, query));
|
|
2336
|
+
}
|
|
2337
|
+
else {
|
|
2338
|
+
throw new errors.NotSupported(this.id + ' fetchOrderBook() not support this market type');
|
|
2339
|
+
}
|
|
2327
2340
|
//
|
|
2328
2341
|
// spot
|
|
2329
2342
|
//
|
|
@@ -2415,19 +2428,25 @@ class gate extends gate$1 {
|
|
|
2415
2428
|
await this.loadMarkets();
|
|
2416
2429
|
const market = this.market(symbol);
|
|
2417
2430
|
const [request, query] = this.prepareRequest(market, undefined, params);
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
}
|
|
2425
|
-
if (market['
|
|
2431
|
+
let response = undefined;
|
|
2432
|
+
if (market['spot'] || market['margin']) {
|
|
2433
|
+
response = await this.publicSpotGetTickers(this.extend(request, query));
|
|
2434
|
+
}
|
|
2435
|
+
else if (market['swap']) {
|
|
2436
|
+
response = await this.publicFuturesGetSettleTickers(this.extend(request, query));
|
|
2437
|
+
}
|
|
2438
|
+
else if (market['future']) {
|
|
2439
|
+
response = await this.publicDeliveryGetSettleTickers(this.extend(request, query));
|
|
2440
|
+
}
|
|
2441
|
+
else if (market['option']) {
|
|
2426
2442
|
const marketId = market['id'];
|
|
2427
2443
|
const optionParts = marketId.split('-');
|
|
2428
2444
|
request['underlying'] = this.safeString(optionParts, 0);
|
|
2445
|
+
response = await this.publicOptionsGetTickers(this.extend(request, query));
|
|
2446
|
+
}
|
|
2447
|
+
else {
|
|
2448
|
+
throw new errors.NotSupported(this.id + ' fetchTicker() not support this market type');
|
|
2429
2449
|
}
|
|
2430
|
-
const response = await this[method](this.extend(request, query));
|
|
2431
2450
|
let ticker = undefined;
|
|
2432
2451
|
if (market['option']) {
|
|
2433
2452
|
for (let i = 0; i < response.length; i++) {
|
|
@@ -2577,20 +2596,26 @@ class gate extends gate$1 {
|
|
|
2577
2596
|
}
|
|
2578
2597
|
const [type, query] = this.handleMarketTypeAndParams('fetchTickers', market, params);
|
|
2579
2598
|
const [request, requestParams] = this.prepareRequest(undefined, type, query);
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
}
|
|
2587
|
-
if (type === '
|
|
2599
|
+
let response = undefined;
|
|
2600
|
+
if (type === 'spot' || type === 'margin') {
|
|
2601
|
+
response = await this.publicSpotGetTickers(this.extend(request, requestParams));
|
|
2602
|
+
}
|
|
2603
|
+
else if (type === 'swap') {
|
|
2604
|
+
response = await this.publicFuturesGetSettleTickers(this.extend(request, requestParams));
|
|
2605
|
+
}
|
|
2606
|
+
else if (type === 'future') {
|
|
2607
|
+
response = await this.publicDeliveryGetSettleTickers(this.extend(request, requestParams));
|
|
2608
|
+
}
|
|
2609
|
+
else if (type === 'option') {
|
|
2588
2610
|
this.checkRequiredArgument('fetchTickers', symbols, 'symbols');
|
|
2589
2611
|
const marketId = market['id'];
|
|
2590
2612
|
const optionParts = marketId.split('-');
|
|
2591
2613
|
request['underlying'] = this.safeString(optionParts, 0);
|
|
2614
|
+
response = await this.publicOptionsGetTickers(this.extend(request, requestParams));
|
|
2615
|
+
}
|
|
2616
|
+
else {
|
|
2617
|
+
throw new errors.NotSupported(this.id + ' fetchTickers() not support this market type');
|
|
2592
2618
|
}
|
|
2593
|
-
const response = await this[method](this.extend(request, requestParams));
|
|
2594
2619
|
return this.parseTickers(response, symbols);
|
|
2595
2620
|
}
|
|
2596
2621
|
parseBalanceHelper(entry) {
|
|
@@ -2621,18 +2646,36 @@ class gate extends gate$1 {
|
|
|
2621
2646
|
const market = this.market(symbol);
|
|
2622
2647
|
request['currency_pair'] = market['id'];
|
|
2623
2648
|
}
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
'
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2649
|
+
let response = undefined;
|
|
2650
|
+
if (type === 'spot') {
|
|
2651
|
+
if (marginMode === 'spot') {
|
|
2652
|
+
response = await this.privateSpotGetAccounts(this.extend(request, requestQuery));
|
|
2653
|
+
}
|
|
2654
|
+
else if (marginMode === 'margin') {
|
|
2655
|
+
response = await this.privateMarginGetAccounts(this.extend(request, requestQuery));
|
|
2656
|
+
}
|
|
2657
|
+
else if (marginMode === 'cross_margin') {
|
|
2658
|
+
response = await this.privateMarginGetCrossAccounts(this.extend(request, requestQuery));
|
|
2659
|
+
}
|
|
2660
|
+
else {
|
|
2661
|
+
throw new errors.NotSupported(this.id + ' fetchBalance() not support this marginMode');
|
|
2662
|
+
}
|
|
2663
|
+
}
|
|
2664
|
+
else if (type === 'funding') {
|
|
2665
|
+
response = await this.privateMarginGetFundingAccounts(this.extend(request, requestQuery));
|
|
2666
|
+
}
|
|
2667
|
+
else if (type === 'swap') {
|
|
2668
|
+
response = await this.privateFuturesGetSettleAccounts(this.extend(request, requestQuery));
|
|
2669
|
+
}
|
|
2670
|
+
else if (type === 'future') {
|
|
2671
|
+
response = await this.privateDeliveryGetSettleAccounts(this.extend(request, requestQuery));
|
|
2672
|
+
}
|
|
2673
|
+
else if (type === 'option') {
|
|
2674
|
+
response = await this.privateOptionsGetAccounts(this.extend(request, requestQuery));
|
|
2675
|
+
}
|
|
2676
|
+
else {
|
|
2677
|
+
throw new errors.NotSupported(this.id + ' fetchBalance() not support this market type');
|
|
2678
|
+
}
|
|
2636
2679
|
const contract = ((type === 'swap') || (type === 'future') || (type === 'option'));
|
|
2637
2680
|
if (contract) {
|
|
2638
2681
|
response = [response];
|
|
@@ -2852,23 +2895,7 @@ class gate extends gate$1 {
|
|
|
2852
2895
|
let request = {};
|
|
2853
2896
|
[request, params] = this.prepareRequest(market, undefined, params);
|
|
2854
2897
|
request['interval'] = this.safeString(this.timeframes, timeframe, timeframe);
|
|
2855
|
-
let method = 'publicSpotGetCandlesticks';
|
|
2856
2898
|
let maxLimit = 1000;
|
|
2857
|
-
if (market['contract']) {
|
|
2858
|
-
maxLimit = 1999;
|
|
2859
|
-
if (market['future']) {
|
|
2860
|
-
method = 'publicDeliveryGetSettleCandlesticks';
|
|
2861
|
-
}
|
|
2862
|
-
else if (market['swap']) {
|
|
2863
|
-
method = 'publicFuturesGetSettleCandlesticks';
|
|
2864
|
-
}
|
|
2865
|
-
const isMark = (price === 'mark');
|
|
2866
|
-
const isIndex = (price === 'index');
|
|
2867
|
-
if (isMark || isIndex) {
|
|
2868
|
-
request['contract'] = price + '_' + market['id'];
|
|
2869
|
-
params = this.omit(params, 'price');
|
|
2870
|
-
}
|
|
2871
|
-
}
|
|
2872
2899
|
limit = (limit === undefined) ? maxLimit : Math.min(limit, maxLimit);
|
|
2873
2900
|
let until = this.safeInteger(params, 'until');
|
|
2874
2901
|
if (until !== undefined) {
|
|
@@ -2895,7 +2922,25 @@ class gate extends gate$1 {
|
|
|
2895
2922
|
}
|
|
2896
2923
|
request['limit'] = limit;
|
|
2897
2924
|
}
|
|
2898
|
-
|
|
2925
|
+
let response = undefined;
|
|
2926
|
+
if (market['contract']) {
|
|
2927
|
+
maxLimit = 1999;
|
|
2928
|
+
const isMark = (price === 'mark');
|
|
2929
|
+
const isIndex = (price === 'index');
|
|
2930
|
+
if (isMark || isIndex) {
|
|
2931
|
+
request['contract'] = price + '_' + market['id'];
|
|
2932
|
+
params = this.omit(params, 'price');
|
|
2933
|
+
}
|
|
2934
|
+
if (market['future']) {
|
|
2935
|
+
response = await this.publicDeliveryGetSettleCandlesticks(this.extend(request, params));
|
|
2936
|
+
}
|
|
2937
|
+
else if (market['swap']) {
|
|
2938
|
+
response = await this.publicFuturesGetSettleCandlesticks(this.extend(request, params));
|
|
2939
|
+
}
|
|
2940
|
+
}
|
|
2941
|
+
else {
|
|
2942
|
+
response = await this.publicSpotGetCandlesticks(this.extend(request, params));
|
|
2943
|
+
}
|
|
2899
2944
|
return this.parseOHLCVs(response, market, timeframe, since, limit);
|
|
2900
2945
|
}
|
|
2901
2946
|
async fetchOptionOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
|
|
@@ -2932,8 +2977,7 @@ class gate extends gate$1 {
|
|
|
2932
2977
|
if (limit !== undefined) {
|
|
2933
2978
|
request['limit'] = limit;
|
|
2934
2979
|
}
|
|
2935
|
-
const
|
|
2936
|
-
const response = await this[method](this.extend(request, query));
|
|
2980
|
+
const response = await this.publicFuturesGetSettleFundingRate(this.extend(request, query));
|
|
2937
2981
|
//
|
|
2938
2982
|
// {
|
|
2939
2983
|
// "r": "0.00063521",
|
|
@@ -3048,13 +3092,6 @@ class gate extends gate$1 {
|
|
|
3048
3092
|
// };
|
|
3049
3093
|
//
|
|
3050
3094
|
const [request, query] = this.prepareRequest(market, undefined, params);
|
|
3051
|
-
const method = this.getSupportedMapping(market['type'], {
|
|
3052
|
-
'spot': 'publicSpotGetTrades',
|
|
3053
|
-
'margin': 'publicSpotGetTrades',
|
|
3054
|
-
'swap': 'publicFuturesGetSettleTrades',
|
|
3055
|
-
'future': 'publicDeliveryGetSettleTrades',
|
|
3056
|
-
'option': 'publicOptionsGetTrades',
|
|
3057
|
-
});
|
|
3058
3095
|
const until = this.safeInteger2(params, 'to', 'until');
|
|
3059
3096
|
if (until !== undefined) {
|
|
3060
3097
|
params = this.omit(params, ['until']);
|
|
@@ -3066,7 +3103,22 @@ class gate extends gate$1 {
|
|
|
3066
3103
|
if (since !== undefined && (market['contract'])) {
|
|
3067
3104
|
request['from'] = this.parseToInt(since / 1000);
|
|
3068
3105
|
}
|
|
3069
|
-
|
|
3106
|
+
let response = undefined;
|
|
3107
|
+
if (market['type'] === 'spot' || market['type'] === 'margin') {
|
|
3108
|
+
response = await this.publicSpotGetTrades(this.extend(request, query));
|
|
3109
|
+
}
|
|
3110
|
+
else if (market['swap']) {
|
|
3111
|
+
response = await this.publicFuturesGetSettleTrades(this.extend(request, query));
|
|
3112
|
+
}
|
|
3113
|
+
else if (market['future']) {
|
|
3114
|
+
response = await this.publicDeliveryGetSettleTrades(this.extend(request, query));
|
|
3115
|
+
}
|
|
3116
|
+
else if (market['type'] === 'option') {
|
|
3117
|
+
response = await this.publicOptionsGetTrades(this.extend(request, query));
|
|
3118
|
+
}
|
|
3119
|
+
else {
|
|
3120
|
+
throw new errors.NotSupported(this.id + ' fetchTrades() not support this market type.');
|
|
3121
|
+
}
|
|
3070
3122
|
//
|
|
3071
3123
|
// spot
|
|
3072
3124
|
//
|
|
@@ -3212,14 +3264,22 @@ class gate extends gate$1 {
|
|
|
3212
3264
|
if (until !== undefined) {
|
|
3213
3265
|
request['to'] = this.parseToInt(until / 1000);
|
|
3214
3266
|
}
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3218
|
-
|
|
3219
|
-
|
|
3220
|
-
|
|
3221
|
-
}
|
|
3222
|
-
|
|
3267
|
+
let response = undefined;
|
|
3268
|
+
if (type === 'spot' || type === 'margin') {
|
|
3269
|
+
response = await this.privateSpotGetMyTrades(this.extend(request, params));
|
|
3270
|
+
}
|
|
3271
|
+
else if (type === 'swap') {
|
|
3272
|
+
response = await this.privateFuturesGetSettleMyTradesTimerange(this.extend(request, params));
|
|
3273
|
+
}
|
|
3274
|
+
else if (type === 'future') {
|
|
3275
|
+
response = await this.privateDeliveryGetSettleMyTrades(this.extend(request, params));
|
|
3276
|
+
}
|
|
3277
|
+
else if (type === 'option') {
|
|
3278
|
+
response = await this.privateOptionsGetMyTrades(this.extend(request, params));
|
|
3279
|
+
}
|
|
3280
|
+
else {
|
|
3281
|
+
throw new errors.NotSupported(this.id + ' fetchMyTrades() not support this market type.');
|
|
3282
|
+
}
|
|
3223
3283
|
//
|
|
3224
3284
|
// spot
|
|
3225
3285
|
//
|
|
@@ -4470,15 +4530,37 @@ class gate extends gate$1 {
|
|
|
4470
4530
|
const contract = (type === 'swap') || (type === 'future') || (type === 'option');
|
|
4471
4531
|
const [request, requestParams] = contract ? this.prepareRequest(market, type, query) : this.spotOrderPrepareRequest(market, stop, query);
|
|
4472
4532
|
request['order_id'] = orderId;
|
|
4473
|
-
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4533
|
+
let response = undefined;
|
|
4534
|
+
if (type === 'spot' || type === 'margin') {
|
|
4535
|
+
if (stop) {
|
|
4536
|
+
response = await this.privateSpotGetPriceOrdersOrderId(this.extend(request, requestParams));
|
|
4537
|
+
}
|
|
4538
|
+
else {
|
|
4539
|
+
response = await this.privateSpotGetOrdersOrderId(this.extend(request, requestParams));
|
|
4540
|
+
}
|
|
4541
|
+
}
|
|
4542
|
+
else if (type === 'swap') {
|
|
4543
|
+
if (stop) {
|
|
4544
|
+
response = await this.privateFuturesGetSettlePriceOrdersOrderId(this.extend(request, requestParams));
|
|
4545
|
+
}
|
|
4546
|
+
else {
|
|
4547
|
+
response = await this.privateFuturesGetSettleOrdersOrderId(this.extend(request, requestParams));
|
|
4548
|
+
}
|
|
4549
|
+
}
|
|
4550
|
+
else if (type === 'future') {
|
|
4551
|
+
if (stop) {
|
|
4552
|
+
response = await this.privateDeliveryGetSettlePriceOrdersOrderId(this.extend(request, requestParams));
|
|
4553
|
+
}
|
|
4554
|
+
else {
|
|
4555
|
+
response = await this.privateDeliveryGetSettleOrdersOrderId(this.extend(request, requestParams));
|
|
4556
|
+
}
|
|
4557
|
+
}
|
|
4558
|
+
else if (type === 'option') {
|
|
4559
|
+
response = await this.privateOptionsGetOrdersOrderId(this.extend(request, requestParams));
|
|
4560
|
+
}
|
|
4561
|
+
else {
|
|
4562
|
+
throw new errors.NotSupported(this.id + ' fetchOrder() not support this market type');
|
|
4563
|
+
}
|
|
4482
4564
|
return this.parseOrder(response, market);
|
|
4483
4565
|
}
|
|
4484
4566
|
async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -4543,19 +4625,41 @@ class gate extends gate$1 {
|
|
|
4543
4625
|
if (since !== undefined && spot) {
|
|
4544
4626
|
request['from'] = this.parseToInt(since / 1000);
|
|
4545
4627
|
}
|
|
4546
|
-
let methodTail = stop ? 'PriceOrders' : 'Orders';
|
|
4547
4628
|
const openSpotOrders = spot && (status === 'open') && !stop;
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4629
|
+
let response = undefined;
|
|
4630
|
+
if (type === 'spot' || type === 'margin') {
|
|
4631
|
+
if (openSpotOrders) {
|
|
4632
|
+
response = await this.privateSpotGetOpenOrders(this.extend(request, requestParams));
|
|
4633
|
+
}
|
|
4634
|
+
else if (stop) {
|
|
4635
|
+
response = await this.privateSpotGetPriceOrders(this.extend(request, requestParams));
|
|
4636
|
+
}
|
|
4637
|
+
else {
|
|
4638
|
+
response = await this.privateSpotGetOrders(this.extend(request, requestParams));
|
|
4639
|
+
}
|
|
4640
|
+
}
|
|
4641
|
+
else if (type === 'swap') {
|
|
4642
|
+
if (stop) {
|
|
4643
|
+
response = await this.privateFuturesGetSettlePriceOrders(this.extend(request, requestParams));
|
|
4644
|
+
}
|
|
4645
|
+
else {
|
|
4646
|
+
response = await this.privateFuturesGetSettleOrders(this.extend(request, requestParams));
|
|
4647
|
+
}
|
|
4648
|
+
}
|
|
4649
|
+
else if (type === 'future') {
|
|
4650
|
+
if (stop) {
|
|
4651
|
+
response = await this.privateDeliveryGetSettlePriceOrders(this.extend(request, requestParams));
|
|
4652
|
+
}
|
|
4653
|
+
else {
|
|
4654
|
+
response = await this.privateDeliveryGetSettleOrders(this.extend(request, requestParams));
|
|
4655
|
+
}
|
|
4656
|
+
}
|
|
4657
|
+
else if (type === 'option') {
|
|
4658
|
+
response = await this.privateOptionsGetOrders(this.extend(request, requestParams));
|
|
4659
|
+
}
|
|
4660
|
+
else {
|
|
4661
|
+
throw new errors.NotSupported(this.id + ' fetchOrders() not support this market type');
|
|
4662
|
+
}
|
|
4559
4663
|
//
|
|
4560
4664
|
// spot open orders
|
|
4561
4665
|
//
|
|
@@ -4735,15 +4839,37 @@ class gate extends gate$1 {
|
|
|
4735
4839
|
const [type, query] = this.handleMarketTypeAndParams('cancelOrder', market, params);
|
|
4736
4840
|
const [request, requestParams] = (type === 'spot' || type === 'margin') ? this.spotOrderPrepareRequest(market, stop, query) : this.prepareRequest(market, type, query);
|
|
4737
4841
|
request['order_id'] = id;
|
|
4738
|
-
|
|
4739
|
-
|
|
4740
|
-
|
|
4741
|
-
|
|
4742
|
-
|
|
4743
|
-
|
|
4744
|
-
|
|
4745
|
-
|
|
4746
|
-
|
|
4842
|
+
let response = undefined;
|
|
4843
|
+
if (type === 'spot' || type === 'margin') {
|
|
4844
|
+
if (stop) {
|
|
4845
|
+
response = await this.privateSpotDeletePriceOrdersOrderId(this.extend(request, requestParams));
|
|
4846
|
+
}
|
|
4847
|
+
else {
|
|
4848
|
+
response = await this.privateSpotDeleteOrdersOrderId(this.extend(request, requestParams));
|
|
4849
|
+
}
|
|
4850
|
+
}
|
|
4851
|
+
else if (type === 'swap') {
|
|
4852
|
+
if (stop) {
|
|
4853
|
+
response = await this.privateFuturesDeleteSettlePriceOrdersOrderId(this.extend(request, requestParams));
|
|
4854
|
+
}
|
|
4855
|
+
else {
|
|
4856
|
+
response = await this.privateFuturesDeleteSettleOrdersOrderId(this.extend(request, requestParams));
|
|
4857
|
+
}
|
|
4858
|
+
}
|
|
4859
|
+
else if (type === 'future') {
|
|
4860
|
+
if (stop) {
|
|
4861
|
+
response = await this.privateDeliveryDeleteSettlePriceOrdersOrderId(this.extend(request, requestParams));
|
|
4862
|
+
}
|
|
4863
|
+
else {
|
|
4864
|
+
response = await this.privateDeliveryDeleteSettleOrdersOrderId(this.extend(request, requestParams));
|
|
4865
|
+
}
|
|
4866
|
+
}
|
|
4867
|
+
else if (type === 'option') {
|
|
4868
|
+
response = await this.privateOptionsDeleteOrdersOrderId(this.extend(request, requestParams));
|
|
4869
|
+
}
|
|
4870
|
+
else {
|
|
4871
|
+
throw new errors.NotSupported(this.id + ' cancelOrder() not support this market type');
|
|
4872
|
+
}
|
|
4747
4873
|
//
|
|
4748
4874
|
// spot
|
|
4749
4875
|
//
|
|
@@ -4846,15 +4972,37 @@ class gate extends gate$1 {
|
|
|
4846
4972
|
params = this.omit(params, 'stop');
|
|
4847
4973
|
const [type, query] = this.handleMarketTypeAndParams('cancelAllOrders', market, params);
|
|
4848
4974
|
const [request, requestParams] = (type === 'spot') ? this.multiOrderSpotPrepareRequest(market, stop, query) : this.prepareRequest(market, type, query);
|
|
4849
|
-
|
|
4850
|
-
|
|
4851
|
-
|
|
4852
|
-
|
|
4853
|
-
|
|
4854
|
-
|
|
4855
|
-
|
|
4856
|
-
|
|
4857
|
-
|
|
4975
|
+
let response = undefined;
|
|
4976
|
+
if (type === 'spot' || type === 'margin') {
|
|
4977
|
+
if (stop) {
|
|
4978
|
+
response = await this.privateSpotDeletePriceOrders(this.extend(request, requestParams));
|
|
4979
|
+
}
|
|
4980
|
+
else {
|
|
4981
|
+
response = await this.privateSpotDeleteOrders(this.extend(request, requestParams));
|
|
4982
|
+
}
|
|
4983
|
+
}
|
|
4984
|
+
else if (type === 'swap') {
|
|
4985
|
+
if (stop) {
|
|
4986
|
+
response = await this.privateFuturesDeleteSettlePriceOrders(this.extend(request, requestParams));
|
|
4987
|
+
}
|
|
4988
|
+
else {
|
|
4989
|
+
response = await this.privateFuturesDeleteSettleOrders(this.extend(request, requestParams));
|
|
4990
|
+
}
|
|
4991
|
+
}
|
|
4992
|
+
else if (type === 'future') {
|
|
4993
|
+
if (stop) {
|
|
4994
|
+
response = await this.privateDeliveryDeleteSettlePriceOrders(this.extend(request, requestParams));
|
|
4995
|
+
}
|
|
4996
|
+
else {
|
|
4997
|
+
response = await this.privateDeliveryDeleteSettleOrders(this.extend(request, requestParams));
|
|
4998
|
+
}
|
|
4999
|
+
}
|
|
5000
|
+
else if (type === 'option') {
|
|
5001
|
+
response = await this.privateOptionsDeleteOrders(this.extend(request, requestParams));
|
|
5002
|
+
}
|
|
5003
|
+
else {
|
|
5004
|
+
throw new errors.NotSupported(this.id + ' cancelAllOrders() not support this market type');
|
|
5005
|
+
}
|
|
4858
5006
|
//
|
|
4859
5007
|
// [
|
|
4860
5008
|
// {
|
|
@@ -4984,10 +5132,6 @@ class gate extends gate$1 {
|
|
|
4984
5132
|
}
|
|
4985
5133
|
await this.loadMarkets();
|
|
4986
5134
|
const market = this.market(symbol);
|
|
4987
|
-
const method = this.getSupportedMapping(market['type'], {
|
|
4988
|
-
'swap': 'privateFuturesPostSettlePositionsContractLeverage',
|
|
4989
|
-
'future': 'privateDeliveryPostSettlePositionsContractLeverage',
|
|
4990
|
-
});
|
|
4991
5135
|
const [request, query] = this.prepareRequest(market, undefined, params);
|
|
4992
5136
|
const defaultMarginMode = this.safeString2(this.options, 'marginMode', 'defaultMarginMode');
|
|
4993
5137
|
const crossLeverageLimit = this.safeString(query, 'cross_leverage_limit');
|
|
@@ -5003,7 +5147,16 @@ class gate extends gate$1 {
|
|
|
5003
5147
|
else {
|
|
5004
5148
|
request['leverage'] = leverage.toString();
|
|
5005
5149
|
}
|
|
5006
|
-
|
|
5150
|
+
let response = undefined;
|
|
5151
|
+
if (market['swap']) {
|
|
5152
|
+
response = await this.privateFuturesPostSettlePositionsContractLeverage(this.extend(request, query));
|
|
5153
|
+
}
|
|
5154
|
+
else if (market['future']) {
|
|
5155
|
+
response = await this.privateDeliveryPostSettlePositionsContractLeverage(this.extend(request, query));
|
|
5156
|
+
}
|
|
5157
|
+
else {
|
|
5158
|
+
throw new errors.NotSupported(this.id + ' setLeverage() not support this market type');
|
|
5159
|
+
}
|
|
5007
5160
|
//
|
|
5008
5161
|
// {
|
|
5009
5162
|
// "value": "0",
|
|
@@ -5164,10 +5317,10 @@ class gate extends gate$1 {
|
|
|
5164
5317
|
[request, params] = this.prepareRequest(market, market['type'], params);
|
|
5165
5318
|
const extendedRequest = this.extend(request, params);
|
|
5166
5319
|
let response = undefined;
|
|
5167
|
-
if (market['
|
|
5320
|
+
if (market['swap']) {
|
|
5168
5321
|
response = await this.privateFuturesGetSettlePositionsContract(extendedRequest);
|
|
5169
5322
|
}
|
|
5170
|
-
else if (market['
|
|
5323
|
+
else if (market['future']) {
|
|
5171
5324
|
response = await this.privateDeliveryGetSettlePositionsContract(extendedRequest);
|
|
5172
5325
|
}
|
|
5173
5326
|
else if (market['type'] === 'option') {
|
|
@@ -5347,11 +5500,16 @@ class gate extends gate$1 {
|
|
|
5347
5500
|
if (type !== 'future' && type !== 'swap') {
|
|
5348
5501
|
throw new errors.BadRequest(this.id + ' fetchLeverageTiers only supports swap and future');
|
|
5349
5502
|
}
|
|
5350
|
-
|
|
5351
|
-
|
|
5352
|
-
|
|
5353
|
-
}
|
|
5354
|
-
|
|
5503
|
+
let response = undefined;
|
|
5504
|
+
if (type === 'swap') {
|
|
5505
|
+
response = await this.publicFuturesGetSettleContracts(this.extend(request, requestParams));
|
|
5506
|
+
}
|
|
5507
|
+
else if (type === 'future') {
|
|
5508
|
+
response = await this.publicDeliveryGetSettleContracts(this.extend(request, requestParams));
|
|
5509
|
+
}
|
|
5510
|
+
else {
|
|
5511
|
+
throw new errors.NotSupported(this.id + ' fetchLeverageTiers() not support this market type');
|
|
5512
|
+
}
|
|
5355
5513
|
//
|
|
5356
5514
|
// Perpetual swap
|
|
5357
5515
|
//
|
|
@@ -5857,11 +6015,16 @@ class gate extends gate$1 {
|
|
|
5857
6015
|
const market = this.market(symbol);
|
|
5858
6016
|
const [request, query] = this.prepareRequest(market, undefined, params);
|
|
5859
6017
|
request['change'] = this.numberToString(amount);
|
|
5860
|
-
|
|
5861
|
-
|
|
5862
|
-
|
|
5863
|
-
}
|
|
5864
|
-
|
|
6018
|
+
let response = undefined;
|
|
6019
|
+
if (market['swap']) {
|
|
6020
|
+
response = await this.privateFuturesPostSettlePositionsContractMargin(this.extend(request, query));
|
|
6021
|
+
}
|
|
6022
|
+
else if (market['future']) {
|
|
6023
|
+
response = await this.privateDeliveryPostSettlePositionsContractMargin(this.extend(request, query));
|
|
6024
|
+
}
|
|
6025
|
+
else {
|
|
6026
|
+
throw new errors.NotSupported(this.id + ' modifyMarginHelper() not support this market type');
|
|
6027
|
+
}
|
|
5865
6028
|
return this.parseMarginModification(response, market);
|
|
5866
6029
|
}
|
|
5867
6030
|
parseMarginModification(data, market = undefined) {
|