ccxt 4.4.44 → 4.4.46
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 +15 -15
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ascendex.js +20 -1
- package/dist/cjs/src/binance.js +161 -39
- package/dist/cjs/src/bingx.js +15 -9
- package/dist/cjs/src/bitfinex.js +1 -1
- package/dist/cjs/src/bitget.js +105 -42
- package/dist/cjs/src/bitmart.js +3 -3
- package/dist/cjs/src/bitmex.js +1 -1
- package/dist/cjs/src/blofin.js +22 -0
- package/dist/cjs/src/bybit.js +85 -41
- package/dist/cjs/src/coinbase.js +1 -1
- package/dist/cjs/src/coinex.js +1 -1
- package/dist/cjs/src/cryptocom.js +1 -1
- package/dist/cjs/src/delta.js +10 -4
- package/dist/cjs/src/exmo.js +18 -8
- package/dist/cjs/src/gate.js +1 -2
- package/dist/cjs/src/hashkey.js +7 -1
- package/dist/cjs/src/htx.js +2 -2
- package/dist/cjs/src/hyperliquid.js +3 -4
- package/dist/cjs/src/kraken.js +1 -1
- package/dist/cjs/src/krakenfutures.js +1 -1
- package/dist/cjs/src/kucoin.js +1 -1
- package/dist/cjs/src/kucoinfutures.js +2 -3
- package/dist/cjs/src/lykke.js +1 -1
- package/dist/cjs/src/mexc.js +3 -2
- package/dist/cjs/src/myokx.js +8 -0
- package/dist/cjs/src/okx.js +4 -4
- package/dist/cjs/src/onetrading.js +24 -5
- package/dist/cjs/src/pro/binance.js +2 -1
- package/dist/cjs/src/pro/coinex.js +1 -1
- package/dist/cjs/src/pro/myokx.js +5 -0
- package/dist/cjs/src/whitebit.js +34 -8
- package/dist/cjs/src/woo.js +1 -1
- package/dist/cjs/src/woofipro.js +2 -2
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/blofin.d.ts +22 -0
- package/js/src/ascendex.d.ts +1 -0
- package/js/src/ascendex.js +20 -1
- package/js/src/binance.d.ts +4 -0
- package/js/src/binance.js +161 -39
- package/js/src/bingx.js +15 -9
- package/js/src/bitfinex.js +1 -1
- package/js/src/bitget.js +105 -42
- package/js/src/bitmart.js +3 -3
- package/js/src/bitmex.js +1 -1
- package/js/src/blofin.js +22 -0
- package/js/src/bybit.js +85 -41
- package/js/src/coinbase.js +1 -1
- package/js/src/coinex.js +1 -1
- package/js/src/cryptocom.js +1 -1
- package/js/src/delta.d.ts +2 -1
- package/js/src/delta.js +10 -4
- package/js/src/exmo.d.ts +1 -0
- package/js/src/exmo.js +18 -8
- package/js/src/gate.js +1 -2
- package/js/src/hashkey.js +7 -1
- package/js/src/htx.js +2 -2
- package/js/src/hyperliquid.js +3 -4
- package/js/src/kraken.js +1 -1
- package/js/src/krakenfutures.js +1 -1
- package/js/src/kucoin.js +1 -1
- package/js/src/kucoinfutures.js +2 -3
- package/js/src/lykke.js +1 -1
- package/js/src/mexc.js +3 -2
- package/js/src/myokx.js +8 -0
- package/js/src/okx.js +4 -4
- package/js/src/onetrading.d.ts +2 -1
- package/js/src/onetrading.js +24 -5
- package/js/src/pro/binance.js +2 -1
- package/js/src/pro/coinex.js +1 -1
- package/js/src/pro/myokx.js +5 -0
- package/js/src/whitebit.d.ts +2 -1
- package/js/src/whitebit.js +34 -8
- package/js/src/woo.js +1 -1
- package/js/src/woofipro.js +2 -2
- package/package.json +1 -1
package/js/src/onetrading.js
CHANGED
|
@@ -278,7 +278,9 @@ export default class onetrading extends Exchange {
|
|
|
278
278
|
'CF_RATELIMIT': DDoSProtection,
|
|
279
279
|
'INTERNAL_SERVER_ERROR': ExchangeError,
|
|
280
280
|
},
|
|
281
|
-
'broad': {
|
|
281
|
+
'broad': {
|
|
282
|
+
'Order not found.': OrderNotFound,
|
|
283
|
+
},
|
|
282
284
|
},
|
|
283
285
|
'commonCurrencies': {
|
|
284
286
|
'MIOTA': 'IOTA', // https://github.com/ccxt/ccxt/issues/7487
|
|
@@ -867,7 +869,8 @@ export default class onetrading extends Exchange {
|
|
|
867
869
|
// {"instrument_code":"BTC_EUR","granularity":{"unit":"HOURS","period":1},"high":"9135.7","low":"9002.59","open":"9055.45","close":"9133.98","total_amount":"26.21919","volume":"238278.8724959","time":"2020-05-09T00:59:59.999Z","last_sequence":461521},
|
|
868
870
|
// ]
|
|
869
871
|
//
|
|
870
|
-
|
|
872
|
+
const ohlcv = this.safeList(response, 'candlesticks');
|
|
873
|
+
return this.parseOHLCVs(ohlcv, market, timeframe, since, limit);
|
|
871
874
|
}
|
|
872
875
|
parseTrade(trade, market = undefined) {
|
|
873
876
|
//
|
|
@@ -1004,6 +1007,7 @@ export default class onetrading extends Exchange {
|
|
|
1004
1007
|
'CLOSED': 'canceled',
|
|
1005
1008
|
'FAILED': 'failed',
|
|
1006
1009
|
'STOP_TRIGGERED': 'triggered',
|
|
1010
|
+
'DONE': 'closed',
|
|
1007
1011
|
};
|
|
1008
1012
|
return this.safeString(statuses, status, status);
|
|
1009
1013
|
}
|
|
@@ -1098,7 +1102,7 @@ export default class onetrading extends Exchange {
|
|
|
1098
1102
|
'datetime': this.iso8601(timestamp),
|
|
1099
1103
|
'lastTradeTimestamp': undefined,
|
|
1100
1104
|
'symbol': symbol,
|
|
1101
|
-
'type': type,
|
|
1105
|
+
'type': this.parseOrderType(type),
|
|
1102
1106
|
'timeInForce': timeInForce,
|
|
1103
1107
|
'postOnly': postOnly,
|
|
1104
1108
|
'side': side,
|
|
@@ -1114,6 +1118,12 @@ export default class onetrading extends Exchange {
|
|
|
1114
1118
|
'trades': rawTrades,
|
|
1115
1119
|
}, market);
|
|
1116
1120
|
}
|
|
1121
|
+
parseOrderType(type) {
|
|
1122
|
+
const types = {
|
|
1123
|
+
'booked': 'limit',
|
|
1124
|
+
};
|
|
1125
|
+
return this.safeString(types, type, type);
|
|
1126
|
+
}
|
|
1117
1127
|
parseTimeInForce(timeInForce) {
|
|
1118
1128
|
const timeInForces = {
|
|
1119
1129
|
'GOOD_TILL_CANCELLED': 'GTC',
|
|
@@ -1177,6 +1187,9 @@ export default class onetrading extends Exchange {
|
|
|
1177
1187
|
request['client_id'] = clientOrderId;
|
|
1178
1188
|
params = this.omit(params, ['clientOrderId', 'client_id']);
|
|
1179
1189
|
}
|
|
1190
|
+
const timeInForce = this.safeString2(params, 'timeInForce', 'time_in_force', 'GOOD_TILL_CANCELLED');
|
|
1191
|
+
params = this.omit(params, 'timeInForce');
|
|
1192
|
+
request['time_in_force'] = timeInForce;
|
|
1180
1193
|
const response = await this.privatePostAccountOrders(this.extend(request, params));
|
|
1181
1194
|
//
|
|
1182
1195
|
// {
|
|
@@ -1218,11 +1231,17 @@ export default class onetrading extends Exchange {
|
|
|
1218
1231
|
else {
|
|
1219
1232
|
request['order_id'] = id;
|
|
1220
1233
|
}
|
|
1221
|
-
|
|
1234
|
+
let response = undefined;
|
|
1235
|
+
if (method === 'privateDeleteAccountOrdersOrderId') {
|
|
1236
|
+
response = await this.privateDeleteAccountOrdersOrderId(this.extend(request, params));
|
|
1237
|
+
}
|
|
1238
|
+
else {
|
|
1239
|
+
response = await this.privateDeleteAccountOrdersClientClientId(this.extend(request, params));
|
|
1240
|
+
}
|
|
1222
1241
|
//
|
|
1223
1242
|
// responds with an empty body
|
|
1224
1243
|
//
|
|
1225
|
-
return response;
|
|
1244
|
+
return this.parseOrder(response);
|
|
1226
1245
|
}
|
|
1227
1246
|
/**
|
|
1228
1247
|
* @method
|
package/js/src/pro/binance.js
CHANGED
|
@@ -4277,7 +4277,8 @@ export default class binance extends binanceRest {
|
|
|
4277
4277
|
client.reject(message, id);
|
|
4278
4278
|
}
|
|
4279
4279
|
// reset connection if 5xx error
|
|
4280
|
-
|
|
4280
|
+
const codeString = this.safeString(error, 'code');
|
|
4281
|
+
if ((codeString !== undefined) && (codeString[0] === '5')) {
|
|
4281
4282
|
client.reset(message);
|
|
4282
4283
|
}
|
|
4283
4284
|
}
|
package/js/src/pro/coinex.js
CHANGED
|
@@ -1289,7 +1289,7 @@ export default class coinex extends coinexRest {
|
|
|
1289
1289
|
const defaultType = this.safeString(this.options, 'defaultType');
|
|
1290
1290
|
const marketId = this.safeString(ticker, 'market');
|
|
1291
1291
|
market = this.safeMarket(marketId, market, undefined, defaultType);
|
|
1292
|
-
const timestamp = this.
|
|
1292
|
+
const timestamp = this.safeInteger(ticker, 'updated_at');
|
|
1293
1293
|
return this.safeTicker({
|
|
1294
1294
|
'symbol': this.safeSymbol(marketId, market, undefined, defaultType),
|
|
1295
1295
|
'timestamp': timestamp,
|
package/js/src/pro/myokx.js
CHANGED
package/js/src/whitebit.d.ts
CHANGED
|
@@ -76,8 +76,9 @@ export default class whitebit extends Exchange {
|
|
|
76
76
|
* @name whitebit#fetchTickers
|
|
77
77
|
* @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
78
78
|
* @see https://docs.whitebit.com/public/http-v4/#market-activity
|
|
79
|
-
* @param {string[]
|
|
79
|
+
* @param {string[]} [symbols] unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
80
80
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
81
|
+
* @param {string} [params.method] either v2PublicGetTicker or v4PublicGetTicker default is v4PublicGetTicker
|
|
81
82
|
* @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
82
83
|
*/
|
|
83
84
|
fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
package/js/src/whitebit.js
CHANGED
|
@@ -821,9 +821,22 @@ export default class whitebit extends Exchange {
|
|
|
821
821
|
// "last": "55913.88",
|
|
822
822
|
// "period": 86400
|
|
823
823
|
// }
|
|
824
|
-
|
|
824
|
+
// v2
|
|
825
|
+
// {
|
|
826
|
+
// lastUpdateTimestamp: '2025-01-02T09:16:36.000Z',
|
|
827
|
+
// tradingPairs: 'ARB_USDC',
|
|
828
|
+
// lastPrice: '0.7727',
|
|
829
|
+
// lowestAsk: '0.7735',
|
|
830
|
+
// highestBid: '0.7732',
|
|
831
|
+
// baseVolume24h: '1555793.74',
|
|
832
|
+
// quoteVolume24h: '1157602.622406',
|
|
833
|
+
// tradesEnabled: true
|
|
834
|
+
// }
|
|
835
|
+
//
|
|
836
|
+
const marketId = this.safeString(ticker, 'tradingPairs');
|
|
837
|
+
market = this.safeMarket(marketId, market);
|
|
825
838
|
// last price is provided as "last" or "last_price"
|
|
826
|
-
const last = this.
|
|
839
|
+
const last = this.safeStringN(ticker, ['last', 'last_price', 'lastPrice']);
|
|
827
840
|
// if "close" is provided, use it, otherwise use <last>
|
|
828
841
|
const close = this.safeString(ticker, 'close', last);
|
|
829
842
|
return this.safeTicker({
|
|
@@ -832,9 +845,9 @@ export default class whitebit extends Exchange {
|
|
|
832
845
|
'datetime': undefined,
|
|
833
846
|
'high': this.safeString(ticker, 'high'),
|
|
834
847
|
'low': this.safeString(ticker, 'low'),
|
|
835
|
-
'bid': this.
|
|
848
|
+
'bid': this.safeString2(ticker, 'bid', 'highestBid'),
|
|
836
849
|
'bidVolume': undefined,
|
|
837
|
-
'ask': this.
|
|
850
|
+
'ask': this.safeString2(ticker, 'ask', 'lowestAsk'),
|
|
838
851
|
'askVolume': undefined,
|
|
839
852
|
'vwap': undefined,
|
|
840
853
|
'open': this.safeString(ticker, 'open'),
|
|
@@ -844,8 +857,8 @@ export default class whitebit extends Exchange {
|
|
|
844
857
|
'change': undefined,
|
|
845
858
|
'percentage': this.safeString(ticker, 'change'),
|
|
846
859
|
'average': undefined,
|
|
847
|
-
'baseVolume': this.
|
|
848
|
-
'quoteVolume': this.
|
|
860
|
+
'baseVolume': this.safeStringN(ticker, ['base_volume', 'volume', 'baseVolume24h']),
|
|
861
|
+
'quoteVolume': this.safeStringN(ticker, ['quote_volume', 'deal', 'quoteVolume24h']),
|
|
849
862
|
'info': ticker,
|
|
850
863
|
}, market);
|
|
851
864
|
}
|
|
@@ -854,14 +867,23 @@ export default class whitebit extends Exchange {
|
|
|
854
867
|
* @name whitebit#fetchTickers
|
|
855
868
|
* @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
856
869
|
* @see https://docs.whitebit.com/public/http-v4/#market-activity
|
|
857
|
-
* @param {string[]
|
|
870
|
+
* @param {string[]} [symbols] unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
858
871
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
872
|
+
* @param {string} [params.method] either v2PublicGetTicker or v4PublicGetTicker default is v4PublicGetTicker
|
|
859
873
|
* @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
860
874
|
*/
|
|
861
875
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
862
876
|
await this.loadMarkets();
|
|
863
877
|
symbols = this.marketSymbols(symbols);
|
|
864
|
-
|
|
878
|
+
let method = 'v4PublicGetTicker';
|
|
879
|
+
[method, params] = this.handleOptionAndParams(params, 'fetchTickers', 'method', method);
|
|
880
|
+
let response = undefined;
|
|
881
|
+
if (method === 'v4PublicGetTicker') {
|
|
882
|
+
response = await this.v4PublicGetTicker(params);
|
|
883
|
+
}
|
|
884
|
+
else {
|
|
885
|
+
response = await this.v2PublicGetTicker(params);
|
|
886
|
+
}
|
|
865
887
|
//
|
|
866
888
|
// "BCH_RUB": {
|
|
867
889
|
// "base_id":1831,
|
|
@@ -873,6 +895,10 @@ export default class whitebit extends Exchange {
|
|
|
873
895
|
// "change":"2.12"
|
|
874
896
|
// },
|
|
875
897
|
//
|
|
898
|
+
const resultList = this.safeList(response, 'result');
|
|
899
|
+
if (resultList !== undefined) {
|
|
900
|
+
return this.parseTickers(resultList, symbols);
|
|
901
|
+
}
|
|
876
902
|
const marketIds = Object.keys(response);
|
|
877
903
|
const result = {};
|
|
878
904
|
for (let i = 0; i < marketIds.length; i++) {
|
package/js/src/woo.js
CHANGED
|
@@ -371,7 +371,7 @@ export default class woo extends Exchange {
|
|
|
371
371
|
'fetchClosedOrders': {
|
|
372
372
|
'marginMode': false,
|
|
373
373
|
'limit': 500,
|
|
374
|
-
'
|
|
374
|
+
'daysBack': undefined,
|
|
375
375
|
'daysBackCanceled': undefined,
|
|
376
376
|
'untilDays': 100000,
|
|
377
377
|
'trigger': true,
|
package/js/src/woofipro.js
CHANGED
|
@@ -353,7 +353,7 @@ export default class woofipro extends Exchange {
|
|
|
353
353
|
'fetchClosedOrders': {
|
|
354
354
|
'marginMode': false,
|
|
355
355
|
'limit': 500,
|
|
356
|
-
'
|
|
356
|
+
'daysBack': undefined,
|
|
357
357
|
'daysBackCanceled': undefined,
|
|
358
358
|
'untilDays': 100000,
|
|
359
359
|
'trigger': true,
|
|
@@ -374,7 +374,7 @@ export default class woofipro extends Exchange {
|
|
|
374
374
|
'attachedStopLossTakeProfit': {
|
|
375
375
|
// todo: implementation needs unification
|
|
376
376
|
'triggerPriceType': undefined,
|
|
377
|
-
'
|
|
377
|
+
'price': false,
|
|
378
378
|
},
|
|
379
379
|
},
|
|
380
380
|
},
|
package/package.json
CHANGED