ccxt 4.3.4 → 4.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/base/Exchange.js +299 -6
- package/dist/cjs/src/binance.js +24 -17
- package/dist/cjs/src/bingx.js +45 -0
- package/dist/cjs/src/bitmex.js +24 -0
- package/dist/cjs/src/bybit.js +86 -0
- package/dist/cjs/src/coinbase.js +5 -4
- package/dist/cjs/src/coinex.js +30 -32
- package/dist/cjs/src/cryptocom.js +32 -0
- package/dist/cjs/src/htx.js +28 -0
- package/dist/cjs/src/hyperliquid.js +40 -0
- package/dist/cjs/src/kraken.js +30 -0
- package/dist/cjs/src/krakenfutures.js +28 -0
- package/dist/cjs/src/kucoin.js +53 -3
- package/dist/cjs/src/kucoinfutures.js +2 -2
- package/dist/cjs/src/okx.js +113 -0
- package/dist/cjs/src/pro/binance.js +439 -75
- package/dist/cjs/src/pro/bitget.js +1 -1
- package/dist/cjs/src/pro/woo.js +0 -1
- package/dist/cjs/src/whitebit.js +174 -2
- package/dist/cjs/src/woo.js +29 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/binance.d.ts +1 -0
- package/js/src/abstract/binancecoinm.d.ts +1 -0
- package/js/src/abstract/binanceus.d.ts +1 -0
- package/js/src/abstract/binanceusdm.d.ts +1 -0
- package/js/src/abstract/bingx.d.ts +1 -0
- package/js/src/abstract/whitebit.d.ts +21 -0
- package/js/src/abstract/woo.d.ts +1 -0
- package/js/src/base/Exchange.d.ts +52 -3
- package/js/src/base/Exchange.js +299 -6
- package/js/src/binance.d.ts +4 -0
- package/js/src/binance.js +24 -17
- package/js/src/bingx.d.ts +1 -0
- package/js/src/bingx.js +45 -0
- package/js/src/bitmex.d.ts +1 -0
- package/js/src/bitmex.js +24 -0
- package/js/src/bybit.d.ts +2 -1
- package/js/src/bybit.js +86 -0
- package/js/src/coinbase.js +5 -4
- package/js/src/coinex.js +30 -32
- package/js/src/cryptocom.d.ts +2 -1
- package/js/src/cryptocom.js +32 -0
- package/js/src/htx.d.ts +1 -0
- package/js/src/htx.js +28 -0
- package/js/src/hyperliquid.d.ts +1 -0
- package/js/src/hyperliquid.js +40 -0
- package/js/src/kraken.d.ts +1 -0
- package/js/src/kraken.js +30 -0
- package/js/src/krakenfutures.d.ts +1 -0
- package/js/src/krakenfutures.js +28 -0
- package/js/src/kucoin.d.ts +1 -0
- package/js/src/kucoin.js +53 -3
- package/js/src/kucoinfutures.js +2 -2
- package/js/src/okx.d.ts +3 -1
- package/js/src/okx.js +113 -0
- package/js/src/pro/binance.d.ts +9 -1
- package/js/src/pro/binance.js +439 -75
- package/js/src/pro/bitget.d.ts +1 -1
- package/js/src/pro/bitget.js +1 -1
- package/js/src/pro/cex.d.ts +1 -1
- package/js/src/pro/lbank.d.ts +1 -1
- package/js/src/pro/woo.js +0 -1
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
- package/js/src/whitebit.d.ts +3 -0
- package/js/src/whitebit.js +174 -2
- package/js/src/woo.d.ts +2 -1
- package/js/src/woo.js +29 -0
- package/package.json +1 -1
|
@@ -2195,8 +2195,8 @@ class kucoinfutures extends kucoinfutures$1 {
|
|
|
2195
2195
|
// symbol (String) [optional] Symbol of the contract
|
|
2196
2196
|
// side (String) [optional] buy or sell
|
|
2197
2197
|
// type (String) [optional] limit, market, limit_stop or market_stop
|
|
2198
|
-
// startAt (long) [optional] Start time (
|
|
2199
|
-
// endAt (long) [optional] End time (
|
|
2198
|
+
// startAt (long) [optional] Start time (millisecond)
|
|
2199
|
+
// endAt (long) [optional] End time (millisecond)
|
|
2200
2200
|
};
|
|
2201
2201
|
let market = undefined;
|
|
2202
2202
|
if (symbol !== undefined) {
|
package/dist/cjs/src/okx.js
CHANGED
|
@@ -31,8 +31,10 @@ class okx extends okx$1 {
|
|
|
31
31
|
'option': true,
|
|
32
32
|
'addMargin': true,
|
|
33
33
|
'cancelAllOrders': false,
|
|
34
|
+
'cancelAllOrdersAfter': true,
|
|
34
35
|
'cancelOrder': true,
|
|
35
36
|
'cancelOrders': true,
|
|
37
|
+
'cancelOrdersForSymbols': true,
|
|
36
38
|
'closeAllPositions': false,
|
|
37
39
|
'closePosition': true,
|
|
38
40
|
'createConvertTrade': true,
|
|
@@ -3282,6 +3284,117 @@ class okx extends okx$1 {
|
|
|
3282
3284
|
const ordersData = this.safeList(response, 'data', []);
|
|
3283
3285
|
return this.parseOrders(ordersData, market, undefined, undefined, params);
|
|
3284
3286
|
}
|
|
3287
|
+
async cancelOrdersForSymbols(orders, params = {}) {
|
|
3288
|
+
/**
|
|
3289
|
+
* @method
|
|
3290
|
+
* @name okx#cancelOrdersForSymbols
|
|
3291
|
+
* @description cancel multiple orders for multiple symbols
|
|
3292
|
+
* @see https://www.okx.com/docs-v5/en/#order-book-trading-trade-post-cancel-multiple-orders
|
|
3293
|
+
* @see https://www.okx.com/docs-v5/en/#order-book-trading-algo-trading-post-cancel-algo-order
|
|
3294
|
+
* @param {CancellationRequest[]} orders each order should contain the parameters required by cancelOrder namely id and symbol
|
|
3295
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
3296
|
+
* @param {boolean} [params.trigger] whether the order is a stop/trigger order
|
|
3297
|
+
* @param {boolean} [params.trailing] set to true if you want to cancel trailing orders
|
|
3298
|
+
* @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
3299
|
+
*/
|
|
3300
|
+
await this.loadMarkets();
|
|
3301
|
+
const request = [];
|
|
3302
|
+
const options = this.safeDict(this.options, 'cancelOrders', {});
|
|
3303
|
+
const defaultMethod = this.safeString(options, 'method', 'privatePostTradeCancelBatchOrders');
|
|
3304
|
+
let method = this.safeString(params, 'method', defaultMethod);
|
|
3305
|
+
const stop = this.safeBool2(params, 'stop', 'trigger');
|
|
3306
|
+
const trailing = this.safeBool(params, 'trailing', false);
|
|
3307
|
+
const isStopOrTrailing = stop || trailing;
|
|
3308
|
+
if (isStopOrTrailing) {
|
|
3309
|
+
method = 'privatePostTradeCancelAlgos';
|
|
3310
|
+
}
|
|
3311
|
+
for (let i = 0; i < orders.length; i++) {
|
|
3312
|
+
const order = orders[i];
|
|
3313
|
+
const id = this.safeString(order, 'id');
|
|
3314
|
+
const clientOrderId = this.safeString2(order, 'clOrdId', 'clientOrderId');
|
|
3315
|
+
const symbol = this.safeString(order, 'symbol');
|
|
3316
|
+
const market = this.market(symbol);
|
|
3317
|
+
let idKey = 'ordId';
|
|
3318
|
+
if (isStopOrTrailing) {
|
|
3319
|
+
idKey = 'algoId';
|
|
3320
|
+
}
|
|
3321
|
+
else if (clientOrderId !== undefined) {
|
|
3322
|
+
idKey = 'clOrdId';
|
|
3323
|
+
}
|
|
3324
|
+
const requestItem = {
|
|
3325
|
+
'instId': market['id'],
|
|
3326
|
+
};
|
|
3327
|
+
requestItem[idKey] = (clientOrderId !== undefined) ? clientOrderId : id;
|
|
3328
|
+
request.push(requestItem);
|
|
3329
|
+
}
|
|
3330
|
+
let response = undefined;
|
|
3331
|
+
if (method === 'privatePostTradeCancelAlgos') {
|
|
3332
|
+
response = await this.privatePostTradeCancelAlgos(request); // * dont extend with params, otherwise ARRAY will be turned into OBJECT
|
|
3333
|
+
}
|
|
3334
|
+
else {
|
|
3335
|
+
response = await this.privatePostTradeCancelBatchOrders(request); // * dont extend with params, otherwise ARRAY will be turned into OBJECT
|
|
3336
|
+
}
|
|
3337
|
+
//
|
|
3338
|
+
// {
|
|
3339
|
+
// "code": "0",
|
|
3340
|
+
// "data": [
|
|
3341
|
+
// {
|
|
3342
|
+
// "clOrdId": "e123456789ec4dBC1123456ba123b45e",
|
|
3343
|
+
// "ordId": "405071912345641543",
|
|
3344
|
+
// "sCode": "0",
|
|
3345
|
+
// "sMsg": ""
|
|
3346
|
+
// },
|
|
3347
|
+
// ...
|
|
3348
|
+
// ],
|
|
3349
|
+
// "msg": ""
|
|
3350
|
+
// }
|
|
3351
|
+
//
|
|
3352
|
+
// Algo order
|
|
3353
|
+
//
|
|
3354
|
+
// {
|
|
3355
|
+
// "code": "0",
|
|
3356
|
+
// "data": [
|
|
3357
|
+
// {
|
|
3358
|
+
// "algoId": "431375349042380800",
|
|
3359
|
+
// "sCode": "0",
|
|
3360
|
+
// "sMsg": ""
|
|
3361
|
+
// }
|
|
3362
|
+
// ],
|
|
3363
|
+
// "msg": ""
|
|
3364
|
+
// }
|
|
3365
|
+
//
|
|
3366
|
+
const ordersData = this.safeList(response, 'data', []);
|
|
3367
|
+
return this.parseOrders(ordersData, undefined, undefined, undefined, params);
|
|
3368
|
+
}
|
|
3369
|
+
async cancelAllOrdersAfter(timeout, params = {}) {
|
|
3370
|
+
/**
|
|
3371
|
+
* @method
|
|
3372
|
+
* @name okx#cancelAllOrdersAfter
|
|
3373
|
+
* @description dead man's switch, cancel all orders after the given timeout
|
|
3374
|
+
* @see https://www.okx.com/docs-v5/en/#order-book-trading-trade-post-cancel-all-after
|
|
3375
|
+
* @param {number} timeout time in milliseconds, 0 represents cancel the timer
|
|
3376
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
3377
|
+
* @returns {object} the api result
|
|
3378
|
+
*/
|
|
3379
|
+
await this.loadMarkets();
|
|
3380
|
+
const request = {
|
|
3381
|
+
'timeOut': (timeout > 0) ? this.parseToInt(timeout / 1000) : 0,
|
|
3382
|
+
};
|
|
3383
|
+
const response = await this.privatePostTradeCancelAllAfter(this.extend(request, params));
|
|
3384
|
+
//
|
|
3385
|
+
// {
|
|
3386
|
+
// "code":"0",
|
|
3387
|
+
// "msg":"",
|
|
3388
|
+
// "data":[
|
|
3389
|
+
// {
|
|
3390
|
+
// "triggerTime":"1587971460",
|
|
3391
|
+
// "ts":"1587971400"
|
|
3392
|
+
// }
|
|
3393
|
+
// ]
|
|
3394
|
+
// }
|
|
3395
|
+
//
|
|
3396
|
+
return response;
|
|
3397
|
+
}
|
|
3285
3398
|
parseOrderStatus(status) {
|
|
3286
3399
|
const statuses = {
|
|
3287
3400
|
'canceled': 'canceled',
|