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/dist/cjs/src/htx.js
CHANGED
|
@@ -2199,7 +2199,7 @@ class htx extends htx$1 {
|
|
|
2199
2199
|
// "ts":1639547261293
|
|
2200
2200
|
// }
|
|
2201
2201
|
//
|
|
2202
|
-
//
|
|
2202
|
+
// linear swap, linear future, inverse swap, inverse future
|
|
2203
2203
|
//
|
|
2204
2204
|
// {
|
|
2205
2205
|
// "status":"ok",
|
|
@@ -2216,37 +2216,15 @@ class htx extends htx$1 {
|
|
|
2216
2216
|
// "high":"0.10725",
|
|
2217
2217
|
// "amount":"2340267.415144052378486261756692535687481566",
|
|
2218
2218
|
// "count":882,
|
|
2219
|
-
// "vol":"24706"
|
|
2219
|
+
// "vol":"24706",
|
|
2220
|
+
// "trade_turnover":"840726.5048", // only in linear futures
|
|
2221
|
+
// "business_type":"futures", // only in linear futures
|
|
2222
|
+
// "contract_code":"BTC-USDT-CW", // only in linear futures, instead of 'symbol'
|
|
2220
2223
|
// }
|
|
2221
2224
|
// ],
|
|
2222
2225
|
// "ts":1637504679376
|
|
2223
2226
|
// }
|
|
2224
2227
|
//
|
|
2225
|
-
// linear futures
|
|
2226
|
-
//
|
|
2227
|
-
// {
|
|
2228
|
-
// "status":"ok",
|
|
2229
|
-
// "ticks":[
|
|
2230
|
-
// {
|
|
2231
|
-
// "id":1640745627,
|
|
2232
|
-
// "ts":1640745627957,
|
|
2233
|
-
// "ask":[48079.1,20],
|
|
2234
|
-
// "bid":[47713.8,125],
|
|
2235
|
-
// "business_type":"futures",
|
|
2236
|
-
// "contract_code":"BTC-USDT-CW",
|
|
2237
|
-
// "open":"49011.8",
|
|
2238
|
-
// "close":"47934",
|
|
2239
|
-
// "low":"47292.3",
|
|
2240
|
-
// "high":"49011.8",
|
|
2241
|
-
// "amount":"17.398",
|
|
2242
|
-
// "count":1515,
|
|
2243
|
-
// "vol":"17398",
|
|
2244
|
-
// "trade_turnover":"840726.5048"
|
|
2245
|
-
// }
|
|
2246
|
-
// ],
|
|
2247
|
-
// "ts":1640745627988
|
|
2248
|
-
// }
|
|
2249
|
-
//
|
|
2250
2228
|
const tickers = this.safeValue2(response, 'data', 'ticks', []);
|
|
2251
2229
|
const timestamp = this.safeInteger(response, 'ts');
|
|
2252
2230
|
const result = {};
|
|
@@ -2386,7 +2364,7 @@ class htx extends htx$1 {
|
|
|
2386
2364
|
throw new errors.NotSupported(this.id + ' fetchLastPrices() does not support ' + type + ' markets yet');
|
|
2387
2365
|
}
|
|
2388
2366
|
const tick = this.safeValue(response, 'tick', {});
|
|
2389
|
-
const data = this.
|
|
2367
|
+
const data = this.safeList(tick, 'data', []);
|
|
2390
2368
|
return this.parseLastPrices(data, symbols);
|
|
2391
2369
|
}
|
|
2392
2370
|
parseLastPrice(entry, market = undefined) {
|
|
@@ -3979,7 +3957,7 @@ class htx extends htx$1 {
|
|
|
3979
3957
|
// ]
|
|
3980
3958
|
// }
|
|
3981
3959
|
//
|
|
3982
|
-
const data = this.
|
|
3960
|
+
const data = this.safeList(response, 'data', []);
|
|
3983
3961
|
return this.parseOrders(data, market, since, limit);
|
|
3984
3962
|
}
|
|
3985
3963
|
async fetchSpotOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -7376,7 +7354,7 @@ class htx extends htx$1 {
|
|
|
7376
7354
|
request['symbol'] = market['id'];
|
|
7377
7355
|
response = await this.contractPrivatePostApiV3ContractFinancialRecordExact(this.extend(request, query));
|
|
7378
7356
|
}
|
|
7379
|
-
const data = this.
|
|
7357
|
+
const data = this.safeList(response, 'data', []);
|
|
7380
7358
|
return this.parseIncomes(data, market, since, limit);
|
|
7381
7359
|
}
|
|
7382
7360
|
async setLeverage(leverage, symbol = undefined, params = {}) {
|
|
@@ -8160,7 +8138,7 @@ class htx extends htx$1 {
|
|
|
8160
8138
|
// ]
|
|
8161
8139
|
// }
|
|
8162
8140
|
//
|
|
8163
|
-
const data = this.
|
|
8141
|
+
const data = this.safeList(response, 'data');
|
|
8164
8142
|
return this.parseLeverageTiers(data, symbols, 'contract_code');
|
|
8165
8143
|
}
|
|
8166
8144
|
async fetchMarketLeverageTiers(symbol, params = {}) {
|
|
@@ -8364,7 +8342,7 @@ class htx extends htx$1 {
|
|
|
8364
8342
|
// }
|
|
8365
8343
|
//
|
|
8366
8344
|
const data = this.safeValue(response, 'data');
|
|
8367
|
-
const tick = this.
|
|
8345
|
+
const tick = this.safeList(data, 'tick');
|
|
8368
8346
|
return this.parseOpenInterests(tick, market, since, limit);
|
|
8369
8347
|
}
|
|
8370
8348
|
async fetchOpenInterest(symbol, params = {}) {
|
|
@@ -8872,7 +8850,7 @@ class htx extends htx$1 {
|
|
|
8872
8850
|
// ]
|
|
8873
8851
|
// }
|
|
8874
8852
|
//
|
|
8875
|
-
const data = this.
|
|
8853
|
+
const data = this.safeList(response, 'data');
|
|
8876
8854
|
return this.parseDepositWithdrawFees(data, codes, 'currency');
|
|
8877
8855
|
}
|
|
8878
8856
|
parseDepositWithdrawFee(fee, currency = undefined) {
|
|
@@ -9100,7 +9078,7 @@ class htx extends htx$1 {
|
|
|
9100
9078
|
// "ts": 1604312615051
|
|
9101
9079
|
// }
|
|
9102
9080
|
//
|
|
9103
|
-
const data = this.
|
|
9081
|
+
const data = this.safeList(response, 'data', []);
|
|
9104
9082
|
return this.parseLiquidations(data, market, since, limit);
|
|
9105
9083
|
}
|
|
9106
9084
|
parseLiquidation(liquidation, market = undefined) {
|
package/dist/cjs/src/huobijp.js
CHANGED
|
@@ -967,7 +967,7 @@ class huobijp extends huobijp$1 {
|
|
|
967
967
|
// ]
|
|
968
968
|
// }
|
|
969
969
|
//
|
|
970
|
-
const data = this.
|
|
970
|
+
const data = this.safeList(response, 'data', []);
|
|
971
971
|
return this.parseOHLCVs(data, market, timeframe, since, limit);
|
|
972
972
|
}
|
|
973
973
|
async fetchAccounts(params = {}) {
|
|
@@ -1166,7 +1166,7 @@ class huobijp extends huobijp$1 {
|
|
|
1166
1166
|
'id': id,
|
|
1167
1167
|
};
|
|
1168
1168
|
const response = await this.privateGetOrderOrdersId(this.extend(request, params));
|
|
1169
|
-
const order = this.
|
|
1169
|
+
const order = this.safeDict(response, 'data');
|
|
1170
1170
|
return this.parseOrder(order);
|
|
1171
1171
|
}
|
|
1172
1172
|
async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1264,7 +1264,7 @@ class huobijp extends huobijp$1 {
|
|
|
1264
1264
|
// ]
|
|
1265
1265
|
// }
|
|
1266
1266
|
//
|
|
1267
|
-
const data = this.
|
|
1267
|
+
const data = this.safeList(response, 'data', []);
|
|
1268
1268
|
return this.parseOrders(data, market, since, limit);
|
|
1269
1269
|
}
|
|
1270
1270
|
parseOrderStatus(status) {
|
package/dist/cjs/src/idex.js
CHANGED
|
@@ -358,7 +358,7 @@ class idex extends idex$1 {
|
|
|
358
358
|
// }
|
|
359
359
|
// ]
|
|
360
360
|
const response = await this.publicGetTickers(this.extend(request, params));
|
|
361
|
-
const ticker = this.
|
|
361
|
+
const ticker = this.safeDict(response, 0);
|
|
362
362
|
return this.parseTicker(ticker, market);
|
|
363
363
|
}
|
|
364
364
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
@@ -1488,7 +1488,7 @@ class idex extends idex$1 {
|
|
|
1488
1488
|
};
|
|
1489
1489
|
// [ { orderId: "688336f0-ec50-11ea-9842-b332f8a34d0e" } ]
|
|
1490
1490
|
const response = await this.privateDeleteOrders(this.extend(request, params));
|
|
1491
|
-
const canceledOrder = this.
|
|
1491
|
+
const canceledOrder = this.safeDict(response, 0);
|
|
1492
1492
|
return this.parseOrder(canceledOrder, market);
|
|
1493
1493
|
}
|
|
1494
1494
|
handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
|
|
@@ -505,7 +505,7 @@ class independentreserve extends independentreserve$1 {
|
|
|
505
505
|
request['pageIndex'] = 1;
|
|
506
506
|
request['pageSize'] = limit;
|
|
507
507
|
const response = await this.privatePostGetOpenOrders(this.extend(request, params));
|
|
508
|
-
const data = this.
|
|
508
|
+
const data = this.safeList(response, 'Data', []);
|
|
509
509
|
return this.parseOrders(data, market, since, limit);
|
|
510
510
|
}
|
|
511
511
|
async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -533,7 +533,7 @@ class independentreserve extends independentreserve$1 {
|
|
|
533
533
|
request['pageIndex'] = 1;
|
|
534
534
|
request['pageSize'] = limit;
|
|
535
535
|
const response = await this.privatePostGetClosedOrders(this.extend(request, params));
|
|
536
|
-
const data = this.
|
|
536
|
+
const data = this.safeList(response, 'Data', []);
|
|
537
537
|
return this.parseOrders(data, market, since, limit);
|
|
538
538
|
}
|
|
539
539
|
async fetchMyTrades(symbol = undefined, since = undefined, limit = 50, params = {}) {
|
package/dist/cjs/src/indodax.js
CHANGED
|
@@ -476,7 +476,7 @@ class indodax extends indodax$1 {
|
|
|
476
476
|
// }
|
|
477
477
|
// }
|
|
478
478
|
//
|
|
479
|
-
const ticker = this.
|
|
479
|
+
const ticker = this.safeDict(response, 'ticker', {});
|
|
480
480
|
return this.parseTicker(ticker, market);
|
|
481
481
|
}
|
|
482
482
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
@@ -507,7 +507,7 @@ class indodax extends indodax$1 {
|
|
|
507
507
|
// }
|
|
508
508
|
//
|
|
509
509
|
const response = await this.publicGetApiTickerAll(params);
|
|
510
|
-
const tickers = this.
|
|
510
|
+
const tickers = this.safeList(response, 'tickers');
|
|
511
511
|
return this.parseTickers(tickers, symbols);
|
|
512
512
|
}
|
|
513
513
|
parseTrade(trade, market = undefined) {
|
package/dist/cjs/src/kraken.js
CHANGED
|
@@ -997,7 +997,7 @@ class kraken extends kraken$1 {
|
|
|
997
997
|
// }
|
|
998
998
|
// }
|
|
999
999
|
const result = this.safeValue(response, 'result', {});
|
|
1000
|
-
const ohlcvs = this.
|
|
1000
|
+
const ohlcvs = this.safeList(result, market['id'], []);
|
|
1001
1001
|
return this.parseOHLCVs(ohlcvs, market, timeframe, since, limit);
|
|
1002
1002
|
}
|
|
1003
1003
|
parseLedgerEntryType(type) {
|
|
@@ -1386,7 +1386,7 @@ class kraken extends kraken$1 {
|
|
|
1386
1386
|
// }
|
|
1387
1387
|
// }
|
|
1388
1388
|
//
|
|
1389
|
-
const result = this.
|
|
1389
|
+
const result = this.safeDict(response, 'result');
|
|
1390
1390
|
return this.parseOrder(result);
|
|
1391
1391
|
}
|
|
1392
1392
|
findMarketByAltnameOrId(id) {
|
|
@@ -1818,7 +1818,7 @@ class kraken extends kraken$1 {
|
|
|
1818
1818
|
// }
|
|
1819
1819
|
// }
|
|
1820
1820
|
//
|
|
1821
|
-
const data = this.
|
|
1821
|
+
const data = this.safeDict(response, 'result', {});
|
|
1822
1822
|
return this.parseOrder(data, market);
|
|
1823
1823
|
}
|
|
1824
1824
|
async fetchOrder(id, symbol = undefined, params = {}) {
|
|
@@ -2156,8 +2156,8 @@ class kraken extends kraken$1 {
|
|
|
2156
2156
|
if (symbol !== undefined) {
|
|
2157
2157
|
market = this.market(symbol);
|
|
2158
2158
|
}
|
|
2159
|
-
const result = this.
|
|
2160
|
-
const orders = this.
|
|
2159
|
+
const result = this.safeDict(response, 'result', {});
|
|
2160
|
+
const orders = this.safeDict(result, 'open', {});
|
|
2161
2161
|
return this.parseOrders(orders, market, since, limit);
|
|
2162
2162
|
}
|
|
2163
2163
|
async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2229,8 +2229,8 @@ class kraken extends kraken$1 {
|
|
|
2229
2229
|
if (symbol !== undefined) {
|
|
2230
2230
|
market = this.market(symbol);
|
|
2231
2231
|
}
|
|
2232
|
-
const result = this.
|
|
2233
|
-
const orders = this.
|
|
2232
|
+
const result = this.safeDict(response, 'result', {});
|
|
2233
|
+
const orders = this.safeDict(result, 'closed', {});
|
|
2234
2234
|
return this.parseOrders(orders, market, since, limit);
|
|
2235
2235
|
}
|
|
2236
2236
|
parseTransactionStatus(status) {
|
|
@@ -2690,7 +2690,7 @@ class kraken extends kraken$1 {
|
|
|
2690
2690
|
// }
|
|
2691
2691
|
// }
|
|
2692
2692
|
//
|
|
2693
|
-
const result = this.
|
|
2693
|
+
const result = this.safeDict(response, 'result', {});
|
|
2694
2694
|
return this.parseTransaction(result, currency);
|
|
2695
2695
|
}
|
|
2696
2696
|
throw new errors.ExchangeError(this.id + " withdraw() requires a 'key' parameter (withdrawal key name, as set up on your account)");
|
|
@@ -534,7 +534,7 @@ class krakenfutures extends krakenfutures$1 {
|
|
|
534
534
|
// "serverTime": "2022-02-18T14:16:29.440Z"
|
|
535
535
|
// }
|
|
536
536
|
//
|
|
537
|
-
const tickers = this.
|
|
537
|
+
const tickers = this.safeList(response, 'tickers');
|
|
538
538
|
return this.parseTickers(tickers, symbols);
|
|
539
539
|
}
|
|
540
540
|
parseTicker(ticker, market = undefined) {
|
|
@@ -672,7 +672,7 @@ class krakenfutures extends krakenfutures$1 {
|
|
|
672
672
|
// "more_candles": true
|
|
673
673
|
// }
|
|
674
674
|
//
|
|
675
|
-
const candles = this.
|
|
675
|
+
const candles = this.safeList(response, 'candles');
|
|
676
676
|
return this.parseOHLCVs(candles, market, timeframe, since, limit);
|
|
677
677
|
}
|
|
678
678
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -1135,7 +1135,7 @@ class krakenfutures extends krakenfutures$1 {
|
|
|
1135
1135
|
// ]
|
|
1136
1136
|
// }
|
|
1137
1137
|
//
|
|
1138
|
-
const data = this.
|
|
1138
|
+
const data = this.safeList(response, 'batchStatus', []);
|
|
1139
1139
|
return this.parseOrders(data);
|
|
1140
1140
|
}
|
|
1141
1141
|
async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
|
|
@@ -1252,7 +1252,7 @@ class krakenfutures extends krakenfutures$1 {
|
|
|
1252
1252
|
// }
|
|
1253
1253
|
// ]
|
|
1254
1254
|
// }
|
|
1255
|
-
const batchStatus = this.
|
|
1255
|
+
const batchStatus = this.safeList(response, 'batchStatus', []);
|
|
1256
1256
|
return this.parseOrders(batchStatus);
|
|
1257
1257
|
}
|
|
1258
1258
|
async cancelAllOrders(symbol = undefined, params = {}) {
|
|
@@ -1290,7 +1290,7 @@ class krakenfutures extends krakenfutures$1 {
|
|
|
1290
1290
|
market = this.market(symbol);
|
|
1291
1291
|
}
|
|
1292
1292
|
const response = await this.privateGetOpenorders(params);
|
|
1293
|
-
const orders = this.
|
|
1293
|
+
const orders = this.safeList(response, 'openOrders', []);
|
|
1294
1294
|
return this.parseOrders(orders, market, since, limit);
|
|
1295
1295
|
}
|
|
1296
1296
|
async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2359,7 +2359,7 @@ class krakenfutures extends krakenfutures$1 {
|
|
|
2359
2359
|
// "serverTime": "2018-07-19T11:32:39.433Z"
|
|
2360
2360
|
// }
|
|
2361
2361
|
//
|
|
2362
|
-
const data = this.
|
|
2362
|
+
const data = this.safeList(response, 'instruments');
|
|
2363
2363
|
return this.parseLeverageTiers(data, symbols, 'symbol');
|
|
2364
2364
|
}
|
|
2365
2365
|
parseMarketLeverageTiers(info, market = undefined) {
|
package/dist/cjs/src/kucoin.js
CHANGED
|
@@ -423,6 +423,7 @@ class kucoin extends kucoin$1 {
|
|
|
423
423
|
'Order size below the minimum requirement.': errors.InvalidOrder,
|
|
424
424
|
'The withdrawal amount is below the minimum requirement.': errors.ExchangeError,
|
|
425
425
|
'Unsuccessful! Exceeded the max. funds out-transfer limit': errors.InsufficientFunds,
|
|
426
|
+
'The amount increment is invalid.': errors.BadRequest,
|
|
426
427
|
'400': errors.BadRequest,
|
|
427
428
|
'401': errors.AuthenticationError,
|
|
428
429
|
'403': errors.NotSupported,
|
|
@@ -2160,6 +2161,14 @@ class kucoin extends kucoin$1 {
|
|
|
2160
2161
|
data = this.safeList(data, 'data', []);
|
|
2161
2162
|
return this.parseOrders(data);
|
|
2162
2163
|
}
|
|
2164
|
+
marketOrderAmountToPrecision(symbol, amount) {
|
|
2165
|
+
const market = this.market(symbol);
|
|
2166
|
+
const result = this.decimalToPrecision(amount, number.TRUNCATE, market['info']['quoteIncrement'], this.precisionMode, this.paddingMode);
|
|
2167
|
+
if (result === '0') {
|
|
2168
|
+
throw new errors.InvalidOrder(this.id + ' amount of ' + market['symbol'] + ' must be greater than minimum amount precision of ' + this.numberToString(market['precision']['amount']));
|
|
2169
|
+
}
|
|
2170
|
+
return result;
|
|
2171
|
+
}
|
|
2163
2172
|
createOrderRequest(symbol, type, side, amount, price = undefined, params = {}) {
|
|
2164
2173
|
const market = this.market(symbol);
|
|
2165
2174
|
// required param, cannot be used twice
|
|
@@ -2180,7 +2189,7 @@ class kucoin extends kucoin$1 {
|
|
|
2180
2189
|
if (quoteAmount !== undefined) {
|
|
2181
2190
|
params = this.omit(params, ['cost', 'funds']);
|
|
2182
2191
|
// kucoin uses base precision even for quote values
|
|
2183
|
-
costString = this.
|
|
2192
|
+
costString = this.marketOrderAmountToPrecision(symbol, quoteAmount);
|
|
2184
2193
|
request['funds'] = costString;
|
|
2185
2194
|
}
|
|
2186
2195
|
else {
|
|
@@ -2498,8 +2507,12 @@ class kucoin extends kucoin$1 {
|
|
|
2498
2507
|
// ]
|
|
2499
2508
|
// }
|
|
2500
2509
|
// }
|
|
2510
|
+
const listData = this.safeList(response, 'data');
|
|
2511
|
+
if (listData !== undefined) {
|
|
2512
|
+
return this.parseOrders(listData, market, since, limit);
|
|
2513
|
+
}
|
|
2501
2514
|
const responseData = this.safeDict(response, 'data', {});
|
|
2502
|
-
const orders = this.
|
|
2515
|
+
const orders = this.safeList(responseData, 'items', []);
|
|
2503
2516
|
return this.parseOrders(orders, market, since, limit);
|
|
2504
2517
|
}
|
|
2505
2518
|
async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -597,7 +597,7 @@ class kucoinfutures extends kucoinfutures$1 {
|
|
|
597
597
|
// ]
|
|
598
598
|
// }
|
|
599
599
|
//
|
|
600
|
-
const data = this.
|
|
600
|
+
const data = this.safeList(response, 'data', []);
|
|
601
601
|
return this.parseOHLCVs(data, market, timeframe, since, limit);
|
|
602
602
|
}
|
|
603
603
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -1070,7 +1070,7 @@ class kucoinfutures extends kucoinfutures$1 {
|
|
|
1070
1070
|
// }
|
|
1071
1071
|
// }
|
|
1072
1072
|
//
|
|
1073
|
-
const data = this.
|
|
1073
|
+
const data = this.safeDict(response, 'data', {});
|
|
1074
1074
|
return this.parsePosition(data, market);
|
|
1075
1075
|
}
|
|
1076
1076
|
async fetchPositions(symbols = undefined, params = {}) {
|
|
@@ -1131,7 +1131,7 @@ class kucoinfutures extends kucoinfutures$1 {
|
|
|
1131
1131
|
// ]
|
|
1132
1132
|
// }
|
|
1133
1133
|
//
|
|
1134
|
-
const data = this.
|
|
1134
|
+
const data = this.safeList(response, 'data');
|
|
1135
1135
|
return this.parsePositions(data, symbols);
|
|
1136
1136
|
}
|
|
1137
1137
|
parsePosition(position, market = undefined) {
|
|
@@ -1279,7 +1279,7 @@ class kucoinfutures extends kucoinfutures$1 {
|
|
|
1279
1279
|
// },
|
|
1280
1280
|
// }
|
|
1281
1281
|
//
|
|
1282
|
-
const data = this.
|
|
1282
|
+
const data = this.safeDict(response, 'data', {});
|
|
1283
1283
|
return this.parseOrder(data, market);
|
|
1284
1284
|
}
|
|
1285
1285
|
async createOrders(orders, params = {}) {
|
|
@@ -1328,7 +1328,7 @@ class kucoinfutures extends kucoinfutures$1 {
|
|
|
1328
1328
|
// ]
|
|
1329
1329
|
// }
|
|
1330
1330
|
//
|
|
1331
|
-
const data = this.
|
|
1331
|
+
const data = this.safeList(response, 'data', []);
|
|
1332
1332
|
return this.parseOrders(data);
|
|
1333
1333
|
}
|
|
1334
1334
|
createContractOrderRequest(symbol, type, side, amount, price = undefined, params = {}) {
|
|
@@ -1734,7 +1734,7 @@ class kucoinfutures extends kucoinfutures$1 {
|
|
|
1734
1734
|
// }
|
|
1735
1735
|
//
|
|
1736
1736
|
const responseData = this.safeValue(response, 'data', {});
|
|
1737
|
-
const orders = this.
|
|
1737
|
+
const orders = this.safeList(responseData, 'items', []);
|
|
1738
1738
|
return this.parseOrders(orders, market, since, limit);
|
|
1739
1739
|
}
|
|
1740
1740
|
async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1831,7 +1831,7 @@ class kucoinfutures extends kucoinfutures$1 {
|
|
|
1831
1831
|
// }
|
|
1832
1832
|
//
|
|
1833
1833
|
const market = (symbol !== undefined) ? this.market(symbol) : undefined;
|
|
1834
|
-
const responseData = this.
|
|
1834
|
+
const responseData = this.safeDict(response, 'data');
|
|
1835
1835
|
return this.parseOrder(responseData, market);
|
|
1836
1836
|
}
|
|
1837
1837
|
parseOrder(order, market = undefined) {
|
|
@@ -2249,7 +2249,7 @@ class kucoinfutures extends kucoinfutures$1 {
|
|
|
2249
2249
|
// ]
|
|
2250
2250
|
// }
|
|
2251
2251
|
//
|
|
2252
|
-
const trades = this.
|
|
2252
|
+
const trades = this.safeList(response, 'data', []);
|
|
2253
2253
|
return this.parseTrades(trades, market, since, limit);
|
|
2254
2254
|
}
|
|
2255
2255
|
parseTrade(trade, market = undefined) {
|
package/dist/cjs/src/kuna.js
CHANGED
|
@@ -654,7 +654,7 @@ class kuna extends kuna$1 {
|
|
|
654
654
|
// }
|
|
655
655
|
// }
|
|
656
656
|
//
|
|
657
|
-
const data = this.
|
|
657
|
+
const data = this.safeDict(response, 'data', {});
|
|
658
658
|
return this.parseOrderBook(data, market['symbol'], undefined, 'bids', 'asks', 0, 1);
|
|
659
659
|
}
|
|
660
660
|
parseTicker(ticker, market = undefined) {
|
|
@@ -735,7 +735,7 @@ class kuna extends kuna$1 {
|
|
|
735
735
|
// ]
|
|
736
736
|
// }
|
|
737
737
|
//
|
|
738
|
-
const data = this.
|
|
738
|
+
const data = this.safeList(response, 'data', []);
|
|
739
739
|
return this.parseTickers(data, symbols, params);
|
|
740
740
|
}
|
|
741
741
|
async fetchTicker(symbol, params = {}) {
|
|
@@ -775,7 +775,7 @@ class kuna extends kuna$1 {
|
|
|
775
775
|
// }
|
|
776
776
|
//
|
|
777
777
|
const data = this.safeValue(response, 'data', []);
|
|
778
|
-
const ticker = this.
|
|
778
|
+
const ticker = this.safeDict(data, 0);
|
|
779
779
|
return this.parseTicker(ticker, market);
|
|
780
780
|
}
|
|
781
781
|
async fetchL3OrderBook(symbol, limit = undefined, params = {}) {
|
|
@@ -992,7 +992,7 @@ class kuna extends kuna$1 {
|
|
|
992
992
|
// }
|
|
993
993
|
// }
|
|
994
994
|
//
|
|
995
|
-
const data = this.
|
|
995
|
+
const data = this.safeDict(response, 'data', {});
|
|
996
996
|
return this.parseOrder(data, market);
|
|
997
997
|
}
|
|
998
998
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
|
@@ -1052,7 +1052,7 @@ class kuna extends kuna$1 {
|
|
|
1052
1052
|
// ]
|
|
1053
1053
|
// }
|
|
1054
1054
|
//
|
|
1055
|
-
const data = this.
|
|
1055
|
+
const data = this.safeList(response, 'data', []);
|
|
1056
1056
|
return this.parseOrders(data);
|
|
1057
1057
|
}
|
|
1058
1058
|
parseOrderStatus(status) {
|
|
@@ -1198,7 +1198,7 @@ class kuna extends kuna$1 {
|
|
|
1198
1198
|
// }
|
|
1199
1199
|
// }
|
|
1200
1200
|
//
|
|
1201
|
-
const data = this.
|
|
1201
|
+
const data = this.safeDict(response, 'data', {});
|
|
1202
1202
|
return this.parseOrder(data);
|
|
1203
1203
|
}
|
|
1204
1204
|
async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1257,7 +1257,7 @@ class kuna extends kuna$1 {
|
|
|
1257
1257
|
// ]
|
|
1258
1258
|
// }
|
|
1259
1259
|
//
|
|
1260
|
-
const data = this.
|
|
1260
|
+
const data = this.safeList(response, 'data', []);
|
|
1261
1261
|
return this.parseOrders(data, market, since, limit);
|
|
1262
1262
|
}
|
|
1263
1263
|
async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1341,7 +1341,7 @@ class kuna extends kuna$1 {
|
|
|
1341
1341
|
// ]
|
|
1342
1342
|
// }
|
|
1343
1343
|
//
|
|
1344
|
-
const data = this.
|
|
1344
|
+
const data = this.safeList(response, 'data', []);
|
|
1345
1345
|
return this.parseOrders(data, market, since, limit);
|
|
1346
1346
|
}
|
|
1347
1347
|
async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1387,7 +1387,7 @@ class kuna extends kuna$1 {
|
|
|
1387
1387
|
// ]
|
|
1388
1388
|
// }
|
|
1389
1389
|
//
|
|
1390
|
-
const data = this.
|
|
1390
|
+
const data = this.safeList(response, 'data');
|
|
1391
1391
|
return this.parseTrades(data, market, since, limit);
|
|
1392
1392
|
}
|
|
1393
1393
|
async withdraw(code, amount, address, tag = undefined, params = {}) {
|
|
@@ -1440,7 +1440,7 @@ class kuna extends kuna$1 {
|
|
|
1440
1440
|
// }
|
|
1441
1441
|
// }
|
|
1442
1442
|
//
|
|
1443
|
-
const data = this.
|
|
1443
|
+
const data = this.safeDict(response, 'data', {});
|
|
1444
1444
|
return this.parseTransaction(data, currency);
|
|
1445
1445
|
}
|
|
1446
1446
|
async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1508,7 +1508,7 @@ class kuna extends kuna$1 {
|
|
|
1508
1508
|
// ]
|
|
1509
1509
|
// }
|
|
1510
1510
|
//
|
|
1511
|
-
const data = this.
|
|
1511
|
+
const data = this.safeList(response, 'data', []);
|
|
1512
1512
|
return this.parseTransactions(data, currency);
|
|
1513
1513
|
}
|
|
1514
1514
|
async fetchWithdrawal(id, code = undefined, params = {}) {
|
|
@@ -1548,7 +1548,7 @@ class kuna extends kuna$1 {
|
|
|
1548
1548
|
// }
|
|
1549
1549
|
// }
|
|
1550
1550
|
//
|
|
1551
|
-
const data = this.
|
|
1551
|
+
const data = this.safeDict(response, 'data', {});
|
|
1552
1552
|
return this.parseTransaction(data);
|
|
1553
1553
|
}
|
|
1554
1554
|
async createDepositAddress(code, params = {}) {
|
|
@@ -1576,7 +1576,7 @@ class kuna extends kuna$1 {
|
|
|
1576
1576
|
// }
|
|
1577
1577
|
// }
|
|
1578
1578
|
//
|
|
1579
|
-
const data = this.
|
|
1579
|
+
const data = this.safeDict(response, 'data', {});
|
|
1580
1580
|
return this.parseDepositAddress(data, currency);
|
|
1581
1581
|
}
|
|
1582
1582
|
async fetchDepositAddress(code, params = {}) {
|
|
@@ -1604,7 +1604,7 @@ class kuna extends kuna$1 {
|
|
|
1604
1604
|
// }
|
|
1605
1605
|
// }
|
|
1606
1606
|
//
|
|
1607
|
-
const data = this.
|
|
1607
|
+
const data = this.safeDict(response, 'data', {});
|
|
1608
1608
|
return this.parseDepositAddress(data, currency);
|
|
1609
1609
|
}
|
|
1610
1610
|
parseDepositAddress(depositAddress, currency = undefined) {
|
|
@@ -1702,7 +1702,7 @@ class kuna extends kuna$1 {
|
|
|
1702
1702
|
// ]
|
|
1703
1703
|
// }
|
|
1704
1704
|
//
|
|
1705
|
-
const data = this.
|
|
1705
|
+
const data = this.safeList(response, 'data', []);
|
|
1706
1706
|
return this.parseTransactions(data, currency);
|
|
1707
1707
|
}
|
|
1708
1708
|
async fetchDeposit(id, code = undefined, params = {}) {
|
|
@@ -1746,7 +1746,7 @@ class kuna extends kuna$1 {
|
|
|
1746
1746
|
// }
|
|
1747
1747
|
// }
|
|
1748
1748
|
//
|
|
1749
|
-
const data = this.
|
|
1749
|
+
const data = this.safeDict(response, 'data', {});
|
|
1750
1750
|
return this.parseTransaction(data, currency);
|
|
1751
1751
|
}
|
|
1752
1752
|
parseTransaction(transaction, currency = undefined) {
|
package/dist/cjs/src/latoken.js
CHANGED
|
@@ -1457,7 +1457,7 @@ class latoken extends latoken$1 {
|
|
|
1457
1457
|
if (code !== undefined) {
|
|
1458
1458
|
currency = this.currency(code);
|
|
1459
1459
|
}
|
|
1460
|
-
const content = this.
|
|
1460
|
+
const content = this.safeList(response, 'content', []);
|
|
1461
1461
|
return this.parseTransactions(content, currency, since, limit);
|
|
1462
1462
|
}
|
|
1463
1463
|
parseTransaction(transaction, currency = undefined) {
|
|
@@ -1584,7 +1584,7 @@ class latoken extends latoken$1 {
|
|
|
1584
1584
|
// "hasContent": true
|
|
1585
1585
|
// }
|
|
1586
1586
|
//
|
|
1587
|
-
const transfers = this.
|
|
1587
|
+
const transfers = this.safeList(response, 'content', []);
|
|
1588
1588
|
return this.parseTransfers(transfers, currency, since, limit);
|
|
1589
1589
|
}
|
|
1590
1590
|
async transfer(code, amount, fromAccount, toAccount, params = {}) {
|