ccxt 4.5.56 → 4.5.57

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.
Files changed (261) hide show
  1. package/README.md +10 -9
  2. package/dist/ccxt.browser.min.js +10 -10
  3. package/dist/cjs/ccxt.js +6 -11
  4. package/dist/cjs/src/apex.js +1 -1
  5. package/dist/cjs/src/arkham.js +3 -3
  6. package/dist/cjs/src/ascendex.js +2 -2
  7. package/dist/cjs/src/aster.js +7 -4
  8. package/dist/cjs/src/backpack.js +4 -4
  9. package/dist/cjs/src/base/Exchange.js +69 -32
  10. package/dist/cjs/src/base/functions/io.js +25 -0
  11. package/dist/cjs/src/base/functions.js +1 -0
  12. package/dist/cjs/src/bigone.js +3 -3
  13. package/dist/cjs/src/binance.js +192 -194
  14. package/dist/cjs/src/bingx.js +3 -3
  15. package/dist/cjs/src/bitfinex.js +71 -58
  16. package/dist/cjs/src/bitget.js +2 -2
  17. package/dist/cjs/src/bitmart.js +13 -6
  18. package/dist/cjs/src/bitmex.js +1 -1
  19. package/dist/cjs/src/bitopro.js +1 -1
  20. package/dist/cjs/src/bitrue.js +2 -2
  21. package/dist/cjs/src/bitso.js +1 -1
  22. package/dist/cjs/src/bitstamp.js +2 -1
  23. package/dist/cjs/src/bitteam.js +1 -1
  24. package/dist/cjs/src/bittrade.js +0 -1
  25. package/dist/cjs/src/bitvavo.js +457 -34
  26. package/dist/cjs/src/blofin.js +26 -3
  27. package/dist/cjs/src/bullish.js +6 -5
  28. package/dist/cjs/src/bydfi.js +1 -1
  29. package/dist/cjs/src/cex.js +3 -3
  30. package/dist/cjs/src/coinbase.js +75 -65
  31. package/dist/cjs/src/coinbaseexchange.js +2 -2
  32. package/dist/cjs/src/coinbaseinternational.js +2 -1
  33. package/dist/cjs/src/coinex.js +74 -74
  34. package/dist/cjs/src/coinmetro.js +1 -1
  35. package/dist/cjs/src/coinsph.js +1 -1
  36. package/dist/cjs/src/cryptocom.js +46 -48
  37. package/dist/cjs/src/cryptomus.js +43 -39
  38. package/dist/cjs/src/deepcoin.js +3 -2
  39. package/dist/cjs/src/delta.js +51 -52
  40. package/dist/cjs/src/deribit.js +31 -33
  41. package/dist/cjs/src/derive.js +26 -28
  42. package/dist/cjs/src/digifinex.js +43 -44
  43. package/dist/cjs/src/exmo.js +92 -83
  44. package/dist/cjs/src/extended.js +3497 -0
  45. package/dist/cjs/src/foxbit.js +71 -75
  46. package/dist/cjs/src/gate.js +53 -53
  47. package/dist/cjs/src/gemini.js +41 -43
  48. package/dist/cjs/src/grvt.js +4 -4
  49. package/dist/cjs/src/hashkey.js +52 -54
  50. package/dist/cjs/src/hitbtc.js +3 -13
  51. package/dist/cjs/src/hollaex.js +51 -54
  52. package/dist/cjs/src/htx.js +75 -67
  53. package/dist/cjs/src/hyperliquid.js +41 -42
  54. package/dist/cjs/src/indodax.js +2 -2
  55. package/dist/cjs/src/kraken.js +57 -58
  56. package/dist/cjs/src/kucoin.js +3 -2
  57. package/dist/cjs/src/latoken.js +30 -32
  58. package/dist/cjs/src/lbank.js +56 -56
  59. package/dist/cjs/src/lighter.js +35 -37
  60. package/dist/cjs/src/luno.js +35 -43
  61. package/dist/cjs/src/mexc.js +48 -49
  62. package/dist/cjs/src/modetrade.js +50 -52
  63. package/dist/cjs/src/ndax.js +35 -37
  64. package/dist/cjs/src/okx.js +17 -2
  65. package/dist/cjs/src/onetrading.js +21 -23
  66. package/dist/cjs/src/phemex.js +43 -45
  67. package/dist/cjs/src/poloniex.js +17 -12
  68. package/dist/cjs/src/pro/alpaca.js +1 -1
  69. package/dist/cjs/src/pro/apex.js +1 -1
  70. package/dist/cjs/src/pro/arkham.js +1 -1
  71. package/dist/cjs/src/pro/backpack.js +1 -1
  72. package/dist/cjs/src/pro/binance.js +3 -3
  73. package/dist/cjs/src/pro/bitget.js +1 -1
  74. package/dist/cjs/src/pro/bithumb.js +1 -1
  75. package/dist/cjs/src/pro/bitstamp.js +1 -1
  76. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  77. package/dist/cjs/src/pro/bybit.js +1 -1
  78. package/dist/cjs/src/pro/cex.js +1 -1
  79. package/dist/cjs/src/pro/coinex.js +1 -1
  80. package/dist/cjs/src/pro/coinone.js +1 -1
  81. package/dist/cjs/src/pro/cryptocom.js +3 -1
  82. package/dist/cjs/src/pro/dydx.js +1 -1
  83. package/dist/cjs/src/pro/exmo.js +1 -1
  84. package/dist/cjs/src/pro/extended.js +865 -0
  85. package/dist/cjs/src/pro/gate.js +1 -1
  86. package/dist/cjs/src/pro/independentreserve.js +1 -1
  87. package/dist/cjs/src/pro/kucoin.js +1 -1
  88. package/dist/cjs/src/pro/luno.js +3 -3
  89. package/dist/cjs/src/pro/onetrading.js +1 -1
  90. package/dist/cjs/src/pro/toobit.js +1 -1
  91. package/dist/cjs/src/pro/weex.js +1 -1
  92. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +7 -7
  93. package/dist/cjs/src/tokocrypto.js +1 -1
  94. package/dist/cjs/src/toobit.js +2 -2
  95. package/dist/cjs/src/upbit.js +3 -3
  96. package/dist/cjs/src/weex.js +57 -62
  97. package/dist/cjs/src/whitebit.js +61 -63
  98. package/dist/cjs/src/woo.js +65 -54
  99. package/dist/cjs/src/woofipro.js +53 -47
  100. package/dist/cjs/src/xt.js +1 -1
  101. package/dist/cjs/src/zebpay.js +70 -72
  102. package/js/ccxt.d.ts +8 -14
  103. package/js/ccxt.js +6 -10
  104. package/js/src/abstract/bitvavo.d.ts +15 -7
  105. package/js/src/abstract/extended.d.ts +58 -0
  106. package/js/src/apex.js +1 -1
  107. package/js/src/arkham.js +3 -3
  108. package/js/src/ascendex.js +2 -2
  109. package/js/src/aster.js +7 -4
  110. package/js/src/backpack.js +4 -4
  111. package/js/src/base/Exchange.d.ts +10 -6
  112. package/js/src/base/Exchange.js +69 -32
  113. package/js/src/base/functions/io.d.ts +7 -0
  114. package/js/src/base/functions/io.js +24 -0
  115. package/js/src/bigone.js +3 -3
  116. package/js/src/binance.d.ts +2 -0
  117. package/js/src/binance.js +196 -198
  118. package/js/src/bingx.js +3 -3
  119. package/js/src/bitfinex.d.ts +2 -0
  120. package/js/src/bitfinex.js +71 -58
  121. package/js/src/bitget.js +2 -2
  122. package/js/src/bitmart.js +13 -6
  123. package/js/src/bitmex.js +1 -1
  124. package/js/src/bitopro.js +1 -1
  125. package/js/src/bitrue.js +2 -2
  126. package/js/src/bitso.js +1 -1
  127. package/js/src/bitstamp.js +2 -1
  128. package/js/src/bitteam.js +1 -1
  129. package/js/src/bittrade.js +0 -1
  130. package/js/src/bitvavo.d.ts +114 -21
  131. package/js/src/bitvavo.js +457 -34
  132. package/js/src/blofin.d.ts +1 -0
  133. package/js/src/blofin.js +26 -3
  134. package/js/src/bullish.js +6 -5
  135. package/js/src/bydfi.js +1 -1
  136. package/js/src/cex.js +3 -3
  137. package/js/src/coinbase.d.ts +63 -56
  138. package/js/src/coinbase.js +75 -65
  139. package/js/src/coinbaseexchange.js +2 -2
  140. package/js/src/coinbaseinternational.js +2 -1
  141. package/js/src/coinex.d.ts +1 -0
  142. package/js/src/coinex.js +74 -74
  143. package/js/src/coinmetro.d.ts +1 -1
  144. package/js/src/coinmetro.js +1 -1
  145. package/js/src/coinsph.js +1 -1
  146. package/js/src/cryptocom.d.ts +1 -0
  147. package/js/src/cryptocom.js +46 -48
  148. package/js/src/cryptomus.d.ts +2 -1
  149. package/js/src/cryptomus.js +43 -39
  150. package/js/src/deepcoin.js +3 -2
  151. package/js/src/delta.d.ts +1 -0
  152. package/js/src/delta.js +51 -52
  153. package/js/src/deribit.d.ts +1 -0
  154. package/js/src/deribit.js +31 -33
  155. package/js/src/derive.d.ts +1 -0
  156. package/js/src/derive.js +26 -28
  157. package/js/src/digifinex.d.ts +1 -0
  158. package/js/src/digifinex.js +43 -44
  159. package/js/src/exmo.d.ts +1 -0
  160. package/js/src/exmo.js +92 -83
  161. package/js/src/extended.d.ts +554 -0
  162. package/js/src/extended.js +3490 -0
  163. package/js/src/foxbit.d.ts +1 -0
  164. package/js/src/foxbit.js +71 -75
  165. package/js/src/gate.d.ts +1 -0
  166. package/js/src/gate.js +53 -53
  167. package/js/src/gemini.d.ts +2 -1
  168. package/js/src/gemini.js +41 -43
  169. package/js/src/grvt.js +4 -4
  170. package/js/src/hashkey.d.ts +1 -0
  171. package/js/src/hashkey.js +52 -54
  172. package/js/src/hitbtc.d.ts +0 -1
  173. package/js/src/hitbtc.js +3 -13
  174. package/js/src/hollaex.d.ts +1 -0
  175. package/js/src/hollaex.js +51 -54
  176. package/js/src/htx.d.ts +1 -0
  177. package/js/src/htx.js +75 -67
  178. package/js/src/hyperliquid.d.ts +1 -0
  179. package/js/src/hyperliquid.js +41 -42
  180. package/js/src/indodax.js +2 -2
  181. package/js/src/kraken.d.ts +2 -1
  182. package/js/src/kraken.js +57 -58
  183. package/js/src/kucoin.js +3 -2
  184. package/js/src/latoken.d.ts +1 -0
  185. package/js/src/latoken.js +30 -32
  186. package/js/src/lbank.d.ts +1 -0
  187. package/js/src/lbank.js +56 -56
  188. package/js/src/lighter.d.ts +1 -0
  189. package/js/src/lighter.js +35 -37
  190. package/js/src/luno.d.ts +1 -0
  191. package/js/src/luno.js +35 -43
  192. package/js/src/mexc.d.ts +2 -1
  193. package/js/src/mexc.js +48 -49
  194. package/js/src/modetrade.d.ts +1 -0
  195. package/js/src/modetrade.js +50 -52
  196. package/js/src/ndax.d.ts +1 -0
  197. package/js/src/ndax.js +35 -37
  198. package/js/src/okx.js +17 -2
  199. package/js/src/onetrading.d.ts +2 -1
  200. package/js/src/onetrading.js +21 -23
  201. package/js/src/phemex.d.ts +1 -0
  202. package/js/src/phemex.js +43 -45
  203. package/js/src/poloniex.js +17 -12
  204. package/js/src/pro/alpaca.js +1 -1
  205. package/js/src/pro/apex.js +1 -1
  206. package/js/src/pro/arkham.js +1 -1
  207. package/js/src/pro/backpack.js +1 -1
  208. package/js/src/pro/binance.js +3 -3
  209. package/js/src/pro/bitget.js +1 -1
  210. package/js/src/pro/bithumb.js +1 -1
  211. package/js/src/pro/bitstamp.js +1 -1
  212. package/js/src/pro/blockchaincom.js +1 -1
  213. package/js/src/pro/bybit.js +1 -1
  214. package/js/src/pro/cex.js +1 -1
  215. package/js/src/pro/coinex.js +1 -1
  216. package/js/src/pro/coinone.js +1 -1
  217. package/js/src/pro/cryptocom.js +3 -1
  218. package/js/src/pro/dydx.js +1 -1
  219. package/js/src/pro/exmo.js +1 -1
  220. package/js/src/pro/extended.d.ts +126 -0
  221. package/js/src/pro/extended.js +858 -0
  222. package/js/src/pro/gate.js +1 -1
  223. package/js/src/pro/independentreserve.js +1 -1
  224. package/js/src/pro/kucoin.js +1 -1
  225. package/js/src/pro/luno.d.ts +1 -1
  226. package/js/src/pro/luno.js +3 -3
  227. package/js/src/pro/onetrading.js +1 -1
  228. package/js/src/pro/toobit.js +1 -1
  229. package/js/src/pro/weex.js +1 -1
  230. package/js/src/tokocrypto.js +1 -1
  231. package/js/src/toobit.js +2 -2
  232. package/js/src/upbit.js +3 -3
  233. package/js/src/weex.d.ts +1 -0
  234. package/js/src/weex.js +57 -62
  235. package/js/src/whitebit.d.ts +1 -0
  236. package/js/src/whitebit.js +61 -63
  237. package/js/src/woo.d.ts +1 -0
  238. package/js/src/woo.js +65 -54
  239. package/js/src/woofipro.d.ts +1 -0
  240. package/js/src/woofipro.js +53 -47
  241. package/js/src/xt.js +1 -1
  242. package/js/src/zebpay.d.ts +2 -1
  243. package/js/src/zebpay.js +70 -72
  244. package/package.json +7 -7
  245. package/dist/cjs/src/gateio.js +0 -18
  246. package/dist/cjs/src/oxfun.js +0 -2933
  247. package/dist/cjs/src/pro/gateio.js +0 -18
  248. package/dist/cjs/src/pro/oxfun.js +0 -1113
  249. package/js/src/abstract/gateio.d.ts +0 -346
  250. package/js/src/abstract/gateio.js +0 -5
  251. package/js/src/abstract/oxfun.d.ts +0 -37
  252. package/js/src/gateio.d.ts +0 -4
  253. package/js/src/gateio.js +0 -11
  254. package/js/src/oxfun.d.ts +0 -442
  255. package/js/src/oxfun.js +0 -2926
  256. package/js/src/pro/gateio.d.ts +0 -4
  257. package/js/src/pro/gateio.js +0 -11
  258. package/js/src/pro/oxfun.d.ts +0 -234
  259. package/js/src/pro/oxfun.js +0 -1106
  260. /package/dist/cjs/src/abstract/{oxfun.js → extended.js} +0 -0
  261. /package/js/src/abstract/{oxfun.js → extended.js} +0 -0
@@ -1261,7 +1261,7 @@ class bitmart extends bitmart$1["default"] {
1261
1261
  'type': isNtf ? 'other' : 'crypto',
1262
1262
  };
1263
1263
  }
1264
- const networkCode = this.networkIdToCode(networkId);
1264
+ const networkCode = this.networkIdToCode(networkId, currencyCode);
1265
1265
  const withdraw = this.safeBool(currency, 'withdraw_enabled');
1266
1266
  const deposit = this.safeBool(currency, 'deposit_enabled');
1267
1267
  entry['networks'][networkCode] = {
@@ -2979,8 +2979,10 @@ class bitmart extends bitmart$1["default"] {
2979
2979
  }
2980
2980
  const request = {
2981
2981
  'symbol': market['id'],
2982
- 'size': parseInt(this.amountToPrecision(symbol, amount)),
2983
2982
  };
2983
+ if (amount !== undefined) {
2984
+ request['size'] = parseInt(this.amountToPrecision(symbol, amount));
2985
+ }
2984
2986
  const timeInForce = this.safeString(params, 'timeInForce');
2985
2987
  const mode = this.safeInteger(params, 'mode'); // only for swap
2986
2988
  const isMarketOrder = type === 'market';
@@ -3044,7 +3046,11 @@ class bitmart extends bitmart$1["default"] {
3044
3046
  if (isStopLoss || isTakeProfit) {
3045
3047
  reduceOnly = true;
3046
3048
  request['price_type'] = this.safeInteger(params, 'price_type', 1);
3047
- request['executive_price'] = this.priceToPrecision(symbol, price);
3049
+ if (price !== undefined) {
3050
+ request['executive_price'] = this.priceToPrecision(symbol, price);
3051
+ }
3052
+ const marketOrLimitStr = isLimitOrder ? 'limit' : 'market';
3053
+ request['category'] = this.safeString(params, 'category', marketOrLimitStr);
3048
3054
  if (isStopLoss) {
3049
3055
  request['trigger_price'] = this.priceToPrecision(symbol, stopLossPrice);
3050
3056
  }
@@ -3926,11 +3932,12 @@ class bitmart extends bitmart$1["default"] {
3926
3932
  }
3927
3933
  const address = this.safeString(depositAddress, 'address');
3928
3934
  currency = this.safeCurrency(currencyId, currency);
3935
+ const code = this.safeString(currency, 'code');
3929
3936
  this.checkAddress(address);
3930
3937
  return {
3931
3938
  'info': depositAddress,
3932
- 'currency': this.safeString(currency, 'code'),
3933
- 'network': this.networkIdToCode(network),
3939
+ 'currency': code,
3940
+ 'network': this.networkIdToCode(network, code),
3934
3941
  'address': address,
3935
3942
  'tag': this.safeString2(depositAddress, 'address_memo', 'memo'),
3936
3943
  };
@@ -4222,7 +4229,7 @@ class bitmart extends bitmart$1["default"] {
4222
4229
  'id': id,
4223
4230
  'currency': code,
4224
4231
  'amount': amount,
4225
- 'network': this.networkIdToCode(networkId),
4232
+ 'network': this.networkIdToCode(networkId, code),
4226
4233
  'address': address,
4227
4234
  'addressFrom': undefined,
4228
4235
  'addressTo': undefined,
@@ -482,7 +482,7 @@ class bitmex extends bitmex$1["default"] {
482
482
  for (let j = 0; j < chains.length; j++) {
483
483
  const chain = chains[j];
484
484
  const networkId = this.safeString(chain, 'asset');
485
- const network = this.networkIdToCode(networkId);
485
+ const network = this.networkIdToCode(networkId, code);
486
486
  const withdrawalFeeRaw = this.safeString(chain, 'withdrawalFee');
487
487
  const withdrawalFee = this.parseNumber(Precise["default"].stringMul(withdrawalFeeRaw, precisionString));
488
488
  const isDepositEnabled = this.safeBool(chain, 'depositEnabled', false);
@@ -1557,7 +1557,7 @@ class bitopro extends bitopro$1["default"] {
1557
1557
  'txid': this.safeString(transaction, 'txid'),
1558
1558
  'type': undefined,
1559
1559
  'currency': code,
1560
- 'network': this.networkIdToCode(networkId),
1560
+ 'network': this.networkIdToCode(networkId, code),
1561
1561
  'amount': this.safeNumber(transaction, 'total'),
1562
1562
  'status': this.parseTransactionStatus(status),
1563
1563
  'timestamp': timestamp,
@@ -447,7 +447,6 @@ class bitrue extends bitrue$1["default"] {
447
447
  'XML': 'Stellar Lumens',
448
448
  'XYM': 'Symbol',
449
449
  'XTZ': 'Tezos',
450
- 'theta': 'theta',
451
450
  'THETA': 'THETA',
452
451
  'VECHAIN': 'VeChain',
453
452
  'WANCHAIN': 'Wanchain',
@@ -598,6 +597,7 @@ class bitrue extends bitrue$1["default"] {
598
597
  "You don't have permission.": errors.PermissionDenied,
599
598
  'Market is closed.': errors.ExchangeNotAvailable,
600
599
  'Too many requests. Please try again later.': errors.DDoSProtection,
600
+ 'quantity less then minQty': errors.InvalidOrder,
601
601
  '-1000': errors.ExchangeNotAvailable,
602
602
  '-1001': errors.ExchangeNotAvailable,
603
603
  '-1002': errors.AuthenticationError,
@@ -2907,7 +2907,7 @@ class bitrue extends bitrue$1["default"] {
2907
2907
  let networkCode = undefined;
2908
2908
  [networkCode, params] = this.handleNetworkCodeAndParams(params);
2909
2909
  if (networkCode !== undefined) {
2910
- request['chainName'] = this.networkCodeToId(networkCode);
2910
+ request['chainName'] = this.networkCodeToId(networkCode, currency['code']);
2911
2911
  }
2912
2912
  if (tag !== undefined) {
2913
2913
  request['tag'] = tag;
@@ -1784,7 +1784,7 @@ class bitso extends bitso$1["default"] {
1784
1784
  const networkId = this.safeString2(transaction, 'network', 'method');
1785
1785
  const status = this.safeString(transaction, 'status');
1786
1786
  const withdrawId = this.safeString(transaction, 'wid');
1787
- const networkCode = this.networkIdToCode(networkId);
1787
+ const networkCode = this.networkIdToCode(networkId, currency['code']);
1788
1788
  const networkCodeUpper = (networkCode !== undefined) ? networkCode.toUpperCase() : undefined;
1789
1789
  return {
1790
1790
  'id': this.safeString2(transaction, 'wid', 'fid'),
@@ -1536,10 +1536,11 @@ class bitstamp extends bitstamp$1["default"] {
1536
1536
  }
1537
1537
  parseDepositWithdrawFee(fee, currency = undefined) {
1538
1538
  const result = this.depositWithdrawFee(fee);
1539
+ const code = this.safeString(currency, 'code');
1539
1540
  for (let j = 0; j < fee.length; j++) {
1540
1541
  const networkEntry = fee[j];
1541
1542
  const networkId = this.safeString(networkEntry, 'network');
1542
- const networkCode = this.networkIdToCode(networkId);
1543
+ const networkCode = this.networkIdToCode(networkId, code);
1543
1544
  const withdrawFee = this.safeNumber(networkEntry, 'fee');
1544
1545
  result['withdraw'] = {
1545
1546
  'fee': withdrawFee,
@@ -2335,7 +2335,7 @@ class bitteam extends bitteam$1["default"] {
2335
2335
  'txid': txid,
2336
2336
  'timestamp': timestamp,
2337
2337
  'datetime': this.iso8601(timestamp),
2338
- 'network': this.networkIdToCode(networkId),
2338
+ 'network': this.networkIdToCode(networkId, code),
2339
2339
  'addressFrom': addressFrom,
2340
2340
  'address': undefined,
2341
2341
  'addressTo': addressTo,
@@ -378,7 +378,6 @@ class bittrade extends bittrade$1["default"] {
378
378
  'HECO': 'hrc20',
379
379
  'HT': 'hrc20',
380
380
  'ALGO': 'algo',
381
- 'OMNI': '',
382
381
  },
383
382
  // https://github.com/ccxt/ccxt/issues/5376
384
383
  'fetchOrdersByStatesMethod': 'private_get_order_orders',