ccxt 4.2.84 → 4.2.86
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 +5 -5
- package/dist/ccxt.browser.js +1226 -1104
- 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 +47 -28
- package/dist/cjs/src/bit2c.js +1 -1
- package/dist/cjs/src/bitbank.js +27 -31
- 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 +30 -24
- 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 +31 -95
- package/dist/cjs/src/coincheck.js +4 -4
- package/dist/cjs/src/coinex.js +408 -262
- 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 +7 -7
- package/dist/cjs/src/huobijp.js +3 -3
- package/dist/cjs/src/idex.js +12 -13
- 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 +5 -1
- 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 +16 -14
- 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/bitget.js +1 -0
- 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/abstract/coinex.d.ts +232 -123
- package/js/src/ace.js +5 -5
- package/js/src/ascendex.js +8 -8
- package/js/src/base/Exchange.d.ts +13 -12
- 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 +47 -28
- package/js/src/bit2c.js +1 -1
- package/js/src/bitbank.js +27 -31
- 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 +30 -24
- 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 +31 -95
- package/js/src/coincheck.js +4 -4
- package/js/src/coinex.d.ts +1 -1
- package/js/src/coinex.js +408 -262
- 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 +7 -7
- package/js/src/huobijp.js +3 -3
- package/js/src/idex.js +12 -13
- 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.js +5 -1
- 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 +16 -14
- 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/bitget.js +1 -0
- 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/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/skip-tests.json +4 -0
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
|
@@ -2367,7 +2367,7 @@ export default class htx extends Exchange {
|
|
|
2367
2367
|
throw new NotSupported(this.id + ' fetchLastPrices() does not support ' + type + ' markets yet');
|
|
2368
2368
|
}
|
|
2369
2369
|
const tick = this.safeValue(response, 'tick', {});
|
|
2370
|
-
const data = this.
|
|
2370
|
+
const data = this.safeList(tick, 'data', []);
|
|
2371
2371
|
return this.parseLastPrices(data, symbols);
|
|
2372
2372
|
}
|
|
2373
2373
|
parseLastPrice(entry, market = undefined) {
|
|
@@ -3960,7 +3960,7 @@ export default class htx extends Exchange {
|
|
|
3960
3960
|
// ]
|
|
3961
3961
|
// }
|
|
3962
3962
|
//
|
|
3963
|
-
const data = this.
|
|
3963
|
+
const data = this.safeList(response, 'data', []);
|
|
3964
3964
|
return this.parseOrders(data, market, since, limit);
|
|
3965
3965
|
}
|
|
3966
3966
|
async fetchSpotOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -7357,7 +7357,7 @@ export default class htx extends Exchange {
|
|
|
7357
7357
|
request['symbol'] = market['id'];
|
|
7358
7358
|
response = await this.contractPrivatePostApiV3ContractFinancialRecordExact(this.extend(request, query));
|
|
7359
7359
|
}
|
|
7360
|
-
const data = this.
|
|
7360
|
+
const data = this.safeList(response, 'data', []);
|
|
7361
7361
|
return this.parseIncomes(data, market, since, limit);
|
|
7362
7362
|
}
|
|
7363
7363
|
async setLeverage(leverage, symbol = undefined, params = {}) {
|
|
@@ -8141,7 +8141,7 @@ export default class htx extends Exchange {
|
|
|
8141
8141
|
// ]
|
|
8142
8142
|
// }
|
|
8143
8143
|
//
|
|
8144
|
-
const data = this.
|
|
8144
|
+
const data = this.safeList(response, 'data');
|
|
8145
8145
|
return this.parseLeverageTiers(data, symbols, 'contract_code');
|
|
8146
8146
|
}
|
|
8147
8147
|
async fetchMarketLeverageTiers(symbol, params = {}) {
|
|
@@ -8345,7 +8345,7 @@ export default class htx extends Exchange {
|
|
|
8345
8345
|
// }
|
|
8346
8346
|
//
|
|
8347
8347
|
const data = this.safeValue(response, 'data');
|
|
8348
|
-
const tick = this.
|
|
8348
|
+
const tick = this.safeList(data, 'tick');
|
|
8349
8349
|
return this.parseOpenInterests(tick, market, since, limit);
|
|
8350
8350
|
}
|
|
8351
8351
|
async fetchOpenInterest(symbol, params = {}) {
|
|
@@ -8853,7 +8853,7 @@ export default class htx extends Exchange {
|
|
|
8853
8853
|
// ]
|
|
8854
8854
|
// }
|
|
8855
8855
|
//
|
|
8856
|
-
const data = this.
|
|
8856
|
+
const data = this.safeList(response, 'data');
|
|
8857
8857
|
return this.parseDepositWithdrawFees(data, codes, 'currency');
|
|
8858
8858
|
}
|
|
8859
8859
|
parseDepositWithdrawFee(fee, currency = undefined) {
|
|
@@ -9081,7 +9081,7 @@ export default class htx extends Exchange {
|
|
|
9081
9081
|
// "ts": 1604312615051
|
|
9082
9082
|
// }
|
|
9083
9083
|
//
|
|
9084
|
-
const data = this.
|
|
9084
|
+
const data = this.safeList(response, 'data', []);
|
|
9085
9085
|
return this.parseLiquidations(data, market, since, limit);
|
|
9086
9086
|
}
|
|
9087
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
|
@@ -165,13 +165,15 @@ export default class idex extends Exchange {
|
|
|
165
165
|
'network': 'MATIC',
|
|
166
166
|
},
|
|
167
167
|
'exceptions': {
|
|
168
|
-
'
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
168
|
+
'exact': {
|
|
169
|
+
'INVALID_ORDER_QUANTITY': InvalidOrder,
|
|
170
|
+
'INSUFFICIENT_FUNDS': InsufficientFunds,
|
|
171
|
+
'SERVICE_UNAVAILABLE': ExchangeNotAvailable,
|
|
172
|
+
'EXCEEDED_RATE_LIMIT': DDoSProtection,
|
|
173
|
+
'INVALID_PARAMETER': BadRequest,
|
|
174
|
+
'WALLET_NOT_ASSOCIATED': InvalidAddress,
|
|
175
|
+
'INVALID_WALLET_SIGNATURE': AuthenticationError,
|
|
176
|
+
},
|
|
175
177
|
},
|
|
176
178
|
'requiredCredentials': {
|
|
177
179
|
'walletAddress': true,
|
|
@@ -361,7 +363,7 @@ export default class idex extends Exchange {
|
|
|
361
363
|
// }
|
|
362
364
|
// ]
|
|
363
365
|
const response = await this.publicGetTickers(this.extend(request, params));
|
|
364
|
-
const ticker = this.
|
|
366
|
+
const ticker = this.safeDict(response, 0);
|
|
365
367
|
return this.parseTicker(ticker, market);
|
|
366
368
|
}
|
|
367
369
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
@@ -1491,17 +1493,14 @@ export default class idex extends Exchange {
|
|
|
1491
1493
|
};
|
|
1492
1494
|
// [ { orderId: "688336f0-ec50-11ea-9842-b332f8a34d0e" } ]
|
|
1493
1495
|
const response = await this.privateDeleteOrders(this.extend(request, params));
|
|
1494
|
-
const canceledOrder = this.
|
|
1496
|
+
const canceledOrder = this.safeDict(response, 0);
|
|
1495
1497
|
return this.parseOrder(canceledOrder, market);
|
|
1496
1498
|
}
|
|
1497
1499
|
handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
|
|
1498
1500
|
const errorCode = this.safeString(response, 'code');
|
|
1499
1501
|
const message = this.safeString(response, 'message');
|
|
1500
|
-
if (errorCode in this.exceptions) {
|
|
1501
|
-
const Exception = this.exceptions[errorCode];
|
|
1502
|
-
throw new Exception(this.id + ' ' + message);
|
|
1503
|
-
}
|
|
1504
1502
|
if (errorCode !== undefined) {
|
|
1503
|
+
this.throwExactlyMatchedException(this.exceptions['exact'], errorCode, message);
|
|
1505
1504
|
throw new ExchangeError(this.id + ' ' + message);
|
|
1506
1505
|
}
|
|
1507
1506
|
return undefined;
|
|
@@ -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 = {}) {
|
package/js/src/indodax.js
CHANGED
|
@@ -479,7 +479,7 @@ export default class indodax extends Exchange {
|
|
|
479
479
|
// }
|
|
480
480
|
// }
|
|
481
481
|
//
|
|
482
|
-
const ticker = this.
|
|
482
|
+
const ticker = this.safeDict(response, 'ticker', {});
|
|
483
483
|
return this.parseTicker(ticker, market);
|
|
484
484
|
}
|
|
485
485
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
@@ -510,7 +510,7 @@ export default class indodax extends Exchange {
|
|
|
510
510
|
// }
|
|
511
511
|
//
|
|
512
512
|
const response = await this.publicGetApiTickerAll(params);
|
|
513
|
-
const tickers = this.
|
|
513
|
+
const tickers = this.safeList(response, 'tickers');
|
|
514
514
|
return this.parseTickers(tickers, symbols);
|
|
515
515
|
}
|
|
516
516
|
parseTrade(trade, market = undefined) {
|
package/js/src/kraken.js
CHANGED
|
@@ -1000,7 +1000,7 @@ export default class kraken extends Exchange {
|
|
|
1000
1000
|
// }
|
|
1001
1001
|
// }
|
|
1002
1002
|
const result = this.safeValue(response, 'result', {});
|
|
1003
|
-
const ohlcvs = this.
|
|
1003
|
+
const ohlcvs = this.safeList(result, market['id'], []);
|
|
1004
1004
|
return this.parseOHLCVs(ohlcvs, market, timeframe, since, limit);
|
|
1005
1005
|
}
|
|
1006
1006
|
parseLedgerEntryType(type) {
|
|
@@ -1389,7 +1389,7 @@ export default class kraken extends Exchange {
|
|
|
1389
1389
|
// }
|
|
1390
1390
|
// }
|
|
1391
1391
|
//
|
|
1392
|
-
const result = this.
|
|
1392
|
+
const result = this.safeDict(response, 'result');
|
|
1393
1393
|
return this.parseOrder(result);
|
|
1394
1394
|
}
|
|
1395
1395
|
findMarketByAltnameOrId(id) {
|
|
@@ -1821,7 +1821,7 @@ export default class kraken extends Exchange {
|
|
|
1821
1821
|
// }
|
|
1822
1822
|
// }
|
|
1823
1823
|
//
|
|
1824
|
-
const data = this.
|
|
1824
|
+
const data = this.safeDict(response, 'result', {});
|
|
1825
1825
|
return this.parseOrder(data, market);
|
|
1826
1826
|
}
|
|
1827
1827
|
async fetchOrder(id, symbol = undefined, params = {}) {
|
|
@@ -2159,8 +2159,8 @@ export default class kraken extends Exchange {
|
|
|
2159
2159
|
if (symbol !== undefined) {
|
|
2160
2160
|
market = this.market(symbol);
|
|
2161
2161
|
}
|
|
2162
|
-
const result = this.
|
|
2163
|
-
const orders = this.
|
|
2162
|
+
const result = this.safeDict(response, 'result', {});
|
|
2163
|
+
const orders = this.safeDict(result, 'open', {});
|
|
2164
2164
|
return this.parseOrders(orders, market, since, limit);
|
|
2165
2165
|
}
|
|
2166
2166
|
async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2232,8 +2232,8 @@ export default class kraken extends Exchange {
|
|
|
2232
2232
|
if (symbol !== undefined) {
|
|
2233
2233
|
market = this.market(symbol);
|
|
2234
2234
|
}
|
|
2235
|
-
const result = this.
|
|
2236
|
-
const orders = this.
|
|
2235
|
+
const result = this.safeDict(response, 'result', {});
|
|
2236
|
+
const orders = this.safeDict(result, 'closed', {});
|
|
2237
2237
|
return this.parseOrders(orders, market, since, limit);
|
|
2238
2238
|
}
|
|
2239
2239
|
parseTransactionStatus(status) {
|
|
@@ -2693,7 +2693,7 @@ export default class kraken extends Exchange {
|
|
|
2693
2693
|
// }
|
|
2694
2694
|
// }
|
|
2695
2695
|
//
|
|
2696
|
-
const result = this.
|
|
2696
|
+
const result = this.safeDict(response, 'result', {});
|
|
2697
2697
|
return this.parseTransaction(result, currency);
|
|
2698
2698
|
}
|
|
2699
2699
|
throw new ExchangeError(this.id + " withdraw() requires a 'key' parameter (withdrawal key name, as set up on your account)");
|
package/js/src/krakenfutures.js
CHANGED
|
@@ -537,7 +537,7 @@ export default class krakenfutures extends Exchange {
|
|
|
537
537
|
// "serverTime": "2022-02-18T14:16:29.440Z"
|
|
538
538
|
// }
|
|
539
539
|
//
|
|
540
|
-
const tickers = this.
|
|
540
|
+
const tickers = this.safeList(response, 'tickers');
|
|
541
541
|
return this.parseTickers(tickers, symbols);
|
|
542
542
|
}
|
|
543
543
|
parseTicker(ticker, market = undefined) {
|
|
@@ -675,7 +675,7 @@ export default class krakenfutures extends Exchange {
|
|
|
675
675
|
// "more_candles": true
|
|
676
676
|
// }
|
|
677
677
|
//
|
|
678
|
-
const candles = this.
|
|
678
|
+
const candles = this.safeList(response, 'candles');
|
|
679
679
|
return this.parseOHLCVs(candles, market, timeframe, since, limit);
|
|
680
680
|
}
|
|
681
681
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -1138,7 +1138,7 @@ export default class krakenfutures extends Exchange {
|
|
|
1138
1138
|
// ]
|
|
1139
1139
|
// }
|
|
1140
1140
|
//
|
|
1141
|
-
const data = this.
|
|
1141
|
+
const data = this.safeList(response, 'batchStatus', []);
|
|
1142
1142
|
return this.parseOrders(data);
|
|
1143
1143
|
}
|
|
1144
1144
|
async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
|
|
@@ -1255,7 +1255,7 @@ export default class krakenfutures extends Exchange {
|
|
|
1255
1255
|
// }
|
|
1256
1256
|
// ]
|
|
1257
1257
|
// }
|
|
1258
|
-
const batchStatus = this.
|
|
1258
|
+
const batchStatus = this.safeList(response, 'batchStatus', []);
|
|
1259
1259
|
return this.parseOrders(batchStatus);
|
|
1260
1260
|
}
|
|
1261
1261
|
async cancelAllOrders(symbol = undefined, params = {}) {
|
|
@@ -1293,7 +1293,7 @@ export default class krakenfutures extends Exchange {
|
|
|
1293
1293
|
market = this.market(symbol);
|
|
1294
1294
|
}
|
|
1295
1295
|
const response = await this.privateGetOpenorders(params);
|
|
1296
|
-
const orders = this.
|
|
1296
|
+
const orders = this.safeList(response, 'openOrders', []);
|
|
1297
1297
|
return this.parseOrders(orders, market, since, limit);
|
|
1298
1298
|
}
|
|
1299
1299
|
async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2362,7 +2362,7 @@ export default class krakenfutures extends Exchange {
|
|
|
2362
2362
|
// "serverTime": "2018-07-19T11:32:39.433Z"
|
|
2363
2363
|
// }
|
|
2364
2364
|
//
|
|
2365
|
-
const data = this.
|
|
2365
|
+
const data = this.safeList(response, 'instruments');
|
|
2366
2366
|
return this.parseLeverageTiers(data, symbols, 'symbol');
|
|
2367
2367
|
}
|
|
2368
2368
|
parseMarketLeverageTiers(info, market = undefined) {
|
package/js/src/kucoin.js
CHANGED
|
@@ -2510,8 +2510,12 @@ export default class kucoin extends Exchange {
|
|
|
2510
2510
|
// ]
|
|
2511
2511
|
// }
|
|
2512
2512
|
// }
|
|
2513
|
+
const listData = this.safeList(response, 'data');
|
|
2514
|
+
if (listData !== undefined) {
|
|
2515
|
+
return this.parseOrders(listData, market, since, limit);
|
|
2516
|
+
}
|
|
2513
2517
|
const responseData = this.safeDict(response, 'data', {});
|
|
2514
|
-
const orders = this.
|
|
2518
|
+
const orders = this.safeList(responseData, 'items', []);
|
|
2515
2519
|
return this.parseOrders(orders, market, since, limit);
|
|
2516
2520
|
}
|
|
2517
2521
|
async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
package/js/src/kucoinfutures.js
CHANGED
|
@@ -600,7 +600,7 @@ export default class kucoinfutures extends kucoin {
|
|
|
600
600
|
// ]
|
|
601
601
|
// }
|
|
602
602
|
//
|
|
603
|
-
const data = this.
|
|
603
|
+
const data = this.safeList(response, 'data', []);
|
|
604
604
|
return this.parseOHLCVs(data, market, timeframe, since, limit);
|
|
605
605
|
}
|
|
606
606
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -1073,7 +1073,7 @@ export default class kucoinfutures extends kucoin {
|
|
|
1073
1073
|
// }
|
|
1074
1074
|
// }
|
|
1075
1075
|
//
|
|
1076
|
-
const data = this.
|
|
1076
|
+
const data = this.safeDict(response, 'data', {});
|
|
1077
1077
|
return this.parsePosition(data, market);
|
|
1078
1078
|
}
|
|
1079
1079
|
async fetchPositions(symbols = undefined, params = {}) {
|
|
@@ -1134,7 +1134,7 @@ export default class kucoinfutures extends kucoin {
|
|
|
1134
1134
|
// ]
|
|
1135
1135
|
// }
|
|
1136
1136
|
//
|
|
1137
|
-
const data = this.
|
|
1137
|
+
const data = this.safeList(response, 'data');
|
|
1138
1138
|
return this.parsePositions(data, symbols);
|
|
1139
1139
|
}
|
|
1140
1140
|
parsePosition(position, market = undefined) {
|
|
@@ -1282,7 +1282,7 @@ export default class kucoinfutures extends kucoin {
|
|
|
1282
1282
|
// },
|
|
1283
1283
|
// }
|
|
1284
1284
|
//
|
|
1285
|
-
const data = this.
|
|
1285
|
+
const data = this.safeDict(response, 'data', {});
|
|
1286
1286
|
return this.parseOrder(data, market);
|
|
1287
1287
|
}
|
|
1288
1288
|
async createOrders(orders, params = {}) {
|
|
@@ -1331,7 +1331,7 @@ export default class kucoinfutures extends kucoin {
|
|
|
1331
1331
|
// ]
|
|
1332
1332
|
// }
|
|
1333
1333
|
//
|
|
1334
|
-
const data = this.
|
|
1334
|
+
const data = this.safeList(response, 'data', []);
|
|
1335
1335
|
return this.parseOrders(data);
|
|
1336
1336
|
}
|
|
1337
1337
|
createContractOrderRequest(symbol, type, side, amount, price = undefined, params = {}) {
|
|
@@ -1737,7 +1737,7 @@ export default class kucoinfutures extends kucoin {
|
|
|
1737
1737
|
// }
|
|
1738
1738
|
//
|
|
1739
1739
|
const responseData = this.safeValue(response, 'data', {});
|
|
1740
|
-
const orders = this.
|
|
1740
|
+
const orders = this.safeList(responseData, 'items', []);
|
|
1741
1741
|
return this.parseOrders(orders, market, since, limit);
|
|
1742
1742
|
}
|
|
1743
1743
|
async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1834,7 +1834,7 @@ export default class kucoinfutures extends kucoin {
|
|
|
1834
1834
|
// }
|
|
1835
1835
|
//
|
|
1836
1836
|
const market = (symbol !== undefined) ? this.market(symbol) : undefined;
|
|
1837
|
-
const responseData = this.
|
|
1837
|
+
const responseData = this.safeDict(response, 'data');
|
|
1838
1838
|
return this.parseOrder(responseData, market);
|
|
1839
1839
|
}
|
|
1840
1840
|
parseOrder(order, market = undefined) {
|
|
@@ -2252,7 +2252,7 @@ export default class kucoinfutures extends kucoin {
|
|
|
2252
2252
|
// ]
|
|
2253
2253
|
// }
|
|
2254
2254
|
//
|
|
2255
|
-
const trades = this.
|
|
2255
|
+
const trades = this.safeList(response, 'data', []);
|
|
2256
2256
|
return this.parseTrades(trades, market, since, limit);
|
|
2257
2257
|
}
|
|
2258
2258
|
parseTrade(trade, market = undefined) {
|