ccxt 4.3.89 → 4.3.91
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 +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/alpaca.js +2 -2
- package/dist/cjs/src/ascendex.js +95 -97
- package/dist/cjs/src/binance.js +1 -1
- package/dist/cjs/src/bingx.js +31 -17
- package/dist/cjs/src/bitfinex2.js +21 -22
- package/dist/cjs/src/bitget.js +2 -2
- package/dist/cjs/src/bitmart.js +6 -9
- package/dist/cjs/src/coinbaseinternational.js +2 -1
- package/dist/cjs/src/coinex.js +1 -17
- package/dist/cjs/src/hitbtc.js +2 -0
- package/dist/cjs/src/htx.js +49 -49
- package/dist/cjs/src/huobijp.js +0 -9
- package/dist/cjs/src/kucoin.js +59 -21
- package/dist/cjs/src/kucoinfutures.js +26 -2
- package/dist/cjs/src/latoken.js +1 -0
- package/dist/cjs/src/okx.js +1 -8
- package/dist/cjs/src/pro/binance.js +323 -0
- package/dist/cjs/src/pro/bingx.js +263 -91
- package/dist/cjs/src/pro/bithumb.js +5 -1
- package/dist/cjs/src/pro/bybit.js +1 -1
- package/dist/cjs/src/pro/coinex.js +994 -679
- package/dist/cjs/src/pro/lbank.js +2 -3
- package/dist/cjs/src/pro/okx.js +159 -3
- package/dist/cjs/src/whitebit.js +5 -3
- package/dist/cjs/src/woo.js +1 -1
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/kucoin.d.ts +1 -0
- package/js/src/abstract/kucoinfutures.d.ts +1 -0
- package/js/src/alpaca.js +2 -2
- package/js/src/ascendex.js +95 -97
- package/js/src/binance.js +1 -1
- package/js/src/bingx.js +31 -17
- package/js/src/bitfinex2.d.ts +0 -1
- package/js/src/bitfinex2.js +21 -22
- package/js/src/bitget.js +2 -2
- package/js/src/bitmart.d.ts +0 -1
- package/js/src/bitmart.js +6 -9
- package/js/src/coinbaseinternational.js +2 -1
- package/js/src/coinex.d.ts +0 -2
- package/js/src/coinex.js +1 -17
- package/js/src/hitbtc.js +2 -0
- package/js/src/htx.js +49 -49
- package/js/src/huobijp.d.ts +0 -1
- package/js/src/huobijp.js +0 -9
- package/js/src/kucoin.d.ts +3 -1
- package/js/src/kucoin.js +59 -21
- package/js/src/kucoinfutures.d.ts +1 -0
- package/js/src/kucoinfutures.js +26 -2
- package/js/src/latoken.js +1 -0
- package/js/src/okx.d.ts +0 -1
- package/js/src/okx.js +1 -8
- package/js/src/pro/binance.d.ts +9 -1
- package/js/src/pro/binance.js +327 -1
- package/js/src/pro/bingx.d.ts +2 -2
- package/js/src/pro/bingx.js +263 -91
- package/js/src/pro/bithumb.js +5 -1
- package/js/src/pro/bybit.js +1 -1
- package/js/src/pro/coinex.d.ts +12 -6
- package/js/src/pro/coinex.js +996 -681
- package/js/src/pro/lbank.js +2 -3
- package/js/src/pro/okx.d.ts +7 -0
- package/js/src/pro/okx.js +162 -4
- package/js/src/whitebit.js +5 -3
- package/js/src/woo.js +1 -1
- package/package.json +1 -1
package/js/src/bingx.js
CHANGED
|
@@ -1062,8 +1062,7 @@ export default class bingx extends Exchange {
|
|
|
1062
1062
|
}
|
|
1063
1063
|
parseTrade(trade, market = undefined) {
|
|
1064
1064
|
//
|
|
1065
|
-
// spot
|
|
1066
|
-
// fetchTrades
|
|
1065
|
+
// spot fetchTrades
|
|
1067
1066
|
//
|
|
1068
1067
|
// {
|
|
1069
1068
|
// "id": 43148253,
|
|
@@ -1073,8 +1072,8 @@ export default class bingx extends Exchange {
|
|
|
1073
1072
|
// "buyerMaker": false
|
|
1074
1073
|
// }
|
|
1075
1074
|
//
|
|
1076
|
-
// spot
|
|
1077
|
-
//
|
|
1075
|
+
// spot fetchMyTrades
|
|
1076
|
+
//
|
|
1078
1077
|
// {
|
|
1079
1078
|
// "symbol": "LTC-USDT",
|
|
1080
1079
|
// "id": 36237072,
|
|
@@ -1089,8 +1088,7 @@ export default class bingx extends Exchange {
|
|
|
1089
1088
|
// "isMaker": false
|
|
1090
1089
|
// }
|
|
1091
1090
|
//
|
|
1092
|
-
// swap
|
|
1093
|
-
// fetchTrades
|
|
1091
|
+
// swap fetchTrades
|
|
1094
1092
|
//
|
|
1095
1093
|
// {
|
|
1096
1094
|
// "time": 1672025549368,
|
|
@@ -1100,8 +1098,7 @@ export default class bingx extends Exchange {
|
|
|
1100
1098
|
// "quoteQty": "55723.87"
|
|
1101
1099
|
// }
|
|
1102
1100
|
//
|
|
1103
|
-
// swap
|
|
1104
|
-
// fetchMyTrades
|
|
1101
|
+
// swap fetchMyTrades
|
|
1105
1102
|
//
|
|
1106
1103
|
// {
|
|
1107
1104
|
// "volume": "0.1",
|
|
@@ -1115,10 +1112,7 @@ export default class bingx extends Exchange {
|
|
|
1115
1112
|
// "filledTime": "2023-07-04T20:56:01.000+0800"
|
|
1116
1113
|
// }
|
|
1117
1114
|
//
|
|
1118
|
-
//
|
|
1119
|
-
// ws
|
|
1120
|
-
//
|
|
1121
|
-
// spot
|
|
1115
|
+
// ws spot
|
|
1122
1116
|
//
|
|
1123
1117
|
// {
|
|
1124
1118
|
// "E": 1690214529432,
|
|
@@ -1131,7 +1125,7 @@ export default class bingx extends Exchange {
|
|
|
1131
1125
|
// "t": "57903921"
|
|
1132
1126
|
// }
|
|
1133
1127
|
//
|
|
1134
|
-
// swap
|
|
1128
|
+
// ws linear swap
|
|
1135
1129
|
//
|
|
1136
1130
|
// {
|
|
1137
1131
|
// "q": "0.0421",
|
|
@@ -1141,6 +1135,19 @@ export default class bingx extends Exchange {
|
|
|
1141
1135
|
// "s": "BTC-USDT"
|
|
1142
1136
|
// }
|
|
1143
1137
|
//
|
|
1138
|
+
// ws inverse swap
|
|
1139
|
+
//
|
|
1140
|
+
// {
|
|
1141
|
+
// "e": "trade",
|
|
1142
|
+
// "E": 1722920589665,
|
|
1143
|
+
// "s": "BTC-USD",
|
|
1144
|
+
// "t": "39125001",
|
|
1145
|
+
// "p": "55360.0",
|
|
1146
|
+
// "q": "1",
|
|
1147
|
+
// "T": 1722920589582,
|
|
1148
|
+
// "m": false
|
|
1149
|
+
// }
|
|
1150
|
+
//
|
|
1144
1151
|
// inverse swap fetchMyTrades
|
|
1145
1152
|
//
|
|
1146
1153
|
// {
|
|
@@ -2550,16 +2557,22 @@ export default class bingx extends Exchange {
|
|
|
2550
2557
|
}
|
|
2551
2558
|
}
|
|
2552
2559
|
let positionSide = undefined;
|
|
2553
|
-
|
|
2554
|
-
|
|
2560
|
+
const hedged = this.safeBool(params, 'hedged', false);
|
|
2561
|
+
if (hedged) {
|
|
2562
|
+
if (reduceOnly) {
|
|
2563
|
+
positionSide = (side === 'buy') ? 'SHORT' : 'LONG';
|
|
2564
|
+
}
|
|
2565
|
+
else {
|
|
2566
|
+
positionSide = (side === 'buy') ? 'LONG' : 'SHORT';
|
|
2567
|
+
}
|
|
2555
2568
|
}
|
|
2556
2569
|
else {
|
|
2557
|
-
positionSide =
|
|
2570
|
+
positionSide = 'BOTH';
|
|
2558
2571
|
}
|
|
2559
2572
|
request['positionSide'] = positionSide;
|
|
2560
2573
|
request['quantity'] = (market['inverse']) ? amount : this.parseToNumeric(this.amountToPrecision(symbol, amount)); // precision not available for inverse contracts
|
|
2561
2574
|
}
|
|
2562
|
-
params = this.omit(params, ['reduceOnly', 'triggerPrice', 'stopLossPrice', 'takeProfitPrice', 'trailingAmount', 'trailingPercent', 'trailingType', 'takeProfit', 'stopLoss', 'clientOrderId']);
|
|
2575
|
+
params = this.omit(params, ['hedged', 'reduceOnly', 'triggerPrice', 'stopLossPrice', 'takeProfitPrice', 'trailingAmount', 'trailingPercent', 'trailingType', 'takeProfit', 'stopLoss', 'clientOrderId']);
|
|
2563
2576
|
return this.extend(request, params);
|
|
2564
2577
|
}
|
|
2565
2578
|
async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
|
|
@@ -2591,6 +2604,7 @@ export default class bingx extends Exchange {
|
|
|
2591
2604
|
* @param {object} [params.stopLoss] *stopLoss object in params* containing the triggerPrice at which the attached stop loss order will be triggered
|
|
2592
2605
|
* @param {float} [params.stopLoss.triggerPrice] stop loss trigger price
|
|
2593
2606
|
* @param {boolean} [params.test] *swap only* whether to use the test endpoint or not, default is false
|
|
2607
|
+
* @param {boolean} [params.hedged] *swap only* whether the order is in hedged mode or one way mode
|
|
2594
2608
|
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
2595
2609
|
*/
|
|
2596
2610
|
await this.loadMarkets();
|
package/js/src/bitfinex2.d.ts
CHANGED
|
@@ -20,7 +20,6 @@ export default class bitfinex2 extends Exchange {
|
|
|
20
20
|
}>;
|
|
21
21
|
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
22
22
|
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
23
|
-
safeNetwork(networkId: any): string;
|
|
24
23
|
fetchBalance(params?: {}): Promise<Balances>;
|
|
25
24
|
transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
|
|
26
25
|
parseTransfer(transfer: Dict, currency?: Currency): TransferEntry;
|
package/js/src/bitfinex2.js
CHANGED
|
@@ -381,6 +381,25 @@ export default class bitfinex2 extends Exchange {
|
|
|
381
381
|
'withdraw': {
|
|
382
382
|
'includeFee': false,
|
|
383
383
|
},
|
|
384
|
+
'networks': {
|
|
385
|
+
'BTC': 'BITCOIN',
|
|
386
|
+
'LTC': 'LITECOIN',
|
|
387
|
+
'ERC20': 'ETHEREUM',
|
|
388
|
+
'OMNI': 'TETHERUSO',
|
|
389
|
+
'LIQUID': 'TETHERUSL',
|
|
390
|
+
'TRC20': 'TETHERUSX',
|
|
391
|
+
'EOS': 'TETHERUSS',
|
|
392
|
+
'AVAX': 'TETHERUSDTAVAX',
|
|
393
|
+
'SOL': 'TETHERUSDTSOL',
|
|
394
|
+
'ALGO': 'TETHERUSDTALG',
|
|
395
|
+
'BCH': 'TETHERUSDTBCH',
|
|
396
|
+
'KSM': 'TETHERUSDTKSM',
|
|
397
|
+
'DVF': 'TETHERUSDTDVF',
|
|
398
|
+
'OMG': 'TETHERUSDTOMG',
|
|
399
|
+
},
|
|
400
|
+
'networksById': {
|
|
401
|
+
'TETHERUSE': 'ERC20',
|
|
402
|
+
},
|
|
384
403
|
},
|
|
385
404
|
'exceptions': {
|
|
386
405
|
'exact': {
|
|
@@ -789,7 +808,7 @@ export default class bitfinex2 extends Exchange {
|
|
|
789
808
|
const networkId = this.safeString(pair, 0);
|
|
790
809
|
const currencyId = this.safeString(this.safeValue(pair, 1, []), 0);
|
|
791
810
|
if (currencyId === cleanId) {
|
|
792
|
-
const network = this.
|
|
811
|
+
const network = this.networkIdToCode(networkId);
|
|
793
812
|
networks[network] = {
|
|
794
813
|
'info': networkId,
|
|
795
814
|
'id': networkId.toLowerCase(),
|
|
@@ -816,26 +835,6 @@ export default class bitfinex2 extends Exchange {
|
|
|
816
835
|
}
|
|
817
836
|
return result;
|
|
818
837
|
}
|
|
819
|
-
safeNetwork(networkId) {
|
|
820
|
-
const networksById = {
|
|
821
|
-
'BITCOIN': 'BTC',
|
|
822
|
-
'LITECOIN': 'LTC',
|
|
823
|
-
'ETHEREUM': 'ERC20',
|
|
824
|
-
'TETHERUSE': 'ERC20',
|
|
825
|
-
'TETHERUSO': 'OMNI',
|
|
826
|
-
'TETHERUSL': 'LIQUID',
|
|
827
|
-
'TETHERUSX': 'TRC20',
|
|
828
|
-
'TETHERUSS': 'EOS',
|
|
829
|
-
'TETHERUSDTAVAX': 'AVAX',
|
|
830
|
-
'TETHERUSDTSOL': 'SOL',
|
|
831
|
-
'TETHERUSDTALG': 'ALGO',
|
|
832
|
-
'TETHERUSDTBCH': 'BCH',
|
|
833
|
-
'TETHERUSDTKSM': 'KSM',
|
|
834
|
-
'TETHERUSDTDVF': 'DVF',
|
|
835
|
-
'TETHERUSDTOMG': 'OMG',
|
|
836
|
-
};
|
|
837
|
-
return this.safeString(networksById, networkId, networkId);
|
|
838
|
-
}
|
|
839
838
|
async fetchBalance(params = {}) {
|
|
840
839
|
/**
|
|
841
840
|
* @method
|
|
@@ -2374,7 +2373,7 @@ export default class bitfinex2 extends Exchange {
|
|
|
2374
2373
|
const currencyId = this.safeString(transaction, 1);
|
|
2375
2374
|
code = this.safeCurrencyCode(currencyId, currency);
|
|
2376
2375
|
const networkId = this.safeString(transaction, 2);
|
|
2377
|
-
network = this.
|
|
2376
|
+
network = this.networkIdToCode(networkId);
|
|
2378
2377
|
timestamp = this.safeInteger(transaction, 5);
|
|
2379
2378
|
updated = this.safeInteger(transaction, 6);
|
|
2380
2379
|
status = this.parseTransactionStatus(this.safeString(transaction, 9));
|
package/js/src/bitget.js
CHANGED
|
@@ -4004,7 +4004,7 @@ export default class bitget extends Exchange {
|
|
|
4004
4004
|
if (feeCostString !== undefined) {
|
|
4005
4005
|
// swap
|
|
4006
4006
|
fee = {
|
|
4007
|
-
'cost': this.parseNumber(Precise.
|
|
4007
|
+
'cost': this.parseNumber(Precise.stringNeg(feeCostString)),
|
|
4008
4008
|
'currency': market['settle'],
|
|
4009
4009
|
};
|
|
4010
4010
|
}
|
|
@@ -4021,7 +4021,7 @@ export default class bitget extends Exchange {
|
|
|
4021
4021
|
}
|
|
4022
4022
|
}
|
|
4023
4023
|
fee = {
|
|
4024
|
-
'cost': this.parseNumber(Precise.
|
|
4024
|
+
'cost': this.parseNumber(Precise.stringNeg(this.safeString(feeObject, 'totalFee'))),
|
|
4025
4025
|
'currency': this.safeCurrencyCode(this.safeString(feeObject, 'feeCoinCode')),
|
|
4026
4026
|
};
|
|
4027
4027
|
}
|
package/js/src/bitmart.d.ts
CHANGED
|
@@ -81,7 +81,6 @@ export default class bitmart extends Exchange {
|
|
|
81
81
|
tag: string;
|
|
82
82
|
network: any;
|
|
83
83
|
};
|
|
84
|
-
safeNetworkCode(networkId: any, currency?: any): string;
|
|
85
84
|
withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<any>;
|
|
86
85
|
fetchTransactionsByType(type: any, code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
|
|
87
86
|
fetchDeposit(id: string, code?: Str, params?: {}): Promise<Transaction>;
|
package/js/src/bitmart.js
CHANGED
|
@@ -3438,7 +3438,12 @@ export default class bitmart extends Exchange {
|
|
|
3438
3438
|
const parts = chain.split('-');
|
|
3439
3439
|
const partsLength = parts.length;
|
|
3440
3440
|
const networkId = this.safeString(parts, partsLength - 1);
|
|
3441
|
-
|
|
3441
|
+
if (networkId === this.safeString(currency, 'name')) {
|
|
3442
|
+
network = this.safeString(currency, 'code');
|
|
3443
|
+
}
|
|
3444
|
+
else {
|
|
3445
|
+
network = this.networkIdToCode(networkId);
|
|
3446
|
+
}
|
|
3442
3447
|
}
|
|
3443
3448
|
this.checkAddress(address);
|
|
3444
3449
|
return {
|
|
@@ -3449,14 +3454,6 @@ export default class bitmart extends Exchange {
|
|
|
3449
3454
|
'network': network,
|
|
3450
3455
|
};
|
|
3451
3456
|
}
|
|
3452
|
-
safeNetworkCode(networkId, currency = undefined) {
|
|
3453
|
-
const name = this.safeString(currency, 'name');
|
|
3454
|
-
if (networkId === name) {
|
|
3455
|
-
const code = this.safeString(currency, 'code');
|
|
3456
|
-
return code;
|
|
3457
|
-
}
|
|
3458
|
-
return this.networkIdToCode(networkId);
|
|
3459
|
-
}
|
|
3460
3457
|
async withdraw(code, amount, address, tag = undefined, params = {}) {
|
|
3461
3458
|
/**
|
|
3462
3459
|
* @method
|
|
@@ -805,11 +805,12 @@ export default class coinbaseinternational extends Exchange {
|
|
|
805
805
|
const currencyId = this.safeString(network, 'asset_name');
|
|
806
806
|
const currencyCode = this.safeCurrencyCode(currencyId);
|
|
807
807
|
const networkId = this.safeString(network, 'network_arn_id');
|
|
808
|
+
const networkIdForCode = this.safeStringN(network, ['network_name', 'display_name', 'network_arn_id'], '');
|
|
808
809
|
return this.safeNetwork({
|
|
809
810
|
'info': network,
|
|
810
811
|
'id': networkId,
|
|
811
812
|
'name': this.safeString(network, 'display_name'),
|
|
812
|
-
'network': this.networkIdToCode(
|
|
813
|
+
'network': this.networkIdToCode(networkIdForCode, currencyCode),
|
|
813
814
|
'active': undefined,
|
|
814
815
|
'deposit': undefined,
|
|
815
816
|
'withdraw': undefined,
|
package/js/src/coinex.d.ts
CHANGED
|
@@ -55,8 +55,6 @@ export default class coinex extends Exchange {
|
|
|
55
55
|
tag: any;
|
|
56
56
|
network: any;
|
|
57
57
|
}>;
|
|
58
|
-
safeNetwork(networkId: any, currency?: Currency): any;
|
|
59
|
-
safeNetworkCode(networkId: any, currency?: Currency): any;
|
|
60
58
|
parseDepositAddress(depositAddress: any, currency?: Currency): {
|
|
61
59
|
info: any;
|
|
62
60
|
currency: string;
|
package/js/src/coinex.js
CHANGED
|
@@ -3769,26 +3769,10 @@ export default class coinex extends Exchange {
|
|
|
3769
3769
|
const options = this.safeDict(this.options, 'fetchDepositAddress', {});
|
|
3770
3770
|
const fillResponseFromRequest = this.safeBool(options, 'fillResponseFromRequest', true);
|
|
3771
3771
|
if (fillResponseFromRequest) {
|
|
3772
|
-
depositAddress['network'] = this.
|
|
3772
|
+
depositAddress['network'] = this.networkIdToCode(network, currency).toUpperCase();
|
|
3773
3773
|
}
|
|
3774
3774
|
return depositAddress;
|
|
3775
3775
|
}
|
|
3776
|
-
safeNetwork(networkId, currency = undefined) {
|
|
3777
|
-
const networks = this.safeValue(currency, 'networks', {});
|
|
3778
|
-
const networksCodes = Object.keys(networks);
|
|
3779
|
-
const networksCodesLength = networksCodes.length;
|
|
3780
|
-
if (networkId === undefined && networksCodesLength === 1) {
|
|
3781
|
-
return networks[networksCodes[0]];
|
|
3782
|
-
}
|
|
3783
|
-
return {
|
|
3784
|
-
'id': networkId,
|
|
3785
|
-
'network': (networkId === undefined) ? undefined : networkId.toUpperCase(),
|
|
3786
|
-
};
|
|
3787
|
-
}
|
|
3788
|
-
safeNetworkCode(networkId, currency = undefined) {
|
|
3789
|
-
const network = this.safeNetwork(networkId, currency);
|
|
3790
|
-
return network['network'];
|
|
3791
|
-
}
|
|
3792
3776
|
parseDepositAddress(depositAddress, currency = undefined) {
|
|
3793
3777
|
//
|
|
3794
3778
|
// {
|
package/js/src/hitbtc.js
CHANGED
|
@@ -1418,8 +1418,10 @@ export default class hitbtc extends Exchange {
|
|
|
1418
1418
|
}
|
|
1419
1419
|
parseTransactionStatus(status) {
|
|
1420
1420
|
const statuses = {
|
|
1421
|
+
'CREATED': 'pending',
|
|
1421
1422
|
'PENDING': 'pending',
|
|
1422
1423
|
'FAILED': 'failed',
|
|
1424
|
+
'ROLLED_BACK': 'failed',
|
|
1423
1425
|
'SUCCESS': 'ok',
|
|
1424
1426
|
};
|
|
1425
1427
|
return this.safeString(statuses, status, status);
|