ccxt 4.1.34 → 4.1.36
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 -3
- package/build.sh +4 -0
- package/dist/ccxt.browser.js +739 -437
- package/dist/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/base/Exchange.js +12 -0
- package/dist/cjs/src/base/errors.js +15 -1
- package/dist/cjs/src/binance.js +1 -0
- package/dist/cjs/src/bingx.js +19 -18
- package/dist/cjs/src/bitget.js +1 -0
- package/dist/cjs/src/bitopro.js +1 -0
- package/dist/cjs/src/bitstamp.js +12 -0
- package/dist/cjs/src/bybit.js +112 -109
- package/dist/cjs/src/digifinex.js +109 -3
- package/dist/cjs/src/huobi.js +206 -39
- package/dist/cjs/src/kraken.js +15 -8
- package/dist/cjs/src/kucoin.js +233 -257
- package/dist/cjs/src/phemex.js +1 -0
- package/dist/cjs/src/pro/okx.js +1 -1
- package/examples2md.js +79 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/binance.d.ts +1 -0
- package/js/src/abstract/binancecoinm.d.ts +1 -0
- package/js/src/abstract/binanceus.d.ts +1 -0
- package/js/src/abstract/binanceusdm.d.ts +1 -0
- package/js/src/abstract/bitopro.d.ts +1 -0
- package/js/src/abstract/bitstamp.d.ts +10 -0
- package/js/src/abstract/kucoin.d.ts +81 -83
- package/js/src/abstract/kucoinfutures.d.ts +90 -86
- package/js/src/base/Exchange.d.ts +4 -0
- package/js/src/base/Exchange.js +12 -0
- package/js/src/base/errorHierarchy.d.ts +1 -1
- package/js/src/base/errorHierarchy.js +1 -1
- package/js/src/base/errors.d.ts +9 -1
- package/js/src/base/errors.js +14 -2
- package/js/src/binance.js +1 -0
- package/js/src/bingx.js +19 -18
- package/js/src/bitget.js +1 -0
- package/js/src/bitopro.js +1 -0
- package/js/src/bitstamp.js +12 -0
- package/js/src/bybit.js +112 -109
- package/js/src/digifinex.d.ts +13 -0
- package/js/src/digifinex.js +109 -3
- package/js/src/huobi.js +206 -39
- package/js/src/kraken.js +15 -8
- package/js/src/kucoin.d.ts +0 -1
- package/js/src/kucoin.js +233 -257
- package/js/src/phemex.js +1 -0
- package/js/src/pro/okx.js +1 -1
- package/package.json +8 -4
package/dist/cjs/src/huobi.js
CHANGED
|
@@ -943,41 +943,195 @@ class huobi extends huobi$1 {
|
|
|
943
943
|
},
|
|
944
944
|
'networks': {
|
|
945
945
|
// by displaynames
|
|
946
|
-
'
|
|
947
|
-
'ALGORAND': 'ALGO',
|
|
948
|
-
'BEP20': 'BEP20',
|
|
949
|
-
'BSC': 'BEP20',
|
|
950
|
-
'ERC20': 'ERC20',
|
|
951
|
-
'ETH': 'ERC20',
|
|
952
|
-
'AVALANCHE': 'AVAXCCHAIN',
|
|
953
|
-
'AVAX': 'AVAXCCHAIN',
|
|
954
|
-
'HRC20': 'HECO',
|
|
955
|
-
'HECO': 'HECO',
|
|
956
|
-
// 'HT': 'HECO', // HT is not acceptable networkcode for unification
|
|
957
|
-
'TRC20': 'TRC20',
|
|
958
|
-
'TRX': 'TRC20',
|
|
959
|
-
'BTC': 'BTC',
|
|
960
|
-
'BITCOIN': 'BTC',
|
|
961
|
-
'ARBITRUM': 'ARB',
|
|
962
|
-
'ARB': 'ARB',
|
|
963
|
-
'SOLANA': 'SOL',
|
|
964
|
-
'SOL': 'SOL',
|
|
965
|
-
'SPL': 'SOL',
|
|
966
|
-
'PRC20': 'PRC20',
|
|
967
|
-
'POLYGON': 'PRC20',
|
|
968
|
-
'MATIC': 'PRC20',
|
|
969
|
-
},
|
|
970
|
-
'networksById': {
|
|
971
|
-
'ALGO': 'ALGO',
|
|
972
|
-
'BEP20': 'BEP20',
|
|
973
|
-
'ERC20': 'ERC20',
|
|
974
|
-
'AVAXCCHAIN': 'AVALANCHE',
|
|
975
|
-
'HECO': 'HRC20',
|
|
976
|
-
'TRC20': 'TRC20',
|
|
946
|
+
'TRC20': 'TRX',
|
|
977
947
|
'BTC': 'BTC',
|
|
978
|
-
'
|
|
948
|
+
'ERC20': 'ETH',
|
|
979
949
|
'SOL': 'SOLANA',
|
|
980
|
-
'
|
|
950
|
+
'HRC20': 'HECO',
|
|
951
|
+
'BEP20': 'BSC',
|
|
952
|
+
'XMR': 'XMR',
|
|
953
|
+
'LTC': 'LTC',
|
|
954
|
+
'XRP': 'XRP',
|
|
955
|
+
'XLM': 'XLM',
|
|
956
|
+
'CRONOS': 'CRO',
|
|
957
|
+
'CRO': 'CRO',
|
|
958
|
+
'GLMR': 'GLMR',
|
|
959
|
+
'POLYGON': 'MATIC',
|
|
960
|
+
'MATIC': 'MATIC',
|
|
961
|
+
'BTT': 'BTT',
|
|
962
|
+
'CUBE': 'CUBE',
|
|
963
|
+
'IOST': 'IOST',
|
|
964
|
+
'NEO': 'NEO',
|
|
965
|
+
'KLAY': 'KLAY',
|
|
966
|
+
'EOS': 'EOS',
|
|
967
|
+
'THETA': 'THETA',
|
|
968
|
+
'NAS': 'NAS',
|
|
969
|
+
'NULS': 'NULS',
|
|
970
|
+
'QTUM': 'QTUM',
|
|
971
|
+
'FTM': 'FTM',
|
|
972
|
+
'CELO': 'CELO',
|
|
973
|
+
'DOGE': 'DOGE',
|
|
974
|
+
'DOGECHAIN': 'DOGECHAIN',
|
|
975
|
+
'NEAR': 'NEAR',
|
|
976
|
+
'STEP': 'STEP',
|
|
977
|
+
'BITCI': 'BITCI',
|
|
978
|
+
'CARDANO': 'ADA',
|
|
979
|
+
'ADA': 'ADA',
|
|
980
|
+
'ETC': 'ETC',
|
|
981
|
+
'LUK': 'LUK',
|
|
982
|
+
'MINEPLEX': 'MINEPLEX',
|
|
983
|
+
'DASH': 'DASH',
|
|
984
|
+
'ZEC': 'ZEC',
|
|
985
|
+
'IOTA': 'IOTA',
|
|
986
|
+
'NEON3': 'NEON3',
|
|
987
|
+
'XEM': 'XEM',
|
|
988
|
+
'HC': 'HC',
|
|
989
|
+
'LSK': 'LSK',
|
|
990
|
+
'DCR': 'DCR',
|
|
991
|
+
'BTG': 'BTG',
|
|
992
|
+
'STEEM': 'STEEM',
|
|
993
|
+
'BTS': 'BTS',
|
|
994
|
+
'ICX': 'ICX',
|
|
995
|
+
'WAVES': 'WAVES',
|
|
996
|
+
'CMT': 'CMT',
|
|
997
|
+
'BTM': 'BTM',
|
|
998
|
+
'VET': 'VET',
|
|
999
|
+
'XZC': 'XZC',
|
|
1000
|
+
'ACT': 'ACT',
|
|
1001
|
+
'SMT': 'SMT',
|
|
1002
|
+
'BCD': 'BCD',
|
|
1003
|
+
'WAX': 'WAX1',
|
|
1004
|
+
'WICC': 'WICC',
|
|
1005
|
+
'ELF': 'ELF',
|
|
1006
|
+
'ZIL': 'ZIL',
|
|
1007
|
+
'ELA': 'ELA',
|
|
1008
|
+
'BCX': 'BCX',
|
|
1009
|
+
'SBTC': 'SBTC',
|
|
1010
|
+
'BIFI': 'BIFI',
|
|
1011
|
+
'CTXC': 'CTXC',
|
|
1012
|
+
'WAN': 'WAN',
|
|
1013
|
+
'POLYX': 'POLYX',
|
|
1014
|
+
'PAI': 'PAI',
|
|
1015
|
+
'WTC': 'WTC',
|
|
1016
|
+
'DGB': 'DGB',
|
|
1017
|
+
'XVG': 'XVG',
|
|
1018
|
+
'AAC': 'AAC',
|
|
1019
|
+
'AE': 'AE',
|
|
1020
|
+
'SEELE': 'SEELE',
|
|
1021
|
+
'BCV': 'BCV',
|
|
1022
|
+
'GRS': 'GRS',
|
|
1023
|
+
'ARDR': 'ARDR',
|
|
1024
|
+
'NANO': 'NANO',
|
|
1025
|
+
'ZEN': 'ZEN',
|
|
1026
|
+
'RBTC': 'RBTC',
|
|
1027
|
+
'BSV': 'BSV',
|
|
1028
|
+
'GAS': 'GAS',
|
|
1029
|
+
'XTZ': 'XTZ',
|
|
1030
|
+
'LAMB': 'LAMB',
|
|
1031
|
+
'CVNT1': 'CVNT1',
|
|
1032
|
+
'DOCK': 'DOCK',
|
|
1033
|
+
'SC': 'SC',
|
|
1034
|
+
'KMD': 'KMD',
|
|
1035
|
+
'ETN': 'ETN',
|
|
1036
|
+
'TOP': 'TOP',
|
|
1037
|
+
'IRIS': 'IRIS',
|
|
1038
|
+
'UGAS': 'UGAS',
|
|
1039
|
+
'TT': 'TT',
|
|
1040
|
+
'NEWTON': 'NEWTON',
|
|
1041
|
+
'VSYS': 'VSYS',
|
|
1042
|
+
'FSN': 'FSN',
|
|
1043
|
+
'BHD': 'BHD',
|
|
1044
|
+
'ONE': 'ONE',
|
|
1045
|
+
'EM': 'EM',
|
|
1046
|
+
'CKB': 'CKB',
|
|
1047
|
+
'EOSS': 'EOSS',
|
|
1048
|
+
'HIVE': 'HIVE',
|
|
1049
|
+
'RVN': 'RVN',
|
|
1050
|
+
'DOT': 'DOT',
|
|
1051
|
+
'KSM': 'KSM',
|
|
1052
|
+
'BAND': 'BAND',
|
|
1053
|
+
'OEP4': 'OEP4',
|
|
1054
|
+
'NBS': 'NBS',
|
|
1055
|
+
'FIS': 'FIS',
|
|
1056
|
+
'AR': 'AR',
|
|
1057
|
+
'HBAR': 'HBAR',
|
|
1058
|
+
'FIL': 'FIL',
|
|
1059
|
+
'MASS': 'MASS',
|
|
1060
|
+
'KAVA': 'KAVA',
|
|
1061
|
+
'XYM': 'XYM',
|
|
1062
|
+
'ENJ': 'ENJ',
|
|
1063
|
+
'CRUST': 'CRUST',
|
|
1064
|
+
'ICP': 'ICP',
|
|
1065
|
+
'CSPR': 'CSPR',
|
|
1066
|
+
'FLOW': 'FLOW',
|
|
1067
|
+
'IOTX': 'IOTX',
|
|
1068
|
+
'LAT': 'LAT',
|
|
1069
|
+
'APT': 'APT',
|
|
1070
|
+
'XCH': 'XCH',
|
|
1071
|
+
'MINA': 'MINA',
|
|
1072
|
+
'XEC': 'ECASH',
|
|
1073
|
+
'XPRT': 'XPRT',
|
|
1074
|
+
'CCA': 'ACA',
|
|
1075
|
+
'AOTI': 'COTI',
|
|
1076
|
+
'AKT': 'AKT',
|
|
1077
|
+
'ARS': 'ARS',
|
|
1078
|
+
'ASTR': 'ASTR',
|
|
1079
|
+
'AZERO': 'AZERO',
|
|
1080
|
+
'BLD': 'BLD',
|
|
1081
|
+
'BRISE': 'BRISE',
|
|
1082
|
+
'CORE': 'CORE',
|
|
1083
|
+
'DESO': 'DESO',
|
|
1084
|
+
'DFI': 'DFI',
|
|
1085
|
+
'EGLD': 'EGLD',
|
|
1086
|
+
'ERG': 'ERG',
|
|
1087
|
+
'ETHF': 'ETHFAIR',
|
|
1088
|
+
'ETHW': 'ETHW',
|
|
1089
|
+
'EVMOS': 'EVMOS',
|
|
1090
|
+
'FIO': 'FIO',
|
|
1091
|
+
'FLR': 'FLR',
|
|
1092
|
+
'FINSCHIA': 'FINSCHIA',
|
|
1093
|
+
'KMA': 'KMA',
|
|
1094
|
+
'KYVE': 'KYVE',
|
|
1095
|
+
'MEV': 'MEV',
|
|
1096
|
+
'MOVR': 'MOVR',
|
|
1097
|
+
'NODL': 'NODL',
|
|
1098
|
+
'OAS': 'OAS',
|
|
1099
|
+
'OSMO': 'OSMO',
|
|
1100
|
+
'PAYCOIN': 'PAYCOIN',
|
|
1101
|
+
'POKT': 'POKT',
|
|
1102
|
+
'PYG': 'PYG',
|
|
1103
|
+
'REI': 'REI',
|
|
1104
|
+
'SCRT': 'SCRT',
|
|
1105
|
+
'SDN': 'SDN',
|
|
1106
|
+
'SEI': 'SEI',
|
|
1107
|
+
'SGB': 'SGB',
|
|
1108
|
+
'SUI': 'SUI',
|
|
1109
|
+
'SXP': 'SOLAR',
|
|
1110
|
+
'SYS': 'SYS',
|
|
1111
|
+
'TENET': 'TENET',
|
|
1112
|
+
'TON': 'TON',
|
|
1113
|
+
'UNQ': 'UNQ',
|
|
1114
|
+
'UYU': 'UYU',
|
|
1115
|
+
'WEMIX': 'WEMIX',
|
|
1116
|
+
'XDC': 'XDC',
|
|
1117
|
+
'XPLA': 'XPLA',
|
|
1118
|
+
// todo: below
|
|
1119
|
+
// 'LUNC': 'LUNC',
|
|
1120
|
+
// 'TERRA': 'TERRA', // tbd
|
|
1121
|
+
// 'LUNA': 'LUNA', tbd
|
|
1122
|
+
// 'FCT2': 'FCT2',
|
|
1123
|
+
// FIL-0X ?
|
|
1124
|
+
// 'COSMOS': 'ATOM1',
|
|
1125
|
+
// 'ATOM': 'ATOM1',
|
|
1126
|
+
// 'CRO': 'CRO',
|
|
1127
|
+
// 'OP': [ 'OPTIMISM', 'OPTIMISMETH' ]
|
|
1128
|
+
// 'ARB': ['ARB', 'ARBITRUMETH']
|
|
1129
|
+
// 'CHZ': [ 'CHZ', 'CZH' ],
|
|
1130
|
+
// todo: AVAXCCHAIN CCHAIN AVAX
|
|
1131
|
+
// 'ALGO': ['ALGO', 'ALGOUSDT']
|
|
1132
|
+
// 'ONT': [ 'ONT', 'ONTOLOGY' ],
|
|
1133
|
+
// 'BCC': 'BCC', BCH's somewhat chain
|
|
1134
|
+
// 'DBC1': 'DBC1',
|
|
981
1135
|
},
|
|
982
1136
|
// https://github.com/ccxt/ccxt/issues/5376
|
|
983
1137
|
'fetchOrdersByStatesMethod': 'spot_private_get_v1_order_orders',
|
|
@@ -2928,10 +3082,10 @@ class huobi extends huobi$1 {
|
|
|
2928
3082
|
for (let j = 0; j < chains.length; j++) {
|
|
2929
3083
|
const chainEntry = chains[j];
|
|
2930
3084
|
const uniqueChainId = this.safeString(chainEntry, 'chain'); // i.e. usdterc20, trc20usdt ...
|
|
2931
|
-
const title = this.
|
|
3085
|
+
const title = this.safeString2(chainEntry, 'baseChain', 'displayName'); // baseChain and baseChainProtocol are together existent or inexistent in entries, but baseChain is preferred. when they are both inexistent, then we use generic displayName
|
|
2932
3086
|
this.options['networkChainIdsByNames'][code][title] = uniqueChainId;
|
|
2933
3087
|
this.options['networkNamesByChainIds'][uniqueChainId] = title;
|
|
2934
|
-
const networkCode = this.networkIdToCode(
|
|
3088
|
+
const networkCode = this.networkIdToCode(uniqueChainId);
|
|
2935
3089
|
minWithdraw = this.safeNumber(chainEntry, 'minWithdrawAmt');
|
|
2936
3090
|
maxWithdraw = this.safeNumber(chainEntry, 'maxWithdrawAmt');
|
|
2937
3091
|
const withdrawStatus = this.safeString(chainEntry, 'withdrawStatus');
|
|
@@ -2951,6 +3105,10 @@ class huobi extends huobi$1 {
|
|
|
2951
3105
|
'id': uniqueChainId,
|
|
2952
3106
|
'network': networkCode,
|
|
2953
3107
|
'limits': {
|
|
3108
|
+
'deposit': {
|
|
3109
|
+
'min': undefined,
|
|
3110
|
+
'max': undefined,
|
|
3111
|
+
},
|
|
2954
3112
|
'withdraw': {
|
|
2955
3113
|
'min': minWithdraw,
|
|
2956
3114
|
'max': maxWithdraw,
|
|
@@ -2981,6 +3139,10 @@ class huobi extends huobi$1 {
|
|
|
2981
3139
|
'min': minWithdraw,
|
|
2982
3140
|
'max': maxWithdraw,
|
|
2983
3141
|
},
|
|
3142
|
+
'deposit': {
|
|
3143
|
+
'min': undefined,
|
|
3144
|
+
'max': undefined,
|
|
3145
|
+
},
|
|
2984
3146
|
},
|
|
2985
3147
|
'precision': this.parseNumber(minPrecision),
|
|
2986
3148
|
'networks': networks,
|
|
@@ -3008,8 +3170,13 @@ class huobi extends huobi$1 {
|
|
|
3008
3170
|
throw new errors.ExchangeError(this.id + ' networkCodeToId() - markets need to be loaded at first');
|
|
3009
3171
|
}
|
|
3010
3172
|
const uniqueNetworkIds = this.safeValue(this.options['networkChainIdsByNames'], currencyCode, {});
|
|
3011
|
-
|
|
3012
|
-
|
|
3173
|
+
if (networkCode in uniqueNetworkIds) {
|
|
3174
|
+
return uniqueNetworkIds[networkCode];
|
|
3175
|
+
}
|
|
3176
|
+
else {
|
|
3177
|
+
const networkTitle = super.networkCodeToId(networkCode);
|
|
3178
|
+
return this.safeValue(uniqueNetworkIds, networkTitle, networkTitle);
|
|
3179
|
+
}
|
|
3013
3180
|
}
|
|
3014
3181
|
async fetchBalance(params = {}) {
|
|
3015
3182
|
/**
|
|
@@ -5448,7 +5615,7 @@ class huobi extends huobi$1 {
|
|
|
5448
5615
|
'currency': code,
|
|
5449
5616
|
'address': address,
|
|
5450
5617
|
'tag': tag,
|
|
5451
|
-
'network': this.networkIdToCode(networkId
|
|
5618
|
+
'network': this.networkIdToCode(networkId),
|
|
5452
5619
|
'note': note,
|
|
5453
5620
|
'info': depositAddress,
|
|
5454
5621
|
};
|
|
@@ -5723,7 +5890,7 @@ class huobi extends huobi$1 {
|
|
|
5723
5890
|
'txid': txHash,
|
|
5724
5891
|
'timestamp': timestamp,
|
|
5725
5892
|
'datetime': this.iso8601(timestamp),
|
|
5726
|
-
'network': this.networkIdToCode(networkId
|
|
5893
|
+
'network': this.networkIdToCode(networkId),
|
|
5727
5894
|
'address': this.safeString(transaction, 'address'),
|
|
5728
5895
|
'addressTo': undefined,
|
|
5729
5896
|
'addressFrom': undefined,
|
package/dist/cjs/src/kraken.js
CHANGED
|
@@ -1224,8 +1224,10 @@ class kraken extends kraken$1 {
|
|
|
1224
1224
|
for (let i = 0; i < currencyIds.length; i++) {
|
|
1225
1225
|
const currencyId = currencyIds[i];
|
|
1226
1226
|
const code = this.safeCurrencyCode(currencyId);
|
|
1227
|
+
const balance = this.safeValue(balances, currencyId, {});
|
|
1227
1228
|
const account = this.account();
|
|
1228
|
-
account['
|
|
1229
|
+
account['used'] = this.safeString(balance, 'hold_trade');
|
|
1230
|
+
account['total'] = this.safeString(balance, 'balance');
|
|
1229
1231
|
result[code] = account;
|
|
1230
1232
|
}
|
|
1231
1233
|
return this.safeBalance(result);
|
|
@@ -1235,19 +1237,24 @@ class kraken extends kraken$1 {
|
|
|
1235
1237
|
* @method
|
|
1236
1238
|
* @name kraken#fetchBalance
|
|
1237
1239
|
* @description query for balance and get the amount of funds available for trading or funds locked in orders
|
|
1238
|
-
* @see https://docs.kraken.com/rest/#tag/Account-Data/operation/
|
|
1240
|
+
* @see https://docs.kraken.com/rest/#tag/Account-Data/operation/getExtendedBalance
|
|
1239
1241
|
* @param {object} [params] extra parameters specific to the kraken api endpoint
|
|
1240
1242
|
* @returns {object} a [balance structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#balance-structure}
|
|
1241
1243
|
*/
|
|
1242
1244
|
await this.loadMarkets();
|
|
1243
|
-
const response = await this.
|
|
1245
|
+
const response = await this.privatePostBalanceEx(params);
|
|
1244
1246
|
//
|
|
1245
1247
|
// {
|
|
1246
|
-
// "error":[],
|
|
1247
|
-
// "result":{
|
|
1248
|
-
// "ZUSD":
|
|
1249
|
-
//
|
|
1250
|
-
//
|
|
1248
|
+
// "error": [],
|
|
1249
|
+
// "result": {
|
|
1250
|
+
// "ZUSD": {
|
|
1251
|
+
// "balance": 25435.21,
|
|
1252
|
+
// "hold_trade": 8249.76
|
|
1253
|
+
// },
|
|
1254
|
+
// "XXBT": {
|
|
1255
|
+
// "balance": 1.2435,
|
|
1256
|
+
// "hold_trade": 0.8423
|
|
1257
|
+
// }
|
|
1251
1258
|
// }
|
|
1252
1259
|
// }
|
|
1253
1260
|
//
|