ccxt 4.0.77 → 4.0.78
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.js +33 -23
- package/dist/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/base/Exchange.js +7 -1
- package/dist/cjs/src/bingx.js +24 -21
- package/dist/cjs/src/okx.js +1 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/bingx.d.ts +1 -1
- package/js/src/abstract/okex.d.ts +1 -0
- package/js/src/abstract/okex5.d.ts +1 -0
- package/js/src/abstract/okx.d.ts +1 -0
- package/js/src/base/Exchange.d.ts +1 -0
- package/js/src/base/Exchange.js +7 -1
- package/js/src/bingx.d.ts +1 -1
- package/js/src/bingx.js +24 -21
- package/js/src/okx.js +1 -0
- package/package.json +1 -1
- package/skip-tests.json +0 -1
package/README.md
CHANGED
|
@@ -215,13 +215,13 @@ console.log(version, Object.keys(exchanges));
|
|
|
215
215
|
|
|
216
216
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
|
217
217
|
|
|
218
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.
|
|
219
|
-
* unpkg: https://unpkg.com/ccxt@4.0.
|
|
218
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.78/dist/ccxt.browser.js
|
|
219
|
+
* unpkg: https://unpkg.com/ccxt@4.0.78/dist/ccxt.browser.js
|
|
220
220
|
|
|
221
221
|
CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
|
|
222
222
|
|
|
223
223
|
```HTML
|
|
224
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.
|
|
224
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.78/dist/ccxt.browser.js"></script>
|
|
225
225
|
```
|
|
226
226
|
|
|
227
227
|
Creates a global `ccxt` object:
|
package/dist/ccxt.browser.js
CHANGED
|
@@ -9907,12 +9907,18 @@ class Exchange {
|
|
|
9907
9907
|
precision = this.safeValue(networkItem, 'precision', precision);
|
|
9908
9908
|
}
|
|
9909
9909
|
if (precision === undefined) {
|
|
9910
|
-
return fee;
|
|
9910
|
+
return this.forceString(fee);
|
|
9911
9911
|
}
|
|
9912
9912
|
else {
|
|
9913
9913
|
return this.decimalToPrecision(fee, ROUND, precision, this.precisionMode, this.paddingMode);
|
|
9914
9914
|
}
|
|
9915
9915
|
}
|
|
9916
|
+
forceString(value) {
|
|
9917
|
+
if (typeof value !== 'string') {
|
|
9918
|
+
return this.numberToString(value);
|
|
9919
|
+
}
|
|
9920
|
+
return value;
|
|
9921
|
+
}
|
|
9916
9922
|
isTickPrecision() {
|
|
9917
9923
|
return this.precisionMode === TICK_SIZE;
|
|
9918
9924
|
}
|
|
@@ -24646,6 +24652,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
24646
24652
|
'market/trades': 3,
|
|
24647
24653
|
'market/depth': 3,
|
|
24648
24654
|
'market/kline': 3,
|
|
24655
|
+
'ticker/24hr': 1,
|
|
24649
24656
|
},
|
|
24650
24657
|
},
|
|
24651
24658
|
'private': {
|
|
@@ -24654,7 +24661,6 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
24654
24661
|
'trade/openOrders': 3,
|
|
24655
24662
|
'trade/historyOrders': 3,
|
|
24656
24663
|
'account/balance': 3,
|
|
24657
|
-
'ticker/24hr': 1,
|
|
24658
24664
|
},
|
|
24659
24665
|
'post': {
|
|
24660
24666
|
'trade/order': 3,
|
|
@@ -24811,6 +24817,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
24811
24817
|
'500': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
|
|
24812
24818
|
'504': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
|
|
24813
24819
|
'100001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
|
|
24820
|
+
'100412': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
|
|
24814
24821
|
'100202': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
|
|
24815
24822
|
'100400': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
|
|
24816
24823
|
'100440': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
|
|
@@ -25653,7 +25660,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
25653
25660
|
};
|
|
25654
25661
|
let response = undefined;
|
|
25655
25662
|
if (market['spot']) {
|
|
25656
|
-
response = await this.
|
|
25663
|
+
response = await this.spotV1PublicGetTicker24hr(this.extend(request, params));
|
|
25657
25664
|
}
|
|
25658
25665
|
else {
|
|
25659
25666
|
response = await this.swapV2PublicGetQuoteTicker(this.extend(request, params));
|
|
@@ -25693,15 +25700,21 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
25693
25700
|
* @returns {object} a dictionary of [ticker structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure}
|
|
25694
25701
|
*/
|
|
25695
25702
|
await this.loadMarkets();
|
|
25703
|
+
let market = undefined;
|
|
25696
25704
|
if (symbols !== undefined) {
|
|
25697
25705
|
symbols = this.marketSymbols(symbols);
|
|
25698
25706
|
const firstSymbol = this.safeString(symbols, 0);
|
|
25699
|
-
|
|
25700
|
-
|
|
25701
|
-
|
|
25702
|
-
|
|
25707
|
+
market = this.market(firstSymbol);
|
|
25708
|
+
}
|
|
25709
|
+
let type = undefined;
|
|
25710
|
+
[type, params] = this.handleMarketTypeAndParams('fetchTickers', market, params);
|
|
25711
|
+
let response = undefined;
|
|
25712
|
+
if (type === 'spot') {
|
|
25713
|
+
response = await this.spotV1PublicGetTicker24hr(params);
|
|
25714
|
+
}
|
|
25715
|
+
else {
|
|
25716
|
+
response = await this.swapV2PublicGetQuoteTicker(params);
|
|
25703
25717
|
}
|
|
25704
|
-
const response = await this.swapV2PublicGetQuoteTicker(params);
|
|
25705
25718
|
//
|
|
25706
25719
|
// {
|
|
25707
25720
|
// "code": 0,
|
|
@@ -27382,31 +27395,25 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
27382
27395
|
this.parseTransaction(data);
|
|
27383
27396
|
}
|
|
27384
27397
|
parseParams(params) {
|
|
27385
|
-
let result = '';
|
|
27386
27398
|
const sortedParams = this.keysort(params);
|
|
27387
27399
|
const keys = Object.keys(sortedParams);
|
|
27388
27400
|
for (let i = 0; i < keys.length; i++) {
|
|
27389
27401
|
const key = keys[i];
|
|
27390
|
-
if (i > 0) {
|
|
27391
|
-
result += '&';
|
|
27392
|
-
}
|
|
27393
27402
|
const value = sortedParams[key];
|
|
27394
27403
|
if (Array.isArray(value)) {
|
|
27395
|
-
|
|
27404
|
+
let arrStr = '[';
|
|
27396
27405
|
for (let j = 0; j < value.length; j++) {
|
|
27397
27406
|
const arrayElement = value[j];
|
|
27398
27407
|
if (j > 0) {
|
|
27399
|
-
|
|
27408
|
+
arrStr += ',';
|
|
27400
27409
|
}
|
|
27401
|
-
|
|
27410
|
+
arrStr += arrayElement.toString();
|
|
27402
27411
|
}
|
|
27403
|
-
|
|
27404
|
-
|
|
27405
|
-
else {
|
|
27406
|
-
result += key + '=' + value.toString();
|
|
27412
|
+
arrStr += ']';
|
|
27413
|
+
sortedParams[key] = arrStr;
|
|
27407
27414
|
}
|
|
27408
27415
|
}
|
|
27409
|
-
return
|
|
27416
|
+
return sortedParams;
|
|
27410
27417
|
}
|
|
27411
27418
|
sign(path, section = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
27412
27419
|
const type = section[0];
|
|
@@ -27425,6 +27432,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
27425
27432
|
params = this.omit(params, this.extractParams(path));
|
|
27426
27433
|
params = this.keysort(params);
|
|
27427
27434
|
if (access === 'public') {
|
|
27435
|
+
params['timestamp'] = this.nonce();
|
|
27428
27436
|
if (Object.keys(params).length) {
|
|
27429
27437
|
url += '?' + this.urlencode(params);
|
|
27430
27438
|
}
|
|
@@ -27432,8 +27440,9 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
27432
27440
|
else if (access === 'private') {
|
|
27433
27441
|
this.checkRequiredCredentials();
|
|
27434
27442
|
params['timestamp'] = this.nonce();
|
|
27435
|
-
|
|
27436
|
-
|
|
27443
|
+
const parsedParams = this.parseParams(params);
|
|
27444
|
+
let query = this.urlencode(parsedParams);
|
|
27445
|
+
const signature = this.hmac(this.encode(this.rawencode(parsedParams)), this.encode(this.secret), _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_4__/* .sha256 */ .J);
|
|
27437
27446
|
if (Object.keys(params).length) {
|
|
27438
27447
|
query = '?' + query + '&';
|
|
27439
27448
|
}
|
|
@@ -177263,6 +177272,7 @@ class okx extends _abstract_okx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
|
|
|
177263
177272
|
'tradingBot/grid/ai-param': 1,
|
|
177264
177273
|
'tradingBot/grid/min-investment': 1,
|
|
177265
177274
|
'tradingBot/public/rsi-back-testing': 1,
|
|
177275
|
+
'asset/exchange-list': 5 / 3,
|
|
177266
177276
|
'finance/savings/lending-rate-summary': 5 / 3,
|
|
177267
177277
|
'finance/savings/lending-rate-history': 5 / 3,
|
|
177268
177278
|
// public broker
|
|
@@ -273434,7 +273444,7 @@ SOFTWARE.
|
|
|
273434
273444
|
|
|
273435
273445
|
//-----------------------------------------------------------------------------
|
|
273436
273446
|
// this is updated by vss.js when building
|
|
273437
|
-
const version = '4.0.
|
|
273447
|
+
const version = '4.0.78';
|
|
273438
273448
|
_src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange.ccxtVersion */ .e.ccxtVersion = version;
|
|
273439
273449
|
//-----------------------------------------------------------------------------
|
|
273440
273450
|
|