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
package/js/src/pro/bitget.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export default class bitget extends bitgetRest {
|
|
|
29
29
|
handlePositions(client: Client, message: any): void;
|
|
30
30
|
parseWsPosition(position: any, market?: any): Position;
|
|
31
31
|
watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
32
|
-
handleOrder(client: Client, message: any
|
|
32
|
+
handleOrder(client: Client, message: any): void;
|
|
33
33
|
parseWsOrder(order: any, market?: any): Order;
|
|
34
34
|
parseWsOrderStatus(status: any): string;
|
|
35
35
|
watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
package/js/src/pro/bitget.js
CHANGED
|
@@ -1007,7 +1007,7 @@ export default class bitget extends bitgetRest {
|
|
|
1007
1007
|
}
|
|
1008
1008
|
return this.filterBySymbolSinceLimit(orders, symbol, since, limit, true);
|
|
1009
1009
|
}
|
|
1010
|
-
handleOrder(client, message
|
|
1010
|
+
handleOrder(client, message) {
|
|
1011
1011
|
//
|
|
1012
1012
|
// spot
|
|
1013
1013
|
//
|
package/js/src/pro/cex.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export default class cex extends cexRest {
|
|
|
12
12
|
handleTrade(client: Client, message: any): void;
|
|
13
13
|
watchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
14
14
|
watchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
15
|
-
fetchTickerWs(symbol: string, params?: {}): Promise<
|
|
15
|
+
fetchTickerWs(symbol: string, params?: {}): Promise<Ticker>;
|
|
16
16
|
handleTicker(client: Client, message: any): void;
|
|
17
17
|
parseWsTicker(ticker: any, market?: any): Ticker;
|
|
18
18
|
fetchBalanceWs(params?: {}): Promise<Balances>;
|
package/js/src/pro/lbank.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export default class lbank extends lbankRest {
|
|
|
7
7
|
fetchOHLCVWs(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
8
8
|
watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
9
9
|
handleOHLCV(client: any, message: any): void;
|
|
10
|
-
fetchTickerWs(symbol:
|
|
10
|
+
fetchTickerWs(symbol: string, params?: {}): Promise<Ticker>;
|
|
11
11
|
watchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
12
12
|
handleTicker(client: any, message: any): void;
|
|
13
13
|
parseWsTicker(ticker: any, market?: any): Ticker;
|
package/js/src/pro/woo.js
CHANGED
|
@@ -75,7 +75,6 @@ export default class woo extends wooRest {
|
|
|
75
75
|
return newValue;
|
|
76
76
|
}
|
|
77
77
|
async watchPublic(messageHash, message) {
|
|
78
|
-
this.checkRequiredUid();
|
|
79
78
|
const url = this.urls['api']['ws']['public'] + '/' + this.uid;
|
|
80
79
|
const requestId = this.requestId(url);
|
|
81
80
|
const subscribe = {
|
|
@@ -15,7 +15,7 @@ export declare class BigInteger {
|
|
|
15
15
|
protected intValue(): number;
|
|
16
16
|
protected byteValue(): number;
|
|
17
17
|
protected shortValue(): number;
|
|
18
|
-
protected signum():
|
|
18
|
+
protected signum(): 1 | 0 | -1;
|
|
19
19
|
toByteArray(): number[];
|
|
20
20
|
protected equals(a: BigInteger): boolean;
|
|
21
21
|
protected min(a: BigInteger): BigInteger;
|
package/js/src/whitebit.d.ts
CHANGED
|
@@ -35,7 +35,10 @@ export default class whitebit extends Exchange {
|
|
|
35
35
|
}>;
|
|
36
36
|
fetchTime(params?: {}): Promise<number>;
|
|
37
37
|
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
|
|
38
|
+
editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: Num, price?: Num, params?: {}): Promise<Order>;
|
|
38
39
|
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
|
|
40
|
+
cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
|
|
41
|
+
cancelAllOrdersAfter(timeout: Int, params?: {}): Promise<any>;
|
|
39
42
|
parseBalance(response: any): Balances;
|
|
40
43
|
fetchBalance(params?: {}): Promise<Balances>;
|
|
41
44
|
fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
package/js/src/whitebit.js
CHANGED
|
@@ -31,7 +31,8 @@ export default class whitebit extends Exchange {
|
|
|
31
31
|
'swap': false,
|
|
32
32
|
'future': false,
|
|
33
33
|
'option': false,
|
|
34
|
-
'cancelAllOrders':
|
|
34
|
+
'cancelAllOrders': true,
|
|
35
|
+
'cancelAllOrdersAfter': true,
|
|
35
36
|
'cancelOrder': true,
|
|
36
37
|
'cancelOrders': false,
|
|
37
38
|
'createOrder': true,
|
|
@@ -176,11 +177,13 @@ export default class whitebit extends Exchange {
|
|
|
176
177
|
'ping',
|
|
177
178
|
'markets',
|
|
178
179
|
'futures',
|
|
180
|
+
'platform/status',
|
|
179
181
|
],
|
|
180
182
|
},
|
|
181
183
|
'private': {
|
|
182
184
|
'post': [
|
|
183
185
|
'collateral-account/balance',
|
|
186
|
+
'collateral-account/balance-summary',
|
|
184
187
|
'collateral-account/positions/history',
|
|
185
188
|
'collateral-account/leverage',
|
|
186
189
|
'collateral-account/positions/open',
|
|
@@ -197,21 +200,40 @@ export default class whitebit extends Exchange {
|
|
|
197
200
|
'main-account/withdraw',
|
|
198
201
|
'main-account/withdraw-pay',
|
|
199
202
|
'main-account/transfer',
|
|
203
|
+
'main-account/smart/plans',
|
|
204
|
+
'main-account/smart/investment',
|
|
205
|
+
'main-account/smart/investment/close',
|
|
206
|
+
'main-account/smart/investments',
|
|
207
|
+
'main-account/fee',
|
|
208
|
+
'main-account/smart/interest-payment-history',
|
|
200
209
|
'trade-account/balance',
|
|
201
210
|
'trade-account/executed-history',
|
|
202
211
|
'trade-account/order',
|
|
203
212
|
'trade-account/order/history',
|
|
204
213
|
'order/collateral/limit',
|
|
205
214
|
'order/collateral/market',
|
|
206
|
-
'order/collateral/
|
|
215
|
+
'order/collateral/stop-limit',
|
|
216
|
+
'order/collateral/trigger-market',
|
|
207
217
|
'order/new',
|
|
208
218
|
'order/market',
|
|
209
219
|
'order/stock_market',
|
|
210
220
|
'order/stop_limit',
|
|
211
221
|
'order/stop_market',
|
|
212
222
|
'order/cancel',
|
|
223
|
+
'order/cancel/all',
|
|
224
|
+
'order/kill-switch',
|
|
225
|
+
'order/kill-switch/status',
|
|
226
|
+
'order/bulk',
|
|
227
|
+
'order/modify',
|
|
213
228
|
'orders',
|
|
229
|
+
'oco-orders',
|
|
230
|
+
'order/collateral/oco',
|
|
231
|
+
'order/oco-cancel',
|
|
232
|
+
'order/oto-cancel',
|
|
214
233
|
'profile/websocket_token',
|
|
234
|
+
'convert/estimate',
|
|
235
|
+
'convert/confirm',
|
|
236
|
+
'convert/history',
|
|
215
237
|
],
|
|
216
238
|
},
|
|
217
239
|
},
|
|
@@ -1260,6 +1282,70 @@ export default class whitebit extends Exchange {
|
|
|
1260
1282
|
}
|
|
1261
1283
|
return this.parseOrder(response);
|
|
1262
1284
|
}
|
|
1285
|
+
async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
|
|
1286
|
+
/**
|
|
1287
|
+
* @method
|
|
1288
|
+
* @name whitebit#editOrder
|
|
1289
|
+
* @description edit a trade order
|
|
1290
|
+
* @see https://docs.whitebit.com/private/http-trade-v4/#modify-order
|
|
1291
|
+
* @param {string} id cancel order id
|
|
1292
|
+
* @param {string} symbol unified symbol of the market to create an order in
|
|
1293
|
+
* @param {string} type 'market' or 'limit'
|
|
1294
|
+
* @param {string} side 'buy' or 'sell'
|
|
1295
|
+
* @param {float} amount how much of currency you want to trade in units of base currency
|
|
1296
|
+
* @param {float} price the price at which the order is to be fullfilled, in units of the base currency, ignored in market orders
|
|
1297
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1298
|
+
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
1299
|
+
*/
|
|
1300
|
+
if (id === undefined) {
|
|
1301
|
+
throw new ArgumentsRequired(this.id + ' editOrder() requires a id argument');
|
|
1302
|
+
}
|
|
1303
|
+
if (symbol === undefined) {
|
|
1304
|
+
throw new ArgumentsRequired(this.id + ' editOrder() requires a symbol argument');
|
|
1305
|
+
}
|
|
1306
|
+
await this.loadMarkets();
|
|
1307
|
+
const market = this.market(symbol);
|
|
1308
|
+
const request = {
|
|
1309
|
+
'orderId': id,
|
|
1310
|
+
'market': market['id'],
|
|
1311
|
+
};
|
|
1312
|
+
const clientOrderId = this.safeString2(params, 'clOrdId', 'clientOrderId');
|
|
1313
|
+
if (clientOrderId !== undefined) {
|
|
1314
|
+
// Update clientOrderId of the order
|
|
1315
|
+
request['clientOrderId'] = clientOrderId;
|
|
1316
|
+
}
|
|
1317
|
+
const isLimitOrder = type === 'limit';
|
|
1318
|
+
const stopPrice = this.safeNumberN(params, ['triggerPrice', 'stopPrice', 'activation_price']);
|
|
1319
|
+
const isStopOrder = (stopPrice !== undefined);
|
|
1320
|
+
params = this.omit(params, ['clOrdId', 'clientOrderId', 'triggerPrice', 'stopPrice']);
|
|
1321
|
+
if (isStopOrder) {
|
|
1322
|
+
request['activation_price'] = this.priceToPrecision(symbol, stopPrice);
|
|
1323
|
+
if (isLimitOrder) {
|
|
1324
|
+
// stop limit order
|
|
1325
|
+
request['amount'] = this.amountToPrecision(symbol, amount);
|
|
1326
|
+
request['price'] = this.priceToPrecision(symbol, price);
|
|
1327
|
+
}
|
|
1328
|
+
else {
|
|
1329
|
+
// stop market order
|
|
1330
|
+
if (side === 'buy') {
|
|
1331
|
+
// Use total parameter instead of amount for modify buy stop market order
|
|
1332
|
+
request['total'] = this.amountToPrecision(symbol, amount);
|
|
1333
|
+
}
|
|
1334
|
+
else {
|
|
1335
|
+
request['amount'] = this.amountToPrecision(symbol, amount);
|
|
1336
|
+
}
|
|
1337
|
+
}
|
|
1338
|
+
}
|
|
1339
|
+
else {
|
|
1340
|
+
request['amount'] = this.amountToPrecision(symbol, amount);
|
|
1341
|
+
if (isLimitOrder) {
|
|
1342
|
+
// limit order
|
|
1343
|
+
request['price'] = this.priceToPrecision(symbol, price);
|
|
1344
|
+
}
|
|
1345
|
+
}
|
|
1346
|
+
const response = await this.v4PrivatePostOrderModify(this.extend(request, params));
|
|
1347
|
+
return this.parseOrder(response);
|
|
1348
|
+
}
|
|
1263
1349
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
|
1264
1350
|
/**
|
|
1265
1351
|
* @method
|
|
@@ -1282,6 +1368,92 @@ export default class whitebit extends Exchange {
|
|
|
1282
1368
|
};
|
|
1283
1369
|
return await this.v4PrivatePostOrderCancel(this.extend(request, params));
|
|
1284
1370
|
}
|
|
1371
|
+
async cancelAllOrders(symbol = undefined, params = {}) {
|
|
1372
|
+
/**
|
|
1373
|
+
* @method
|
|
1374
|
+
* @name whitebit#cancelAllOrders
|
|
1375
|
+
* @description cancel all open orders
|
|
1376
|
+
* @see https://docs.whitebit.com/private/http-trade-v4/#cancel-all-orders
|
|
1377
|
+
* @param {string} symbol unified market symbol, only orders in the market of this symbol are cancelled when symbol is not undefined
|
|
1378
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1379
|
+
* @param {string} [params.type] market type, ['swap', 'spot']
|
|
1380
|
+
* @param {boolean} [params.isMargin] cancel all margin orders
|
|
1381
|
+
* @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
1382
|
+
*/
|
|
1383
|
+
await this.loadMarkets();
|
|
1384
|
+
let market = undefined;
|
|
1385
|
+
const request = {};
|
|
1386
|
+
if (symbol !== undefined) {
|
|
1387
|
+
market = this.market(symbol);
|
|
1388
|
+
request['market'] = market['id'];
|
|
1389
|
+
}
|
|
1390
|
+
let type = undefined;
|
|
1391
|
+
[type, params] = this.handleMarketTypeAndParams('cancelAllOrders', market, params);
|
|
1392
|
+
const requestType = [];
|
|
1393
|
+
if (type === 'spot') {
|
|
1394
|
+
let isMargin = undefined;
|
|
1395
|
+
[isMargin, params] = this.handleOptionAndParams(params, 'cancelAllOrders', 'isMargin', false);
|
|
1396
|
+
if (isMargin) {
|
|
1397
|
+
requestType.push('margin');
|
|
1398
|
+
}
|
|
1399
|
+
else {
|
|
1400
|
+
requestType.push('spot');
|
|
1401
|
+
}
|
|
1402
|
+
}
|
|
1403
|
+
else if (type === 'swap') {
|
|
1404
|
+
requestType.push('futures');
|
|
1405
|
+
}
|
|
1406
|
+
else {
|
|
1407
|
+
throw new NotSupported(this.id + ' cancelAllOrders() does not support ' + type + ' type');
|
|
1408
|
+
}
|
|
1409
|
+
request['type'] = requestType;
|
|
1410
|
+
const response = await this.v4PrivatePostOrderCancelAll(this.extend(request, params));
|
|
1411
|
+
//
|
|
1412
|
+
// []
|
|
1413
|
+
//
|
|
1414
|
+
return response;
|
|
1415
|
+
}
|
|
1416
|
+
async cancelAllOrdersAfter(timeout, params = {}) {
|
|
1417
|
+
/**
|
|
1418
|
+
* @method
|
|
1419
|
+
* @name whitebit#cancelAllOrdersAfter
|
|
1420
|
+
* @description dead man's switch, cancel all orders after the given timeout
|
|
1421
|
+
* @see https://docs.whitebit.com/private/http-trade-v4/#sync-kill-switch-timer
|
|
1422
|
+
* @param {number} timeout time in milliseconds, 0 represents cancel the timer
|
|
1423
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1424
|
+
* @param {string} [params.types] Order types value. Example: "spot", "margin", "futures" or null
|
|
1425
|
+
* @param {string} [params.symbol] symbol unified symbol of the market the order was made in
|
|
1426
|
+
* @returns {object} the api result
|
|
1427
|
+
*/
|
|
1428
|
+
await this.loadMarkets();
|
|
1429
|
+
const symbol = this.safeString(params, 'symbol');
|
|
1430
|
+
if (symbol === undefined) {
|
|
1431
|
+
throw new ArgumentsRequired(this.id + ' cancelAllOrdersAfter() requires a symbol argument in params');
|
|
1432
|
+
}
|
|
1433
|
+
const market = this.market(symbol);
|
|
1434
|
+
params = this.omit(params, 'symbol');
|
|
1435
|
+
const isBiggerThanZero = (timeout > 0);
|
|
1436
|
+
const request = {
|
|
1437
|
+
'market': market['id'],
|
|
1438
|
+
// 'timeout': (timeout > 0) ? this.numberToString (timeout / 1000) : null,
|
|
1439
|
+
};
|
|
1440
|
+
if (isBiggerThanZero) {
|
|
1441
|
+
request['timeout'] = this.numberToString(timeout / 1000);
|
|
1442
|
+
}
|
|
1443
|
+
else {
|
|
1444
|
+
request['timeout'] = 'null';
|
|
1445
|
+
}
|
|
1446
|
+
const response = await this.v4PrivatePostOrderKillSwitch(this.extend(request, params));
|
|
1447
|
+
//
|
|
1448
|
+
// {
|
|
1449
|
+
// "market": "BTC_USDT", // currency market,
|
|
1450
|
+
// "startTime": 1662478154, // now timestamp,
|
|
1451
|
+
// "cancellationTime": 1662478154, // now + timer_value,
|
|
1452
|
+
// "types": ["spot", "margin"]
|
|
1453
|
+
// }
|
|
1454
|
+
//
|
|
1455
|
+
return response;
|
|
1456
|
+
}
|
|
1285
1457
|
parseBalance(response) {
|
|
1286
1458
|
const balanceKeys = Object.keys(response);
|
|
1287
1459
|
const result = {};
|
package/js/src/woo.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/woo.js';
|
|
2
|
-
import type { TransferEntry, Balances, Currency, FundingRateHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Trade, Transaction, Leverage, Account, Currencies, TradingFees
|
|
2
|
+
import type { TransferEntry, Balances, Conversion, Currency, FundingRateHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Trade, Transaction, Leverage, Account, Currencies, TradingFees } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class woo
|
|
5
5
|
* @augments Exchange
|
|
@@ -28,6 +28,7 @@ export default class woo extends Exchange {
|
|
|
28
28
|
editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: Num, price?: Num, params?: {}): Promise<Order>;
|
|
29
29
|
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
|
|
30
30
|
cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
|
|
31
|
+
cancelAllOrdersAfter(timeout: Int, params?: {}): Promise<any>;
|
|
31
32
|
fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
32
33
|
fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
33
34
|
fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
package/js/src/woo.js
CHANGED
|
@@ -35,6 +35,7 @@ export default class woo extends Exchange {
|
|
|
35
35
|
'option': false,
|
|
36
36
|
'addMargin': false,
|
|
37
37
|
'cancelAllOrders': true,
|
|
38
|
+
'cancelAllOrdersAfter': true,
|
|
38
39
|
'cancelOrder': true,
|
|
39
40
|
'cancelWithdraw': false,
|
|
40
41
|
'closeAllPositions': false,
|
|
@@ -202,6 +203,7 @@ export default class woo extends Exchange {
|
|
|
202
203
|
},
|
|
203
204
|
'post': {
|
|
204
205
|
'order': 5,
|
|
206
|
+
'order/cancel_all_after': 1,
|
|
205
207
|
'asset/main_sub_transfer': 30,
|
|
206
208
|
'asset/ltv': 30,
|
|
207
209
|
'asset/withdraw': 30,
|
|
@@ -1292,6 +1294,33 @@ export default class woo extends Exchange {
|
|
|
1292
1294
|
//
|
|
1293
1295
|
return response;
|
|
1294
1296
|
}
|
|
1297
|
+
async cancelAllOrdersAfter(timeout, params = {}) {
|
|
1298
|
+
/**
|
|
1299
|
+
* @method
|
|
1300
|
+
* @name woo#cancelAllOrdersAfter
|
|
1301
|
+
* @description dead man's switch, cancel all orders after the given timeout
|
|
1302
|
+
* @see https://docs.woo.org/#cancel-all-after
|
|
1303
|
+
* @param {number} timeout time in milliseconds, 0 represents cancel the timer
|
|
1304
|
+
* @param {boolean} activated countdown
|
|
1305
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1306
|
+
* @returns {object} the api result
|
|
1307
|
+
*/
|
|
1308
|
+
await this.loadMarkets();
|
|
1309
|
+
const request = {
|
|
1310
|
+
'trigger_after': (timeout > 0) ? timeout : 0,
|
|
1311
|
+
};
|
|
1312
|
+
const response = await this.v1PrivatePostOrderCancelAllAfter(this.extend(request, params));
|
|
1313
|
+
//
|
|
1314
|
+
// {
|
|
1315
|
+
// "success": true,
|
|
1316
|
+
// "data": {
|
|
1317
|
+
// "expected_trigger_time": 1711534302938
|
|
1318
|
+
// },
|
|
1319
|
+
// "timestamp": 1711534302943
|
|
1320
|
+
// }
|
|
1321
|
+
//
|
|
1322
|
+
return response;
|
|
1323
|
+
}
|
|
1295
1324
|
async fetchOrder(id, symbol = undefined, params = {}) {
|
|
1296
1325
|
/**
|
|
1297
1326
|
* @method
|
package/package.json
CHANGED