ccxt 4.0.80 → 4.0.81
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/CHANGELOG.md +169 -0
- package/README.md +3 -3
- package/dist/ccxt.browser.js +211 -116
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/binance.js +9 -0
- package/dist/cjs/src/bitget.js +9 -4
- package/dist/cjs/src/bitmex.js +3 -1
- package/dist/cjs/src/bybit.js +0 -9
- package/dist/cjs/src/delta.js +3 -0
- package/dist/cjs/src/exmo.js +64 -25
- package/dist/cjs/src/gate.js +2 -0
- package/dist/cjs/src/hitbtc.js +3 -1
- package/dist/cjs/src/huobi.js +2 -0
- package/dist/cjs/src/kucoin.js +96 -69
- package/dist/cjs/src/pro/krakenfutures.js +1 -1
- package/dist/cjs/src/pro/okx.js +8 -3
- package/dist/cjs/src/pro/probit.js +2 -2
- package/dist/cjs/src/upbit.js +8 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/binance.d.ts +9 -0
- package/js/src/abstract/binancecoinm.d.ts +9 -0
- package/js/src/abstract/binanceus.d.ts +9 -0
- package/js/src/abstract/binanceusdm.d.ts +9 -0
- package/js/src/abstract/gate.d.ts +2 -0
- package/js/src/abstract/gateio.d.ts +2 -0
- package/js/src/abstract/huobi.d.ts +2 -0
- package/js/src/abstract/huobipro.d.ts +2 -0
- package/js/src/binance.js +9 -0
- package/js/src/bitget.js +9 -4
- package/js/src/bitmex.d.ts +1 -1
- package/js/src/bitmex.js +3 -1
- package/js/src/bybit.js +0 -9
- package/js/src/delta.js +3 -0
- package/js/src/exmo.js +64 -25
- package/js/src/gate.js +2 -0
- package/js/src/hitbtc.js +3 -1
- package/js/src/huobi.js +2 -0
- package/js/src/kucoin.js +96 -69
- package/js/src/pro/krakenfutures.js +1 -1
- package/js/src/pro/okx.js +8 -3
- package/js/src/pro/probit.js +2 -2
- package/js/src/upbit.js +9 -1
- package/package.json +1 -1
- package/skip-tests.json +7 -2
package/js/src/pro/okx.js
CHANGED
|
@@ -98,15 +98,17 @@ export default class okx extends okxRest {
|
|
|
98
98
|
}
|
|
99
99
|
getUrl(channel, access = 'public') {
|
|
100
100
|
// for context: https://www.okx.com/help-center/changes-to-v5-api-websocket-subscription-parameter-and-url
|
|
101
|
+
const isSandbox = this.options['sandboxMode'];
|
|
102
|
+
const sandboxSuffix = isSandbox ? '?brokerId=9999' : '';
|
|
101
103
|
const isPublic = (access === 'public');
|
|
102
104
|
const url = this.urls['api']['ws'];
|
|
103
105
|
if ((channel.indexOf('candle') > -1) || (channel === 'orders-algo')) {
|
|
104
|
-
return url + '/business';
|
|
106
|
+
return url + '/business' + sandboxSuffix;
|
|
105
107
|
}
|
|
106
108
|
else if (isPublic) {
|
|
107
|
-
return url + '/public';
|
|
109
|
+
return url + '/public' + sandboxSuffix;
|
|
108
110
|
}
|
|
109
|
-
return url + '/private';
|
|
111
|
+
return url + '/private' + sandboxSuffix;
|
|
110
112
|
}
|
|
111
113
|
async subscribeMultiple(access, channel, symbols = undefined, params = {}) {
|
|
112
114
|
await this.loadMarkets();
|
|
@@ -1253,6 +1255,9 @@ export default class okx extends okxRest {
|
|
|
1253
1255
|
}
|
|
1254
1256
|
return false;
|
|
1255
1257
|
}
|
|
1258
|
+
else {
|
|
1259
|
+
client.reject(e);
|
|
1260
|
+
}
|
|
1256
1261
|
}
|
|
1257
1262
|
return message;
|
|
1258
1263
|
}
|
package/js/src/pro/probit.js
CHANGED
|
@@ -518,11 +518,11 @@ export default class probit extends probitRest {
|
|
|
518
518
|
this.handleTicker(client, message);
|
|
519
519
|
}
|
|
520
520
|
const trades = this.safeValue(message, 'recent_trades', []);
|
|
521
|
-
if (trades.length
|
|
521
|
+
if (trades.length) {
|
|
522
522
|
this.handleTrades(client, message);
|
|
523
523
|
}
|
|
524
524
|
const orderBook = this.safeValueN(message, ['order_books', 'order_books_l1', 'order_books_l2', 'order_books_l3', 'order_books_l4'], []);
|
|
525
|
-
if (orderBook.length
|
|
525
|
+
if (orderBook.length) {
|
|
526
526
|
this.handleOrderBook(client, message, orderBook);
|
|
527
527
|
}
|
|
528
528
|
}
|
package/js/src/upbit.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
// ---------------------------------------------------------------------------
|
|
8
8
|
import Exchange from './abstract/upbit.js';
|
|
9
|
-
import { ExchangeError, BadRequest, AuthenticationError, InvalidOrder, InsufficientFunds, OrderNotFound, PermissionDenied, AddressPending } from './base/errors.js';
|
|
9
|
+
import { ExchangeError, BadRequest, AuthenticationError, InvalidOrder, InsufficientFunds, OrderNotFound, PermissionDenied, AddressPending, ArgumentsRequired } from './base/errors.js';
|
|
10
10
|
import { Precise } from './base/Precise.js';
|
|
11
11
|
import { TICK_SIZE } from './base/functions/number.js';
|
|
12
12
|
import { sha512 } from './static_dependencies/noble-hashes/sha512.js';
|
|
@@ -1728,12 +1728,20 @@ export default class upbit extends Exchange {
|
|
|
1728
1728
|
};
|
|
1729
1729
|
let method = 'privatePostWithdraws';
|
|
1730
1730
|
if (code !== 'KRW') {
|
|
1731
|
+
// 2023-05-23 Change to required parameters for digital assets
|
|
1732
|
+
const network = this.safeStringUpper2(params, 'network', 'net_type');
|
|
1733
|
+
if (network === undefined) {
|
|
1734
|
+
throw new ArgumentsRequired(this.id + ' withdraw() requires a network argument');
|
|
1735
|
+
}
|
|
1736
|
+
params = this.omit(params, ['network']);
|
|
1737
|
+
request['net_type'] = network;
|
|
1731
1738
|
method += 'Coin';
|
|
1732
1739
|
request['currency'] = currency['id'];
|
|
1733
1740
|
request['address'] = address;
|
|
1734
1741
|
if (tag !== undefined) {
|
|
1735
1742
|
request['secondary_address'] = tag;
|
|
1736
1743
|
}
|
|
1744
|
+
params = this.omit(params, 'network');
|
|
1737
1745
|
}
|
|
1738
1746
|
else {
|
|
1739
1747
|
method += 'Krw';
|
package/package.json
CHANGED
package/skip-tests.json
CHANGED
|
@@ -201,6 +201,8 @@
|
|
|
201
201
|
}
|
|
202
202
|
},
|
|
203
203
|
"bithumb": {
|
|
204
|
+
"skip": "fetchMarkets returning undefined",
|
|
205
|
+
"until": "2023-09-05",
|
|
204
206
|
"skipMethods": {
|
|
205
207
|
"fetchTickers": {
|
|
206
208
|
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
|
|
@@ -511,7 +513,8 @@
|
|
|
511
513
|
},
|
|
512
514
|
"fetchTickers": {
|
|
513
515
|
"bid": "broken bid-ask",
|
|
514
|
-
"ask": "broken bid-ask"
|
|
516
|
+
"ask": "broken bid-ask",
|
|
517
|
+
"baseVolume": "negative value"
|
|
515
518
|
}
|
|
516
519
|
}
|
|
517
520
|
},
|
|
@@ -915,7 +918,9 @@
|
|
|
915
918
|
"skipWs": true,
|
|
916
919
|
"skipMethods":{
|
|
917
920
|
"fetchCurrencies": {
|
|
918
|
-
"networks": "not yet implemented"
|
|
921
|
+
"networks": "not yet implemented",
|
|
922
|
+
"withdraw": "not provided for some currencies",
|
|
923
|
+
"deposit": "not provided for some currencies"
|
|
919
924
|
},
|
|
920
925
|
"loadMarkets": {
|
|
921
926
|
"currencyIdAndCode": "messed"
|