ccxt 4.4.77 → 4.4.80
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 +8 -10
- package/dist/ccxt.browser.min.js +7 -7
- package/dist/cjs/ccxt.js +8 -4
- package/dist/cjs/src/abstract/ace.js +1 -1
- package/dist/cjs/src/abstract/apex.js +9 -0
- package/dist/cjs/src/ace.js +1 -1
- package/dist/cjs/src/apex.js +1949 -0
- package/dist/cjs/src/ascendex.js +25 -4
- package/dist/cjs/src/base/Exchange.js +42 -2
- package/dist/cjs/src/binance.js +9 -1
- package/dist/cjs/src/bingx.js +3 -3
- package/dist/cjs/src/bitfinex.js +64 -36
- package/dist/cjs/src/bitget.js +191 -138
- package/dist/cjs/src/bitmart.js +7 -2
- package/dist/cjs/src/bitmex.js +16 -8
- package/dist/cjs/src/bitopro.js +5 -1
- package/dist/cjs/src/bitrue.js +2 -1
- package/dist/cjs/src/bitso.js +1 -1
- package/dist/cjs/src/bitteam.js +2 -0
- package/dist/cjs/src/bitvavo.js +28 -10
- package/dist/cjs/src/btcalpha.js +1 -1
- package/dist/cjs/src/btcmarkets.js +1 -1
- package/dist/cjs/src/btcturk.js +1 -1
- package/dist/cjs/src/bybit.js +32 -16
- package/dist/cjs/src/cex.js +1 -1
- package/dist/cjs/src/coinbase.js +18 -2
- package/dist/cjs/src/coincatch.js +68 -0
- package/dist/cjs/src/coinex.js +1 -0
- package/dist/cjs/src/coinlist.js +1 -0
- package/dist/cjs/src/coinone.js +1 -0
- package/dist/cjs/src/delta.js +4 -0
- package/dist/cjs/src/deribit.js +1 -0
- package/dist/cjs/src/hitbtc.js +3 -0
- package/dist/cjs/src/hollaex.js +1 -0
- package/dist/cjs/src/htx.js +7 -3
- package/dist/cjs/src/huobijp.js +1 -0
- package/dist/cjs/src/hyperliquid.js +14 -4
- package/dist/cjs/src/kraken.js +2 -0
- package/dist/cjs/src/mexc.js +50 -57
- package/dist/cjs/src/okx.js +1 -1
- package/dist/cjs/src/phemex.js +2 -1
- package/dist/cjs/src/poloniex.js +2 -1
- package/dist/cjs/src/pro/apex.js +1043 -0
- package/dist/cjs/src/pro/binance.js +3 -3
- package/dist/cjs/src/pro/coinbase.js +45 -68
- package/dist/cjs/src/pro/gate.js +27 -2
- package/dist/cjs/src/pro/hollaex.js +2 -2
- package/dist/cjs/src/pro/p2b.js +2 -2
- package/dist/cjs/src/pro/tradeogre.js +283 -0
- package/dist/cjs/src/pro/upbit.js +43 -0
- package/dist/cjs/src/probit.js +1 -0
- package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +2639 -0
- package/dist/cjs/src/timex.js +2 -2
- package/dist/cjs/src/tradeogre.js +2 -1
- package/dist/cjs/src/upbit.js +277 -67
- package/dist/cjs/src/whitebit.js +66 -12
- package/dist/cjs/src/woo.js +3 -1
- package/dist/cjs/src/xt.js +9 -0
- package/js/ccxt.d.ts +11 -5
- package/js/ccxt.js +8 -4
- package/js/src/abstract/apex.d.ts +34 -0
- package/js/src/abstract/bitmart.d.ts +1 -0
- package/js/src/apex.d.ts +333 -0
- package/js/src/apex.js +1945 -0
- package/js/src/ascendex.d.ts +3 -3
- package/js/src/ascendex.js +25 -4
- package/js/src/base/Exchange.d.ts +2 -0
- package/js/src/base/Exchange.js +42 -1
- package/js/src/binance.d.ts +7 -7
- package/js/src/binance.js +9 -1
- package/js/src/bingx.js +3 -3
- package/js/src/bitfinex.d.ts +3 -3
- package/js/src/bitfinex.js +64 -36
- package/js/src/bitflyer.d.ts +2 -2
- package/js/src/bitget.d.ts +2 -0
- package/js/src/bitget.js +191 -138
- package/js/src/bitmart.d.ts +5 -4
- package/js/src/bitmart.js +7 -2
- package/js/src/bitmex.d.ts +3 -3
- package/js/src/bitmex.js +16 -8
- package/js/src/bitopro.js +5 -1
- package/js/src/bitrue.js +2 -1
- package/js/src/bitso.js +1 -1
- package/js/src/bitteam.js +2 -0
- package/js/src/bitvavo.js +28 -10
- package/js/src/btcalpha.js +1 -1
- package/js/src/btcmarkets.js +1 -1
- package/js/src/btcturk.js +1 -1
- package/js/src/bybit.js +32 -16
- package/js/src/cex.js +1 -1
- package/js/src/coinbase.d.ts +4 -4
- package/js/src/coinbase.js +18 -2
- package/js/src/coinbaseexchange.d.ts +1 -1
- package/js/src/coincatch.d.ts +11 -0
- package/js/src/coincatch.js +68 -0
- package/js/src/coinex.js +1 -0
- package/js/src/coinlist.js +1 -0
- package/js/src/coinone.js +1 -0
- package/js/src/cryptocom.d.ts +4 -4
- package/js/src/delta.js +4 -0
- package/js/src/deribit.d.ts +4 -4
- package/js/src/deribit.js +1 -0
- package/js/src/derive.d.ts +3 -3
- package/js/src/digifinex.d.ts +4 -4
- package/js/src/hitbtc.js +3 -0
- package/js/src/hollaex.js +1 -0
- package/js/src/htx.d.ts +4 -4
- package/js/src/htx.js +7 -3
- package/js/src/huobijp.js +1 -0
- package/js/src/hyperliquid.d.ts +1 -0
- package/js/src/hyperliquid.js +14 -4
- package/js/src/kraken.d.ts +3 -3
- package/js/src/kraken.js +2 -0
- package/js/src/krakenfutures.d.ts +2 -2
- package/js/src/kucoinfutures.d.ts +5 -5
- package/js/src/mexc.d.ts +1 -0
- package/js/src/mexc.js +50 -57
- package/js/src/okx.js +1 -1
- package/js/src/oxfun.d.ts +3 -3
- package/js/src/phemex.d.ts +3 -3
- package/js/src/phemex.js +2 -1
- package/js/src/poloniex.d.ts +3 -3
- package/js/src/poloniex.js +2 -1
- package/js/src/pro/apex.d.ts +160 -0
- package/js/src/pro/apex.js +1038 -0
- package/js/src/pro/binance.js +3 -3
- package/js/src/pro/coinbase.d.ts +4 -3
- package/js/src/pro/coinbase.js +45 -66
- package/js/src/pro/gate.js +27 -2
- package/js/src/pro/hollaex.js +2 -2
- package/js/src/pro/p2b.js +2 -2
- package/js/src/pro/tradeogre.d.ts +49 -0
- package/js/src/pro/tradeogre.js +278 -0
- package/js/src/pro/upbit.d.ts +16 -1
- package/js/src/pro/upbit.js +43 -0
- package/js/src/probit.js +1 -0
- package/js/src/static_dependencies/zklink/zklink-sdk-web.d.ts +1279 -0
- package/js/src/static_dependencies/zklink/zklink-sdk-web.js +4276 -0
- package/js/src/timex.js +2 -2
- package/js/src/tradeogre.js +2 -1
- package/js/src/upbit.d.ts +75 -23
- package/js/src/upbit.js +277 -67
- package/js/src/vertex.d.ts +3 -3
- package/js/src/whitebit.js +66 -12
- package/js/src/woo.d.ts +4 -4
- package/js/src/woo.js +3 -1
- package/js/src/woofipro.d.ts +4 -4
- package/js/src/xt.d.ts +4 -4
- package/js/src/xt.js +9 -0
- package/package.json +2 -2
- package/js/src/abstract/ace.d.ts +0 -18
- package/js/src/ace.d.ts +0 -158
- package/js/src/ace.js +0 -1175
- /package/js/src/abstract/{ace.js → apex.js} +0 -0
package/dist/cjs/src/kraken.js
CHANGED
|
@@ -858,12 +858,14 @@ class kraken extends kraken$1 {
|
|
|
858
858
|
const precision = this.parseNumber(this.parsePrecision(this.safeString(currency, 'decimals')));
|
|
859
859
|
// assumes all currencies are active except those listed above
|
|
860
860
|
const active = this.safeString(currency, 'status') === 'enabled';
|
|
861
|
+
const isFiat = code.indexOf('.HOLD') >= 0;
|
|
861
862
|
result[code] = {
|
|
862
863
|
'id': id,
|
|
863
864
|
'code': code,
|
|
864
865
|
'info': currency,
|
|
865
866
|
'name': this.safeString(currency, 'altname'),
|
|
866
867
|
'active': active,
|
|
868
|
+
'type': isFiat ? 'fiat' : 'crypto',
|
|
867
869
|
'deposit': undefined,
|
|
868
870
|
'withdraw': undefined,
|
|
869
871
|
'fee': undefined,
|
package/dist/cjs/src/mexc.js
CHANGED
|
@@ -1088,87 +1088,48 @@ class mexc extends mexc$1 {
|
|
|
1088
1088
|
const id = this.safeString(currency, 'coin');
|
|
1089
1089
|
const code = this.safeCurrencyCode(id);
|
|
1090
1090
|
const name = this.safeString(currency, 'name');
|
|
1091
|
-
let currencyActive = false;
|
|
1092
|
-
let currencyFee = undefined;
|
|
1093
|
-
let currencyWithdrawMin = undefined;
|
|
1094
|
-
let currencyWithdrawMax = undefined;
|
|
1095
|
-
let depositEnabled = false;
|
|
1096
|
-
let withdrawEnabled = false;
|
|
1097
1091
|
const networks = {};
|
|
1098
1092
|
const chains = this.safeValue(currency, 'networkList', []);
|
|
1099
1093
|
for (let j = 0; j < chains.length; j++) {
|
|
1100
1094
|
const chain = chains[j];
|
|
1101
1095
|
const networkId = this.safeString2(chain, 'netWork', 'network');
|
|
1102
1096
|
const network = this.networkIdToCode(networkId);
|
|
1103
|
-
const isDepositEnabled = this.safeBool(chain, 'depositEnable', false);
|
|
1104
|
-
const isWithdrawEnabled = this.safeBool(chain, 'withdrawEnable', false);
|
|
1105
|
-
const active = (isDepositEnabled && isWithdrawEnabled);
|
|
1106
|
-
currencyActive = active || currencyActive;
|
|
1107
|
-
const withdrawMin = this.safeString(chain, 'withdrawMin');
|
|
1108
|
-
const withdrawMax = this.safeString(chain, 'withdrawMax');
|
|
1109
|
-
currencyWithdrawMin = (currencyWithdrawMin === undefined) ? withdrawMin : currencyWithdrawMin;
|
|
1110
|
-
currencyWithdrawMax = (currencyWithdrawMax === undefined) ? withdrawMax : currencyWithdrawMax;
|
|
1111
|
-
const fee = this.safeNumber(chain, 'withdrawFee');
|
|
1112
|
-
currencyFee = (currencyFee === undefined) ? fee : currencyFee;
|
|
1113
|
-
if (Precise["default"].stringGt(currencyWithdrawMin, withdrawMin)) {
|
|
1114
|
-
currencyWithdrawMin = withdrawMin;
|
|
1115
|
-
}
|
|
1116
|
-
if (Precise["default"].stringLt(currencyWithdrawMax, withdrawMax)) {
|
|
1117
|
-
currencyWithdrawMax = withdrawMax;
|
|
1118
|
-
}
|
|
1119
|
-
if (isDepositEnabled) {
|
|
1120
|
-
depositEnabled = true;
|
|
1121
|
-
}
|
|
1122
|
-
if (isWithdrawEnabled) {
|
|
1123
|
-
withdrawEnabled = true;
|
|
1124
|
-
}
|
|
1125
1097
|
networks[network] = {
|
|
1126
1098
|
'info': chain,
|
|
1127
1099
|
'id': networkId,
|
|
1128
1100
|
'network': network,
|
|
1129
|
-
'active':
|
|
1130
|
-
'deposit':
|
|
1131
|
-
'withdraw':
|
|
1132
|
-
'fee':
|
|
1101
|
+
'active': undefined,
|
|
1102
|
+
'deposit': this.safeBool(chain, 'depositEnable', false),
|
|
1103
|
+
'withdraw': this.safeBool(chain, 'withdrawEnable', false),
|
|
1104
|
+
'fee': this.safeNumber(chain, 'withdrawFee'),
|
|
1133
1105
|
'precision': undefined,
|
|
1134
1106
|
'limits': {
|
|
1135
1107
|
'withdraw': {
|
|
1136
|
-
'min': withdrawMin,
|
|
1137
|
-
'max': withdrawMax,
|
|
1108
|
+
'min': this.safeString(chain, 'withdrawMin'),
|
|
1109
|
+
'max': this.safeString(chain, 'withdrawMax'),
|
|
1138
1110
|
},
|
|
1139
1111
|
},
|
|
1140
1112
|
};
|
|
1141
1113
|
}
|
|
1142
|
-
|
|
1143
|
-
const networkKeysLength = networkKeys.length;
|
|
1144
|
-
if ((networkKeysLength === 1) || ('NONE' in networks)) {
|
|
1145
|
-
const defaultNetwork = this.safeValue2(networks, 'NONE', networkKeysLength - 1);
|
|
1146
|
-
if (defaultNetwork !== undefined) {
|
|
1147
|
-
currencyFee = defaultNetwork['fee'];
|
|
1148
|
-
}
|
|
1149
|
-
}
|
|
1150
|
-
result[code] = {
|
|
1114
|
+
result[code] = this.safeCurrencyStructure({
|
|
1151
1115
|
'info': currency,
|
|
1152
1116
|
'id': id,
|
|
1153
1117
|
'code': code,
|
|
1154
1118
|
'name': name,
|
|
1155
|
-
'active':
|
|
1156
|
-
'deposit':
|
|
1157
|
-
'withdraw':
|
|
1158
|
-
'fee':
|
|
1119
|
+
'active': undefined,
|
|
1120
|
+
'deposit': undefined,
|
|
1121
|
+
'withdraw': undefined,
|
|
1122
|
+
'fee': undefined,
|
|
1159
1123
|
'precision': undefined,
|
|
1160
1124
|
'limits': {
|
|
1161
1125
|
'amount': {
|
|
1162
1126
|
'min': undefined,
|
|
1163
1127
|
'max': undefined,
|
|
1164
1128
|
},
|
|
1165
|
-
'withdraw': {
|
|
1166
|
-
'min': currencyWithdrawMin,
|
|
1167
|
-
'max': currencyWithdrawMax,
|
|
1168
|
-
},
|
|
1169
1129
|
},
|
|
1130
|
+
'type': 'crypto',
|
|
1170
1131
|
'networks': networks,
|
|
1171
|
-
};
|
|
1132
|
+
});
|
|
1172
1133
|
}
|
|
1173
1134
|
return result;
|
|
1174
1135
|
}
|
|
@@ -3425,13 +3386,27 @@ class mexc extends mexc$1 {
|
|
|
3425
3386
|
}
|
|
3426
3387
|
parseOrder(order, market = undefined) {
|
|
3427
3388
|
//
|
|
3428
|
-
// spot
|
|
3389
|
+
// spot
|
|
3390
|
+
// createOrder
|
|
3429
3391
|
//
|
|
3430
|
-
//
|
|
3392
|
+
// {
|
|
3393
|
+
// "symbol": "FARTCOINUSDT",
|
|
3394
|
+
// "orderId": "C02__342252993005723644225",
|
|
3395
|
+
// "orderListId": "-1",
|
|
3396
|
+
// "price": "1.1",
|
|
3397
|
+
// "origQty": "6.3",
|
|
3398
|
+
// "type": "IMMEDIATE_OR_CANCEL",
|
|
3399
|
+
// "side": "SELL",
|
|
3400
|
+
// "transactTime": "1745852205223"
|
|
3401
|
+
// }
|
|
3402
|
+
//
|
|
3403
|
+
// unknown endpoint on spot
|
|
3404
|
+
//
|
|
3405
|
+
// {
|
|
3431
3406
|
// "symbol": "BTCUSDT",
|
|
3432
3407
|
// "orderId": "123738410679123456",
|
|
3433
3408
|
// "orderListId": -1
|
|
3434
|
-
//
|
|
3409
|
+
// }
|
|
3435
3410
|
//
|
|
3436
3411
|
// margin: createOrder
|
|
3437
3412
|
//
|
|
@@ -3596,6 +3571,11 @@ class mexc extends mexc$1 {
|
|
|
3596
3571
|
else {
|
|
3597
3572
|
id = this.safeString2(order, 'orderId', 'id');
|
|
3598
3573
|
}
|
|
3574
|
+
let timeInForce = this.parseOrderTimeInForce(this.safeString(order, 'timeInForce'));
|
|
3575
|
+
const typeRaw = this.safeString(order, 'type');
|
|
3576
|
+
if (timeInForce === undefined) {
|
|
3577
|
+
timeInForce = this.getTifFromRawOrderType(typeRaw);
|
|
3578
|
+
}
|
|
3599
3579
|
const marketId = this.safeString(order, 'symbol');
|
|
3600
3580
|
market = this.safeMarket(marketId, market);
|
|
3601
3581
|
const timestamp = this.safeIntegerN(order, ['time', 'createTime', 'transactTime']);
|
|
@@ -3618,8 +3598,8 @@ class mexc extends mexc$1 {
|
|
|
3618
3598
|
'lastTradeTimestamp': undefined,
|
|
3619
3599
|
'status': this.parseOrderStatus(this.safeString2(order, 'status', 'state')),
|
|
3620
3600
|
'symbol': market['symbol'],
|
|
3621
|
-
'type': this.parseOrderType(
|
|
3622
|
-
'timeInForce':
|
|
3601
|
+
'type': this.parseOrderType(typeRaw),
|
|
3602
|
+
'timeInForce': timeInForce,
|
|
3623
3603
|
'side': this.parseOrderSide(this.safeString(order, 'side')),
|
|
3624
3604
|
'price': this.safeNumber(order, 'price'),
|
|
3625
3605
|
'triggerPrice': this.safeNumber2(order, 'stopPrice', 'triggerPrice'),
|
|
@@ -3648,6 +3628,9 @@ class mexc extends mexc$1 {
|
|
|
3648
3628
|
'MARKET': 'market',
|
|
3649
3629
|
'LIMIT': 'limit',
|
|
3650
3630
|
'LIMIT_MAKER': 'limit',
|
|
3631
|
+
// on spot, during submission below types are used only accepted as limit order
|
|
3632
|
+
'IMMEDIATE_OR_CANCEL': 'limit',
|
|
3633
|
+
'FILL_OR_KILL': 'limit',
|
|
3651
3634
|
};
|
|
3652
3635
|
return this.safeString(statuses, status, status);
|
|
3653
3636
|
}
|
|
@@ -3675,6 +3658,16 @@ class mexc extends mexc$1 {
|
|
|
3675
3658
|
};
|
|
3676
3659
|
return this.safeString(statuses, status, status);
|
|
3677
3660
|
}
|
|
3661
|
+
getTifFromRawOrderType(orderType = undefined) {
|
|
3662
|
+
const statuses = {
|
|
3663
|
+
'LIMIT': 'GTC',
|
|
3664
|
+
'LIMIT_MAKER': 'POST_ONLY',
|
|
3665
|
+
'IMMEDIATE_OR_CANCEL': 'IOC',
|
|
3666
|
+
'FILL_OR_KILL': 'FOK',
|
|
3667
|
+
'MARKET': 'IOC',
|
|
3668
|
+
};
|
|
3669
|
+
return this.safeString(statuses, orderType, orderType);
|
|
3670
|
+
}
|
|
3678
3671
|
async fetchAccountHelper(type, params) {
|
|
3679
3672
|
if (type === 'spot') {
|
|
3680
3673
|
return await this.spotPrivateGetAccount(params);
|
package/dist/cjs/src/okx.js
CHANGED
|
@@ -5075,7 +5075,7 @@ class okx extends okx$1 {
|
|
|
5075
5075
|
*/
|
|
5076
5076
|
async fetchDepositAddress(code, params = {}) {
|
|
5077
5077
|
await this.loadMarkets();
|
|
5078
|
-
const rawNetwork = this.
|
|
5078
|
+
const rawNetwork = this.safeString(params, 'network'); // some networks are like "Dora Vota Mainnet"
|
|
5079
5079
|
params = this.omit(params, 'network');
|
|
5080
5080
|
code = this.safeCurrencyCode(code);
|
|
5081
5081
|
const network = this.networkIdToCode(rawNetwork, code);
|
package/dist/cjs/src/phemex.js
CHANGED
package/dist/cjs/src/poloniex.js
CHANGED
|
@@ -1204,6 +1204,7 @@ class poloniex extends poloniex$1 {
|
|
|
1204
1204
|
'withdraw': withdrawEnabled,
|
|
1205
1205
|
'fee': this.parseNumber(feeString),
|
|
1206
1206
|
'precision': undefined,
|
|
1207
|
+
'type': 'crypto',
|
|
1207
1208
|
'limits': {
|
|
1208
1209
|
'amount': {
|
|
1209
1210
|
'min': undefined,
|
|
@@ -1852,7 +1853,7 @@ class poloniex extends poloniex$1 {
|
|
|
1852
1853
|
const isTrigger = this.safeValue2(params, 'trigger', 'stop');
|
|
1853
1854
|
params = this.omit(params, ['trigger', 'stop']);
|
|
1854
1855
|
let response = undefined;
|
|
1855
|
-
if (
|
|
1856
|
+
if (marketType !== 'spot') {
|
|
1856
1857
|
const raw = await this.swapPrivateGetV3TradeOrderOpens(this.extend(request, params));
|
|
1857
1858
|
//
|
|
1858
1859
|
// {
|