ccxt 4.3.45 → 4.3.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 +127 -127
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/base/Exchange.js +1 -0
- package/dist/cjs/src/binance.js +2 -0
- package/dist/cjs/src/bingx.js +25 -17
- package/dist/cjs/src/bitmart.js +5 -0
- package/dist/cjs/src/bitteam.js +5 -7
- package/dist/cjs/src/coinmetro.js +8 -17
- package/dist/cjs/src/hyperliquid.js +29 -21
- package/dist/cjs/src/idex.js +1 -0
- package/dist/cjs/src/mexc.js +8 -6
- package/dist/cjs/src/okx.js +1 -0
- package/dist/cjs/src/oxfun.js +2 -2
- package/dist/cjs/src/pro/binanceus.js +0 -8
- package/dist/cjs/src/tokocrypto.js +8 -10
- package/dist/cjs/src/wavesexchange.js +1 -0
- package/dist/cjs/src/woofipro.js +1 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/binance.d.ts +2 -0
- package/js/src/abstract/binancecoinm.d.ts +2 -0
- package/js/src/abstract/binanceus.d.ts +2 -0
- package/js/src/abstract/binanceusdm.d.ts +2 -0
- package/js/src/abstract/mexc.d.ts +2 -0
- package/js/src/base/Exchange.d.ts +1 -0
- package/js/src/base/Exchange.js +1 -0
- package/js/src/binance.js +2 -0
- package/js/src/bingx.js +26 -18
- package/js/src/bitmart.js +5 -0
- package/js/src/bitteam.js +6 -8
- package/js/src/coinmetro.js +9 -18
- package/js/src/hyperliquid.d.ts +3 -3
- package/js/src/hyperliquid.js +29 -21
- package/js/src/idex.js +1 -0
- package/js/src/mexc.js +8 -6
- package/js/src/okx.js +1 -0
- package/js/src/oxfun.js +2 -2
- package/js/src/pro/binanceus.js +0 -8
- package/js/src/tokocrypto.js +9 -11
- package/js/src/wavesexchange.js +1 -0
- package/js/src/woofipro.js +1 -0
- package/package.json +1 -1
package/dist/cjs/ccxt.js
CHANGED
|
@@ -188,7 +188,7 @@ var woofipro$1 = require('./src/pro/woofipro.js');
|
|
|
188
188
|
|
|
189
189
|
//-----------------------------------------------------------------------------
|
|
190
190
|
// this is updated by vss.js when building
|
|
191
|
-
const version = '4.3.
|
|
191
|
+
const version = '4.3.46';
|
|
192
192
|
Exchange["default"].ccxtVersion = version;
|
|
193
193
|
const exchanges = {
|
|
194
194
|
'ace': ace,
|
package/dist/cjs/src/binance.js
CHANGED
package/dist/cjs/src/bingx.js
CHANGED
|
@@ -385,7 +385,7 @@ class bingx extends bingx$1 {
|
|
|
385
385
|
'1w': '1w',
|
|
386
386
|
'1M': '1M',
|
|
387
387
|
},
|
|
388
|
-
'precisionMode': number.
|
|
388
|
+
'precisionMode': number.TICK_SIZE,
|
|
389
389
|
'exceptions': {
|
|
390
390
|
'exact': {
|
|
391
391
|
'400': errors.BadRequest,
|
|
@@ -610,18 +610,26 @@ class bingx extends bingx$1 {
|
|
|
610
610
|
// "msg": "",
|
|
611
611
|
// "data": [
|
|
612
612
|
// {
|
|
613
|
-
//
|
|
614
|
-
//
|
|
615
|
-
//
|
|
616
|
-
//
|
|
617
|
-
//
|
|
618
|
-
//
|
|
619
|
-
//
|
|
620
|
-
//
|
|
621
|
-
//
|
|
622
|
-
//
|
|
623
|
-
//
|
|
624
|
-
//
|
|
613
|
+
// "contractId": "100",
|
|
614
|
+
// "symbol": "BTC-USDT",
|
|
615
|
+
// "size": "0.0001",
|
|
616
|
+
// "quantityPrecision": "4",
|
|
617
|
+
// "pricePrecision": "1",
|
|
618
|
+
// "feeRate": "0.0005",
|
|
619
|
+
// "makerFeeRate": "0.0002",
|
|
620
|
+
// "takerFeeRate": "0.0005",
|
|
621
|
+
// "tradeMinLimit": "0",
|
|
622
|
+
// "tradeMinQuantity": "0.0001",
|
|
623
|
+
// "tradeMinUSDT": "2",
|
|
624
|
+
// "maxLongLeverage": "125",
|
|
625
|
+
// "maxShortLeverage": "125",
|
|
626
|
+
// "currency": "USDT",
|
|
627
|
+
// "asset": "BTC",
|
|
628
|
+
// "status": "1",
|
|
629
|
+
// "apiStateOpen": "true",
|
|
630
|
+
// "apiStateClose": "true",
|
|
631
|
+
// "ensureTrigger": true,
|
|
632
|
+
// "triggerFeeRate": "0.00020000"
|
|
625
633
|
// },
|
|
626
634
|
// ...
|
|
627
635
|
// ]
|
|
@@ -639,13 +647,13 @@ class bingx extends bingx$1 {
|
|
|
639
647
|
const quote = this.safeCurrencyCode(quoteId);
|
|
640
648
|
const currency = this.safeString(market, 'currency');
|
|
641
649
|
const settle = this.safeCurrencyCode(currency);
|
|
642
|
-
let pricePrecision = this.
|
|
650
|
+
let pricePrecision = this.safeNumber(market, 'tickSize');
|
|
643
651
|
if (pricePrecision === undefined) {
|
|
644
|
-
pricePrecision = this.
|
|
652
|
+
pricePrecision = this.parseNumber(this.parsePrecision(this.safeString(market, 'pricePrecision')));
|
|
645
653
|
}
|
|
646
|
-
let quantityPrecision = this.
|
|
654
|
+
let quantityPrecision = this.safeNumber(market, 'stepSize');
|
|
647
655
|
if (quantityPrecision === undefined) {
|
|
648
|
-
quantityPrecision = this.
|
|
656
|
+
quantityPrecision = this.parseNumber(this.parsePrecision(this.safeString(market, 'quantityPrecision')));
|
|
649
657
|
}
|
|
650
658
|
const type = (settle !== undefined) ? 'swap' : 'spot';
|
|
651
659
|
const spot = type === 'spot';
|
package/dist/cjs/src/bitmart.js
CHANGED
|
@@ -2740,6 +2740,11 @@ class bitmart extends bitmart$1 {
|
|
|
2740
2740
|
if (ioc) {
|
|
2741
2741
|
request['type'] = 'ioc';
|
|
2742
2742
|
}
|
|
2743
|
+
const clientOrderId = this.safeString(params, 'clientOrderId');
|
|
2744
|
+
if (clientOrderId !== undefined) {
|
|
2745
|
+
params = this.omit(params, 'clientOrderId');
|
|
2746
|
+
request['client_order_id'] = clientOrderId;
|
|
2747
|
+
}
|
|
2743
2748
|
return this.extend(request, params);
|
|
2744
2749
|
}
|
|
2745
2750
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
package/dist/cjs/src/bitteam.js
CHANGED
|
@@ -190,7 +190,7 @@ class bitteam extends bitteam$1 {
|
|
|
190
190
|
'maker': this.parseNumber('0.002'),
|
|
191
191
|
},
|
|
192
192
|
},
|
|
193
|
-
'precisionMode': number.
|
|
193
|
+
'precisionMode': number.TICK_SIZE,
|
|
194
194
|
// exchange-specific options
|
|
195
195
|
'options': {
|
|
196
196
|
'networksById': {
|
|
@@ -351,8 +351,6 @@ class bitteam extends bitteam$1 {
|
|
|
351
351
|
const base = this.safeCurrencyCode(baseId);
|
|
352
352
|
const quote = this.safeCurrencyCode(quoteId);
|
|
353
353
|
const active = this.safeValue(market, 'active');
|
|
354
|
-
const amountPrecision = this.safeInteger(market, 'baseStep');
|
|
355
|
-
const pricePrecision = this.safeInteger(market, 'quoteStep');
|
|
356
354
|
const timeStart = this.safeString(market, 'timeStart');
|
|
357
355
|
const created = this.parse8601(timeStart);
|
|
358
356
|
let minCost = undefined;
|
|
@@ -388,8 +386,8 @@ class bitteam extends bitteam$1 {
|
|
|
388
386
|
'strike': undefined,
|
|
389
387
|
'optionType': undefined,
|
|
390
388
|
'precision': {
|
|
391
|
-
'amount':
|
|
392
|
-
'price':
|
|
389
|
+
'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'baseStep'))),
|
|
390
|
+
'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'quoteStep'))),
|
|
393
391
|
},
|
|
394
392
|
'limits': {
|
|
395
393
|
'leverage': {
|
|
@@ -545,7 +543,7 @@ class bitteam extends bitteam$1 {
|
|
|
545
543
|
const numericId = this.safeInteger(currency, 'id');
|
|
546
544
|
const code = this.safeCurrencyCode(id);
|
|
547
545
|
const active = this.safeBool(currency, 'active', false);
|
|
548
|
-
const precision = this.
|
|
546
|
+
const precision = this.parseNumber(this.parsePrecision(this.safeString(currency, 'precision')));
|
|
549
547
|
const txLimits = this.safeValue(currency, 'txLimits', {});
|
|
550
548
|
const minWithdraw = this.safeString(txLimits, 'minWithdraw');
|
|
551
549
|
const maxWithdraw = this.safeString(txLimits, 'maxWithdraw');
|
|
@@ -567,7 +565,7 @@ class bitteam extends bitteam$1 {
|
|
|
567
565
|
const withdraw = this.safeValue(statuses, 'withdrawStatus');
|
|
568
566
|
const networkIds = Object.keys(feesByNetworkId);
|
|
569
567
|
const networks = {};
|
|
570
|
-
const networkPrecision = this.
|
|
568
|
+
const networkPrecision = this.parseNumber(this.parsePrecision(this.safeString(currency, 'decimals')));
|
|
571
569
|
for (let j = 0; j < networkIds.length; j++) {
|
|
572
570
|
const networkId = networkIds[j];
|
|
573
571
|
const networkCode = this.networkIdToCode(networkId, code);
|
|
@@ -205,7 +205,7 @@ class coinmetro extends coinmetro$1 {
|
|
|
205
205
|
'maker': this.parseNumber('0'),
|
|
206
206
|
},
|
|
207
207
|
},
|
|
208
|
-
'precisionMode': number.
|
|
208
|
+
'precisionMode': number.TICK_SIZE,
|
|
209
209
|
// exchange-specific options
|
|
210
210
|
'options': {
|
|
211
211
|
'currenciesByIdForParseMarket': undefined,
|
|
@@ -309,7 +309,6 @@ class coinmetro extends coinmetro$1 {
|
|
|
309
309
|
const deposit = this.safeValue(currency, 'canDeposit');
|
|
310
310
|
const canTrade = this.safeValue(currency, 'canTrade');
|
|
311
311
|
const active = canTrade ? withdraw : true;
|
|
312
|
-
const precision = this.safeInteger(currency, 'digits');
|
|
313
312
|
const minAmount = this.safeNumber(currency, 'minQty');
|
|
314
313
|
result[code] = this.safeCurrencyStructure({
|
|
315
314
|
'id': id,
|
|
@@ -320,7 +319,7 @@ class coinmetro extends coinmetro$1 {
|
|
|
320
319
|
'deposit': deposit,
|
|
321
320
|
'withdraw': withdraw,
|
|
322
321
|
'fee': undefined,
|
|
323
|
-
'precision':
|
|
322
|
+
'precision': this.parseNumber(this.parsePrecision(this.safeString(currency, 'digits'))),
|
|
324
323
|
'limits': {
|
|
325
324
|
'amount': { 'min': minAmount, 'max': undefined },
|
|
326
325
|
'withdraw': { 'min': undefined, 'max': undefined },
|
|
@@ -351,19 +350,14 @@ class coinmetro extends coinmetro$1 {
|
|
|
351
350
|
//
|
|
352
351
|
// [
|
|
353
352
|
// {
|
|
354
|
-
// "pair": "
|
|
355
|
-
// "precision": 5,
|
|
356
|
-
// "margin": false
|
|
357
|
-
// },
|
|
358
|
-
// {
|
|
359
|
-
// "pair": "PERPUSD",
|
|
353
|
+
// "pair": "YFIEUR",
|
|
360
354
|
// "precision": 5,
|
|
361
355
|
// "margin": false
|
|
362
356
|
// },
|
|
363
357
|
// {
|
|
364
|
-
// "pair": "
|
|
365
|
-
// "precision":
|
|
366
|
-
// "margin":
|
|
358
|
+
// "pair": "BTCEUR",
|
|
359
|
+
// "precision": 2,
|
|
360
|
+
// "margin": true
|
|
367
361
|
// },
|
|
368
362
|
// ...
|
|
369
363
|
// ]
|
|
@@ -409,9 +403,7 @@ class coinmetro extends coinmetro$1 {
|
|
|
409
403
|
'optionType': undefined,
|
|
410
404
|
'precision': {
|
|
411
405
|
'amount': basePrecisionAndLimits['precision'],
|
|
412
|
-
'price':
|
|
413
|
-
'base': basePrecisionAndLimits['precision'],
|
|
414
|
-
'quote': quotePrecisionAndLimits['precision'],
|
|
406
|
+
'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'precision'))),
|
|
415
407
|
},
|
|
416
408
|
'limits': {
|
|
417
409
|
'leverage': {
|
|
@@ -466,12 +458,11 @@ class coinmetro extends coinmetro$1 {
|
|
|
466
458
|
parseMarketPrecisionAndLimits(currencyId) {
|
|
467
459
|
const currencies = this.safeValue(this.options, 'currenciesByIdForParseMarket', {});
|
|
468
460
|
const currency = this.safeValue(currencies, currencyId, {});
|
|
469
|
-
const precision = this.safeInteger(currency, 'precision');
|
|
470
461
|
const limits = this.safeValue(currency, 'limits', {});
|
|
471
462
|
const amountLimits = this.safeValue(limits, 'amount', {});
|
|
472
463
|
const minLimit = this.safeNumber(amountLimits, 'min');
|
|
473
464
|
const result = {
|
|
474
|
-
'precision': precision,
|
|
465
|
+
'precision': this.safeNumber(currency, 'precision'),
|
|
475
466
|
'minLimit': minLimit,
|
|
476
467
|
};
|
|
477
468
|
return result;
|
|
@@ -24,6 +24,7 @@ class hyperliquid extends hyperliquid$1 {
|
|
|
24
24
|
'rateLimit': 50,
|
|
25
25
|
'certified': false,
|
|
26
26
|
'pro': true,
|
|
27
|
+
'dex': true,
|
|
27
28
|
'has': {
|
|
28
29
|
'CORS': undefined,
|
|
29
30
|
'spot': true,
|
|
@@ -968,11 +969,12 @@ class hyperliquid extends hyperliquid$1 {
|
|
|
968
969
|
const signature = this.signMessage(msg, this.privateKey);
|
|
969
970
|
return signature;
|
|
970
971
|
}
|
|
971
|
-
|
|
972
|
+
signUserSignedAction(messageTypes, message) {
|
|
972
973
|
const zeroAddress = this.safeString(this.options, 'zeroAddress');
|
|
974
|
+
const chainId = 421614; // check this out
|
|
973
975
|
const domain = {
|
|
974
976
|
'chainId': chainId,
|
|
975
|
-
'name': '
|
|
977
|
+
'name': 'HyperliquidSignTransaction',
|
|
976
978
|
'verifyingContract': zeroAddress,
|
|
977
979
|
'version': '1',
|
|
978
980
|
};
|
|
@@ -981,28 +983,26 @@ class hyperliquid extends hyperliquid$1 {
|
|
|
981
983
|
return signature;
|
|
982
984
|
}
|
|
983
985
|
buildTransferSig(message) {
|
|
984
|
-
const isSandboxMode = this.safeBool(this.options, 'sandboxMode');
|
|
985
|
-
const chainId = (isSandboxMode) ? 421614 : 42161;
|
|
986
986
|
const messageTypes = {
|
|
987
|
-
'
|
|
987
|
+
'HyperliquidTransaction:UsdSend': [
|
|
988
|
+
{ 'name': 'hyperliquidChain', 'type': 'string' },
|
|
988
989
|
{ 'name': 'destination', 'type': 'string' },
|
|
989
990
|
{ 'name': 'amount', 'type': 'string' },
|
|
990
991
|
{ 'name': 'time', 'type': 'uint64' },
|
|
991
992
|
],
|
|
992
993
|
};
|
|
993
|
-
return this.
|
|
994
|
+
return this.signUserSignedAction(messageTypes, message);
|
|
994
995
|
}
|
|
995
996
|
buildWithdrawSig(message) {
|
|
996
|
-
const isSandboxMode = this.safeBool(this.options, 'sandboxMode');
|
|
997
|
-
const chainId = (isSandboxMode) ? 421614 : 42161;
|
|
998
997
|
const messageTypes = {
|
|
999
|
-
'
|
|
998
|
+
'HyperliquidTransaction:Withdraw': [
|
|
999
|
+
{ 'name': 'hyperliquidChain', 'type': 'string' },
|
|
1000
1000
|
{ 'name': 'destination', 'type': 'string' },
|
|
1001
|
-
{ 'name': '
|
|
1001
|
+
{ 'name': 'amount', 'type': 'string' },
|
|
1002
1002
|
{ 'name': 'time', 'type': 'uint64' },
|
|
1003
1003
|
],
|
|
1004
1004
|
};
|
|
1005
|
-
return this.
|
|
1005
|
+
return this.signUserSignedAction(messageTypes, message);
|
|
1006
1006
|
}
|
|
1007
1007
|
async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
|
|
1008
1008
|
/**
|
|
@@ -2405,10 +2405,11 @@ class hyperliquid extends hyperliquid$1 {
|
|
|
2405
2405
|
if (code !== undefined) {
|
|
2406
2406
|
code = code.toUpperCase();
|
|
2407
2407
|
if (code !== 'USDC') {
|
|
2408
|
-
throw new errors.NotSupported(this.id + '
|
|
2408
|
+
throw new errors.NotSupported(this.id + 'transfer() only support USDC');
|
|
2409
2409
|
}
|
|
2410
2410
|
}
|
|
2411
2411
|
const payload = {
|
|
2412
|
+
'hyperliquidChain': isSandboxMode ? 'Testnet' : 'Mainnet',
|
|
2412
2413
|
'destination': toAccount,
|
|
2413
2414
|
'amount': this.numberToString(amount),
|
|
2414
2415
|
'time': nonce,
|
|
@@ -2416,9 +2417,12 @@ class hyperliquid extends hyperliquid$1 {
|
|
|
2416
2417
|
const sig = this.buildTransferSig(payload);
|
|
2417
2418
|
const request = {
|
|
2418
2419
|
'action': {
|
|
2419
|
-
'
|
|
2420
|
-
'
|
|
2421
|
-
'
|
|
2420
|
+
'hyperliquidChain': payload['hyperliquidChain'],
|
|
2421
|
+
'signatureChainId': '0x66eee',
|
|
2422
|
+
'destination': toAccount,
|
|
2423
|
+
'amount': amount.toString(),
|
|
2424
|
+
'time': nonce,
|
|
2425
|
+
'type': 'usdSend',
|
|
2422
2426
|
},
|
|
2423
2427
|
'nonce': nonce,
|
|
2424
2428
|
'signature': sig,
|
|
@@ -2448,25 +2452,29 @@ class hyperliquid extends hyperliquid$1 {
|
|
|
2448
2452
|
throw new errors.NotSupported(this.id + 'withdraw() only support USDC');
|
|
2449
2453
|
}
|
|
2450
2454
|
}
|
|
2451
|
-
const isSandboxMode = this.safeBool(this.options, 'sandboxMode');
|
|
2455
|
+
const isSandboxMode = this.safeBool(this.options, 'sandboxMode', false);
|
|
2452
2456
|
const nonce = this.milliseconds();
|
|
2453
2457
|
const payload = {
|
|
2458
|
+
'hyperliquidChain': isSandboxMode ? 'Testnet' : 'Mainnet',
|
|
2454
2459
|
'destination': address,
|
|
2455
|
-
'
|
|
2460
|
+
'amount': amount.toString(),
|
|
2456
2461
|
'time': nonce,
|
|
2457
2462
|
};
|
|
2458
2463
|
const sig = this.buildWithdrawSig(payload);
|
|
2459
2464
|
const request = {
|
|
2460
2465
|
'action': {
|
|
2461
|
-
'
|
|
2462
|
-
'
|
|
2463
|
-
'
|
|
2466
|
+
'hyperliquidChain': payload['hyperliquidChain'],
|
|
2467
|
+
'signatureChainId': '0x66eee',
|
|
2468
|
+
'destination': address,
|
|
2469
|
+
'amount': amount.toString(),
|
|
2470
|
+
'time': nonce,
|
|
2471
|
+
'type': 'withdraw3',
|
|
2464
2472
|
},
|
|
2465
2473
|
'nonce': nonce,
|
|
2466
2474
|
'signature': sig,
|
|
2467
2475
|
};
|
|
2468
2476
|
const response = await this.privatePostExchange(this.extend(request, params));
|
|
2469
|
-
return response;
|
|
2477
|
+
return this.parseTransaction(response);
|
|
2470
2478
|
}
|
|
2471
2479
|
formatVaultAddress(address = undefined) {
|
|
2472
2480
|
if (address === undefined) {
|
package/dist/cjs/src/idex.js
CHANGED
package/dist/cjs/src/mexc.js
CHANGED
|
@@ -221,6 +221,7 @@ class mexc extends mexc$1 {
|
|
|
221
221
|
'sub-account/margin': 1,
|
|
222
222
|
'batchOrders': 10,
|
|
223
223
|
'capital/withdraw/apply': 1,
|
|
224
|
+
'capital/withdraw': 1,
|
|
224
225
|
'capital/transfer': 1,
|
|
225
226
|
'capital/transfer/internal': 1,
|
|
226
227
|
'capital/deposit/address': 1,
|
|
@@ -239,6 +240,7 @@ class mexc extends mexc$1 {
|
|
|
239
240
|
'margin/order': 1,
|
|
240
241
|
'margin/openOrders': 1,
|
|
241
242
|
'userDataStream': 1,
|
|
243
|
+
'capital/withdraw': 1,
|
|
242
244
|
},
|
|
243
245
|
},
|
|
244
246
|
},
|
|
@@ -1066,7 +1068,7 @@ class mexc extends mexc$1 {
|
|
|
1066
1068
|
const chains = this.safeValue(currency, 'networkList', []);
|
|
1067
1069
|
for (let j = 0; j < chains.length; j++) {
|
|
1068
1070
|
const chain = chains[j];
|
|
1069
|
-
const networkId = this.
|
|
1071
|
+
const networkId = this.safeString2(chain, 'network', 'netWork');
|
|
1070
1072
|
const network = this.networkIdToCode(networkId);
|
|
1071
1073
|
const isDepositEnabled = this.safeBool(chain, 'depositEnable', false);
|
|
1072
1074
|
const isWithdrawEnabled = this.safeBool(chain, 'withdrawEnable', false);
|
|
@@ -5221,7 +5223,7 @@ class mexc extends mexc$1 {
|
|
|
5221
5223
|
* @method
|
|
5222
5224
|
* @name mexc#withdraw
|
|
5223
5225
|
* @description make a withdrawal
|
|
5224
|
-
* @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#withdraw
|
|
5226
|
+
* @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#withdraw-new
|
|
5225
5227
|
* @param {string} code unified currency code
|
|
5226
5228
|
* @param {float} amount the amount to withdraw
|
|
5227
5229
|
* @param {string} address the address to withdraw to
|
|
@@ -5231,7 +5233,7 @@ class mexc extends mexc$1 {
|
|
|
5231
5233
|
*/
|
|
5232
5234
|
[tag, params] = this.handleWithdrawTagAndParams(tag, params);
|
|
5233
5235
|
const networks = this.safeValue(this.options, 'networks', {});
|
|
5234
|
-
let network = this.safeString2(params, 'network', '
|
|
5236
|
+
let network = this.safeString2(params, 'network', 'netWork'); // this line allows the user to specify either ERC20 or ETH
|
|
5235
5237
|
network = this.safeString(networks, network, network); // handle ETH > ERC-20 alias
|
|
5236
5238
|
this.checkAddress(address);
|
|
5237
5239
|
await this.loadMarkets();
|
|
@@ -5245,10 +5247,10 @@ class mexc extends mexc$1 {
|
|
|
5245
5247
|
request['memo'] = tag;
|
|
5246
5248
|
}
|
|
5247
5249
|
if (network !== undefined) {
|
|
5248
|
-
request['
|
|
5249
|
-
params = this.omit(params, ['network', '
|
|
5250
|
+
request['netWork'] = network;
|
|
5251
|
+
params = this.omit(params, ['network', 'netWork']);
|
|
5250
5252
|
}
|
|
5251
|
-
const response = await this.
|
|
5253
|
+
const response = await this.spotPrivatePostCapitalWithdraw(this.extend(request, params));
|
|
5252
5254
|
//
|
|
5253
5255
|
// {
|
|
5254
5256
|
// "id":"7213fea8e94b4a5593d507237e5a555b"
|
package/dist/cjs/src/okx.js
CHANGED
|
@@ -2458,6 +2458,7 @@ class okx extends okx$1 {
|
|
|
2458
2458
|
* @see https://www.okx.com/docs-v5/en/#funding-account-rest-api-get-balance
|
|
2459
2459
|
* @see https://www.okx.com/docs-v5/en/#trading-account-rest-api-get-balance
|
|
2460
2460
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2461
|
+
* @param {string} [params.type] wallet type, ['funding' or 'trading'] default is 'trading'
|
|
2461
2462
|
* @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
|
|
2462
2463
|
*/
|
|
2463
2464
|
await this.loadMarkets();
|
package/dist/cjs/src/oxfun.js
CHANGED
|
@@ -16,7 +16,7 @@ class oxfun extends oxfun$1 {
|
|
|
16
16
|
describe() {
|
|
17
17
|
return this.deepExtend(super.describe(), {
|
|
18
18
|
'id': 'oxfun',
|
|
19
|
-
'name': '
|
|
19
|
+
'name': 'OXFUN',
|
|
20
20
|
'countries': ['PA'],
|
|
21
21
|
'version': 'v3',
|
|
22
22
|
'rateLimit': 120,
|
|
@@ -136,7 +136,7 @@ class oxfun extends oxfun$1 {
|
|
|
136
136
|
'1d': '86400s',
|
|
137
137
|
},
|
|
138
138
|
'urls': {
|
|
139
|
-
'logo': 'https://github.com/ccxt/ccxt/assets/43336371/
|
|
139
|
+
'logo': 'https://github.com/ccxt/ccxt/assets/43336371/6a196124-c1ee-4fae-8573-962071b61a85',
|
|
140
140
|
'referral': 'https://ox.fun/register?shareAccountId=5ZUD4a7G',
|
|
141
141
|
'api': {
|
|
142
142
|
'public': 'https://api.ox.fun',
|
|
@@ -41,14 +41,6 @@ class binanceus extends binance {
|
|
|
41
41
|
'defaultType': 'spot',
|
|
42
42
|
'fetchMarkets': ['spot'],
|
|
43
43
|
},
|
|
44
|
-
'fees': {
|
|
45
|
-
'trading': {
|
|
46
|
-
'tierBased': false,
|
|
47
|
-
'percentage': true,
|
|
48
|
-
'taker': 0.0,
|
|
49
|
-
'maker': 0.0, // 0.1% trading fee, zero fees for all trading pairs before November 1
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
44
|
});
|
|
53
45
|
}
|
|
54
46
|
}
|
|
@@ -210,7 +210,7 @@ class tokocrypto extends tokocrypto$1 {
|
|
|
210
210
|
'maker': this.parseNumber('0.0075'), // 0.1% trading fee, zero fees for all trading pairs before November 1
|
|
211
211
|
},
|
|
212
212
|
},
|
|
213
|
-
'precisionMode': number.
|
|
213
|
+
'precisionMode': number.TICK_SIZE,
|
|
214
214
|
'options': {
|
|
215
215
|
// 'fetchTradesMethod': 'binanceGetTrades', // binanceGetTrades, binanceGetAggTrades
|
|
216
216
|
'createMarketBuyOrderRequiresPrice': true,
|
|
@@ -717,10 +717,10 @@ class tokocrypto extends tokocrypto$1 {
|
|
|
717
717
|
'strike': undefined,
|
|
718
718
|
'optionType': undefined,
|
|
719
719
|
'precision': {
|
|
720
|
-
'amount': this.
|
|
721
|
-
'price': this.
|
|
722
|
-
'base': this.
|
|
723
|
-
'quote': this.
|
|
720
|
+
'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'quantityPrecision'))),
|
|
721
|
+
'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'pricePrecision'))),
|
|
722
|
+
'base': this.parseNumber(this.parsePrecision(this.safeString(market, 'baseAssetPrecision'))),
|
|
723
|
+
'quote': this.parseNumber(this.parsePrecision(this.safeString(market, 'quotePrecision'))),
|
|
724
724
|
},
|
|
725
725
|
'limits': {
|
|
726
726
|
'leverage': {
|
|
@@ -745,8 +745,7 @@ class tokocrypto extends tokocrypto$1 {
|
|
|
745
745
|
};
|
|
746
746
|
if ('PRICE_FILTER' in filtersByType) {
|
|
747
747
|
const filter = this.safeValue(filtersByType, 'PRICE_FILTER', {});
|
|
748
|
-
|
|
749
|
-
entry['precision']['price'] = this.precisionFromString(tickSize);
|
|
748
|
+
entry['precision']['price'] = this.safeNumber(filter, 'tickSize');
|
|
750
749
|
// PRICE_FILTER reports zero values for maxPrice
|
|
751
750
|
// since they updated filter types in November 2018
|
|
752
751
|
// https://github.com/ccxt/ccxt/issues/4286
|
|
@@ -755,12 +754,11 @@ class tokocrypto extends tokocrypto$1 {
|
|
|
755
754
|
'min': this.safeNumber(filter, 'minPrice'),
|
|
756
755
|
'max': this.safeNumber(filter, 'maxPrice'),
|
|
757
756
|
};
|
|
758
|
-
entry['precision']['price'] =
|
|
757
|
+
entry['precision']['price'] = filter['tickSize'];
|
|
759
758
|
}
|
|
760
759
|
if ('LOT_SIZE' in filtersByType) {
|
|
761
760
|
const filter = this.safeValue(filtersByType, 'LOT_SIZE', {});
|
|
762
|
-
|
|
763
|
-
entry['precision']['amount'] = this.precisionFromString(stepSize);
|
|
761
|
+
entry['precision']['amount'] = this.safeNumber(filter, 'stepSize');
|
|
764
762
|
entry['limits']['amount'] = {
|
|
765
763
|
'min': this.safeNumber(filter, 'minQty'),
|
|
766
764
|
'max': this.safeNumber(filter, 'maxQty'),
|
package/dist/cjs/src/woofipro.js
CHANGED
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 { Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketInterface, Trade, Order, OrderBook, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, DepositAddressResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, TransferEntries, LeverageTiers } 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.45";
|
|
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.46';
|
|
42
42
|
Exchange.ccxtVersion = version;
|
|
43
43
|
//-----------------------------------------------------------------------------
|
|
44
44
|
import ace from './src/ace.js';
|
|
@@ -615,6 +615,8 @@ interface Exchange {
|
|
|
615
615
|
privateGetAccountCommission(params?: {}): Promise<implicitReturnType>;
|
|
616
616
|
privatePostOrderOco(params?: {}): Promise<implicitReturnType>;
|
|
617
617
|
privatePostOrderListOco(params?: {}): Promise<implicitReturnType>;
|
|
618
|
+
privatePostOrderListOto(params?: {}): Promise<implicitReturnType>;
|
|
619
|
+
privatePostOrderListOtoco(params?: {}): Promise<implicitReturnType>;
|
|
618
620
|
privatePostSorOrder(params?: {}): Promise<implicitReturnType>;
|
|
619
621
|
privatePostSorOrderTest(params?: {}): Promise<implicitReturnType>;
|
|
620
622
|
privatePostOrder(params?: {}): Promise<implicitReturnType>;
|
|
@@ -615,6 +615,8 @@ interface binance {
|
|
|
615
615
|
privateGetAccountCommission(params?: {}): Promise<implicitReturnType>;
|
|
616
616
|
privatePostOrderOco(params?: {}): Promise<implicitReturnType>;
|
|
617
617
|
privatePostOrderListOco(params?: {}): Promise<implicitReturnType>;
|
|
618
|
+
privatePostOrderListOto(params?: {}): Promise<implicitReturnType>;
|
|
619
|
+
privatePostOrderListOtoco(params?: {}): Promise<implicitReturnType>;
|
|
618
620
|
privatePostSorOrder(params?: {}): Promise<implicitReturnType>;
|
|
619
621
|
privatePostSorOrderTest(params?: {}): Promise<implicitReturnType>;
|
|
620
622
|
privatePostOrder(params?: {}): Promise<implicitReturnType>;
|
|
@@ -667,6 +667,8 @@ interface binance {
|
|
|
667
667
|
privateGetAccountCommission(params?: {}): Promise<implicitReturnType>;
|
|
668
668
|
privatePostOrderOco(params?: {}): Promise<implicitReturnType>;
|
|
669
669
|
privatePostOrderListOco(params?: {}): Promise<implicitReturnType>;
|
|
670
|
+
privatePostOrderListOto(params?: {}): Promise<implicitReturnType>;
|
|
671
|
+
privatePostOrderListOtoco(params?: {}): Promise<implicitReturnType>;
|
|
670
672
|
privatePostSorOrder(params?: {}): Promise<implicitReturnType>;
|
|
671
673
|
privatePostSorOrderTest(params?: {}): Promise<implicitReturnType>;
|
|
672
674
|
privatePostOrder(params?: {}): Promise<implicitReturnType>;
|
|
@@ -615,6 +615,8 @@ interface binance {
|
|
|
615
615
|
privateGetAccountCommission(params?: {}): Promise<implicitReturnType>;
|
|
616
616
|
privatePostOrderOco(params?: {}): Promise<implicitReturnType>;
|
|
617
617
|
privatePostOrderListOco(params?: {}): Promise<implicitReturnType>;
|
|
618
|
+
privatePostOrderListOto(params?: {}): Promise<implicitReturnType>;
|
|
619
|
+
privatePostOrderListOtoco(params?: {}): Promise<implicitReturnType>;
|
|
618
620
|
privatePostSorOrder(params?: {}): Promise<implicitReturnType>;
|
|
619
621
|
privatePostSorOrderTest(params?: {}): Promise<implicitReturnType>;
|
|
620
622
|
privatePostOrder(params?: {}): Promise<implicitReturnType>;
|
|
@@ -63,6 +63,7 @@ interface Exchange {
|
|
|
63
63
|
spotPrivatePostSubAccountMargin(params?: {}): Promise<implicitReturnType>;
|
|
64
64
|
spotPrivatePostBatchOrders(params?: {}): Promise<implicitReturnType>;
|
|
65
65
|
spotPrivatePostCapitalWithdrawApply(params?: {}): Promise<implicitReturnType>;
|
|
66
|
+
spotPrivatePostCapitalWithdraw(params?: {}): Promise<implicitReturnType>;
|
|
66
67
|
spotPrivatePostCapitalTransfer(params?: {}): Promise<implicitReturnType>;
|
|
67
68
|
spotPrivatePostCapitalTransferInternal(params?: {}): Promise<implicitReturnType>;
|
|
68
69
|
spotPrivatePostCapitalDepositAddress(params?: {}): Promise<implicitReturnType>;
|
|
@@ -77,6 +78,7 @@ interface Exchange {
|
|
|
77
78
|
spotPrivateDeleteMarginOrder(params?: {}): Promise<implicitReturnType>;
|
|
78
79
|
spotPrivateDeleteMarginOpenOrders(params?: {}): Promise<implicitReturnType>;
|
|
79
80
|
spotPrivateDeleteUserDataStream(params?: {}): Promise<implicitReturnType>;
|
|
81
|
+
spotPrivateDeleteCapitalWithdraw(params?: {}): Promise<implicitReturnType>;
|
|
80
82
|
contractPublicGetPing(params?: {}): Promise<implicitReturnType>;
|
|
81
83
|
contractPublicGetDetail(params?: {}): Promise<implicitReturnType>;
|
|
82
84
|
contractPublicGetSupportCurrencies(params?: {}): Promise<implicitReturnType>;
|