ccxt 4.2.83 → 4.2.85
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/build.sh +1 -1
- package/dist/ccxt.browser.js +896 -941
- package/dist/ccxt.browser.min.js +4 -4
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ace.js +5 -5
- package/dist/cjs/src/ascendex.js +8 -8
- package/dist/cjs/src/base/Exchange.js +76 -14
- package/dist/cjs/src/bigone.js +12 -12
- package/dist/cjs/src/binance.js +23 -35
- package/dist/cjs/src/bingx.js +13 -9
- package/dist/cjs/src/bit2c.js +1 -1
- package/dist/cjs/src/bitbank.js +8 -8
- package/dist/cjs/src/bitbns.js +5 -5
- package/dist/cjs/src/bitfinex.js +1 -1
- package/dist/cjs/src/bitfinex2.js +1 -1
- package/dist/cjs/src/bitget.js +40 -28
- package/dist/cjs/src/bithumb.js +5 -5
- package/dist/cjs/src/bitmart.js +16 -16
- package/dist/cjs/src/bitopro.js +1 -1
- package/dist/cjs/src/bitrue.js +4 -4
- package/dist/cjs/src/bitso.js +5 -5
- package/dist/cjs/src/bitstamp.js +1 -1
- package/dist/cjs/src/bitteam.js +8 -8
- package/dist/cjs/src/bl3p.js +1 -1
- package/dist/cjs/src/btcturk.js +6 -6
- package/dist/cjs/src/bybit.js +34 -98
- package/dist/cjs/src/coincheck.js +4 -4
- package/dist/cjs/src/coinex.js +12 -13
- package/dist/cjs/src/coinlist.js +7 -7
- package/dist/cjs/src/coinmate.js +4 -4
- package/dist/cjs/src/coinmetro.js +3 -3
- package/dist/cjs/src/coinone.js +5 -5
- package/dist/cjs/src/coinspot.js +2 -2
- package/dist/cjs/src/cryptocom.js +17 -17
- package/dist/cjs/src/currencycom.js +1 -1
- package/dist/cjs/src/delta.js +0 -8
- package/dist/cjs/src/deribit.js +16 -92
- package/dist/cjs/src/digifinex.js +8 -8
- package/dist/cjs/src/exmo.js +8 -8
- package/dist/cjs/src/gate.js +0 -8
- package/dist/cjs/src/hitbtc.js +5 -4
- package/dist/cjs/src/hollaex.js +7 -7
- package/dist/cjs/src/htx.js +12 -34
- package/dist/cjs/src/huobijp.js +3 -3
- package/dist/cjs/src/idex.js +2 -2
- package/dist/cjs/src/independentreserve.js +2 -2
- package/dist/cjs/src/indodax.js +2 -2
- package/dist/cjs/src/kraken.js +8 -8
- package/dist/cjs/src/krakenfutures.js +6 -6
- package/dist/cjs/src/kucoin.js +15 -2
- package/dist/cjs/src/kucoinfutures.js +8 -8
- package/dist/cjs/src/kuna.js +16 -16
- package/dist/cjs/src/latoken.js +2 -2
- package/dist/cjs/src/lbank.js +10 -10
- package/dist/cjs/src/luno.js +4 -4
- package/dist/cjs/src/mercado.js +5 -5
- package/dist/cjs/src/mexc.js +6 -6
- package/dist/cjs/src/ndax.js +1 -1
- package/dist/cjs/src/novadax.js +9 -9
- package/dist/cjs/src/oceanex.js +7 -7
- package/dist/cjs/src/okcoin.js +13 -13
- package/dist/cjs/src/okx.js +23 -31
- package/dist/cjs/src/onetrading.js +4 -4
- package/dist/cjs/src/p2b.js +7 -7
- package/dist/cjs/src/phemex.js +12 -12
- package/dist/cjs/src/poloniexfutures.js +5 -5
- package/dist/cjs/src/pro/binance.js +167 -121
- package/dist/cjs/src/pro/kucoin.js +6 -7
- package/dist/cjs/src/pro/okx.js +19 -2
- package/dist/cjs/src/probit.js +11 -11
- package/dist/cjs/src/timex.js +7 -7
- package/dist/cjs/src/tokocrypto.js +9 -9
- package/dist/cjs/src/wavesexchange.js +3 -3
- package/dist/cjs/src/whitebit.js +5 -5
- package/dist/cjs/src/woo.js +1 -1
- package/dist/cjs/src/zaif.js +1 -1
- package/dist/cjs/src/zonda.js +7 -7
- package/examples/js/cli.js +0 -1
- package/examples/ts/cli.ts +0 -1
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/ace.js +5 -5
- package/js/src/ascendex.js +8 -8
- package/js/src/base/Exchange.d.ts +4 -3
- package/js/src/base/Exchange.js +76 -14
- package/js/src/bigone.js +12 -12
- package/js/src/binance.d.ts +0 -1
- package/js/src/binance.js +23 -35
- package/js/src/bingx.js +13 -9
- package/js/src/bit2c.js +1 -1
- package/js/src/bitbank.js +8 -8
- package/js/src/bitbns.js +5 -5
- package/js/src/bitfinex.js +1 -1
- package/js/src/bitfinex2.js +1 -1
- package/js/src/bitget.js +40 -28
- package/js/src/bithumb.js +5 -5
- package/js/src/bitmart.js +16 -16
- package/js/src/bitopro.js +1 -1
- package/js/src/bitrue.js +4 -4
- package/js/src/bitso.js +5 -5
- package/js/src/bitstamp.js +1 -1
- package/js/src/bitteam.js +8 -8
- package/js/src/bl3p.js +1 -1
- package/js/src/btcturk.js +6 -6
- package/js/src/bybit.d.ts +0 -3
- package/js/src/bybit.js +34 -98
- package/js/src/coincheck.js +4 -4
- package/js/src/coinex.js +12 -13
- package/js/src/coinlist.js +7 -7
- package/js/src/coinmate.js +4 -4
- package/js/src/coinmetro.js +3 -3
- package/js/src/coinone.js +5 -5
- package/js/src/coinspot.js +2 -2
- package/js/src/cryptocom.js +17 -17
- package/js/src/currencycom.js +1 -1
- package/js/src/delta.d.ts +0 -1
- package/js/src/delta.js +0 -8
- package/js/src/deribit.d.ts +0 -3
- package/js/src/deribit.js +16 -92
- package/js/src/digifinex.js +8 -8
- package/js/src/exmo.js +8 -8
- package/js/src/gate.d.ts +0 -1
- package/js/src/gate.js +0 -8
- package/js/src/hitbtc.js +5 -4
- package/js/src/hollaex.js +7 -7
- package/js/src/htx.js +12 -34
- package/js/src/huobijp.js +3 -3
- package/js/src/idex.js +2 -2
- package/js/src/independentreserve.js +2 -2
- package/js/src/indodax.js +2 -2
- package/js/src/kraken.js +8 -8
- package/js/src/krakenfutures.js +6 -6
- package/js/src/kucoin.d.ts +1 -0
- package/js/src/kucoin.js +16 -3
- package/js/src/kucoinfutures.js +8 -8
- package/js/src/kuna.js +16 -16
- package/js/src/latoken.js +2 -2
- package/js/src/lbank.js +10 -10
- package/js/src/luno.js +4 -4
- package/js/src/mercado.js +5 -5
- package/js/src/mexc.js +6 -6
- package/js/src/ndax.js +1 -1
- package/js/src/novadax.js +9 -9
- package/js/src/oceanex.js +7 -7
- package/js/src/okcoin.js +13 -13
- package/js/src/okx.d.ts +0 -1
- package/js/src/okx.js +23 -31
- package/js/src/onetrading.js +4 -4
- package/js/src/p2b.js +7 -7
- package/js/src/phemex.js +12 -12
- package/js/src/poloniexfutures.js +5 -5
- package/js/src/pro/binance.d.ts +5 -1
- package/js/src/pro/binance.js +168 -122
- package/js/src/pro/kucoin.js +6 -7
- package/js/src/pro/okx.js +19 -2
- package/js/src/probit.js +11 -11
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
- package/js/src/timex.js +7 -7
- package/js/src/tokocrypto.js +9 -9
- package/js/src/wavesexchange.js +3 -3
- package/js/src/whitebit.js +5 -5
- package/js/src/woo.js +1 -1
- package/js/src/zaif.js +1 -1
- package/js/src/zonda.js +7 -7
- package/package.json +1 -1
package/js/src/deribit.js
CHANGED
|
@@ -407,82 +407,6 @@ export default class deribit extends Exchange {
|
|
|
407
407
|
},
|
|
408
408
|
});
|
|
409
409
|
}
|
|
410
|
-
convertExpireDate(date) {
|
|
411
|
-
// parse YYMMDD to timestamp
|
|
412
|
-
const year = date.slice(0, 2);
|
|
413
|
-
const month = date.slice(2, 4);
|
|
414
|
-
const day = date.slice(4, 6);
|
|
415
|
-
const reconstructedDate = '20' + year + '-' + month + '-' + day + 'T00:00:00Z';
|
|
416
|
-
return reconstructedDate;
|
|
417
|
-
}
|
|
418
|
-
convertMarketIdExpireDate(date) {
|
|
419
|
-
// parse 19JAN24 to 240119
|
|
420
|
-
const monthMappping = {
|
|
421
|
-
'JAN': '01',
|
|
422
|
-
'FEB': '02',
|
|
423
|
-
'MAR': '03',
|
|
424
|
-
'APR': '04',
|
|
425
|
-
'MAY': '05',
|
|
426
|
-
'JUN': '06',
|
|
427
|
-
'JUL': '07',
|
|
428
|
-
'AUG': '08',
|
|
429
|
-
'SEP': '09',
|
|
430
|
-
'OCT': '10',
|
|
431
|
-
'NOV': '11',
|
|
432
|
-
'DEC': '12',
|
|
433
|
-
};
|
|
434
|
-
const year = date.slice(0, 2);
|
|
435
|
-
const monthName = date.slice(2, 5);
|
|
436
|
-
const month = this.safeString(monthMappping, monthName);
|
|
437
|
-
const day = date.slice(5, 7);
|
|
438
|
-
const reconstructedDate = day + month + year;
|
|
439
|
-
return reconstructedDate;
|
|
440
|
-
}
|
|
441
|
-
convertExpireDateToMarketIdDate(date) {
|
|
442
|
-
// parse 240119 to 19JAN24
|
|
443
|
-
const year = date.slice(0, 2);
|
|
444
|
-
const monthRaw = date.slice(2, 4);
|
|
445
|
-
let month = undefined;
|
|
446
|
-
const day = date.slice(4, 6);
|
|
447
|
-
if (monthRaw === '01') {
|
|
448
|
-
month = 'JAN';
|
|
449
|
-
}
|
|
450
|
-
else if (monthRaw === '02') {
|
|
451
|
-
month = 'FEB';
|
|
452
|
-
}
|
|
453
|
-
else if (monthRaw === '03') {
|
|
454
|
-
month = 'MAR';
|
|
455
|
-
}
|
|
456
|
-
else if (monthRaw === '04') {
|
|
457
|
-
month = 'APR';
|
|
458
|
-
}
|
|
459
|
-
else if (monthRaw === '05') {
|
|
460
|
-
month = 'MAY';
|
|
461
|
-
}
|
|
462
|
-
else if (monthRaw === '06') {
|
|
463
|
-
month = 'JUN';
|
|
464
|
-
}
|
|
465
|
-
else if (monthRaw === '07') {
|
|
466
|
-
month = 'JUL';
|
|
467
|
-
}
|
|
468
|
-
else if (monthRaw === '08') {
|
|
469
|
-
month = 'AUG';
|
|
470
|
-
}
|
|
471
|
-
else if (monthRaw === '09') {
|
|
472
|
-
month = 'SEP';
|
|
473
|
-
}
|
|
474
|
-
else if (monthRaw === '10') {
|
|
475
|
-
month = 'OCT';
|
|
476
|
-
}
|
|
477
|
-
else if (monthRaw === '11') {
|
|
478
|
-
month = 'NOV';
|
|
479
|
-
}
|
|
480
|
-
else if (monthRaw === '12') {
|
|
481
|
-
month = 'DEC';
|
|
482
|
-
}
|
|
483
|
-
const reconstructedDate = day + month + year;
|
|
484
|
-
return reconstructedDate;
|
|
485
|
-
}
|
|
486
410
|
createExpiredOptionMarket(symbol) {
|
|
487
411
|
// support expired option contracts
|
|
488
412
|
let quote = 'USD';
|
|
@@ -1269,7 +1193,7 @@ export default class deribit extends Exchange {
|
|
|
1269
1193
|
// "testnet": false
|
|
1270
1194
|
// }
|
|
1271
1195
|
//
|
|
1272
|
-
const result = this.
|
|
1196
|
+
const result = this.safeDict(response, 'result');
|
|
1273
1197
|
return this.parseTicker(result, market);
|
|
1274
1198
|
}
|
|
1275
1199
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
@@ -1556,7 +1480,7 @@ export default class deribit extends Exchange {
|
|
|
1556
1480
|
// }
|
|
1557
1481
|
//
|
|
1558
1482
|
const result = this.safeValue(response, 'result', {});
|
|
1559
|
-
const trades = this.
|
|
1483
|
+
const trades = this.safeList(result, 'trades', []);
|
|
1560
1484
|
return this.parseTrades(trades, market, since, limit);
|
|
1561
1485
|
}
|
|
1562
1486
|
async fetchTradingFees(params = {}) {
|
|
@@ -1918,7 +1842,7 @@ export default class deribit extends Exchange {
|
|
|
1918
1842
|
// }
|
|
1919
1843
|
// }
|
|
1920
1844
|
//
|
|
1921
|
-
const result = this.
|
|
1845
|
+
const result = this.safeDict(response, 'result');
|
|
1922
1846
|
return this.parseOrder(result, market);
|
|
1923
1847
|
}
|
|
1924
1848
|
async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
|
|
@@ -2160,7 +2084,7 @@ export default class deribit extends Exchange {
|
|
|
2160
2084
|
'order_id': id,
|
|
2161
2085
|
};
|
|
2162
2086
|
const response = await this.privateGetCancel(this.extend(request, params));
|
|
2163
|
-
const result = this.
|
|
2087
|
+
const result = this.safeDict(response, 'result', {});
|
|
2164
2088
|
return this.parseOrder(result);
|
|
2165
2089
|
}
|
|
2166
2090
|
async cancelAllOrders(symbol = undefined, params = {}) {
|
|
@@ -2215,7 +2139,7 @@ export default class deribit extends Exchange {
|
|
|
2215
2139
|
request['instrument_name'] = market['id'];
|
|
2216
2140
|
response = await this.privateGetGetOpenOrdersByInstrument(this.extend(request, params));
|
|
2217
2141
|
}
|
|
2218
|
-
const result = this.
|
|
2142
|
+
const result = this.safeList(response, 'result', []);
|
|
2219
2143
|
return this.parseOrders(result, market, since, limit);
|
|
2220
2144
|
}
|
|
2221
2145
|
async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2246,7 +2170,7 @@ export default class deribit extends Exchange {
|
|
|
2246
2170
|
request['instrument_name'] = market['id'];
|
|
2247
2171
|
response = await this.privateGetGetOrderHistoryByInstrument(this.extend(request, params));
|
|
2248
2172
|
}
|
|
2249
|
-
const result = this.
|
|
2173
|
+
const result = this.safeList(response, 'result', []);
|
|
2250
2174
|
return this.parseOrders(result, market, since, limit);
|
|
2251
2175
|
}
|
|
2252
2176
|
async fetchOrderTrades(id, symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2300,7 +2224,7 @@ export default class deribit extends Exchange {
|
|
|
2300
2224
|
// }
|
|
2301
2225
|
// }
|
|
2302
2226
|
//
|
|
2303
|
-
const result = this.
|
|
2227
|
+
const result = this.safeList(response, 'result', []);
|
|
2304
2228
|
return this.parseTrades(result, undefined, since, limit);
|
|
2305
2229
|
}
|
|
2306
2230
|
async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2384,7 +2308,7 @@ export default class deribit extends Exchange {
|
|
|
2384
2308
|
// }
|
|
2385
2309
|
//
|
|
2386
2310
|
const result = this.safeValue(response, 'result', {});
|
|
2387
|
-
const trades = this.
|
|
2311
|
+
const trades = this.safeList(result, 'trades', []);
|
|
2388
2312
|
return this.parseTrades(trades, market, since, limit);
|
|
2389
2313
|
}
|
|
2390
2314
|
async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2432,7 +2356,7 @@ export default class deribit extends Exchange {
|
|
|
2432
2356
|
// }
|
|
2433
2357
|
//
|
|
2434
2358
|
const result = this.safeValue(response, 'result', {});
|
|
2435
|
-
const data = this.
|
|
2359
|
+
const data = this.safeList(result, 'data', []);
|
|
2436
2360
|
return this.parseTransactions(data, currency, since, limit, params);
|
|
2437
2361
|
}
|
|
2438
2362
|
async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2484,7 +2408,7 @@ export default class deribit extends Exchange {
|
|
|
2484
2408
|
// }
|
|
2485
2409
|
//
|
|
2486
2410
|
const result = this.safeValue(response, 'result', {});
|
|
2487
|
-
const data = this.
|
|
2411
|
+
const data = this.safeList(result, 'data', []);
|
|
2488
2412
|
return this.parseTransactions(data, currency, since, limit, params);
|
|
2489
2413
|
}
|
|
2490
2414
|
parseTransactionStatus(status) {
|
|
@@ -2671,7 +2595,7 @@ export default class deribit extends Exchange {
|
|
|
2671
2595
|
// }
|
|
2672
2596
|
// }
|
|
2673
2597
|
//
|
|
2674
|
-
const result = this.
|
|
2598
|
+
const result = this.safeDict(response, 'result');
|
|
2675
2599
|
return this.parsePosition(result);
|
|
2676
2600
|
}
|
|
2677
2601
|
async fetchPositions(symbols = undefined, params = {}) {
|
|
@@ -2744,7 +2668,7 @@ export default class deribit extends Exchange {
|
|
|
2744
2668
|
// ]
|
|
2745
2669
|
// }
|
|
2746
2670
|
//
|
|
2747
|
-
const result = this.
|
|
2671
|
+
const result = this.safeList(response, 'result');
|
|
2748
2672
|
return this.parsePositions(result, symbols);
|
|
2749
2673
|
}
|
|
2750
2674
|
async fetchVolatilityHistory(code, params = {}) {
|
|
@@ -2866,7 +2790,7 @@ export default class deribit extends Exchange {
|
|
|
2866
2790
|
// }
|
|
2867
2791
|
//
|
|
2868
2792
|
const result = this.safeValue(response, 'result', {});
|
|
2869
|
-
const transfers = this.
|
|
2793
|
+
const transfers = this.safeList(result, 'data', []);
|
|
2870
2794
|
return this.parseTransfers(transfers, currency, since, limit, params);
|
|
2871
2795
|
}
|
|
2872
2796
|
async transfer(code, amount, fromAccount, toAccount, params = {}) {
|
|
@@ -2920,7 +2844,7 @@ export default class deribit extends Exchange {
|
|
|
2920
2844
|
// }
|
|
2921
2845
|
// }
|
|
2922
2846
|
//
|
|
2923
|
-
const result = this.
|
|
2847
|
+
const result = this.safeDict(response, 'result', {});
|
|
2924
2848
|
return this.parseTransfer(result, currency);
|
|
2925
2849
|
}
|
|
2926
2850
|
parseTransfer(transfer, currency = undefined) {
|
|
@@ -3053,7 +2977,7 @@ export default class deribit extends Exchange {
|
|
|
3053
2977
|
// "testnet": true
|
|
3054
2978
|
// }
|
|
3055
2979
|
//
|
|
3056
|
-
const data = this.
|
|
2980
|
+
const data = this.safeList(response, 'result', []);
|
|
3057
2981
|
return this.parseDepositWithdrawFees(data, codes, 'currency');
|
|
3058
2982
|
}
|
|
3059
2983
|
async fetchFundingRate(symbol, params = {}) {
|
|
@@ -3319,7 +3243,7 @@ export default class deribit extends Exchange {
|
|
|
3319
3243
|
// }
|
|
3320
3244
|
//
|
|
3321
3245
|
const result = this.safeValue(response, 'result', {});
|
|
3322
|
-
const settlements = this.
|
|
3246
|
+
const settlements = this.safeList(result, 'settlements', []);
|
|
3323
3247
|
return this.parseLiquidations(settlements, market, since, limit);
|
|
3324
3248
|
}
|
|
3325
3249
|
parseLiquidation(liquidation, market = undefined) {
|
package/js/src/digifinex.js
CHANGED
|
@@ -1451,7 +1451,7 @@ export default class digifinex extends Exchange {
|
|
|
1451
1451
|
// ]
|
|
1452
1452
|
// }
|
|
1453
1453
|
//
|
|
1454
|
-
const data = this.
|
|
1454
|
+
const data = this.safeList(response, 'data', []);
|
|
1455
1455
|
return this.parseTrades(data, market, since, limit);
|
|
1456
1456
|
}
|
|
1457
1457
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -2237,7 +2237,7 @@ export default class digifinex extends Exchange {
|
|
|
2237
2237
|
// ]
|
|
2238
2238
|
// }
|
|
2239
2239
|
//
|
|
2240
|
-
const data = this.
|
|
2240
|
+
const data = this.safeList(response, 'data', []);
|
|
2241
2241
|
return this.parseOrders(data, market, since, limit);
|
|
2242
2242
|
}
|
|
2243
2243
|
async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2345,7 +2345,7 @@ export default class digifinex extends Exchange {
|
|
|
2345
2345
|
// ]
|
|
2346
2346
|
// }
|
|
2347
2347
|
//
|
|
2348
|
-
const data = this.
|
|
2348
|
+
const data = this.safeList(response, 'data', []);
|
|
2349
2349
|
return this.parseOrders(data, market, since, limit);
|
|
2350
2350
|
}
|
|
2351
2351
|
async fetchOrder(id, symbol = undefined, params = {}) {
|
|
@@ -2548,7 +2548,7 @@ export default class digifinex extends Exchange {
|
|
|
2548
2548
|
// }
|
|
2549
2549
|
//
|
|
2550
2550
|
const responseRequest = (marketType === 'swap') ? 'data' : 'list';
|
|
2551
|
-
const data = this.
|
|
2551
|
+
const data = this.safeList(response, responseRequest, []);
|
|
2552
2552
|
return this.parseTrades(data, market, since, limit);
|
|
2553
2553
|
}
|
|
2554
2554
|
parseLedgerEntryType(type) {
|
|
@@ -2797,7 +2797,7 @@ export default class digifinex extends Exchange {
|
|
|
2797
2797
|
// ]
|
|
2798
2798
|
// }
|
|
2799
2799
|
//
|
|
2800
|
-
const data = this.
|
|
2800
|
+
const data = this.safeList(response, 'data', []);
|
|
2801
2801
|
return this.parseTransactions(data, currency, since, limit, { 'type': type });
|
|
2802
2802
|
}
|
|
2803
2803
|
async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -3760,7 +3760,7 @@ export default class digifinex extends Exchange {
|
|
|
3760
3760
|
// ]
|
|
3761
3761
|
// }
|
|
3762
3762
|
//
|
|
3763
|
-
const transfers = this.
|
|
3763
|
+
const transfers = this.safeList(response, 'data', []);
|
|
3764
3764
|
return this.parseTransfers(transfers, currency, since, limit);
|
|
3765
3765
|
}
|
|
3766
3766
|
async fetchLeverageTiers(symbols = undefined, params = {}) {
|
|
@@ -4013,7 +4013,7 @@ export default class digifinex extends Exchange {
|
|
|
4013
4013
|
// "code": 200,
|
|
4014
4014
|
// }
|
|
4015
4015
|
//
|
|
4016
|
-
const data = this.
|
|
4016
|
+
const data = this.safeList(response, 'data');
|
|
4017
4017
|
return this.parseDepositWithdrawFees(data, codes);
|
|
4018
4018
|
}
|
|
4019
4019
|
parseDepositWithdrawFees(response, codes = undefined, currencyIdKey = undefined) {
|
|
@@ -4210,7 +4210,7 @@ export default class digifinex extends Exchange {
|
|
|
4210
4210
|
// ]
|
|
4211
4211
|
// }
|
|
4212
4212
|
//
|
|
4213
|
-
const data = this.
|
|
4213
|
+
const data = this.safeList(response, 'data', []);
|
|
4214
4214
|
return this.parseIncomes(data, market, since, limit);
|
|
4215
4215
|
}
|
|
4216
4216
|
parseIncome(income, market = undefined) {
|
package/js/src/exmo.js
CHANGED
|
@@ -900,7 +900,7 @@ export default class exmo extends Exchange {
|
|
|
900
900
|
// ]
|
|
901
901
|
// }
|
|
902
902
|
//
|
|
903
|
-
const candles = this.
|
|
903
|
+
const candles = this.safeList(response, 'candles', []);
|
|
904
904
|
return this.parseOHLCVs(candles, market, timeframe, since, limit);
|
|
905
905
|
}
|
|
906
906
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -1027,7 +1027,7 @@ export default class exmo extends Exchange {
|
|
|
1027
1027
|
request['limit'] = limit;
|
|
1028
1028
|
}
|
|
1029
1029
|
const response = await this.publicGetOrderBook(this.extend(request, params));
|
|
1030
|
-
const result = this.
|
|
1030
|
+
const result = this.safeDict(response, market['id']);
|
|
1031
1031
|
return this.parseOrderBook(result, market['symbol'], undefined, 'bid', 'ask');
|
|
1032
1032
|
}
|
|
1033
1033
|
async fetchOrderBooks(symbols = undefined, limit = undefined, params = {}) {
|
|
@@ -1295,7 +1295,7 @@ export default class exmo extends Exchange {
|
|
|
1295
1295
|
// ]
|
|
1296
1296
|
// }
|
|
1297
1297
|
//
|
|
1298
|
-
const data = this.
|
|
1298
|
+
const data = this.safeList(response, market['id'], []);
|
|
1299
1299
|
return this.parseTrades(data, market, since, limit);
|
|
1300
1300
|
}
|
|
1301
1301
|
async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1686,7 +1686,7 @@ export default class exmo extends Exchange {
|
|
|
1686
1686
|
// }
|
|
1687
1687
|
//
|
|
1688
1688
|
}
|
|
1689
|
-
const trades = this.
|
|
1689
|
+
const trades = this.safeList(response, 'trades');
|
|
1690
1690
|
return this.parseTrades(trades, market, since, limit);
|
|
1691
1691
|
}
|
|
1692
1692
|
async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2428,7 +2428,7 @@ export default class exmo extends Exchange {
|
|
|
2428
2428
|
// "count": 23
|
|
2429
2429
|
// }
|
|
2430
2430
|
//
|
|
2431
|
-
const items = this.
|
|
2431
|
+
const items = this.safeList(response, 'items', []);
|
|
2432
2432
|
return this.parseTransactions(items, currency, since, limit);
|
|
2433
2433
|
}
|
|
2434
2434
|
async fetchWithdrawal(id, code = undefined, params = {}) {
|
|
@@ -2480,7 +2480,7 @@ export default class exmo extends Exchange {
|
|
|
2480
2480
|
// }
|
|
2481
2481
|
//
|
|
2482
2482
|
const items = this.safeValue(response, 'items', []);
|
|
2483
|
-
const first = this.
|
|
2483
|
+
const first = this.safeDict(items, 0, {});
|
|
2484
2484
|
return this.parseTransaction(first, currency);
|
|
2485
2485
|
}
|
|
2486
2486
|
async fetchDeposit(id = undefined, code = undefined, params = {}) {
|
|
@@ -2532,7 +2532,7 @@ export default class exmo extends Exchange {
|
|
|
2532
2532
|
// }
|
|
2533
2533
|
//
|
|
2534
2534
|
const items = this.safeValue(response, 'items', []);
|
|
2535
|
-
const first = this.
|
|
2535
|
+
const first = this.safeDict(items, 0, {});
|
|
2536
2536
|
return this.parseTransaction(first, currency);
|
|
2537
2537
|
}
|
|
2538
2538
|
async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2586,7 +2586,7 @@ export default class exmo extends Exchange {
|
|
|
2586
2586
|
// "count": 23
|
|
2587
2587
|
// }
|
|
2588
2588
|
//
|
|
2589
|
-
const items = this.
|
|
2589
|
+
const items = this.safeList(response, 'items', []);
|
|
2590
2590
|
return this.parseTransactions(items, currency, since, limit);
|
|
2591
2591
|
}
|
|
2592
2592
|
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
package/js/src/gate.d.ts
CHANGED
|
@@ -7,7 +7,6 @@ import type { Int, OrderSide, OrderType, OHLCV, Trade, FundingRateHistory, OpenI
|
|
|
7
7
|
export default class gate extends Exchange {
|
|
8
8
|
describe(): any;
|
|
9
9
|
setSandboxMode(enable: boolean): void;
|
|
10
|
-
convertExpireDate(date: any): string;
|
|
11
10
|
createExpiredOptionMarket(symbol: string): MarketInterface;
|
|
12
11
|
safeMarket(marketId?: Str, market?: Market, delimiter?: Str, marketType?: Str): MarketInterface;
|
|
13
12
|
fetchMarkets(params?: {}): Promise<Market[]>;
|
package/js/src/gate.js
CHANGED
|
@@ -873,14 +873,6 @@ export default class gate extends Exchange {
|
|
|
873
873
|
super.setSandboxMode(enable);
|
|
874
874
|
this.options['sandboxMode'] = enable;
|
|
875
875
|
}
|
|
876
|
-
convertExpireDate(date) {
|
|
877
|
-
// parse YYMMDD to timestamp
|
|
878
|
-
const year = date.slice(0, 2);
|
|
879
|
-
const month = date.slice(2, 4);
|
|
880
|
-
const day = date.slice(4, 6);
|
|
881
|
-
const reconstructedDate = '20' + year + '-' + month + '-' + day + 'T00:00:00Z';
|
|
882
|
-
return reconstructedDate;
|
|
883
|
-
}
|
|
884
876
|
createExpiredOptionMarket(symbol) {
|
|
885
877
|
// support expired option contracts
|
|
886
878
|
const quote = 'USDT';
|
package/js/src/hitbtc.js
CHANGED
|
@@ -1453,15 +1453,16 @@ export default class hitbtc extends Exchange {
|
|
|
1453
1453
|
// ],
|
|
1454
1454
|
// "fee": "1.22" // only for WITHDRAW
|
|
1455
1455
|
// }
|
|
1456
|
-
// }
|
|
1457
|
-
//
|
|
1456
|
+
// },
|
|
1457
|
+
// "operation_id": "084cfcd5-06b9-4826-882e-fdb75ec3625d", // only for WITHDRAW
|
|
1458
|
+
// "commit_risk": {}
|
|
1458
1459
|
// withdraw
|
|
1459
1460
|
//
|
|
1460
1461
|
// {
|
|
1461
1462
|
// "id":"084cfcd5-06b9-4826-882e-fdb75ec3625d"
|
|
1462
1463
|
// }
|
|
1463
1464
|
//
|
|
1464
|
-
const id = this.
|
|
1465
|
+
const id = this.safeString2(transaction, 'operation_id', 'id');
|
|
1465
1466
|
const timestamp = this.parse8601(this.safeString(transaction, 'created_at'));
|
|
1466
1467
|
const updated = this.parse8601(this.safeString(transaction, 'updated_at'));
|
|
1467
1468
|
const type = this.parseTransactionType(this.safeString(transaction, 'type'));
|
|
@@ -1934,7 +1935,7 @@ export default class hitbtc extends Exchange {
|
|
|
1934
1935
|
// }
|
|
1935
1936
|
// ]
|
|
1936
1937
|
//
|
|
1937
|
-
const order = this.
|
|
1938
|
+
const order = this.safeDict(response, 0);
|
|
1938
1939
|
return this.parseOrder(order, market);
|
|
1939
1940
|
}
|
|
1940
1941
|
async fetchOrderTrades(id, symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
package/js/src/hollaex.js
CHANGED
|
@@ -635,7 +635,7 @@ export default class hollaex extends Exchange {
|
|
|
635
635
|
// ]
|
|
636
636
|
// }
|
|
637
637
|
//
|
|
638
|
-
const trades = this.
|
|
638
|
+
const trades = this.safeList(response, market['id'], []);
|
|
639
639
|
return this.parseTrades(trades, market, since, limit);
|
|
640
640
|
}
|
|
641
641
|
parseTrade(trade, market = undefined) {
|
|
@@ -1058,7 +1058,7 @@ export default class hollaex extends Exchange {
|
|
|
1058
1058
|
// ]
|
|
1059
1059
|
// }
|
|
1060
1060
|
//
|
|
1061
|
-
const data = this.
|
|
1061
|
+
const data = this.safeList(response, 'data', []);
|
|
1062
1062
|
return this.parseOrders(data, market, since, limit);
|
|
1063
1063
|
}
|
|
1064
1064
|
parseOrderStatus(status) {
|
|
@@ -1322,7 +1322,7 @@ export default class hollaex extends Exchange {
|
|
|
1322
1322
|
// ]
|
|
1323
1323
|
// }
|
|
1324
1324
|
//
|
|
1325
|
-
const data = this.
|
|
1325
|
+
const data = this.safeList(response, 'data', []);
|
|
1326
1326
|
return this.parseTrades(data, market, since, limit);
|
|
1327
1327
|
}
|
|
1328
1328
|
parseDepositAddress(depositAddress, currency = undefined) {
|
|
@@ -1475,7 +1475,7 @@ export default class hollaex extends Exchange {
|
|
|
1475
1475
|
// ]
|
|
1476
1476
|
// }
|
|
1477
1477
|
//
|
|
1478
|
-
const data = this.
|
|
1478
|
+
const data = this.safeList(response, 'data', []);
|
|
1479
1479
|
return this.parseTransactions(data, currency, since, limit);
|
|
1480
1480
|
}
|
|
1481
1481
|
async fetchWithdrawal(id, code = undefined, params = {}) {
|
|
@@ -1523,7 +1523,7 @@ export default class hollaex extends Exchange {
|
|
|
1523
1523
|
// }
|
|
1524
1524
|
//
|
|
1525
1525
|
const data = this.safeValue(response, 'data', []);
|
|
1526
|
-
const transaction = this.
|
|
1526
|
+
const transaction = this.safeDict(data, 0, {});
|
|
1527
1527
|
return this.parseTransaction(transaction, currency);
|
|
1528
1528
|
}
|
|
1529
1529
|
async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1583,7 +1583,7 @@ export default class hollaex extends Exchange {
|
|
|
1583
1583
|
// ]
|
|
1584
1584
|
// }
|
|
1585
1585
|
//
|
|
1586
|
-
const data = this.
|
|
1586
|
+
const data = this.safeList(response, 'data', []);
|
|
1587
1587
|
return this.parseTransactions(data, currency, since, limit);
|
|
1588
1588
|
}
|
|
1589
1589
|
parseTransaction(transaction, currency = undefined) {
|
|
@@ -1844,7 +1844,7 @@ export default class hollaex extends Exchange {
|
|
|
1844
1844
|
// "network":"https://api.hollaex.network"
|
|
1845
1845
|
// }
|
|
1846
1846
|
//
|
|
1847
|
-
const coins = this.
|
|
1847
|
+
const coins = this.safeList(response, 'coins');
|
|
1848
1848
|
return this.parseDepositWithdrawFees(coins, codes, 'symbol');
|
|
1849
1849
|
}
|
|
1850
1850
|
normalizeNumberIfNeeded(number) {
|
package/js/src/htx.js
CHANGED
|
@@ -2202,7 +2202,7 @@ export default class htx extends Exchange {
|
|
|
2202
2202
|
// "ts":1639547261293
|
|
2203
2203
|
// }
|
|
2204
2204
|
//
|
|
2205
|
-
//
|
|
2205
|
+
// linear swap, linear future, inverse swap, inverse future
|
|
2206
2206
|
//
|
|
2207
2207
|
// {
|
|
2208
2208
|
// "status":"ok",
|
|
@@ -2219,37 +2219,15 @@ export default class htx extends Exchange {
|
|
|
2219
2219
|
// "high":"0.10725",
|
|
2220
2220
|
// "amount":"2340267.415144052378486261756692535687481566",
|
|
2221
2221
|
// "count":882,
|
|
2222
|
-
// "vol":"24706"
|
|
2222
|
+
// "vol":"24706",
|
|
2223
|
+
// "trade_turnover":"840726.5048", // only in linear futures
|
|
2224
|
+
// "business_type":"futures", // only in linear futures
|
|
2225
|
+
// "contract_code":"BTC-USDT-CW", // only in linear futures, instead of 'symbol'
|
|
2223
2226
|
// }
|
|
2224
2227
|
// ],
|
|
2225
2228
|
// "ts":1637504679376
|
|
2226
2229
|
// }
|
|
2227
2230
|
//
|
|
2228
|
-
// linear futures
|
|
2229
|
-
//
|
|
2230
|
-
// {
|
|
2231
|
-
// "status":"ok",
|
|
2232
|
-
// "ticks":[
|
|
2233
|
-
// {
|
|
2234
|
-
// "id":1640745627,
|
|
2235
|
-
// "ts":1640745627957,
|
|
2236
|
-
// "ask":[48079.1,20],
|
|
2237
|
-
// "bid":[47713.8,125],
|
|
2238
|
-
// "business_type":"futures",
|
|
2239
|
-
// "contract_code":"BTC-USDT-CW",
|
|
2240
|
-
// "open":"49011.8",
|
|
2241
|
-
// "close":"47934",
|
|
2242
|
-
// "low":"47292.3",
|
|
2243
|
-
// "high":"49011.8",
|
|
2244
|
-
// "amount":"17.398",
|
|
2245
|
-
// "count":1515,
|
|
2246
|
-
// "vol":"17398",
|
|
2247
|
-
// "trade_turnover":"840726.5048"
|
|
2248
|
-
// }
|
|
2249
|
-
// ],
|
|
2250
|
-
// "ts":1640745627988
|
|
2251
|
-
// }
|
|
2252
|
-
//
|
|
2253
2231
|
const tickers = this.safeValue2(response, 'data', 'ticks', []);
|
|
2254
2232
|
const timestamp = this.safeInteger(response, 'ts');
|
|
2255
2233
|
const result = {};
|
|
@@ -2389,7 +2367,7 @@ export default class htx extends Exchange {
|
|
|
2389
2367
|
throw new NotSupported(this.id + ' fetchLastPrices() does not support ' + type + ' markets yet');
|
|
2390
2368
|
}
|
|
2391
2369
|
const tick = this.safeValue(response, 'tick', {});
|
|
2392
|
-
const data = this.
|
|
2370
|
+
const data = this.safeList(tick, 'data', []);
|
|
2393
2371
|
return this.parseLastPrices(data, symbols);
|
|
2394
2372
|
}
|
|
2395
2373
|
parseLastPrice(entry, market = undefined) {
|
|
@@ -3982,7 +3960,7 @@ export default class htx extends Exchange {
|
|
|
3982
3960
|
// ]
|
|
3983
3961
|
// }
|
|
3984
3962
|
//
|
|
3985
|
-
const data = this.
|
|
3963
|
+
const data = this.safeList(response, 'data', []);
|
|
3986
3964
|
return this.parseOrders(data, market, since, limit);
|
|
3987
3965
|
}
|
|
3988
3966
|
async fetchSpotOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -7379,7 +7357,7 @@ export default class htx extends Exchange {
|
|
|
7379
7357
|
request['symbol'] = market['id'];
|
|
7380
7358
|
response = await this.contractPrivatePostApiV3ContractFinancialRecordExact(this.extend(request, query));
|
|
7381
7359
|
}
|
|
7382
|
-
const data = this.
|
|
7360
|
+
const data = this.safeList(response, 'data', []);
|
|
7383
7361
|
return this.parseIncomes(data, market, since, limit);
|
|
7384
7362
|
}
|
|
7385
7363
|
async setLeverage(leverage, symbol = undefined, params = {}) {
|
|
@@ -8163,7 +8141,7 @@ export default class htx extends Exchange {
|
|
|
8163
8141
|
// ]
|
|
8164
8142
|
// }
|
|
8165
8143
|
//
|
|
8166
|
-
const data = this.
|
|
8144
|
+
const data = this.safeList(response, 'data');
|
|
8167
8145
|
return this.parseLeverageTiers(data, symbols, 'contract_code');
|
|
8168
8146
|
}
|
|
8169
8147
|
async fetchMarketLeverageTiers(symbol, params = {}) {
|
|
@@ -8367,7 +8345,7 @@ export default class htx extends Exchange {
|
|
|
8367
8345
|
// }
|
|
8368
8346
|
//
|
|
8369
8347
|
const data = this.safeValue(response, 'data');
|
|
8370
|
-
const tick = this.
|
|
8348
|
+
const tick = this.safeList(data, 'tick');
|
|
8371
8349
|
return this.parseOpenInterests(tick, market, since, limit);
|
|
8372
8350
|
}
|
|
8373
8351
|
async fetchOpenInterest(symbol, params = {}) {
|
|
@@ -8875,7 +8853,7 @@ export default class htx extends Exchange {
|
|
|
8875
8853
|
// ]
|
|
8876
8854
|
// }
|
|
8877
8855
|
//
|
|
8878
|
-
const data = this.
|
|
8856
|
+
const data = this.safeList(response, 'data');
|
|
8879
8857
|
return this.parseDepositWithdrawFees(data, codes, 'currency');
|
|
8880
8858
|
}
|
|
8881
8859
|
parseDepositWithdrawFee(fee, currency = undefined) {
|
|
@@ -9103,7 +9081,7 @@ export default class htx extends Exchange {
|
|
|
9103
9081
|
// "ts": 1604312615051
|
|
9104
9082
|
// }
|
|
9105
9083
|
//
|
|
9106
|
-
const data = this.
|
|
9084
|
+
const data = this.safeList(response, 'data', []);
|
|
9107
9085
|
return this.parseLiquidations(data, market, since, limit);
|
|
9108
9086
|
}
|
|
9109
9087
|
parseLiquidation(liquidation, market = undefined) {
|
package/js/src/huobijp.js
CHANGED
|
@@ -970,7 +970,7 @@ export default class huobijp extends Exchange {
|
|
|
970
970
|
// ]
|
|
971
971
|
// }
|
|
972
972
|
//
|
|
973
|
-
const data = this.
|
|
973
|
+
const data = this.safeList(response, 'data', []);
|
|
974
974
|
return this.parseOHLCVs(data, market, timeframe, since, limit);
|
|
975
975
|
}
|
|
976
976
|
async fetchAccounts(params = {}) {
|
|
@@ -1169,7 +1169,7 @@ export default class huobijp extends Exchange {
|
|
|
1169
1169
|
'id': id,
|
|
1170
1170
|
};
|
|
1171
1171
|
const response = await this.privateGetOrderOrdersId(this.extend(request, params));
|
|
1172
|
-
const order = this.
|
|
1172
|
+
const order = this.safeDict(response, 'data');
|
|
1173
1173
|
return this.parseOrder(order);
|
|
1174
1174
|
}
|
|
1175
1175
|
async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1267,7 +1267,7 @@ export default class huobijp extends Exchange {
|
|
|
1267
1267
|
// ]
|
|
1268
1268
|
// }
|
|
1269
1269
|
//
|
|
1270
|
-
const data = this.
|
|
1270
|
+
const data = this.safeList(response, 'data', []);
|
|
1271
1271
|
return this.parseOrders(data, market, since, limit);
|
|
1272
1272
|
}
|
|
1273
1273
|
parseOrderStatus(status) {
|
package/js/src/idex.js
CHANGED
|
@@ -361,7 +361,7 @@ export default class idex extends Exchange {
|
|
|
361
361
|
// }
|
|
362
362
|
// ]
|
|
363
363
|
const response = await this.publicGetTickers(this.extend(request, params));
|
|
364
|
-
const ticker = this.
|
|
364
|
+
const ticker = this.safeDict(response, 0);
|
|
365
365
|
return this.parseTicker(ticker, market);
|
|
366
366
|
}
|
|
367
367
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
@@ -1491,7 +1491,7 @@ export default class idex extends Exchange {
|
|
|
1491
1491
|
};
|
|
1492
1492
|
// [ { orderId: "688336f0-ec50-11ea-9842-b332f8a34d0e" } ]
|
|
1493
1493
|
const response = await this.privateDeleteOrders(this.extend(request, params));
|
|
1494
|
-
const canceledOrder = this.
|
|
1494
|
+
const canceledOrder = this.safeDict(response, 0);
|
|
1495
1495
|
return this.parseOrder(canceledOrder, market);
|
|
1496
1496
|
}
|
|
1497
1497
|
handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
|
|
@@ -508,7 +508,7 @@ export default class independentreserve extends Exchange {
|
|
|
508
508
|
request['pageIndex'] = 1;
|
|
509
509
|
request['pageSize'] = limit;
|
|
510
510
|
const response = await this.privatePostGetOpenOrders(this.extend(request, params));
|
|
511
|
-
const data = this.
|
|
511
|
+
const data = this.safeList(response, 'Data', []);
|
|
512
512
|
return this.parseOrders(data, market, since, limit);
|
|
513
513
|
}
|
|
514
514
|
async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -536,7 +536,7 @@ export default class independentreserve extends Exchange {
|
|
|
536
536
|
request['pageIndex'] = 1;
|
|
537
537
|
request['pageSize'] = limit;
|
|
538
538
|
const response = await this.privatePostGetClosedOrders(this.extend(request, params));
|
|
539
|
-
const data = this.
|
|
539
|
+
const data = this.safeList(response, 'Data', []);
|
|
540
540
|
return this.parseOrders(data, market, since, limit);
|
|
541
541
|
}
|
|
542
542
|
async fetchMyTrades(symbol = undefined, since = undefined, limit = 50, params = {}) {
|