ccxt 4.3.92 → 4.3.94
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/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/bingx.js +4 -2
- package/dist/cjs/src/hyperliquid.js +2 -2
- package/dist/cjs/src/kucoin.js +27 -2
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/bingx.js +5 -3
- package/js/src/hyperliquid.js +2 -2
- package/js/src/kucoin.js +27 -2
- package/package.json +2 -1
package/dist/cjs/ccxt.js
CHANGED
|
@@ -196,7 +196,7 @@ var xt$1 = require('./src/pro/xt.js');
|
|
|
196
196
|
|
|
197
197
|
//-----------------------------------------------------------------------------
|
|
198
198
|
// this is updated by vss.js when building
|
|
199
|
-
const version = '4.3.
|
|
199
|
+
const version = '4.3.94';
|
|
200
200
|
Exchange["default"].ccxtVersion = version;
|
|
201
201
|
const exchanges = {
|
|
202
202
|
'ace': ace,
|
package/dist/cjs/src/bingx.js
CHANGED
|
@@ -457,7 +457,8 @@ class bingx extends bingx$1 {
|
|
|
457
457
|
'100414': errors.AccountSuspended,
|
|
458
458
|
'100419': errors.PermissionDenied,
|
|
459
459
|
'100437': errors.BadRequest,
|
|
460
|
-
'101204': errors.InsufficientFunds,
|
|
460
|
+
'101204': errors.InsufficientFunds,
|
|
461
|
+
'110425': errors.InvalidOrder, // {"code":110425,"msg":"Please ensure that the minimum nominal value of the order placed must be greater than 2u","data":{}}
|
|
461
462
|
},
|
|
462
463
|
'broad': {},
|
|
463
464
|
},
|
|
@@ -2556,6 +2557,7 @@ class bingx extends bingx$1 {
|
|
|
2556
2557
|
let positionSide = undefined;
|
|
2557
2558
|
const hedged = this.safeBool(params, 'hedged', false);
|
|
2558
2559
|
if (hedged) {
|
|
2560
|
+
params = this.omit(params, 'reduceOnly');
|
|
2559
2561
|
if (reduceOnly) {
|
|
2560
2562
|
positionSide = (side === 'buy') ? 'SHORT' : 'LONG';
|
|
2561
2563
|
}
|
|
@@ -2569,7 +2571,7 @@ class bingx extends bingx$1 {
|
|
|
2569
2571
|
request['positionSide'] = positionSide;
|
|
2570
2572
|
request['quantity'] = (market['inverse']) ? amount : this.parseToNumeric(this.amountToPrecision(symbol, amount)); // precision not available for inverse contracts
|
|
2571
2573
|
}
|
|
2572
|
-
params = this.omit(params, ['hedged', '
|
|
2574
|
+
params = this.omit(params, ['hedged', 'triggerPrice', 'stopLossPrice', 'takeProfitPrice', 'trailingAmount', 'trailingPercent', 'trailingType', 'takeProfit', 'stopLoss', 'clientOrderId']);
|
|
2573
2575
|
return this.extend(request, params);
|
|
2574
2576
|
}
|
|
2575
2577
|
async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
|
|
@@ -326,7 +326,7 @@ class hyperliquid extends hyperliquid$1 {
|
|
|
326
326
|
//
|
|
327
327
|
const meta = this.safeDict(response, 0, {});
|
|
328
328
|
const universe = this.safeList(meta, 'universe', []);
|
|
329
|
-
const assetCtxs = this.
|
|
329
|
+
const assetCtxs = this.safeList(response, 1, []);
|
|
330
330
|
const result = [];
|
|
331
331
|
for (let i = 0; i < universe.length; i++) {
|
|
332
332
|
const data = this.extend(this.safeDict(universe, i, {}), this.safeDict(assetCtxs, i, {}));
|
|
@@ -689,7 +689,7 @@ class hyperliquid extends hyperliquid$1 {
|
|
|
689
689
|
const total = this.safeString(balance, 'total');
|
|
690
690
|
const free = this.safeString(balance, 'hold');
|
|
691
691
|
account['total'] = total;
|
|
692
|
-
account['
|
|
692
|
+
account['used'] = free;
|
|
693
693
|
spotBalances[code] = account;
|
|
694
694
|
}
|
|
695
695
|
return this.safeBalance(spotBalances);
|
package/dist/cjs/src/kucoin.js
CHANGED
|
@@ -2080,6 +2080,7 @@ class kucoin extends kucoin$1 {
|
|
|
2080
2080
|
* @see https://docs.kucoin.com/spot-hf/#place-hf-order
|
|
2081
2081
|
* @see https://www.kucoin.com/docs/rest/spot-trading/orders/place-order-test
|
|
2082
2082
|
* @see https://www.kucoin.com/docs/rest/margin-trading/orders/place-margin-order-test
|
|
2083
|
+
* @see https://www.kucoin.com/docs/rest/spot-trading/spot-hf-trade-pro-account/sync-place-hf-order
|
|
2083
2084
|
* @param {string} symbol Unified CCXT market symbol
|
|
2084
2085
|
* @param {string} type 'limit' or 'market'
|
|
2085
2086
|
* @param {string} side 'buy' or 'sell'
|
|
@@ -2110,6 +2111,7 @@ class kucoin extends kucoin$1 {
|
|
|
2110
2111
|
* @param {bool} [params.autoBorrow] false, // The system will first borrow you funds at the optimal interest rate and then place an order for you
|
|
2111
2112
|
* @param {bool} [params.hf] false, // true for hf order
|
|
2112
2113
|
* @param {bool} [params.test] set to true to test an order, no order will be created but the request will be validated
|
|
2114
|
+
* @param {bool} [params.sync] set to true to use the hf sync call
|
|
2113
2115
|
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
2114
2116
|
*/
|
|
2115
2117
|
await this.loadMarkets();
|
|
@@ -2118,6 +2120,8 @@ class kucoin extends kucoin$1 {
|
|
|
2118
2120
|
params = this.omit(params, 'test');
|
|
2119
2121
|
let hf = undefined;
|
|
2120
2122
|
[hf, params] = await this.handleHfAndParams(params);
|
|
2123
|
+
let useSync = false;
|
|
2124
|
+
[useSync, params] = this.handleOptionAndParams(params, 'createOrder', 'sync', false);
|
|
2121
2125
|
const [triggerPrice, stopLossPrice, takeProfitPrice] = this.handleTriggerPrices(params);
|
|
2122
2126
|
const tradeType = this.safeString(params, 'tradeType'); // keep it for backward compatibility
|
|
2123
2127
|
const isTriggerOrder = (triggerPrice || stopLossPrice || takeProfitPrice);
|
|
@@ -2144,6 +2148,9 @@ class kucoin extends kucoin$1 {
|
|
|
2144
2148
|
else if (isMarginOrder) {
|
|
2145
2149
|
response = await this.privatePostMarginOrder(orderRequest);
|
|
2146
2150
|
}
|
|
2151
|
+
else if (useSync) {
|
|
2152
|
+
response = await this.privatePostHfOrdersSync(orderRequest);
|
|
2153
|
+
}
|
|
2147
2154
|
else if (hf) {
|
|
2148
2155
|
response = await this.privatePostHfOrders(orderRequest);
|
|
2149
2156
|
}
|
|
@@ -2212,9 +2219,11 @@ class kucoin extends kucoin$1 {
|
|
|
2212
2219
|
* @description create a list of trade orders
|
|
2213
2220
|
* @see https://www.kucoin.com/docs/rest/spot-trading/orders/place-multiple-orders
|
|
2214
2221
|
* @see https://www.kucoin.com/docs/rest/spot-trading/spot-hf-trade-pro-account/place-multiple-hf-orders
|
|
2222
|
+
* @see https://www.kucoin.com/docs/rest/spot-trading/spot-hf-trade-pro-account/sync-place-multiple-hf-orders
|
|
2215
2223
|
* @param {Array} orders list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
|
|
2216
2224
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2217
2225
|
* @param {bool} [params.hf] false, // true for hf orders
|
|
2226
|
+
* @param {bool} [params.sync] false, // true to use the hf sync call
|
|
2218
2227
|
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
2219
2228
|
*/
|
|
2220
2229
|
await this.loadMarkets();
|
|
@@ -2249,8 +2258,13 @@ class kucoin extends kucoin$1 {
|
|
|
2249
2258
|
};
|
|
2250
2259
|
let hf = undefined;
|
|
2251
2260
|
[hf, params] = await this.handleHfAndParams(params);
|
|
2261
|
+
let useSync = false;
|
|
2262
|
+
[useSync, params] = this.handleOptionAndParams(params, 'createOrders', 'sync', false);
|
|
2252
2263
|
let response = undefined;
|
|
2253
|
-
if (
|
|
2264
|
+
if (useSync) {
|
|
2265
|
+
response = await this.privatePostHfOrdersMultiSync(this.extend(request, params));
|
|
2266
|
+
}
|
|
2267
|
+
else if (hf) {
|
|
2254
2268
|
response = await this.privatePostHfOrdersMulti(this.extend(request, params));
|
|
2255
2269
|
}
|
|
2256
2270
|
else {
|
|
@@ -2426,11 +2440,14 @@ class kucoin extends kucoin$1 {
|
|
|
2426
2440
|
* @see https://docs.kucoin.com/spot#cancel-single-order-by-clientoid-2
|
|
2427
2441
|
* @see https://docs.kucoin.com/spot-hf/#cancel-orders-by-orderid
|
|
2428
2442
|
* @see https://docs.kucoin.com/spot-hf/#cancel-order-by-clientoid
|
|
2443
|
+
* @see https://www.kucoin.com/docs/rest/spot-trading/spot-hf-trade-pro-account/sync-cancel-hf-order-by-orderid
|
|
2444
|
+
* @see https://www.kucoin.com/docs/rest/spot-trading/spot-hf-trade-pro-account/sync-cancel-hf-order-by-clientoid
|
|
2429
2445
|
* @param {string} id order id
|
|
2430
2446
|
* @param {string} symbol unified symbol of the market the order was made in
|
|
2431
2447
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2432
2448
|
* @param {bool} [params.stop] True if cancelling a stop order
|
|
2433
2449
|
* @param {bool} [params.hf] false, // true for hf order
|
|
2450
|
+
* @param {bool} [params.sync] false, // true to use the hf sync call
|
|
2434
2451
|
* @returns Response from the exchange
|
|
2435
2452
|
*/
|
|
2436
2453
|
await this.loadMarkets();
|
|
@@ -2439,7 +2456,9 @@ class kucoin extends kucoin$1 {
|
|
|
2439
2456
|
const stop = this.safeBool2(params, 'stop', 'trigger', false);
|
|
2440
2457
|
let hf = undefined;
|
|
2441
2458
|
[hf, params] = await this.handleHfAndParams(params);
|
|
2442
|
-
|
|
2459
|
+
let useSync = false;
|
|
2460
|
+
[useSync, params] = this.handleOptionAndParams(params, 'cancelOrder', 'sync', false);
|
|
2461
|
+
if (hf || useSync) {
|
|
2443
2462
|
if (symbol === undefined) {
|
|
2444
2463
|
throw new errors.ArgumentsRequired(this.id + ' cancelOrder() requires a symbol parameter for hf orders');
|
|
2445
2464
|
}
|
|
@@ -2462,6 +2481,9 @@ class kucoin extends kucoin$1 {
|
|
|
2462
2481
|
// }
|
|
2463
2482
|
//
|
|
2464
2483
|
}
|
|
2484
|
+
else if (useSync) {
|
|
2485
|
+
response = await this.privateDeleteHfOrdersSyncClientOrderClientOid(this.extend(request, params));
|
|
2486
|
+
}
|
|
2465
2487
|
else if (hf) {
|
|
2466
2488
|
response = await this.privateDeleteHfOrdersClientOrderClientOid(this.extend(request, params));
|
|
2467
2489
|
//
|
|
@@ -2500,6 +2522,9 @@ class kucoin extends kucoin$1 {
|
|
|
2500
2522
|
// }
|
|
2501
2523
|
//
|
|
2502
2524
|
}
|
|
2525
|
+
else if (useSync) {
|
|
2526
|
+
response = await this.privateDeleteHfOrdersSyncOrderId(this.extend(request, params));
|
|
2527
|
+
}
|
|
2503
2528
|
else if (hf) {
|
|
2504
2529
|
response = await this.privateDeleteHfOrdersOrderId(this.extend(request, params));
|
|
2505
2530
|
//
|
package/js/ccxt.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import * as functions from './src/base/functions.js';
|
|
|
4
4
|
import * as errors from './src/base/errors.js';
|
|
5
5
|
import type { Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketInterface, Trade, Order, OrderBook, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, DepositAddressResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers } from './src/base/types.js';
|
|
6
6
|
import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError } from './src/base/errors.js';
|
|
7
|
-
declare const version = "4.3.
|
|
7
|
+
declare const version = "4.3.93";
|
|
8
8
|
import ace from './src/ace.js';
|
|
9
9
|
import alpaca from './src/alpaca.js';
|
|
10
10
|
import ascendex from './src/ascendex.js';
|
package/js/ccxt.js
CHANGED
|
@@ -38,7 +38,7 @@ import * as errors from './src/base/errors.js';
|
|
|
38
38
|
import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError } from './src/base/errors.js';
|
|
39
39
|
//-----------------------------------------------------------------------------
|
|
40
40
|
// this is updated by vss.js when building
|
|
41
|
-
const version = '4.3.
|
|
41
|
+
const version = '4.3.94';
|
|
42
42
|
Exchange.ccxtVersion = version;
|
|
43
43
|
//-----------------------------------------------------------------------------
|
|
44
44
|
import ace from './src/ace.js';
|
package/js/src/bingx.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
// ---------------------------------------------------------------------------
|
|
8
8
|
import Exchange from './abstract/bingx.js';
|
|
9
|
-
import { AuthenticationError, PermissionDenied, AccountSuspended, ExchangeError, InsufficientFunds, BadRequest, OrderNotFound, DDoSProtection, BadSymbol, ArgumentsRequired, NotSupported, OperationFailed } from './base/errors.js';
|
|
9
|
+
import { AuthenticationError, PermissionDenied, AccountSuspended, ExchangeError, InsufficientFunds, BadRequest, OrderNotFound, DDoSProtection, BadSymbol, ArgumentsRequired, NotSupported, OperationFailed, InvalidOrder } from './base/errors.js';
|
|
10
10
|
import { Precise } from './base/Precise.js';
|
|
11
11
|
import { sha256 } from './static_dependencies/noble-hashes/sha256.js';
|
|
12
12
|
import { TICK_SIZE } from './base/functions/number.js';
|
|
@@ -460,7 +460,8 @@ export default class bingx extends Exchange {
|
|
|
460
460
|
'100414': AccountSuspended,
|
|
461
461
|
'100419': PermissionDenied,
|
|
462
462
|
'100437': BadRequest,
|
|
463
|
-
'101204': InsufficientFunds,
|
|
463
|
+
'101204': InsufficientFunds,
|
|
464
|
+
'110425': InvalidOrder, // {"code":110425,"msg":"Please ensure that the minimum nominal value of the order placed must be greater than 2u","data":{}}
|
|
464
465
|
},
|
|
465
466
|
'broad': {},
|
|
466
467
|
},
|
|
@@ -2559,6 +2560,7 @@ export default class bingx extends Exchange {
|
|
|
2559
2560
|
let positionSide = undefined;
|
|
2560
2561
|
const hedged = this.safeBool(params, 'hedged', false);
|
|
2561
2562
|
if (hedged) {
|
|
2563
|
+
params = this.omit(params, 'reduceOnly');
|
|
2562
2564
|
if (reduceOnly) {
|
|
2563
2565
|
positionSide = (side === 'buy') ? 'SHORT' : 'LONG';
|
|
2564
2566
|
}
|
|
@@ -2572,7 +2574,7 @@ export default class bingx extends Exchange {
|
|
|
2572
2574
|
request['positionSide'] = positionSide;
|
|
2573
2575
|
request['quantity'] = (market['inverse']) ? amount : this.parseToNumeric(this.amountToPrecision(symbol, amount)); // precision not available for inverse contracts
|
|
2574
2576
|
}
|
|
2575
|
-
params = this.omit(params, ['hedged', '
|
|
2577
|
+
params = this.omit(params, ['hedged', 'triggerPrice', 'stopLossPrice', 'takeProfitPrice', 'trailingAmount', 'trailingPercent', 'trailingType', 'takeProfit', 'stopLoss', 'clientOrderId']);
|
|
2576
2578
|
return this.extend(request, params);
|
|
2577
2579
|
}
|
|
2578
2580
|
async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
|
package/js/src/hyperliquid.js
CHANGED
|
@@ -329,7 +329,7 @@ export default class hyperliquid extends Exchange {
|
|
|
329
329
|
//
|
|
330
330
|
const meta = this.safeDict(response, 0, {});
|
|
331
331
|
const universe = this.safeList(meta, 'universe', []);
|
|
332
|
-
const assetCtxs = this.
|
|
332
|
+
const assetCtxs = this.safeList(response, 1, []);
|
|
333
333
|
const result = [];
|
|
334
334
|
for (let i = 0; i < universe.length; i++) {
|
|
335
335
|
const data = this.extend(this.safeDict(universe, i, {}), this.safeDict(assetCtxs, i, {}));
|
|
@@ -692,7 +692,7 @@ export default class hyperliquid extends Exchange {
|
|
|
692
692
|
const total = this.safeString(balance, 'total');
|
|
693
693
|
const free = this.safeString(balance, 'hold');
|
|
694
694
|
account['total'] = total;
|
|
695
|
-
account['
|
|
695
|
+
account['used'] = free;
|
|
696
696
|
spotBalances[code] = account;
|
|
697
697
|
}
|
|
698
698
|
return this.safeBalance(spotBalances);
|
package/js/src/kucoin.js
CHANGED
|
@@ -2083,6 +2083,7 @@ export default class kucoin extends Exchange {
|
|
|
2083
2083
|
* @see https://docs.kucoin.com/spot-hf/#place-hf-order
|
|
2084
2084
|
* @see https://www.kucoin.com/docs/rest/spot-trading/orders/place-order-test
|
|
2085
2085
|
* @see https://www.kucoin.com/docs/rest/margin-trading/orders/place-margin-order-test
|
|
2086
|
+
* @see https://www.kucoin.com/docs/rest/spot-trading/spot-hf-trade-pro-account/sync-place-hf-order
|
|
2086
2087
|
* @param {string} symbol Unified CCXT market symbol
|
|
2087
2088
|
* @param {string} type 'limit' or 'market'
|
|
2088
2089
|
* @param {string} side 'buy' or 'sell'
|
|
@@ -2113,6 +2114,7 @@ export default class kucoin extends Exchange {
|
|
|
2113
2114
|
* @param {bool} [params.autoBorrow] false, // The system will first borrow you funds at the optimal interest rate and then place an order for you
|
|
2114
2115
|
* @param {bool} [params.hf] false, // true for hf order
|
|
2115
2116
|
* @param {bool} [params.test] set to true to test an order, no order will be created but the request will be validated
|
|
2117
|
+
* @param {bool} [params.sync] set to true to use the hf sync call
|
|
2116
2118
|
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
2117
2119
|
*/
|
|
2118
2120
|
await this.loadMarkets();
|
|
@@ -2121,6 +2123,8 @@ export default class kucoin extends Exchange {
|
|
|
2121
2123
|
params = this.omit(params, 'test');
|
|
2122
2124
|
let hf = undefined;
|
|
2123
2125
|
[hf, params] = await this.handleHfAndParams(params);
|
|
2126
|
+
let useSync = false;
|
|
2127
|
+
[useSync, params] = this.handleOptionAndParams(params, 'createOrder', 'sync', false);
|
|
2124
2128
|
const [triggerPrice, stopLossPrice, takeProfitPrice] = this.handleTriggerPrices(params);
|
|
2125
2129
|
const tradeType = this.safeString(params, 'tradeType'); // keep it for backward compatibility
|
|
2126
2130
|
const isTriggerOrder = (triggerPrice || stopLossPrice || takeProfitPrice);
|
|
@@ -2147,6 +2151,9 @@ export default class kucoin extends Exchange {
|
|
|
2147
2151
|
else if (isMarginOrder) {
|
|
2148
2152
|
response = await this.privatePostMarginOrder(orderRequest);
|
|
2149
2153
|
}
|
|
2154
|
+
else if (useSync) {
|
|
2155
|
+
response = await this.privatePostHfOrdersSync(orderRequest);
|
|
2156
|
+
}
|
|
2150
2157
|
else if (hf) {
|
|
2151
2158
|
response = await this.privatePostHfOrders(orderRequest);
|
|
2152
2159
|
}
|
|
@@ -2215,9 +2222,11 @@ export default class kucoin extends Exchange {
|
|
|
2215
2222
|
* @description create a list of trade orders
|
|
2216
2223
|
* @see https://www.kucoin.com/docs/rest/spot-trading/orders/place-multiple-orders
|
|
2217
2224
|
* @see https://www.kucoin.com/docs/rest/spot-trading/spot-hf-trade-pro-account/place-multiple-hf-orders
|
|
2225
|
+
* @see https://www.kucoin.com/docs/rest/spot-trading/spot-hf-trade-pro-account/sync-place-multiple-hf-orders
|
|
2218
2226
|
* @param {Array} orders list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
|
|
2219
2227
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2220
2228
|
* @param {bool} [params.hf] false, // true for hf orders
|
|
2229
|
+
* @param {bool} [params.sync] false, // true to use the hf sync call
|
|
2221
2230
|
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
2222
2231
|
*/
|
|
2223
2232
|
await this.loadMarkets();
|
|
@@ -2252,8 +2261,13 @@ export default class kucoin extends Exchange {
|
|
|
2252
2261
|
};
|
|
2253
2262
|
let hf = undefined;
|
|
2254
2263
|
[hf, params] = await this.handleHfAndParams(params);
|
|
2264
|
+
let useSync = false;
|
|
2265
|
+
[useSync, params] = this.handleOptionAndParams(params, 'createOrders', 'sync', false);
|
|
2255
2266
|
let response = undefined;
|
|
2256
|
-
if (
|
|
2267
|
+
if (useSync) {
|
|
2268
|
+
response = await this.privatePostHfOrdersMultiSync(this.extend(request, params));
|
|
2269
|
+
}
|
|
2270
|
+
else if (hf) {
|
|
2257
2271
|
response = await this.privatePostHfOrdersMulti(this.extend(request, params));
|
|
2258
2272
|
}
|
|
2259
2273
|
else {
|
|
@@ -2429,11 +2443,14 @@ export default class kucoin extends Exchange {
|
|
|
2429
2443
|
* @see https://docs.kucoin.com/spot#cancel-single-order-by-clientoid-2
|
|
2430
2444
|
* @see https://docs.kucoin.com/spot-hf/#cancel-orders-by-orderid
|
|
2431
2445
|
* @see https://docs.kucoin.com/spot-hf/#cancel-order-by-clientoid
|
|
2446
|
+
* @see https://www.kucoin.com/docs/rest/spot-trading/spot-hf-trade-pro-account/sync-cancel-hf-order-by-orderid
|
|
2447
|
+
* @see https://www.kucoin.com/docs/rest/spot-trading/spot-hf-trade-pro-account/sync-cancel-hf-order-by-clientoid
|
|
2432
2448
|
* @param {string} id order id
|
|
2433
2449
|
* @param {string} symbol unified symbol of the market the order was made in
|
|
2434
2450
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2435
2451
|
* @param {bool} [params.stop] True if cancelling a stop order
|
|
2436
2452
|
* @param {bool} [params.hf] false, // true for hf order
|
|
2453
|
+
* @param {bool} [params.sync] false, // true to use the hf sync call
|
|
2437
2454
|
* @returns Response from the exchange
|
|
2438
2455
|
*/
|
|
2439
2456
|
await this.loadMarkets();
|
|
@@ -2442,7 +2459,9 @@ export default class kucoin extends Exchange {
|
|
|
2442
2459
|
const stop = this.safeBool2(params, 'stop', 'trigger', false);
|
|
2443
2460
|
let hf = undefined;
|
|
2444
2461
|
[hf, params] = await this.handleHfAndParams(params);
|
|
2445
|
-
|
|
2462
|
+
let useSync = false;
|
|
2463
|
+
[useSync, params] = this.handleOptionAndParams(params, 'cancelOrder', 'sync', false);
|
|
2464
|
+
if (hf || useSync) {
|
|
2446
2465
|
if (symbol === undefined) {
|
|
2447
2466
|
throw new ArgumentsRequired(this.id + ' cancelOrder() requires a symbol parameter for hf orders');
|
|
2448
2467
|
}
|
|
@@ -2465,6 +2484,9 @@ export default class kucoin extends Exchange {
|
|
|
2465
2484
|
// }
|
|
2466
2485
|
//
|
|
2467
2486
|
}
|
|
2487
|
+
else if (useSync) {
|
|
2488
|
+
response = await this.privateDeleteHfOrdersSyncClientOrderClientOid(this.extend(request, params));
|
|
2489
|
+
}
|
|
2468
2490
|
else if (hf) {
|
|
2469
2491
|
response = await this.privateDeleteHfOrdersClientOrderClientOid(this.extend(request, params));
|
|
2470
2492
|
//
|
|
@@ -2503,6 +2525,9 @@ export default class kucoin extends Exchange {
|
|
|
2503
2525
|
// }
|
|
2504
2526
|
//
|
|
2505
2527
|
}
|
|
2528
|
+
else if (useSync) {
|
|
2529
|
+
response = await this.privateDeleteHfOrdersSyncOrderId(this.extend(request, params));
|
|
2530
|
+
}
|
|
2506
2531
|
else if (hf) {
|
|
2507
2532
|
response = await this.privateDeleteHfOrdersOrderId(this.extend(request, params));
|
|
2508
2533
|
//
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ccxt",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.94",
|
|
4
4
|
"description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges",
|
|
5
5
|
"unpkg": "dist/ccxt.browser.min.js",
|
|
6
6
|
"type": "module",
|
|
@@ -127,6 +127,7 @@
|
|
|
127
127
|
"response-php-sync": "npm run ti-php -- --responseTests --sync",
|
|
128
128
|
"response-php": "npm run response-php-sync && npm run response-php-async",
|
|
129
129
|
"response-tests": "npm run response-js && npm run response-py && npm run response-php && npm run response-cs",
|
|
130
|
+
"static-data-updater": "tsx ./utils/update-static-json",
|
|
130
131
|
"id-tests-js": "npm run ti-js -- --idTests",
|
|
131
132
|
"id-tests-py": "npm run ti-py -- --idTests",
|
|
132
133
|
"id-tests-php": "npm run ti-php -- --idTests",
|