ccxt 4.3.35 → 4.3.37
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 +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/bingx.js +63 -33
- package/dist/cjs/src/bit2c.js +2 -1
- package/dist/cjs/src/bitbank.js +46 -1
- package/dist/cjs/src/bitget.js +11 -4
- package/dist/cjs/src/bitmart.js +2 -2
- package/dist/cjs/src/htx.js +78 -3
- package/dist/cjs/src/kraken.js +5 -5
- package/dist/cjs/src/paymium.js +4 -1
- package/dist/cjs/src/pro/binance.js +4 -4
- package/dist/cjs/src/pro/bingx.js +10 -4
- package/dist/cjs/src/pro/bitfinex2.js +5 -5
- package/dist/cjs/src/pro/bitmart.js +9 -5
- package/dist/cjs/src/pro/bybit.js +6 -6
- package/dist/cjs/src/pro/htx.js +5 -6
- package/dist/cjs/src/pro/okx.js +3 -4
- package/dist/cjs/src/pro/woo.js +4 -4
- package/dist/cjs/src/whitebit.js +24 -3
- package/dist/cjs/src/woofipro.js +3 -1
- package/dist/cjs/src/zaif.js +30 -2
- package/dist/cjs/src/zonda.js +6 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/bitbay.d.ts +6 -0
- package/js/src/abstract/zonda.d.ts +6 -0
- package/js/src/bingx.d.ts +2 -2
- package/js/src/bingx.js +63 -33
- package/js/src/bit2c.d.ts +1 -1
- package/js/src/bit2c.js +2 -1
- package/js/src/bitbank.d.ts +1 -1
- package/js/src/bitbank.js +46 -1
- package/js/src/bitget.js +11 -4
- package/js/src/bitmart.js +2 -2
- package/js/src/htx.d.ts +1 -0
- package/js/src/htx.js +78 -3
- package/js/src/kraken.js +5 -5
- package/js/src/paymium.d.ts +1 -1
- package/js/src/paymium.js +4 -1
- package/js/src/pro/binance.js +4 -4
- package/js/src/pro/bingx.js +10 -4
- package/js/src/pro/bitfinex2.js +5 -5
- package/js/src/pro/bitmart.js +10 -6
- package/js/src/pro/bybit.js +6 -6
- package/js/src/pro/htx.js +5 -6
- package/js/src/pro/okx.js +3 -4
- package/js/src/pro/woo.js +4 -4
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
- package/js/src/whitebit.d.ts +2 -2
- package/js/src/whitebit.js +24 -3
- package/js/src/woofipro.js +3 -1
- package/js/src/zaif.d.ts +1 -1
- package/js/src/zaif.js +30 -2
- package/js/src/zonda.js +6 -0
- package/package.json +1 -1
package/dist/cjs/src/pro/okx.js
CHANGED
|
@@ -1072,11 +1072,10 @@ class okx extends okx$1 {
|
|
|
1072
1072
|
}
|
|
1073
1073
|
}
|
|
1074
1074
|
else if ((channel === 'books5') || (channel === 'bbo-tbt')) {
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
orderbook = this.orderBook({}, limit);
|
|
1075
|
+
if (!(symbol in this.orderbooks)) {
|
|
1076
|
+
this.orderbooks[symbol] = this.orderBook({}, limit);
|
|
1078
1077
|
}
|
|
1079
|
-
this.orderbooks[symbol]
|
|
1078
|
+
const orderbook = this.orderbooks[symbol];
|
|
1080
1079
|
for (let i = 0; i < data.length; i++) {
|
|
1081
1080
|
const update = data[i];
|
|
1082
1081
|
const timestamp = this.safeInteger(update, 'ts');
|
package/dist/cjs/src/pro/woo.js
CHANGED
|
@@ -125,15 +125,15 @@ class woo extends woo$1 {
|
|
|
125
125
|
// }
|
|
126
126
|
// }
|
|
127
127
|
//
|
|
128
|
-
const data = this.
|
|
128
|
+
const data = this.safeDict(message, 'data');
|
|
129
129
|
const marketId = this.safeString(data, 'symbol');
|
|
130
130
|
const market = this.safeMarket(marketId);
|
|
131
131
|
const symbol = market['symbol'];
|
|
132
132
|
const topic = this.safeString(message, 'topic');
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
orderbook = this.orderBook({});
|
|
133
|
+
if (!(symbol in this.orderbooks)) {
|
|
134
|
+
this.orderbooks[symbol] = this.orderBook({});
|
|
136
135
|
}
|
|
136
|
+
const orderbook = this.orderbooks[symbol];
|
|
137
137
|
const timestamp = this.safeInteger(message, 'ts');
|
|
138
138
|
const snapshot = this.parseOrderBook(data, symbol, timestamp, 'bids', 'asks');
|
|
139
139
|
orderbook.reset(snapshot);
|
package/dist/cjs/src/whitebit.js
CHANGED
|
@@ -1419,7 +1419,27 @@ class whitebit extends whitebit$1 {
|
|
|
1419
1419
|
'market': market['id'],
|
|
1420
1420
|
'orderId': parseInt(id),
|
|
1421
1421
|
};
|
|
1422
|
-
|
|
1422
|
+
const response = await this.v4PrivatePostOrderCancel(this.extend(request, params));
|
|
1423
|
+
//
|
|
1424
|
+
// {
|
|
1425
|
+
// "orderId": 4180284841, // order id
|
|
1426
|
+
// "clientOrderId": "customId11", // custom order identifier; "clientOrderId": "" - if not specified.
|
|
1427
|
+
// "market": "BTC_USDT", // deal market
|
|
1428
|
+
// "side": "buy", // order side
|
|
1429
|
+
// "type": "stop market", // order type
|
|
1430
|
+
// "timestamp": 1595792396.165973, // current timestamp
|
|
1431
|
+
// "dealMoney": "0", // if order finished - amount in money currency that is finished
|
|
1432
|
+
// "dealStock": "0", // if order finished - amount in stock currency that is finished
|
|
1433
|
+
// "amount": "0.001", // amount
|
|
1434
|
+
// "takerFee": "0.001", // maker fee ratio. If the number less than 0.0001 - it will be rounded to zero
|
|
1435
|
+
// "makerFee": "0.001", // maker fee ratio. If the number less than 0.0001 - it will be rounded to zero
|
|
1436
|
+
// "left": "0.001", // if order not finished - rest of the amount that must be finished
|
|
1437
|
+
// "dealFee": "0", // fee in money that you pay if order is finished
|
|
1438
|
+
// "price": "40000", // price if price isset
|
|
1439
|
+
// "activation_price": "40000" // activation price if activation price is set
|
|
1440
|
+
// }
|
|
1441
|
+
//
|
|
1442
|
+
return this.parseOrder(response);
|
|
1423
1443
|
}
|
|
1424
1444
|
async cancelAllOrders(symbol = undefined, params = {}) {
|
|
1425
1445
|
/**
|
|
@@ -1464,7 +1484,7 @@ class whitebit extends whitebit$1 {
|
|
|
1464
1484
|
//
|
|
1465
1485
|
// []
|
|
1466
1486
|
//
|
|
1467
|
-
return response;
|
|
1487
|
+
return this.parseOrders(response, market);
|
|
1468
1488
|
}
|
|
1469
1489
|
async cancelAllOrdersAfter(timeout, params = {}) {
|
|
1470
1490
|
/**
|
|
@@ -1698,7 +1718,7 @@ class whitebit extends whitebit$1 {
|
|
|
1698
1718
|
}
|
|
1699
1719
|
parseOrder(order, market = undefined) {
|
|
1700
1720
|
//
|
|
1701
|
-
// createOrder, fetchOpenOrders
|
|
1721
|
+
// createOrder, fetchOpenOrders, cancelOrder
|
|
1702
1722
|
//
|
|
1703
1723
|
// {
|
|
1704
1724
|
// "orderId":105687928629,
|
|
@@ -1713,6 +1733,7 @@ class whitebit extends whitebit$1 {
|
|
|
1713
1733
|
// "takerFee":"0.001",
|
|
1714
1734
|
// "makerFee":"0",
|
|
1715
1735
|
// "left":"100",
|
|
1736
|
+
// "price": "40000", // price if price isset
|
|
1716
1737
|
// "dealFee":"0",
|
|
1717
1738
|
// "activation_price":"0.065" // stop price (if stop limit or stop market)
|
|
1718
1739
|
// }
|
package/dist/cjs/src/woofipro.js
CHANGED
|
@@ -2277,8 +2277,10 @@ class woofipro extends woofipro$1 {
|
|
|
2277
2277
|
}
|
|
2278
2278
|
signHash(hash, privateKey) {
|
|
2279
2279
|
const signature = crypto.ecdsa(hash.slice(-64), privateKey.slice(-64), secp256k1.secp256k1, undefined);
|
|
2280
|
+
const r = signature['r'];
|
|
2281
|
+
const s = signature['s'];
|
|
2280
2282
|
const v = this.intToBase16(this.sum(27, signature['v']));
|
|
2281
|
-
return '0x' +
|
|
2283
|
+
return '0x' + r.padStart(64, '0') + s.padStart(64, '0') + v;
|
|
2282
2284
|
}
|
|
2283
2285
|
signMessage(message, privateKey) {
|
|
2284
2286
|
return this.signHash(this.hashMessage(message), privateKey.slice(-64));
|
package/dist/cjs/src/zaif.js
CHANGED
|
@@ -476,7 +476,23 @@ class zaif extends zaif$1 {
|
|
|
476
476
|
const request = {
|
|
477
477
|
'order_id': id,
|
|
478
478
|
};
|
|
479
|
-
|
|
479
|
+
const response = await this.privatePostCancelOrder(this.extend(request, params));
|
|
480
|
+
//
|
|
481
|
+
// {
|
|
482
|
+
// "success": 1,
|
|
483
|
+
// "return": {
|
|
484
|
+
// "order_id": 184,
|
|
485
|
+
// "funds": {
|
|
486
|
+
// "jpy": 15320,
|
|
487
|
+
// "btc": 1.392,
|
|
488
|
+
// "mona": 2600,
|
|
489
|
+
// "kaori": 0.1
|
|
490
|
+
// }
|
|
491
|
+
// }
|
|
492
|
+
// }
|
|
493
|
+
//
|
|
494
|
+
const data = this.safeDict(response, 'return');
|
|
495
|
+
return this.parseOrder(data);
|
|
480
496
|
}
|
|
481
497
|
parseOrder(order, market = undefined) {
|
|
482
498
|
//
|
|
@@ -489,6 +505,18 @@ class zaif extends zaif$1 {
|
|
|
489
505
|
// "comment" : "demo"
|
|
490
506
|
// }
|
|
491
507
|
//
|
|
508
|
+
// cancelOrder
|
|
509
|
+
//
|
|
510
|
+
// {
|
|
511
|
+
// "order_id": 184,
|
|
512
|
+
// "funds": {
|
|
513
|
+
// "jpy": 15320,
|
|
514
|
+
// "btc": 1.392,
|
|
515
|
+
// "mona": 2600,
|
|
516
|
+
// "kaori": 0.1
|
|
517
|
+
// }
|
|
518
|
+
// }
|
|
519
|
+
//
|
|
492
520
|
let side = this.safeString(order, 'action');
|
|
493
521
|
side = (side === 'bid') ? 'buy' : 'sell';
|
|
494
522
|
const timestamp = this.safeTimestamp(order, 'timestamp');
|
|
@@ -496,7 +524,7 @@ class zaif extends zaif$1 {
|
|
|
496
524
|
const symbol = this.safeSymbol(marketId, market, '_');
|
|
497
525
|
const price = this.safeString(order, 'price');
|
|
498
526
|
const amount = this.safeString(order, 'amount');
|
|
499
|
-
const id = this.
|
|
527
|
+
const id = this.safeString2(order, 'id', 'order_id');
|
|
500
528
|
return this.safeOrder({
|
|
501
529
|
'id': id,
|
|
502
530
|
'clientOrderId': undefined,
|
package/dist/cjs/src/zonda.js
CHANGED
|
@@ -169,6 +169,10 @@ class zonda extends zonda$1 {
|
|
|
169
169
|
'balances/BITBAY/balance',
|
|
170
170
|
'fiat_cantor/rate/{baseId}/{quoteId}',
|
|
171
171
|
'fiat_cantor/history',
|
|
172
|
+
'client_payments/v2/customer/crypto/{currency}/channels/deposit',
|
|
173
|
+
'client_payments/v2/customer/crypto/{currency}/channels/withdrawal',
|
|
174
|
+
'client_payments/v2/customer/crypto/deposit/fee',
|
|
175
|
+
'client_payments/v2/customer/crypto/withdrawal/fee',
|
|
172
176
|
],
|
|
173
177
|
'post': [
|
|
174
178
|
'trading/offer/{symbol}',
|
|
@@ -179,6 +183,8 @@ class zonda extends zonda$1 {
|
|
|
179
183
|
'fiat_cantor/exchange',
|
|
180
184
|
'api_payments/withdrawals/crypto',
|
|
181
185
|
'api_payments/withdrawals/fiat',
|
|
186
|
+
'client_payments/v2/customer/crypto/deposit',
|
|
187
|
+
'client_payments/v2/customer/crypto/withdrawal',
|
|
182
188
|
],
|
|
183
189
|
'delete': [
|
|
184
190
|
'trading/offer/{symbol}/{id}/{side}/{price}',
|
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 { Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, Liquidation, FundingHistory, MarginMode, Greeks, Leverage, Leverages, Option, OptionChain, Conversion } from './src/base/types.js';
|
|
6
6
|
import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, ProxyError, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout } from './src/base/errors.js';
|
|
7
|
-
declare const version = "4.3.
|
|
7
|
+
declare const version = "4.3.36";
|
|
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, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, ProxyError, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout } 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.37';
|
|
42
42
|
Exchange.ccxtVersion = version;
|
|
43
43
|
//-----------------------------------------------------------------------------
|
|
44
44
|
import ace from './src/ace.js';
|
|
@@ -33,6 +33,10 @@ interface zonda {
|
|
|
33
33
|
v1_01PrivateGetBalancesBITBAYBalance(params?: {}): Promise<implicitReturnType>;
|
|
34
34
|
v1_01PrivateGetFiatCantorRateBaseIdQuoteId(params?: {}): Promise<implicitReturnType>;
|
|
35
35
|
v1_01PrivateGetFiatCantorHistory(params?: {}): Promise<implicitReturnType>;
|
|
36
|
+
v1_01PrivateGetClientPaymentsV2CustomerCryptoCurrencyChannelsDeposit(params?: {}): Promise<implicitReturnType>;
|
|
37
|
+
v1_01PrivateGetClientPaymentsV2CustomerCryptoCurrencyChannelsWithdrawal(params?: {}): Promise<implicitReturnType>;
|
|
38
|
+
v1_01PrivateGetClientPaymentsV2CustomerCryptoDepositFee(params?: {}): Promise<implicitReturnType>;
|
|
39
|
+
v1_01PrivateGetClientPaymentsV2CustomerCryptoWithdrawalFee(params?: {}): Promise<implicitReturnType>;
|
|
36
40
|
v1_01PrivatePostTradingOfferSymbol(params?: {}): Promise<implicitReturnType>;
|
|
37
41
|
v1_01PrivatePostTradingStopOfferSymbol(params?: {}): Promise<implicitReturnType>;
|
|
38
42
|
v1_01PrivatePostTradingConfigSymbol(params?: {}): Promise<implicitReturnType>;
|
|
@@ -41,6 +45,8 @@ interface zonda {
|
|
|
41
45
|
v1_01PrivatePostFiatCantorExchange(params?: {}): Promise<implicitReturnType>;
|
|
42
46
|
v1_01PrivatePostApiPaymentsWithdrawalsCrypto(params?: {}): Promise<implicitReturnType>;
|
|
43
47
|
v1_01PrivatePostApiPaymentsWithdrawalsFiat(params?: {}): Promise<implicitReturnType>;
|
|
48
|
+
v1_01PrivatePostClientPaymentsV2CustomerCryptoDeposit(params?: {}): Promise<implicitReturnType>;
|
|
49
|
+
v1_01PrivatePostClientPaymentsV2CustomerCryptoWithdrawal(params?: {}): Promise<implicitReturnType>;
|
|
44
50
|
v1_01PrivateDeleteTradingOfferSymbolIdSidePrice(params?: {}): Promise<implicitReturnType>;
|
|
45
51
|
v1_01PrivateDeleteTradingStopOfferSymbolIdSidePrice(params?: {}): Promise<implicitReturnType>;
|
|
46
52
|
v1_01PrivatePutBalancesBITBAYBalanceId(params?: {}): Promise<implicitReturnType>;
|
|
@@ -33,6 +33,10 @@ interface Exchange {
|
|
|
33
33
|
v1_01PrivateGetBalancesBITBAYBalance(params?: {}): Promise<implicitReturnType>;
|
|
34
34
|
v1_01PrivateGetFiatCantorRateBaseIdQuoteId(params?: {}): Promise<implicitReturnType>;
|
|
35
35
|
v1_01PrivateGetFiatCantorHistory(params?: {}): Promise<implicitReturnType>;
|
|
36
|
+
v1_01PrivateGetClientPaymentsV2CustomerCryptoCurrencyChannelsDeposit(params?: {}): Promise<implicitReturnType>;
|
|
37
|
+
v1_01PrivateGetClientPaymentsV2CustomerCryptoCurrencyChannelsWithdrawal(params?: {}): Promise<implicitReturnType>;
|
|
38
|
+
v1_01PrivateGetClientPaymentsV2CustomerCryptoDepositFee(params?: {}): Promise<implicitReturnType>;
|
|
39
|
+
v1_01PrivateGetClientPaymentsV2CustomerCryptoWithdrawalFee(params?: {}): Promise<implicitReturnType>;
|
|
36
40
|
v1_01PrivatePostTradingOfferSymbol(params?: {}): Promise<implicitReturnType>;
|
|
37
41
|
v1_01PrivatePostTradingStopOfferSymbol(params?: {}): Promise<implicitReturnType>;
|
|
38
42
|
v1_01PrivatePostTradingConfigSymbol(params?: {}): Promise<implicitReturnType>;
|
|
@@ -41,6 +45,8 @@ interface Exchange {
|
|
|
41
45
|
v1_01PrivatePostFiatCantorExchange(params?: {}): Promise<implicitReturnType>;
|
|
42
46
|
v1_01PrivatePostApiPaymentsWithdrawalsCrypto(params?: {}): Promise<implicitReturnType>;
|
|
43
47
|
v1_01PrivatePostApiPaymentsWithdrawalsFiat(params?: {}): Promise<implicitReturnType>;
|
|
48
|
+
v1_01PrivatePostClientPaymentsV2CustomerCryptoDeposit(params?: {}): Promise<implicitReturnType>;
|
|
49
|
+
v1_01PrivatePostClientPaymentsV2CustomerCryptoWithdrawal(params?: {}): Promise<implicitReturnType>;
|
|
44
50
|
v1_01PrivateDeleteTradingOfferSymbolIdSidePrice(params?: {}): Promise<implicitReturnType>;
|
|
45
51
|
v1_01PrivateDeleteTradingStopOfferSymbolIdSidePrice(params?: {}): Promise<implicitReturnType>;
|
|
46
52
|
v1_01PrivatePutBalancesBITBAYBalanceId(params?: {}): Promise<implicitReturnType>;
|
package/js/src/bingx.d.ts
CHANGED
|
@@ -77,8 +77,8 @@ export default class bingx extends Exchange {
|
|
|
77
77
|
parseOrder(order: Dict, market?: Market): Order;
|
|
78
78
|
parseOrderStatus(status: Str): string;
|
|
79
79
|
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
80
|
-
cancelAllOrders(symbol?: Str, params?: {}): Promise<
|
|
81
|
-
cancelOrders(ids: string[], symbol?: Str, params?: {}): Promise<
|
|
80
|
+
cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
|
|
81
|
+
cancelOrders(ids: string[], symbol?: Str, params?: {}): Promise<Order[]>;
|
|
82
82
|
cancelAllOrdersAfter(timeout: Int, params?: {}): Promise<any>;
|
|
83
83
|
fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
84
84
|
fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
package/js/src/bingx.js
CHANGED
|
@@ -1039,7 +1039,7 @@ export default class bingx extends Exchange {
|
|
|
1039
1039
|
time = undefined;
|
|
1040
1040
|
}
|
|
1041
1041
|
const cost = this.safeString(trade, 'quoteQty');
|
|
1042
|
-
const type = (cost === undefined) ? 'spot' : 'swap';
|
|
1042
|
+
// const type = (cost === undefined) ? 'spot' : 'swap'; this is not reliable
|
|
1043
1043
|
const currencyId = this.safeStringN(trade, ['currency', 'N', 'commissionAsset']);
|
|
1044
1044
|
const currencyCode = this.safeCurrencyCode(currencyId);
|
|
1045
1045
|
const m = this.safeBool(trade, 'm');
|
|
@@ -1076,7 +1076,7 @@ export default class bingx extends Exchange {
|
|
|
1076
1076
|
'info': trade,
|
|
1077
1077
|
'timestamp': time,
|
|
1078
1078
|
'datetime': this.iso8601(time),
|
|
1079
|
-
'symbol': this.safeSymbol(marketId, market, '-'
|
|
1079
|
+
'symbol': this.safeSymbol(marketId, market, '-'),
|
|
1080
1080
|
'order': this.safeString2(trade, 'orderId', 'i'),
|
|
1081
1081
|
'type': this.safeStringLower(trade, 'o'),
|
|
1082
1082
|
'side': this.parseOrderSide(side),
|
|
@@ -2736,7 +2736,9 @@ export default class bingx extends Exchange {
|
|
|
2736
2736
|
else {
|
|
2737
2737
|
throw new BadRequest(this.id + ' cancelAllOrders is only supported for spot and swap markets.');
|
|
2738
2738
|
}
|
|
2739
|
-
|
|
2739
|
+
const data = this.safeDict(response, 'data', {});
|
|
2740
|
+
const orders = this.safeList2(data, 'success', 'orders', []);
|
|
2741
|
+
return this.parseOrders(orders);
|
|
2740
2742
|
}
|
|
2741
2743
|
async cancelOrders(ids, symbol = undefined, params = {}) {
|
|
2742
2744
|
/**
|
|
@@ -2777,6 +2779,32 @@ export default class bingx extends Exchange {
|
|
|
2777
2779
|
const spotReqKey = areClientOrderIds ? 'clientOrderIDs' : 'orderIds';
|
|
2778
2780
|
request[spotReqKey] = parsedIds.join(',');
|
|
2779
2781
|
response = await this.spotV1PrivatePostTradeCancelOrders(this.extend(request, params));
|
|
2782
|
+
//
|
|
2783
|
+
// {
|
|
2784
|
+
// "code": 0,
|
|
2785
|
+
// "msg": "",
|
|
2786
|
+
// "debugMsg": "",
|
|
2787
|
+
// "data": {
|
|
2788
|
+
// "orders": [
|
|
2789
|
+
// {
|
|
2790
|
+
// "symbol": "SOL-USDT",
|
|
2791
|
+
// "orderId": 1795970045910614016,
|
|
2792
|
+
// "transactTime": 1717027601111,
|
|
2793
|
+
// "price": "180.25",
|
|
2794
|
+
// "stopPrice": "0",
|
|
2795
|
+
// "origQty": "0.03",
|
|
2796
|
+
// "executedQty": "0",
|
|
2797
|
+
// "cummulativeQuoteQty": "0",
|
|
2798
|
+
// "status": "CANCELED",
|
|
2799
|
+
// "type": "LIMIT",
|
|
2800
|
+
// "side": "SELL",
|
|
2801
|
+
// "clientOrderID": ""
|
|
2802
|
+
// },
|
|
2803
|
+
// ...
|
|
2804
|
+
// ]
|
|
2805
|
+
// }
|
|
2806
|
+
// }
|
|
2807
|
+
//
|
|
2780
2808
|
}
|
|
2781
2809
|
else {
|
|
2782
2810
|
if (areClientOrderIds) {
|
|
@@ -2786,37 +2814,39 @@ export default class bingx extends Exchange {
|
|
|
2786
2814
|
request['orderIdList'] = parsedIds;
|
|
2787
2815
|
}
|
|
2788
2816
|
response = await this.swapV2PrivateDeleteTradeBatchOrders(this.extend(request, params));
|
|
2817
|
+
//
|
|
2818
|
+
// {
|
|
2819
|
+
// "code": 0,
|
|
2820
|
+
// "msg": "",
|
|
2821
|
+
// "data": {
|
|
2822
|
+
// "success": [
|
|
2823
|
+
// {
|
|
2824
|
+
// "symbol": "LINK-USDT",
|
|
2825
|
+
// "orderId": 1597783850786750464,
|
|
2826
|
+
// "side": "BUY",
|
|
2827
|
+
// "positionSide": "LONG",
|
|
2828
|
+
// "type": "TRIGGER_MARKET",
|
|
2829
|
+
// "origQty": "5.0",
|
|
2830
|
+
// "price": "5.5710",
|
|
2831
|
+
// "executedQty": "0.0",
|
|
2832
|
+
// "avgPrice": "0.0000",
|
|
2833
|
+
// "cumQuote": "0",
|
|
2834
|
+
// "stopPrice": "5.0000",
|
|
2835
|
+
// "profit": "0.0000",
|
|
2836
|
+
// "commission": "0.000000",
|
|
2837
|
+
// "status": "CANCELLED",
|
|
2838
|
+
// "time": 1669776330000,
|
|
2839
|
+
// "updateTime": 1672370837000
|
|
2840
|
+
// }
|
|
2841
|
+
// ],
|
|
2842
|
+
// "failed": null
|
|
2843
|
+
// }
|
|
2844
|
+
// }
|
|
2845
|
+
//
|
|
2789
2846
|
}
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
// "msg": "",
|
|
2794
|
-
// "data": {
|
|
2795
|
-
// "success": [
|
|
2796
|
-
// {
|
|
2797
|
-
// "symbol": "LINK-USDT",
|
|
2798
|
-
// "orderId": 1597783850786750464,
|
|
2799
|
-
// "side": "BUY",
|
|
2800
|
-
// "positionSide": "LONG",
|
|
2801
|
-
// "type": "TRIGGER_MARKET",
|
|
2802
|
-
// "origQty": "5.0",
|
|
2803
|
-
// "price": "5.5710",
|
|
2804
|
-
// "executedQty": "0.0",
|
|
2805
|
-
// "avgPrice": "0.0000",
|
|
2806
|
-
// "cumQuote": "0",
|
|
2807
|
-
// "stopPrice": "5.0000",
|
|
2808
|
-
// "profit": "0.0000",
|
|
2809
|
-
// "commission": "0.000000",
|
|
2810
|
-
// "status": "CANCELLED",
|
|
2811
|
-
// "time": 1669776330000,
|
|
2812
|
-
// "updateTime": 1672370837000
|
|
2813
|
-
// }
|
|
2814
|
-
// ],
|
|
2815
|
-
// "failed": null
|
|
2816
|
-
// }
|
|
2817
|
-
// }
|
|
2818
|
-
//
|
|
2819
|
-
return response;
|
|
2847
|
+
const data = this.safeDict(response, 'data', {});
|
|
2848
|
+
const success = this.safeList2(data, 'success', 'orders', []);
|
|
2849
|
+
return this.parseOrders(success);
|
|
2820
2850
|
}
|
|
2821
2851
|
async cancelAllOrdersAfter(timeout, params = {}) {
|
|
2822
2852
|
/**
|
package/js/src/bit2c.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export default class bit2c extends Exchange {
|
|
|
14
14
|
fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
15
15
|
fetchTradingFees(params?: {}): Promise<TradingFees>;
|
|
16
16
|
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
|
|
17
|
-
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<
|
|
17
|
+
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
18
18
|
fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
19
19
|
fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
20
20
|
parseOrder(order: Dict, market?: Market): Order;
|
package/js/src/bit2c.js
CHANGED
|
@@ -467,7 +467,8 @@ export default class bit2c extends Exchange {
|
|
|
467
467
|
const request = {
|
|
468
468
|
'id': id,
|
|
469
469
|
};
|
|
470
|
-
|
|
470
|
+
const response = await this.privatePostOrderCancelOrder(this.extend(request, params));
|
|
471
|
+
return this.parseOrder(response);
|
|
471
472
|
}
|
|
472
473
|
async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
473
474
|
/**
|
package/js/src/bitbank.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export default class bitbank extends Exchange {
|
|
|
21
21
|
parseOrderStatus(status: Str): string;
|
|
22
22
|
parseOrder(order: Dict, market?: Market): Order;
|
|
23
23
|
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
|
|
24
|
-
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<
|
|
24
|
+
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
25
25
|
fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
26
26
|
fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
27
27
|
fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
package/js/src/bitbank.js
CHANGED
|
@@ -688,8 +688,31 @@ export default class bitbank extends Exchange {
|
|
|
688
688
|
'pair': market['id'],
|
|
689
689
|
};
|
|
690
690
|
const response = await this.privatePostUserSpotCancelOrder(this.extend(request, params));
|
|
691
|
+
//
|
|
692
|
+
// {
|
|
693
|
+
// "success": 1,
|
|
694
|
+
// "data": {
|
|
695
|
+
// "order_id": 0,
|
|
696
|
+
// "pair": "string",
|
|
697
|
+
// "side": "string",
|
|
698
|
+
// "type": "string",
|
|
699
|
+
// "start_amount": "string",
|
|
700
|
+
// "remaining_amount": "string",
|
|
701
|
+
// "executed_amount": "string",
|
|
702
|
+
// "price": "string",
|
|
703
|
+
// "post_only": false,
|
|
704
|
+
// "average_price": "string",
|
|
705
|
+
// "ordered_at": 0,
|
|
706
|
+
// "expire_at": 0,
|
|
707
|
+
// "canceled_at": 0,
|
|
708
|
+
// "triggered_at": 0,
|
|
709
|
+
// "trigger_price": "string",
|
|
710
|
+
// "status": "string"
|
|
711
|
+
// }
|
|
712
|
+
// }
|
|
713
|
+
//
|
|
691
714
|
const data = this.safeValue(response, 'data');
|
|
692
|
-
return data;
|
|
715
|
+
return this.parseOrder(data);
|
|
693
716
|
}
|
|
694
717
|
async fetchOrder(id, symbol = undefined, params = {}) {
|
|
695
718
|
/**
|
|
@@ -708,6 +731,28 @@ export default class bitbank extends Exchange {
|
|
|
708
731
|
'pair': market['id'],
|
|
709
732
|
};
|
|
710
733
|
const response = await this.privateGetUserSpotOrder(this.extend(request, params));
|
|
734
|
+
//
|
|
735
|
+
// {
|
|
736
|
+
// "success": 1,
|
|
737
|
+
// "data": {
|
|
738
|
+
// "order_id": 0,
|
|
739
|
+
// "pair": "string",
|
|
740
|
+
// "side": "string",
|
|
741
|
+
// "type": "string",
|
|
742
|
+
// "start_amount": "string",
|
|
743
|
+
// "remaining_amount": "string",
|
|
744
|
+
// "executed_amount": "string",
|
|
745
|
+
// "price": "string",
|
|
746
|
+
// "post_only": false,
|
|
747
|
+
// "average_price": "string",
|
|
748
|
+
// "ordered_at": 0,
|
|
749
|
+
// "expire_at": 0,
|
|
750
|
+
// "triggered_at": 0,
|
|
751
|
+
// "triger_price": "string",
|
|
752
|
+
// "status": "string"
|
|
753
|
+
// }
|
|
754
|
+
// }
|
|
755
|
+
//
|
|
711
756
|
const data = this.safeDict(response, 'data');
|
|
712
757
|
return this.parseOrder(data, market);
|
|
713
758
|
}
|
package/js/src/bitget.js
CHANGED
|
@@ -1231,6 +1231,7 @@ export default class bitget extends Exchange {
|
|
|
1231
1231
|
'40712': InsufficientFunds,
|
|
1232
1232
|
'40713': ExchangeError,
|
|
1233
1233
|
'40714': ExchangeError,
|
|
1234
|
+
'40762': InsufficientFunds,
|
|
1234
1235
|
'40768': OrderNotFound,
|
|
1235
1236
|
'41114': OnMaintenance,
|
|
1236
1237
|
'43011': InvalidOrder,
|
|
@@ -4346,11 +4347,17 @@ export default class bitget extends Exchange {
|
|
|
4346
4347
|
}
|
|
4347
4348
|
const marginModeRequest = (marginMode === 'cross') ? 'crossed' : 'isolated';
|
|
4348
4349
|
request['marginMode'] = marginModeRequest;
|
|
4349
|
-
|
|
4350
|
-
params = this.
|
|
4350
|
+
let hedged = undefined;
|
|
4351
|
+
[hedged, params] = this.handleParamBool(params, 'hedged', false);
|
|
4352
|
+
// backward compatibility for `oneWayMode`
|
|
4353
|
+
let oneWayMode = undefined;
|
|
4354
|
+
[oneWayMode, params] = this.handleParamBool(params, 'oneWayMode');
|
|
4355
|
+
if (oneWayMode !== undefined) {
|
|
4356
|
+
hedged = !oneWayMode;
|
|
4357
|
+
}
|
|
4351
4358
|
let requestSide = side;
|
|
4352
4359
|
if (reduceOnly) {
|
|
4353
|
-
if (
|
|
4360
|
+
if (!hedged) {
|
|
4354
4361
|
request['reduceOnly'] = 'YES';
|
|
4355
4362
|
}
|
|
4356
4363
|
else {
|
|
@@ -4360,7 +4367,7 @@ export default class bitget extends Exchange {
|
|
|
4360
4367
|
}
|
|
4361
4368
|
}
|
|
4362
4369
|
else {
|
|
4363
|
-
if (
|
|
4370
|
+
if (hedged) {
|
|
4364
4371
|
request['tradeSide'] = 'Open';
|
|
4365
4372
|
}
|
|
4366
4373
|
}
|
package/js/src/bitmart.js
CHANGED
|
@@ -1185,9 +1185,9 @@ export default class bitmart extends Exchange {
|
|
|
1185
1185
|
market = this.safeMarket(marketId, market);
|
|
1186
1186
|
const symbol = market['symbol'];
|
|
1187
1187
|
const last = this.safeString2(ticker, 'close_24h', 'last_price');
|
|
1188
|
-
let percentage =
|
|
1188
|
+
let percentage = this.safeString(ticker, 'price_change_percent_24h');
|
|
1189
1189
|
if (percentage === undefined) {
|
|
1190
|
-
percentage = Precise.
|
|
1190
|
+
percentage = Precise.stringMul(this.safeString(ticker, 'fluctuation'), '100');
|
|
1191
1191
|
}
|
|
1192
1192
|
let baseVolume = this.safeString(ticker, 'base_volume_24h');
|
|
1193
1193
|
let quoteVolume = this.safeString(ticker, 'quote_volume_24h');
|
package/js/src/htx.d.ts
CHANGED
|
@@ -238,5 +238,6 @@ export default class htx extends Exchange {
|
|
|
238
238
|
};
|
|
239
239
|
fetchLiquidations(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Liquidation[]>;
|
|
240
240
|
parseLiquidation(liquidation: any, market?: Market): import("./base/types.js").Liquidation;
|
|
241
|
+
closePosition(symbol: string, side?: OrderSide, params?: {}): Promise<Order>;
|
|
241
242
|
setPositionMode(hedged: boolean, symbol?: Str, params?: {}): Promise<any>;
|
|
242
243
|
}
|