ccxt 4.5.50 → 4.5.52

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 (995) hide show
  1. package/README.md +10 -9
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/abstract/aftermath.js +1 -1
  5. package/dist/cjs/src/abstract/alpaca.js +1 -1
  6. package/dist/cjs/src/abstract/apex.js +1 -1
  7. package/dist/cjs/src/abstract/arkham.js +1 -1
  8. package/dist/cjs/src/abstract/ascendex.js +1 -1
  9. package/dist/cjs/src/abstract/aster.js +1 -1
  10. package/dist/cjs/src/abstract/backpack.js +1 -1
  11. package/dist/cjs/src/abstract/bigone.js +1 -1
  12. package/dist/cjs/src/abstract/binance.js +1 -1
  13. package/dist/cjs/src/abstract/bingx.js +1 -1
  14. package/dist/cjs/src/abstract/bit2c.js +1 -1
  15. package/dist/cjs/src/abstract/bitbank.js +1 -1
  16. package/dist/cjs/src/abstract/bitbns.js +1 -1
  17. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  18. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  19. package/dist/cjs/src/abstract/bitget.js +1 -1
  20. package/dist/cjs/src/abstract/bithumb.js +1 -1
  21. package/dist/cjs/src/abstract/bitmart.js +1 -1
  22. package/dist/cjs/src/abstract/bitmex.js +1 -1
  23. package/dist/cjs/src/abstract/bitopro.js +1 -1
  24. package/dist/cjs/src/abstract/bitrue.js +1 -1
  25. package/dist/cjs/src/abstract/bitso.js +1 -1
  26. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  27. package/dist/cjs/src/abstract/bitteam.js +1 -1
  28. package/dist/cjs/src/abstract/bittrade.js +1 -1
  29. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  30. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  31. package/dist/cjs/src/abstract/blofin.js +1 -1
  32. package/dist/cjs/src/abstract/btcbox.js +1 -1
  33. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  34. package/dist/cjs/src/abstract/btcturk.js +1 -1
  35. package/dist/cjs/src/abstract/bullish.js +1 -1
  36. package/dist/cjs/src/abstract/bybit.js +1 -1
  37. package/dist/cjs/src/abstract/bydfi.js +1 -1
  38. package/dist/cjs/src/abstract/cex.js +1 -1
  39. package/dist/cjs/src/abstract/coinbase.js +1 -1
  40. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  41. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  42. package/dist/cjs/src/abstract/coincheck.js +1 -1
  43. package/dist/cjs/src/abstract/coinex.js +1 -1
  44. package/dist/cjs/src/abstract/coinmate.js +1 -1
  45. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  46. package/dist/cjs/src/abstract/coinone.js +1 -1
  47. package/dist/cjs/src/abstract/coinsph.js +1 -1
  48. package/dist/cjs/src/abstract/coinspot.js +1 -1
  49. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  50. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  51. package/dist/cjs/src/abstract/deepcoin.js +1 -1
  52. package/dist/cjs/src/abstract/delta.js +1 -1
  53. package/dist/cjs/src/abstract/deribit.js +1 -1
  54. package/dist/cjs/src/abstract/derive.js +1 -1
  55. package/dist/cjs/src/abstract/digifinex.js +1 -1
  56. package/dist/cjs/src/abstract/dydx.js +1 -1
  57. package/dist/cjs/src/abstract/exmo.js +1 -1
  58. package/dist/cjs/src/abstract/foxbit.js +1 -1
  59. package/dist/cjs/src/abstract/gate.js +1 -1
  60. package/dist/cjs/src/abstract/gemini.js +1 -1
  61. package/dist/cjs/src/abstract/grvt.js +1 -1
  62. package/dist/cjs/src/abstract/hashkey.js +1 -1
  63. package/dist/cjs/src/abstract/hibachi.js +1 -1
  64. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  65. package/dist/cjs/src/abstract/hollaex.js +1 -1
  66. package/dist/cjs/src/abstract/htx.js +1 -1
  67. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  68. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  69. package/dist/cjs/src/abstract/indodax.js +1 -1
  70. package/dist/cjs/src/abstract/kraken.js +1 -1
  71. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  72. package/dist/cjs/src/abstract/kucoin.js +1 -1
  73. package/dist/cjs/src/abstract/latoken.js +1 -1
  74. package/dist/cjs/src/abstract/lbank.js +1 -1
  75. package/dist/cjs/src/abstract/lighter.js +1 -1
  76. package/dist/cjs/src/abstract/luno.js +1 -1
  77. package/dist/cjs/src/abstract/mercado.js +1 -1
  78. package/dist/cjs/src/abstract/mexc.js +1 -1
  79. package/dist/cjs/src/abstract/modetrade.js +1 -1
  80. package/dist/cjs/src/abstract/ndax.js +1 -1
  81. package/dist/cjs/src/abstract/novadax.js +1 -1
  82. package/dist/cjs/src/abstract/okx.js +1 -1
  83. package/dist/cjs/src/abstract/onetrading.js +1 -1
  84. package/dist/cjs/src/abstract/oxfun.js +1 -1
  85. package/dist/cjs/src/abstract/p2b.js +1 -1
  86. package/dist/cjs/src/abstract/pacifica.js +1 -1
  87. package/dist/cjs/src/abstract/paradex.js +1 -1
  88. package/dist/cjs/src/abstract/paymium.js +1 -1
  89. package/dist/cjs/src/abstract/phemex.js +1 -1
  90. package/dist/cjs/src/abstract/poloniex.js +1 -1
  91. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  92. package/dist/cjs/src/abstract/toobit.js +1 -1
  93. package/dist/cjs/src/abstract/upbit.js +1 -1
  94. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  95. package/dist/cjs/src/abstract/weex.js +1 -1
  96. package/dist/cjs/src/abstract/whitebit.js +1 -1
  97. package/dist/cjs/src/abstract/woo.js +1 -1
  98. package/dist/cjs/src/abstract/woofipro.js +1 -1
  99. package/dist/cjs/src/abstract/xt.js +1 -1
  100. package/dist/cjs/src/abstract/yobit.js +1 -1
  101. package/dist/cjs/src/abstract/zaif.js +1 -1
  102. package/dist/cjs/src/abstract/zebpay.js +1 -1
  103. package/dist/cjs/src/abstract/zonda.js +1 -1
  104. package/dist/cjs/src/aftermath.js +0 -1
  105. package/dist/cjs/src/alpaca.js +1 -1
  106. package/dist/cjs/src/apex.js +1 -1
  107. package/dist/cjs/src/arkham.js +1 -1
  108. package/dist/cjs/src/ascendex.js +1 -1
  109. package/dist/cjs/src/aster.js +1533 -1073
  110. package/dist/cjs/src/backpack.js +1 -1
  111. package/dist/cjs/src/base/Exchange.js +44 -36
  112. package/dist/cjs/src/base/Precise.js +0 -6
  113. package/dist/cjs/src/base/errors.js +0 -6
  114. package/dist/cjs/src/base/functions/crypto.js +1 -1
  115. package/dist/cjs/src/base/functions/encode.js +1 -1
  116. package/dist/cjs/src/base/functions/io.js +1 -1
  117. package/dist/cjs/src/base/functions/misc.js +0 -1
  118. package/dist/cjs/src/base/functions/number.js +0 -6
  119. package/dist/cjs/src/base/functions/platform.js +0 -6
  120. package/dist/cjs/src/base/functions/rsa.js +0 -1
  121. package/dist/cjs/src/base/functions/string.js +0 -6
  122. package/dist/cjs/src/base/functions/throttle.js +1 -1
  123. package/dist/cjs/src/base/functions/time.js +0 -6
  124. package/dist/cjs/src/base/functions/totp.js +0 -1
  125. package/dist/cjs/src/base/functions/type.js +0 -6
  126. package/dist/cjs/src/base/functions.js +1 -1
  127. package/dist/cjs/src/base/ws/Cache.js +0 -6
  128. package/dist/cjs/src/base/ws/Client.js +0 -1
  129. package/dist/cjs/src/base/ws/Future.js +1 -1
  130. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  131. package/dist/cjs/src/base/ws/OrderBookSide.js +0 -6
  132. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  133. package/dist/cjs/src/bequant.js +4 -1
  134. package/dist/cjs/src/bigone.js +1 -1
  135. package/dist/cjs/src/binance.js +59 -48
  136. package/dist/cjs/src/binancecoinm.js +1 -1
  137. package/dist/cjs/src/binanceus.js +1 -1
  138. package/dist/cjs/src/binanceusdm.js +2 -1
  139. package/dist/cjs/src/bingx.js +1 -1
  140. package/dist/cjs/src/bit2c.js +1 -1
  141. package/dist/cjs/src/bitbank.js +1 -1
  142. package/dist/cjs/src/bitbns.js +1 -1
  143. package/dist/cjs/src/bitfinex.js +1 -1
  144. package/dist/cjs/src/bitflyer.js +1 -1
  145. package/dist/cjs/src/bitget.js +6 -4
  146. package/dist/cjs/src/bithumb.js +1 -1
  147. package/dist/cjs/src/bitmart.js +1 -1
  148. package/dist/cjs/src/bitmex.js +1 -1
  149. package/dist/cjs/src/bitopro.js +1 -1
  150. package/dist/cjs/src/bitrue.js +1 -1
  151. package/dist/cjs/src/bitso.js +1 -1
  152. package/dist/cjs/src/bitstamp.js +1 -1
  153. package/dist/cjs/src/bitteam.js +1 -1
  154. package/dist/cjs/src/bittrade.js +1 -1
  155. package/dist/cjs/src/blockchaincom.js +1 -1
  156. package/dist/cjs/src/blofin.js +26 -31
  157. package/dist/cjs/src/btcbox.js +1 -1
  158. package/dist/cjs/src/btcmarkets.js +1 -1
  159. package/dist/cjs/src/btcturk.js +1 -1
  160. package/dist/cjs/src/bullish.js +1 -1
  161. package/dist/cjs/src/bybit.js +1 -1
  162. package/dist/cjs/src/bydfi.js +2 -3
  163. package/dist/cjs/src/cex.js +1 -1
  164. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  165. package/dist/cjs/src/coincheck.js +1 -1
  166. package/dist/cjs/src/coinex.js +1 -1
  167. package/dist/cjs/src/coinmate.js +1 -1
  168. package/dist/cjs/src/coinmetro.js +1 -1
  169. package/dist/cjs/src/coinone.js +1 -1
  170. package/dist/cjs/src/coinsph.js +0 -1
  171. package/dist/cjs/src/coinspot.js +1 -1
  172. package/dist/cjs/src/cryptocom.js +1 -1
  173. package/dist/cjs/src/cryptomus.js +1 -1
  174. package/dist/cjs/src/deepcoin.js +1 -2
  175. package/dist/cjs/src/delta.js +1 -1
  176. package/dist/cjs/src/deribit.js +1 -1
  177. package/dist/cjs/src/derive.js +1 -1
  178. package/dist/cjs/src/digifinex.js +1 -1
  179. package/dist/cjs/src/dydx.js +1 -1
  180. package/dist/cjs/src/exmo.js +1 -1
  181. package/dist/cjs/src/fmfwio.js +1 -1
  182. package/dist/cjs/src/foxbit.js +1 -1
  183. package/dist/cjs/src/gate.js +1 -1
  184. package/dist/cjs/src/gateio.js +1 -1
  185. package/dist/cjs/src/gemini.js +1 -1
  186. package/dist/cjs/src/grvt.js +28 -21
  187. package/dist/cjs/src/hashkey.js +1 -1
  188. package/dist/cjs/src/hibachi.js +1 -1
  189. package/dist/cjs/src/hitbtc.js +0 -1
  190. package/dist/cjs/src/hollaex.js +1 -1
  191. package/dist/cjs/src/htx.js +1 -1
  192. package/dist/cjs/src/huobi.js +1 -1
  193. package/dist/cjs/src/hyperliquid.js +1 -1
  194. package/dist/cjs/src/independentreserve.js +1 -1
  195. package/dist/cjs/src/indodax.js +1 -1
  196. package/dist/cjs/src/kraken.js +7 -2
  197. package/dist/cjs/src/krakenfutures.js +1 -1
  198. package/dist/cjs/src/kucoin.js +246 -111
  199. package/dist/cjs/src/kucoinfutures.js +1 -2
  200. package/dist/cjs/src/latoken.js +1 -1
  201. package/dist/cjs/src/lbank.js +1 -1
  202. package/dist/cjs/src/lighter.js +9 -3
  203. package/dist/cjs/src/luno.js +1 -1
  204. package/dist/cjs/src/mercado.js +1 -1
  205. package/dist/cjs/src/mexc.js +1 -1
  206. package/dist/cjs/src/modetrade.js +1 -1
  207. package/dist/cjs/src/myokx.js +1 -1
  208. package/dist/cjs/src/ndax.js +1 -1
  209. package/dist/cjs/src/novadax.js +1 -1
  210. package/dist/cjs/src/okx.js +1 -1
  211. package/dist/cjs/src/okxus.js +1 -1
  212. package/dist/cjs/src/onetrading.js +1 -1
  213. package/dist/cjs/src/oxfun.js +1 -1
  214. package/dist/cjs/src/p2b.js +1 -1
  215. package/dist/cjs/src/pacifica.js +1 -1
  216. package/dist/cjs/src/paradex.js +1 -1
  217. package/dist/cjs/src/paymium.js +1 -1
  218. package/dist/cjs/src/poloniex.js +1 -1
  219. package/dist/cjs/src/pro/alpaca.js +1 -1
  220. package/dist/cjs/src/pro/apex.js +1 -1
  221. package/dist/cjs/src/pro/arkham.js +1 -1
  222. package/dist/cjs/src/pro/ascendex.js +1 -1
  223. package/dist/cjs/src/pro/aster.js +154 -181
  224. package/dist/cjs/src/pro/backpack.js +1 -1
  225. package/dist/cjs/src/pro/bequant.js +5 -4
  226. package/dist/cjs/src/pro/binance.js +4 -1
  227. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  228. package/dist/cjs/src/pro/binanceus.js +1 -1
  229. package/dist/cjs/src/pro/binanceusdm.js +7 -2
  230. package/dist/cjs/src/pro/bingx.js +1 -1
  231. package/dist/cjs/src/pro/bitfinex.js +1 -1
  232. package/dist/cjs/src/pro/bitget.js +1 -1
  233. package/dist/cjs/src/pro/bithumb.js +1 -1
  234. package/dist/cjs/src/pro/bitmart.js +1 -1
  235. package/dist/cjs/src/pro/bitmex.js +1 -1
  236. package/dist/cjs/src/pro/bitrue.js +1 -1
  237. package/dist/cjs/src/pro/bitstamp.js +1 -1
  238. package/dist/cjs/src/pro/bitvavo.js +1 -1
  239. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  240. package/dist/cjs/src/pro/blofin.js +1 -1
  241. package/dist/cjs/src/pro/bullish.js +1 -1
  242. package/dist/cjs/src/pro/bybit.js +1 -1
  243. package/dist/cjs/src/pro/bydfi.js +1 -1
  244. package/dist/cjs/src/pro/cex.js +1 -1
  245. package/dist/cjs/src/pro/coinbase.js +1 -1
  246. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  247. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  248. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  249. package/dist/cjs/src/pro/coincheck.js +1 -1
  250. package/dist/cjs/src/pro/coinex.js +1 -1
  251. package/dist/cjs/src/pro/coinone.js +1 -1
  252. package/dist/cjs/src/pro/cryptocom.js +1 -1
  253. package/dist/cjs/src/pro/deepcoin.js +1 -1
  254. package/dist/cjs/src/pro/deribit.js +1 -1
  255. package/dist/cjs/src/pro/dydx.js +1 -1
  256. package/dist/cjs/src/pro/exmo.js +1 -1
  257. package/dist/cjs/src/pro/gate.js +78 -7
  258. package/dist/cjs/src/pro/gateio.js +1 -1
  259. package/dist/cjs/src/pro/gemini.js +1 -1
  260. package/dist/cjs/src/pro/grvt.js +8 -9
  261. package/dist/cjs/src/pro/hashkey.js +1 -1
  262. package/dist/cjs/src/pro/hitbtc.js +1 -1
  263. package/dist/cjs/src/pro/hollaex.js +1 -1
  264. package/dist/cjs/src/pro/htx.js +1 -1
  265. package/dist/cjs/src/pro/huobi.js +1 -1
  266. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  267. package/dist/cjs/src/pro/independentreserve.js +1 -1
  268. package/dist/cjs/src/pro/kraken.js +1 -1
  269. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  270. package/dist/cjs/src/pro/kucoin.js +1191 -104
  271. package/dist/cjs/src/pro/kucoinfutures.js +1 -2
  272. package/dist/cjs/src/pro/lbank.js +0 -1
  273. package/dist/cjs/src/pro/lighter.js +1 -1
  274. package/dist/cjs/src/pro/luno.js +1 -1
  275. package/dist/cjs/src/pro/mexc.js +1 -1
  276. package/dist/cjs/src/pro/myokx.js +1 -1
  277. package/dist/cjs/src/pro/ndax.js +1 -1
  278. package/dist/cjs/src/pro/okx.js +1 -1
  279. package/dist/cjs/src/pro/okxus.js +1 -1
  280. package/dist/cjs/src/pro/onetrading.js +1 -1
  281. package/dist/cjs/src/pro/oxfun.js +1 -1
  282. package/dist/cjs/src/pro/p2b.js +1 -1
  283. package/dist/cjs/src/pro/pacifica.js +1 -1
  284. package/dist/cjs/src/pro/paradex.js +1 -1
  285. package/dist/cjs/src/pro/phemex.js +1 -1
  286. package/dist/cjs/src/pro/poloniex.js +1 -1
  287. package/dist/cjs/src/pro/toobit.js +1 -1
  288. package/dist/cjs/src/pro/upbit.js +1 -1
  289. package/dist/cjs/src/pro/weex.js +1 -1
  290. package/dist/cjs/src/pro/whitebit.js +1 -1
  291. package/dist/cjs/src/pro/xt.js +1 -1
  292. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +1 -0
  293. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -1
  294. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -1
  295. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -1
  296. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -1
  297. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -1
  298. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -1
  299. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -1
  300. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -1
  301. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -1
  302. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -1
  303. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -1
  304. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -1
  305. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -1
  306. package/dist/cjs/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -1
  307. package/dist/cjs/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  308. package/dist/cjs/src/static_dependencies/dydx-v4-client/onboarding.js +0 -1
  309. package/dist/cjs/src/static_dependencies/dydx-v4-client/registry.js +0 -1
  310. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +0 -6
  311. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  312. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  313. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +0 -1
  314. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +0 -1
  315. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +0 -1
  316. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +0 -1
  317. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +0 -1
  318. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -1
  319. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +0 -1
  320. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +0 -1
  321. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +0 -1
  322. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +0 -1
  323. package/dist/cjs/src/static_dependencies/ethers/fragments.js +0 -6
  324. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  325. package/dist/cjs/src/static_dependencies/ethers/index.js +10 -1
  326. package/dist/cjs/src/static_dependencies/ethers/interface.js +0 -6
  327. package/dist/cjs/src/static_dependencies/ethers/typed.js +0 -6
  328. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +13 -1
  329. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +6 -1
  330. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +9 -1
  331. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +0 -6
  332. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  333. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +7 -1
  334. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +5 -1
  335. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +0 -6
  336. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +8 -1
  337. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  338. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -1
  339. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -1
  340. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  341. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  342. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  343. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  344. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -1
  345. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  346. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  347. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  348. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  349. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  350. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  351. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  352. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +0 -6
  353. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  354. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  355. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  356. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -1
  357. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  358. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  359. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  360. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  361. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  362. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  363. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  364. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  365. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +0 -6
  366. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +0 -1
  367. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +0 -6
  368. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +0 -6
  369. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +0 -1
  370. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +0 -1
  371. package/dist/cjs/src/static_dependencies/noble-hashes/pbkdf2.js +0 -1
  372. package/dist/cjs/src/static_dependencies/noble-hashes/ripemd160.js +0 -1
  373. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +0 -1
  374. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +0 -1
  375. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +0 -1
  376. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +0 -1
  377. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  378. package/dist/cjs/src/static_dependencies/node-fetch/body.js +5 -1
  379. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +0 -1
  380. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +0 -6
  381. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -1
  382. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +5 -1
  383. package/dist/cjs/src/static_dependencies/node-fetch/index.js +7 -1
  384. package/dist/cjs/src/static_dependencies/node-fetch/request.js +7 -1
  385. package/dist/cjs/src/static_dependencies/node-fetch/response.js +5 -1
  386. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  387. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  388. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +0 -6
  389. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +0 -1
  390. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +0 -1
  391. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -1
  392. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -1
  393. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  394. package/dist/cjs/src/static_dependencies/qs/formats.js +0 -6
  395. package/dist/cjs/src/static_dependencies/qs/index.js +0 -1
  396. package/dist/cjs/src/static_dependencies/qs/parse.js +0 -1
  397. package/dist/cjs/src/static_dependencies/qs/stringify.js +0 -1
  398. package/dist/cjs/src/static_dependencies/qs/utils.js +0 -6
  399. package/dist/cjs/src/static_dependencies/scure-base/index.js +0 -6
  400. package/dist/cjs/src/static_dependencies/scure-bip32/index.js +19 -1
  401. package/dist/cjs/src/static_dependencies/scure-bip39/index.js +1 -1
  402. package/dist/cjs/src/static_dependencies/scure-bip39/wordlists/english.js +0 -6
  403. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  404. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  405. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +0 -6
  406. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  407. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  408. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +0 -6
  409. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +0 -6
  410. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +0 -6
  411. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  412. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  413. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  414. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -1
  415. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -1
  416. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  417. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  418. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  419. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -1
  420. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  421. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -1
  422. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -1
  423. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  424. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -1
  425. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -1
  426. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -1
  427. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  428. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +4 -1
  429. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +0 -1
  430. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +3 -1
  431. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +0 -1
  432. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +0 -1
  433. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +0 -1
  434. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +0 -1
  435. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  436. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +0 -6
  437. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  438. package/dist/cjs/src/tokocrypto.js +1 -1
  439. package/dist/cjs/src/toobit.js +1 -1
  440. package/dist/cjs/src/upbit.js +1 -1
  441. package/dist/cjs/src/wavesexchange.js +1 -1
  442. package/dist/cjs/src/weex.js +1 -1
  443. package/dist/cjs/src/whitebit.js +3 -1
  444. package/dist/cjs/src/woo.js +1 -1
  445. package/dist/cjs/src/woofipro.js +1 -1
  446. package/dist/cjs/src/xt.js +1 -1
  447. package/dist/cjs/src/yobit.js +1 -1
  448. package/dist/cjs/src/zaif.js +1 -1
  449. package/dist/cjs/src/zebpay.js +1 -1
  450. package/dist/cjs/src/zonda.js +1 -1
  451. package/js/ccxt.d.ts +1 -1
  452. package/js/ccxt.js +1 -7
  453. package/js/src/abstract/aftermath.js +0 -6
  454. package/js/src/abstract/alpaca.js +0 -6
  455. package/js/src/abstract/apex.js +0 -6
  456. package/js/src/abstract/arkham.js +0 -6
  457. package/js/src/abstract/ascendex.js +0 -6
  458. package/js/src/abstract/aster.d.ts +43 -9
  459. package/js/src/abstract/aster.js +0 -6
  460. package/js/src/abstract/backpack.js +0 -6
  461. package/js/src/abstract/bequant.js +0 -6
  462. package/js/src/abstract/bigone.js +0 -6
  463. package/js/src/abstract/binance.js +0 -6
  464. package/js/src/abstract/binancecoinm.js +0 -6
  465. package/js/src/abstract/binanceus.js +0 -6
  466. package/js/src/abstract/binanceusdm.js +0 -6
  467. package/js/src/abstract/bingx.js +0 -6
  468. package/js/src/abstract/bit2c.js +0 -6
  469. package/js/src/abstract/bitbank.js +0 -6
  470. package/js/src/abstract/bitbns.js +0 -6
  471. package/js/src/abstract/bitfinex.js +0 -6
  472. package/js/src/abstract/bitflyer.js +0 -6
  473. package/js/src/abstract/bitget.js +0 -6
  474. package/js/src/abstract/bithumb.js +0 -6
  475. package/js/src/abstract/bitmart.js +0 -6
  476. package/js/src/abstract/bitmex.js +0 -6
  477. package/js/src/abstract/bitopro.js +0 -6
  478. package/js/src/abstract/bitrue.js +0 -6
  479. package/js/src/abstract/bitso.js +0 -6
  480. package/js/src/abstract/bitstamp.js +0 -6
  481. package/js/src/abstract/bitteam.js +0 -6
  482. package/js/src/abstract/bittrade.js +0 -6
  483. package/js/src/abstract/bitvavo.js +0 -6
  484. package/js/src/abstract/blockchaincom.js +0 -6
  485. package/js/src/abstract/blofin.js +0 -6
  486. package/js/src/abstract/btcbox.js +0 -6
  487. package/js/src/abstract/btcmarkets.js +0 -6
  488. package/js/src/abstract/btcturk.js +0 -6
  489. package/js/src/abstract/bullish.js +0 -6
  490. package/js/src/abstract/bybit.js +0 -6
  491. package/js/src/abstract/bydfi.js +0 -6
  492. package/js/src/abstract/cex.js +0 -6
  493. package/js/src/abstract/coinbase.js +0 -6
  494. package/js/src/abstract/coinbaseadvanced.js +0 -6
  495. package/js/src/abstract/coinbaseexchange.js +0 -6
  496. package/js/src/abstract/coinbaseinternational.js +0 -6
  497. package/js/src/abstract/coincheck.js +0 -6
  498. package/js/src/abstract/coinex.js +0 -6
  499. package/js/src/abstract/coinmate.js +0 -6
  500. package/js/src/abstract/coinmetro.js +0 -6
  501. package/js/src/abstract/coinone.js +0 -6
  502. package/js/src/abstract/coinsph.js +0 -6
  503. package/js/src/abstract/coinspot.js +0 -6
  504. package/js/src/abstract/cryptocom.js +0 -6
  505. package/js/src/abstract/cryptomus.js +0 -6
  506. package/js/src/abstract/deepcoin.js +0 -6
  507. package/js/src/abstract/delta.js +0 -6
  508. package/js/src/abstract/deribit.js +0 -6
  509. package/js/src/abstract/derive.js +0 -6
  510. package/js/src/abstract/digifinex.js +0 -6
  511. package/js/src/abstract/dydx.js +0 -6
  512. package/js/src/abstract/exmo.js +0 -6
  513. package/js/src/abstract/fmfwio.js +0 -6
  514. package/js/src/abstract/foxbit.js +0 -6
  515. package/js/src/abstract/gate.js +0 -6
  516. package/js/src/abstract/gateio.js +0 -6
  517. package/js/src/abstract/gemini.js +0 -6
  518. package/js/src/abstract/grvt.js +0 -6
  519. package/js/src/abstract/hashkey.js +0 -6
  520. package/js/src/abstract/hibachi.js +0 -6
  521. package/js/src/abstract/hitbtc.js +0 -6
  522. package/js/src/abstract/hollaex.js +0 -6
  523. package/js/src/abstract/htx.js +0 -6
  524. package/js/src/abstract/huobi.js +0 -6
  525. package/js/src/abstract/hyperliquid.js +0 -6
  526. package/js/src/abstract/independentreserve.js +0 -6
  527. package/js/src/abstract/indodax.js +0 -6
  528. package/js/src/abstract/kraken.js +0 -6
  529. package/js/src/abstract/krakenfutures.js +0 -6
  530. package/js/src/abstract/kucoin.d.ts +5 -0
  531. package/js/src/abstract/kucoin.js +0 -6
  532. package/js/src/abstract/kucoinfutures.d.ts +5 -0
  533. package/js/src/abstract/kucoinfutures.js +0 -6
  534. package/js/src/abstract/latoken.js +0 -6
  535. package/js/src/abstract/lbank.js +0 -6
  536. package/js/src/abstract/lighter.js +0 -6
  537. package/js/src/abstract/luno.js +0 -6
  538. package/js/src/abstract/mercado.js +0 -6
  539. package/js/src/abstract/mexc.js +0 -6
  540. package/js/src/abstract/modetrade.js +0 -6
  541. package/js/src/abstract/myokx.js +0 -6
  542. package/js/src/abstract/ndax.js +0 -6
  543. package/js/src/abstract/novadax.js +0 -6
  544. package/js/src/abstract/okx.js +0 -6
  545. package/js/src/abstract/okxus.js +0 -6
  546. package/js/src/abstract/onetrading.js +0 -6
  547. package/js/src/abstract/oxfun.js +0 -6
  548. package/js/src/abstract/p2b.js +0 -6
  549. package/js/src/abstract/pacifica.js +0 -6
  550. package/js/src/abstract/paradex.js +0 -6
  551. package/js/src/abstract/paymium.js +0 -6
  552. package/js/src/abstract/phemex.js +0 -6
  553. package/js/src/abstract/poloniex.js +0 -6
  554. package/js/src/abstract/tokocrypto.js +0 -6
  555. package/js/src/abstract/toobit.js +0 -6
  556. package/js/src/abstract/upbit.js +0 -6
  557. package/js/src/abstract/wavesexchange.js +0 -6
  558. package/js/src/abstract/weex.js +0 -6
  559. package/js/src/abstract/whitebit.js +0 -6
  560. package/js/src/abstract/woo.js +0 -6
  561. package/js/src/abstract/woofipro.js +0 -6
  562. package/js/src/abstract/xt.js +0 -6
  563. package/js/src/abstract/yobit.js +0 -6
  564. package/js/src/abstract/zaif.js +0 -6
  565. package/js/src/abstract/zebpay.js +0 -6
  566. package/js/src/abstract/zonda.js +0 -6
  567. package/js/src/aftermath.js +0 -6
  568. package/js/src/alpaca.js +0 -6
  569. package/js/src/apex.js +0 -6
  570. package/js/src/arkham.js +0 -6
  571. package/js/src/ascendex.js +0 -6
  572. package/js/src/aster.d.ts +136 -71
  573. package/js/src/aster.js +1532 -1078
  574. package/js/src/backpack.js +0 -6
  575. package/js/src/base/Exchange.d.ts +4 -4
  576. package/js/src/base/Exchange.js +44 -42
  577. package/js/src/base/Precise.js +0 -6
  578. package/js/src/base/errorHierarchy.js +0 -6
  579. package/js/src/base/errors.js +0 -6
  580. package/js/src/base/functions/crypto.js +0 -6
  581. package/js/src/base/functions/encode.js +0 -6
  582. package/js/src/base/functions/generic.js +0 -6
  583. package/js/src/base/functions/io.js +0 -6
  584. package/js/src/base/functions/misc.js +0 -6
  585. package/js/src/base/functions/number.js +0 -6
  586. package/js/src/base/functions/platform.js +0 -6
  587. package/js/src/base/functions/rsa.js +0 -6
  588. package/js/src/base/functions/string.js +0 -6
  589. package/js/src/base/functions/throttle.js +0 -6
  590. package/js/src/base/functions/time.js +0 -6
  591. package/js/src/base/functions/totp.js +0 -6
  592. package/js/src/base/functions/type.js +0 -6
  593. package/js/src/base/functions.js +0 -6
  594. package/js/src/base/types.js +0 -6
  595. package/js/src/base/ws/Cache.js +0 -6
  596. package/js/src/base/ws/Client.js +0 -6
  597. package/js/src/base/ws/Future.js +0 -6
  598. package/js/src/base/ws/OrderBook.js +0 -6
  599. package/js/src/base/ws/OrderBookSide.js +0 -6
  600. package/js/src/base/ws/WsClient.js +0 -6
  601. package/js/src/base/ws/functions.js +0 -6
  602. package/js/src/bequant.js +3 -6
  603. package/js/src/bigone.js +0 -6
  604. package/js/src/binance.d.ts +1 -1
  605. package/js/src/binance.js +57 -48
  606. package/js/src/binancecoinm.js +0 -6
  607. package/js/src/binanceus.js +0 -6
  608. package/js/src/binanceusdm.js +1 -6
  609. package/js/src/bingx.js +0 -6
  610. package/js/src/bit2c.js +0 -6
  611. package/js/src/bitbank.js +0 -6
  612. package/js/src/bitbns.js +0 -6
  613. package/js/src/bitfinex.js +0 -6
  614. package/js/src/bitflyer.js +0 -6
  615. package/js/src/bitget.js +5 -9
  616. package/js/src/bithumb.js +0 -6
  617. package/js/src/bitmart.js +0 -6
  618. package/js/src/bitmex.js +0 -6
  619. package/js/src/bitopro.js +0 -6
  620. package/js/src/bitrue.js +0 -6
  621. package/js/src/bitso.js +0 -6
  622. package/js/src/bitstamp.js +0 -6
  623. package/js/src/bitteam.js +0 -6
  624. package/js/src/bittrade.js +0 -6
  625. package/js/src/bitvavo.js +0 -6
  626. package/js/src/blockchaincom.js +0 -6
  627. package/js/src/blofin.js +25 -36
  628. package/js/src/btcbox.js +0 -6
  629. package/js/src/btcmarkets.js +0 -6
  630. package/js/src/btcturk.js +0 -6
  631. package/js/src/bullish.js +0 -6
  632. package/js/src/bybit.js +0 -6
  633. package/js/src/bydfi.js +1 -7
  634. package/js/src/cex.js +0 -6
  635. package/js/src/coinbase.js +0 -6
  636. package/js/src/coinbaseadvanced.js +0 -6
  637. package/js/src/coinbaseexchange.js +0 -6
  638. package/js/src/coinbaseinternational.js +0 -6
  639. package/js/src/coincheck.js +0 -6
  640. package/js/src/coinex.js +0 -6
  641. package/js/src/coinmate.js +0 -6
  642. package/js/src/coinmetro.js +0 -6
  643. package/js/src/coinone.js +0 -6
  644. package/js/src/coinsph.js +0 -6
  645. package/js/src/coinspot.js +0 -6
  646. package/js/src/cryptocom.js +0 -6
  647. package/js/src/cryptomus.js +0 -6
  648. package/js/src/deepcoin.js +1 -7
  649. package/js/src/delta.js +0 -6
  650. package/js/src/deribit.js +0 -6
  651. package/js/src/derive.js +0 -6
  652. package/js/src/digifinex.js +0 -6
  653. package/js/src/dydx.js +0 -6
  654. package/js/src/exmo.js +0 -6
  655. package/js/src/fmfwio.js +0 -6
  656. package/js/src/foxbit.js +0 -6
  657. package/js/src/gate.js +0 -6
  658. package/js/src/gateio.js +0 -6
  659. package/js/src/gemini.js +0 -6
  660. package/js/src/grvt.js +27 -26
  661. package/js/src/hashkey.js +0 -6
  662. package/js/src/hibachi.js +0 -6
  663. package/js/src/hitbtc.js +0 -6
  664. package/js/src/hollaex.js +0 -6
  665. package/js/src/htx.js +0 -6
  666. package/js/src/huobi.js +0 -6
  667. package/js/src/hyperliquid.js +0 -6
  668. package/js/src/independentreserve.js +0 -6
  669. package/js/src/indodax.js +0 -6
  670. package/js/src/kraken.js +6 -7
  671. package/js/src/krakenfutures.js +0 -6
  672. package/js/src/kucoin.d.ts +27 -11
  673. package/js/src/kucoin.js +245 -116
  674. package/js/src/kucoinfutures.js +0 -7
  675. package/js/src/latoken.js +0 -6
  676. package/js/src/lbank.js +0 -6
  677. package/js/src/lighter.js +8 -8
  678. package/js/src/luno.js +0 -6
  679. package/js/src/mercado.js +0 -6
  680. package/js/src/mexc.js +0 -6
  681. package/js/src/modetrade.js +0 -6
  682. package/js/src/myokx.js +0 -6
  683. package/js/src/ndax.js +0 -6
  684. package/js/src/novadax.js +0 -6
  685. package/js/src/okx.js +0 -6
  686. package/js/src/okxus.js +0 -6
  687. package/js/src/onetrading.js +0 -6
  688. package/js/src/oxfun.js +0 -6
  689. package/js/src/p2b.js +0 -6
  690. package/js/src/pacifica.js +0 -6
  691. package/js/src/paradex.js +0 -6
  692. package/js/src/paymium.js +0 -6
  693. package/js/src/phemex.js +0 -6
  694. package/js/src/poloniex.js +0 -6
  695. package/js/src/pro/aftermath.js +0 -6
  696. package/js/src/pro/alpaca.js +0 -6
  697. package/js/src/pro/apex.js +0 -6
  698. package/js/src/pro/arkham.js +0 -6
  699. package/js/src/pro/ascendex.js +0 -6
  700. package/js/src/pro/aster.d.ts +82 -46
  701. package/js/src/pro/aster.js +153 -186
  702. package/js/src/pro/backpack.js +0 -6
  703. package/js/src/pro/bequant.js +4 -9
  704. package/js/src/pro/binance.js +4 -7
  705. package/js/src/pro/binancecoinm.js +0 -6
  706. package/js/src/pro/binanceus.js +0 -6
  707. package/js/src/pro/binanceusdm.js +6 -7
  708. package/js/src/pro/bingx.js +0 -6
  709. package/js/src/pro/bitfinex.js +0 -6
  710. package/js/src/pro/bitget.js +0 -6
  711. package/js/src/pro/bithumb.js +0 -6
  712. package/js/src/pro/bitmart.js +0 -6
  713. package/js/src/pro/bitmex.js +0 -6
  714. package/js/src/pro/bitopro.js +0 -6
  715. package/js/src/pro/bitrue.js +0 -6
  716. package/js/src/pro/bitstamp.js +0 -6
  717. package/js/src/pro/bittrade.js +0 -6
  718. package/js/src/pro/bitvavo.js +0 -6
  719. package/js/src/pro/blockchaincom.js +0 -6
  720. package/js/src/pro/blofin.js +0 -6
  721. package/js/src/pro/bullish.js +0 -6
  722. package/js/src/pro/bybit.js +0 -6
  723. package/js/src/pro/bydfi.js +0 -6
  724. package/js/src/pro/cex.js +0 -6
  725. package/js/src/pro/coinbase.js +0 -6
  726. package/js/src/pro/coinbaseadvanced.js +0 -6
  727. package/js/src/pro/coinbaseexchange.js +0 -6
  728. package/js/src/pro/coinbaseinternational.js +0 -6
  729. package/js/src/pro/coincheck.js +0 -6
  730. package/js/src/pro/coinex.js +0 -6
  731. package/js/src/pro/coinone.js +0 -6
  732. package/js/src/pro/cryptocom.js +0 -6
  733. package/js/src/pro/deepcoin.js +0 -6
  734. package/js/src/pro/deribit.js +0 -6
  735. package/js/src/pro/derive.js +0 -6
  736. package/js/src/pro/dydx.js +0 -6
  737. package/js/src/pro/exmo.js +0 -6
  738. package/js/src/pro/gate.d.ts +1 -0
  739. package/js/src/pro/gate.js +77 -12
  740. package/js/src/pro/gateio.js +0 -6
  741. package/js/src/pro/gemini.js +0 -6
  742. package/js/src/pro/grvt.js +7 -14
  743. package/js/src/pro/hashkey.js +0 -6
  744. package/js/src/pro/hitbtc.js +0 -6
  745. package/js/src/pro/hollaex.js +0 -6
  746. package/js/src/pro/htx.js +0 -6
  747. package/js/src/pro/huobi.js +0 -6
  748. package/js/src/pro/hyperliquid.js +0 -6
  749. package/js/src/pro/independentreserve.js +0 -6
  750. package/js/src/pro/kraken.js +0 -6
  751. package/js/src/pro/krakenfutures.js +0 -6
  752. package/js/src/pro/kucoin.d.ts +65 -6
  753. package/js/src/pro/kucoin.js +1190 -109
  754. package/js/src/pro/kucoinfutures.js +0 -7
  755. package/js/src/pro/lbank.js +0 -6
  756. package/js/src/pro/lighter.js +0 -6
  757. package/js/src/pro/luno.js +0 -6
  758. package/js/src/pro/mexc.js +0 -6
  759. package/js/src/pro/modetrade.js +0 -6
  760. package/js/src/pro/myokx.js +0 -6
  761. package/js/src/pro/ndax.js +0 -6
  762. package/js/src/pro/okx.js +0 -6
  763. package/js/src/pro/okxus.js +0 -6
  764. package/js/src/pro/onetrading.js +0 -6
  765. package/js/src/pro/oxfun.js +0 -6
  766. package/js/src/pro/p2b.js +0 -6
  767. package/js/src/pro/pacifica.js +0 -6
  768. package/js/src/pro/paradex.js +0 -6
  769. package/js/src/pro/phemex.js +0 -6
  770. package/js/src/pro/poloniex.js +0 -6
  771. package/js/src/pro/toobit.js +0 -6
  772. package/js/src/pro/upbit.js +0 -6
  773. package/js/src/pro/weex.js +0 -6
  774. package/js/src/pro/whitebit.js +0 -6
  775. package/js/src/pro/woo.js +0 -6
  776. package/js/src/pro/woofipro.js +0 -6
  777. package/js/src/pro/xt.js +0 -6
  778. package/js/src/protobuf/mexc/compiled.cjs +0 -6
  779. package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -6
  780. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.js +0 -6
  781. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -6
  782. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -6
  783. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -6
  784. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -6
  785. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -6
  786. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.js +0 -6
  787. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -6
  788. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.js +0 -6
  789. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.js +0 -6
  790. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.js +0 -6
  791. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.js +0 -6
  792. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.js +0 -6
  793. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -6
  794. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -6
  795. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -6
  796. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -6
  797. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -6
  798. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.js +0 -6
  799. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.js +0 -6
  800. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -6
  801. package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -6
  802. package/js/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  803. package/js/src/static_dependencies/dydx-v4-client/long/index.cjs +0 -6
  804. package/js/src/static_dependencies/dydx-v4-client/onboarding.js +0 -6
  805. package/js/src/static_dependencies/dydx-v4-client/registry.js +0 -6
  806. package/js/src/static_dependencies/ethers/abi-coder.js +0 -6
  807. package/js/src/static_dependencies/ethers/address/address.js +0 -6
  808. package/js/src/static_dependencies/ethers/address/checks.js +0 -6
  809. package/js/src/static_dependencies/ethers/address/contract-address.js +0 -6
  810. package/js/src/static_dependencies/ethers/address/index.js +0 -6
  811. package/js/src/static_dependencies/ethers/bytes32.js +0 -6
  812. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  813. package/js/src/static_dependencies/ethers/coders/address.js +0 -6
  814. package/js/src/static_dependencies/ethers/coders/anonymous.js +0 -6
  815. package/js/src/static_dependencies/ethers/coders/array.js +0 -6
  816. package/js/src/static_dependencies/ethers/coders/boolean.js +0 -6
  817. package/js/src/static_dependencies/ethers/coders/bytes.js +0 -6
  818. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -6
  819. package/js/src/static_dependencies/ethers/coders/null.js +0 -6
  820. package/js/src/static_dependencies/ethers/coders/number.js +0 -6
  821. package/js/src/static_dependencies/ethers/coders/string.js +0 -6
  822. package/js/src/static_dependencies/ethers/coders/tuple.js +0 -6
  823. package/js/src/static_dependencies/ethers/fragments.js +0 -6
  824. package/js/src/static_dependencies/ethers/hash/index.js +0 -6
  825. package/js/src/static_dependencies/ethers/hash/solidity.js +0 -6
  826. package/js/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  827. package/js/src/static_dependencies/ethers/index.js +0 -6
  828. package/js/src/static_dependencies/ethers/interface.js +0 -6
  829. package/js/src/static_dependencies/ethers/typed.js +0 -6
  830. package/js/src/static_dependencies/ethers/utils/base58.js +0 -6
  831. package/js/src/static_dependencies/ethers/utils/base64-browser.js +0 -6
  832. package/js/src/static_dependencies/ethers/utils/base64.js +0 -6
  833. package/js/src/static_dependencies/ethers/utils/data.js +0 -6
  834. package/js/src/static_dependencies/ethers/utils/errors.js +0 -6
  835. package/js/src/static_dependencies/ethers/utils/events.js +0 -6
  836. package/js/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  837. package/js/src/static_dependencies/ethers/utils/index.js +0 -6
  838. package/js/src/static_dependencies/ethers/utils/maths.js +0 -6
  839. package/js/src/static_dependencies/ethers/utils/properties.js +0 -6
  840. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +0 -6
  841. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +0 -6
  842. package/js/src/static_dependencies/ethers/utils/rlp.js +0 -6
  843. package/js/src/static_dependencies/ethers/utils/units.js +0 -6
  844. package/js/src/static_dependencies/ethers/utils/utf8.js +0 -6
  845. package/js/src/static_dependencies/ethers/utils/uuid.js +0 -6
  846. package/js/src/static_dependencies/fflake/browser.js +0 -6
  847. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -6
  848. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -6
  849. package/js/src/static_dependencies/jsencrypt/index.js +0 -6
  850. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -6
  851. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  852. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  853. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  854. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +0 -6
  855. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -6
  856. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -6
  857. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  858. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -6
  859. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -6
  860. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  861. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -6
  862. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  863. package/js/src/static_dependencies/messagepack/msgpack.js +0 -6
  864. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -6
  865. package/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -6
  866. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -6
  867. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -6
  868. package/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -6
  869. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -6
  870. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +0 -6
  871. package/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  872. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -6
  873. package/js/src/static_dependencies/noble-curves/bn.js +0 -6
  874. package/js/src/static_dependencies/noble-curves/ed25519.js +0 -6
  875. package/js/src/static_dependencies/noble-curves/ed448.js +0 -6
  876. package/js/src/static_dependencies/noble-curves/index.js +0 -6
  877. package/js/src/static_dependencies/noble-curves/jubjub.js +0 -6
  878. package/js/src/static_dependencies/noble-curves/p256.js +0 -6
  879. package/js/src/static_dependencies/noble-curves/p384.js +0 -6
  880. package/js/src/static_dependencies/noble-curves/p521.js +0 -6
  881. package/js/src/static_dependencies/noble-curves/pasta.js +0 -6
  882. package/js/src/static_dependencies/noble-curves/secp256k1.js +0 -6
  883. package/js/src/static_dependencies/noble-hashes/_assert.js +0 -6
  884. package/js/src/static_dependencies/noble-hashes/_blake2.js +0 -6
  885. package/js/src/static_dependencies/noble-hashes/_sha2.js +0 -6
  886. package/js/src/static_dependencies/noble-hashes/_u64.js +0 -6
  887. package/js/src/static_dependencies/noble-hashes/argon2.js +0 -6
  888. package/js/src/static_dependencies/noble-hashes/blake2b.js +0 -6
  889. package/js/src/static_dependencies/noble-hashes/blake2s.js +0 -6
  890. package/js/src/static_dependencies/noble-hashes/blake3.js +0 -6
  891. package/js/src/static_dependencies/noble-hashes/crypto.js +0 -6
  892. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +0 -6
  893. package/js/src/static_dependencies/noble-hashes/eskdf.js +0 -6
  894. package/js/src/static_dependencies/noble-hashes/hkdf.js +0 -6
  895. package/js/src/static_dependencies/noble-hashes/hmac.js +0 -6
  896. package/js/src/static_dependencies/noble-hashes/index.js +0 -6
  897. package/js/src/static_dependencies/noble-hashes/md5.js +0 -6
  898. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +0 -6
  899. package/js/src/static_dependencies/noble-hashes/ripemd160.js +0 -6
  900. package/js/src/static_dependencies/noble-hashes/scrypt.js +0 -6
  901. package/js/src/static_dependencies/noble-hashes/sha1.js +0 -6
  902. package/js/src/static_dependencies/noble-hashes/sha256.js +0 -6
  903. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +0 -6
  904. package/js/src/static_dependencies/noble-hashes/sha3.js +0 -6
  905. package/js/src/static_dependencies/noble-hashes/sha512.js +0 -6
  906. package/js/src/static_dependencies/noble-hashes/utils.js +0 -6
  907. package/js/src/static_dependencies/node-fetch/body.js +0 -6
  908. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -6
  909. package/js/src/static_dependencies/node-fetch/errors/base.js +0 -6
  910. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -6
  911. package/js/src/static_dependencies/node-fetch/headers.js +0 -6
  912. package/js/src/static_dependencies/node-fetch/index.js +0 -6
  913. package/js/src/static_dependencies/node-fetch/request.js +0 -6
  914. package/js/src/static_dependencies/node-fetch/response.js +0 -6
  915. package/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  916. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  917. package/js/src/static_dependencies/node-fetch/utils/is.js +0 -6
  918. package/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -6
  919. package/js/src/static_dependencies/proxies/agent-base/helpers.js +0 -6
  920. package/js/src/static_dependencies/proxies/agent-base/index.js +0 -6
  921. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -6
  922. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -6
  923. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  924. package/js/src/static_dependencies/qs/formats.js +0 -6
  925. package/js/src/static_dependencies/qs/index.js +0 -6
  926. package/js/src/static_dependencies/qs/parse.js +0 -6
  927. package/js/src/static_dependencies/qs/stringify.js +0 -6
  928. package/js/src/static_dependencies/qs/utils.js +0 -6
  929. package/js/src/static_dependencies/scure-base/index.js +0 -6
  930. package/js/src/static_dependencies/scure-bip32/index.js +0 -6
  931. package/js/src/static_dependencies/scure-bip39/index.js +0 -6
  932. package/js/src/static_dependencies/scure-bip39/wordlists/english.js +0 -6
  933. package/js/src/static_dependencies/scure-starknet/index.js +0 -6
  934. package/js/src/static_dependencies/starknet/constants.js +0 -6
  935. package/js/src/static_dependencies/starknet/index.js +0 -6
  936. package/js/src/static_dependencies/starknet/types/cairoEnum.js +0 -6
  937. package/js/src/static_dependencies/starknet/types/calldata.js +0 -6
  938. package/js/src/static_dependencies/starknet/types/index.js +0 -6
  939. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  940. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  941. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +0 -6
  942. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +0 -6
  943. package/js/src/static_dependencies/starknet/types/lib/index.js +0 -6
  944. package/js/src/static_dependencies/starknet/types/typedData.js +0 -6
  945. package/js/src/static_dependencies/starknet/utils/address.js +0 -6
  946. package/js/src/static_dependencies/starknet/utils/assert.js +0 -6
  947. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +0 -6
  948. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +0 -6
  949. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +0 -6
  950. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -6
  951. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -6
  952. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  953. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  954. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  955. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +0 -6
  956. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -6
  957. package/js/src/static_dependencies/starknet/utils/calldata/index.js +0 -6
  958. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -6
  959. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +0 -6
  960. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -6
  961. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  962. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -6
  963. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -6
  964. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -6
  965. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +0 -6
  966. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +0 -6
  967. package/js/src/static_dependencies/starknet/utils/encode.js +0 -6
  968. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +0 -6
  969. package/js/src/static_dependencies/starknet/utils/hash/index.js +0 -6
  970. package/js/src/static_dependencies/starknet/utils/merkle.js +0 -6
  971. package/js/src/static_dependencies/starknet/utils/num.js +0 -6
  972. package/js/src/static_dependencies/starknet/utils/selector.js +0 -6
  973. package/js/src/static_dependencies/starknet/utils/shortString.js +0 -6
  974. package/js/src/static_dependencies/starknet/utils/starknetId.js +0 -6
  975. package/js/src/static_dependencies/starknet/utils/typedData.js +0 -6
  976. package/js/src/static_dependencies/starknet/utils/uint256.js +0 -6
  977. package/js/src/static_dependencies/starknet/utils/url.js +0 -6
  978. package/js/src/static_dependencies/watchable/src/index.js +0 -6
  979. package/js/src/static_dependencies/watchable/src/types.js +0 -6
  980. package/js/src/static_dependencies/watchable/src/unpromise.js +0 -6
  981. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  982. package/js/src/tokocrypto.js +0 -6
  983. package/js/src/toobit.js +0 -6
  984. package/js/src/upbit.js +0 -6
  985. package/js/src/wavesexchange.js +0 -6
  986. package/js/src/weex.js +0 -6
  987. package/js/src/whitebit.js +2 -6
  988. package/js/src/woo.js +0 -6
  989. package/js/src/woofipro.js +0 -6
  990. package/js/src/xt.js +0 -6
  991. package/js/src/yobit.js +0 -6
  992. package/js/src/zaif.js +0 -6
  993. package/js/src/zebpay.js +0 -6
  994. package/js/src/zonda.js +0 -6
  995. package/package.json +2 -1
package/js/src/kucoin.js CHANGED
@@ -1,9 +1,3 @@
1
- // ----------------------------------------------------------------------------
2
-
3
- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
- // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
- // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
-
7
1
  // ---------------------------------------------------------------------------
8
2
  import Exchange from './abstract/kucoin.js';
9
3
  import { AccountSuspended, ArgumentsRequired, AuthenticationError, BadRequest, BadSymbol, ExchangeError, ExchangeNotAvailable, InsufficientFunds, InvalidAddress, InvalidNonce, InvalidOrder, NotSupported, OrderNotFound, PermissionDenied, RateLimitExceeded, RestrictedLocation } from './base/errors.js';
@@ -63,7 +57,7 @@ export default class kucoin extends Exchange {
63
57
  'fetchBorrowRateHistories': true,
64
58
  'fetchBorrowRateHistory': true,
65
59
  'fetchClosedOrders': true,
66
- 'fetchCrossBorrowRate': false,
60
+ 'fetchCrossBorrowRate': true,
67
61
  'fetchCrossBorrowRates': false,
68
62
  'fetchCurrencies': true,
69
63
  'fetchDepositAddress': true,
@@ -552,6 +546,7 @@ export default class kucoin extends Exchange {
552
546
  'market/position-tiers': 40,
553
547
  'market/open-interest': 20,
554
548
  'server/status': 6,
549
+ 'market/borrowable-currency': 30,
555
550
  },
556
551
  },
557
552
  'utaPrivate': {
@@ -577,6 +572,9 @@ export default class kucoin extends Exchange {
577
572
  'sub-account/balance': 10,
578
573
  'user/fee-rate': 6,
579
574
  'dcp/query': 4,
575
+ 'unified/account/leverage': 20,
576
+ 'position/funding-history': 30,
577
+ 'account/interest-limits': 20,
580
578
  },
581
579
  'post': {
582
580
  'account/transfer': 8,
@@ -589,6 +587,7 @@ export default class kucoin extends Exchange {
589
587
  '{accountMode}/order/cancel-all': 40,
590
588
  'sub-account/canTransferOut': 10,
591
589
  'dcp/set': 4,
590
+ '{accountMode}/account/modify-leverage-margin-cross': 40,
592
591
  },
593
592
  },
594
593
  },
@@ -909,6 +908,9 @@ export default class kucoin extends Exchange {
909
908
  'fetchBalance': {
910
909
  'code': 'USDT', // for contract endpoint
911
910
  },
911
+ 'setLeverage': {
912
+ 'code': 'USDT', // for uta margin endpoint
913
+ },
912
914
  'timeInForce': {
913
915
  'IOC': 'IOC',
914
916
  'FOK': 'FOK',
@@ -1360,7 +1362,7 @@ export default class kucoin extends Exchange {
1360
1362
  'symbolRequired': true,
1361
1363
  },
1362
1364
  'fetchOrder': {
1363
- 'marginMode': false,
1365
+ 'marginMode': true,
1364
1366
  'trigger': true,
1365
1367
  'trailing': false,
1366
1368
  'symbolRequired': true,
@@ -3682,10 +3684,14 @@ export default class kucoin extends Exchange {
3682
3684
  let type = undefined;
3683
3685
  [type, params] = this.handleMarketTypeAndParams('fetchOrderBook', market, params);
3684
3686
  if (uta) {
3685
- if (limit === undefined) {
3686
- throw new ArgumentsRequired(this.id + ' fetchOrderBook() requires a limit argument for uta, either 20, 50, 100 or FULL');
3687
+ let limitString = '20';
3688
+ if ((limit === undefined) || (limit >= 100)) {
3689
+ limitString = 'FULL';
3687
3690
  }
3688
- request['limit'] = limit;
3691
+ else if (limit > 20) {
3692
+ limitString = '100';
3693
+ }
3694
+ request['limit'] = limitString;
3689
3695
  request['symbol'] = market['id'];
3690
3696
  if ((type === 'spot') || (type === 'margin')) {
3691
3697
  request['tradeType'] = 'SPOT';
@@ -4307,11 +4313,7 @@ export default class kucoin extends Exchange {
4307
4313
  let marginMode = undefined;
4308
4314
  [marginMode, params] = this.handleMarginModeAndParams('createOrder', params);
4309
4315
  const marginModeDefined = (marginMode !== undefined);
4310
- const isSpotMargin = (isSpot && marginModeDefined);
4311
- if (isSpotMargin && isUnified) {
4312
- throw new NotSupported(this.id + ' createOrder() does not support spot margin orders with unified accountMode');
4313
- }
4314
- const tradeType = this.handleTradeType(isContract, marginMode, params);
4316
+ const tradeType = this.handleTradeType(isContract, marginMode, isUnified, params);
4315
4317
  const clientOrderId = this.safeString2(params, 'clientOid', 'clientOrderId', this.uuid());
4316
4318
  params = this.omit(params, ['clientOid', 'clientOrderId']);
4317
4319
  const request = {
@@ -4994,7 +4996,7 @@ export default class kucoin extends Exchange {
4994
4996
  * @param {object} [params] extra parameters specific to the exchange API endpoint
4995
4997
  * @param {string} [params.accountMode] 'unified' or 'classic' (default is 'unified')
4996
4998
  * @param {string} [params.clientOrderId] client order id, required if id is not provided
4997
- * @param {string} [params.marginMode] 'cross' or 'isolated', required if fetching a margin order
4999
+ * @param {string} [params.marginMode] 'cross' or 'isolated', required if fetching a margin order (unified accountMode supports only cross margin)
4998
5000
  * @returns Response from the exchange
4999
5001
  */
5000
5002
  async cancelUtaOrder(id, symbol = undefined, params = {}) {
@@ -5022,7 +5024,8 @@ export default class kucoin extends Exchange {
5022
5024
  request['accountMode'] = accountMode;
5023
5025
  let marginMode = undefined;
5024
5026
  [marginMode, params] = this.handleMarginModeAndParams('fetchOrder', params);
5025
- const tradeType = this.handleTradeType(market['contract'], marginMode, params);
5027
+ const isUnified = (accountMode === 'unified');
5028
+ const tradeType = this.handleTradeType(market['contract'], marginMode, isUnified, params);
5026
5029
  request['tradeType'] = tradeType;
5027
5030
  const response = await this.utaPrivatePostAccountModeOrderCancel(this.extend(request, params));
5028
5031
  //
@@ -5562,6 +5565,7 @@ export default class kucoin extends Exchange {
5562
5565
  * @param {int} [params.until] End time in ms
5563
5566
  * @param {string} [params.side] *closed orders only* 'BUY' or 'SELL'
5564
5567
  * @param {string} [params.accountMode] 'unified' or 'classic' (default is unified)
5568
+ * @param {string} [params.marginMode] 'cross' or 'isolated', only for margin orders (unified accountMode supports only cross margin)
5565
5569
  * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
5566
5570
  * @returns An [array of order structures]{@link https://docs.ccxt.com/?id=order-structure}
5567
5571
  */
@@ -5595,7 +5599,8 @@ export default class kucoin extends Exchange {
5595
5599
  }
5596
5600
  let marginMode = undefined;
5597
5601
  [marginMode, params] = this.handleMarginModeAndParams('fetchOrdersByStatus', params);
5598
- const tradeType = this.handleTradeType(isContract, marginMode, params);
5602
+ const isUnified = (accountMode === 'unified');
5603
+ const tradeType = this.handleTradeType(isContract, marginMode, isUnified, params);
5599
5604
  params['tradeType'] = tradeType;
5600
5605
  if (since !== undefined) {
5601
5606
  request['startAt'] = since;
@@ -5970,7 +5975,7 @@ export default class kucoin extends Exchange {
5970
5975
  * @param {object} [params] extra parameters specific to the exchange API endpoint
5971
5976
  * @param {string} [params.accountMode] 'unified' or 'classic' (default is 'unified')
5972
5977
  * @param {string} [params.clientOrderId] client order id, required if id is not provided
5973
- * @param {string} [params.marginMode] 'cross' or 'isolated', required if fetching a margin order
5978
+ * @param {string} [params.marginMode] 'cross' or 'isolated', required if fetching a margin order (unified accountMode supports only cross margin)
5974
5979
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
5975
5980
  */
5976
5981
  async fetchUtaOrder(id, symbol = undefined, params = {}) {
@@ -5997,7 +6002,8 @@ export default class kucoin extends Exchange {
5997
6002
  request['accountMode'] = accountMode;
5998
6003
  let marginMode = undefined;
5999
6004
  [marginMode, params] = this.handleMarginModeAndParams('fetchOrder', params);
6000
- const tradeType = this.handleTradeType(market['contract'], marginMode, params);
6005
+ const isUnified = (accountMode === 'unified');
6006
+ const tradeType = this.handleTradeType(market['contract'], marginMode, isUnified, params);
6001
6007
  request['tradeType'] = tradeType;
6002
6008
  const response = await this.utaPrivateGetAccountModeOrderDetail(this.extend(request, params));
6003
6009
  //
@@ -6044,7 +6050,7 @@ export default class kucoin extends Exchange {
6044
6050
  const data = this.safeDict(response, 'data', {});
6045
6051
  return this.parseOrder(data, market);
6046
6052
  }
6047
- handleTradeType(isContractMarket = false, marginMode = undefined, params = {}) {
6053
+ handleTradeType(isContractMarket = false, marginMode = undefined, isUnified = false, params = {}) {
6048
6054
  let tradeType = this.safeString(params, 'tradeType');
6049
6055
  if (tradeType === undefined) {
6050
6056
  if (isContractMarket) {
@@ -6052,6 +6058,14 @@ export default class kucoin extends Exchange {
6052
6058
  }
6053
6059
  else if (marginMode !== undefined) {
6054
6060
  tradeType = marginMode.toUpperCase();
6061
+ if (isUnified) {
6062
+ if (tradeType === 'ISOLATED') {
6063
+ throw new NotSupported(this.id + ' spot isolated margin is not supported for unified accountMode');
6064
+ }
6065
+ else {
6066
+ tradeType = 'MARGIN';
6067
+ }
6068
+ }
6055
6069
  }
6056
6070
  else {
6057
6071
  tradeType = 'SPOT';
@@ -6793,7 +6807,7 @@ export default class kucoin extends Exchange {
6793
6807
  * @param {object} [params] extra parameters specific to the exchange API endpoint
6794
6808
  * @param {int} [params.until] the latest time in ms to fetch entries for
6795
6809
  * @param {string} [params.accountMode] 'unified' or 'classic', defaults to 'unified'
6796
- * @param {string} [params.marginMode] 'cross' or 'isolated', only for margin trades
6810
+ * @param {string} [params.marginMode] 'cross' or 'isolated', only for margin trades (unified accountMode support only cross margin)
6797
6811
  * @param {string} [params.side] 'BUY' or 'SELL' (both if not provided)
6798
6812
  * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
6799
6813
  * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=trade-structure}
@@ -6823,13 +6837,14 @@ export default class kucoin extends Exchange {
6823
6837
  else {
6824
6838
  isContract = true;
6825
6839
  }
6826
- let marginMode = undefined;
6827
- [marginMode, params] = this.handleMarginModeAndParams('fetchMyTrades', params);
6828
- const tradeType = this.handleTradeType(isContract, marginMode, params);
6829
- request['tradeType'] = tradeType;
6830
6840
  let accountMode = 'unified';
6831
6841
  [accountMode, params] = this.handleOptionAndParams(params, 'fetchMyTrades', 'accountMode', accountMode);
6832
6842
  request['accountMode'] = accountMode;
6843
+ let marginMode = undefined;
6844
+ [marginMode, params] = this.handleMarginModeAndParams('fetchMyTrades', params);
6845
+ const isUnified = (accountMode === 'unified');
6846
+ const tradeType = this.handleTradeType(isContract, marginMode, isUnified, params);
6847
+ request['tradeType'] = tradeType;
6833
6848
  if (since !== undefined) {
6834
6849
  request['startAt'] = since;
6835
6850
  }
@@ -8136,14 +8151,14 @@ export default class kucoin extends Exchange {
8136
8151
  * @see https://www.kucoin.com/docs-new/rest/ua/get-account-currency-assets-uta
8137
8152
  * @see https://www.kucoin.com/docs-new/rest/ua/get-account-currency-assets-classic
8138
8153
  * @param {object} [params] extra parameters specific to the exchange API endpoint
8139
- * @param {string} [params.type] 'spot', 'unified', 'funding', 'cross', 'isolated' or 'swap' (default is 'spot')
8154
+ * @param {string} [params.type] 'unified', 'spot', 'funding', 'cross', 'isolated' or 'swap' (default is 'unified')
8140
8155
  * @param {string} [params.marginMode] 'cross' or 'isolated', margin type for fetching margin balance, only applicable if type is margin (default is cross)
8141
8156
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
8142
8157
  */
8143
8158
  async fetchUtaBalance(params = {}) {
8144
8159
  await this.loadMarkets();
8145
- let requestedType = undefined;
8146
- [requestedType, params] = this.handleMarketTypeAndParams('fetchUtaBalance', undefined, params);
8160
+ let requestedType = 'unified';
8161
+ [requestedType, params] = this.handleMarketTypeAndParams('fetchUtaBalance', undefined, params, requestedType);
8147
8162
  if (requestedType === 'margin') {
8148
8163
  // assume cross margin if margin is specified but marginMode is not specified
8149
8164
  let marginMode = 'cross';
@@ -8152,7 +8167,7 @@ export default class kucoin extends Exchange {
8152
8167
  }
8153
8168
  const utaAccountsByType = this.safeDict(this.options, 'utaAccountsByType', {});
8154
8169
  let type = undefined;
8155
- type = this.safeString(utaAccountsByType, requestedType, type);
8170
+ type = this.safeString(utaAccountsByType, requestedType, requestedType);
8156
8171
  const isIsolated = (type === 'ISOLATED');
8157
8172
  const request = {};
8158
8173
  let response = undefined;
@@ -8804,7 +8819,10 @@ export default class kucoin extends Exchange {
8804
8819
  let hf = undefined;
8805
8820
  [hf, params] = this.handleHfAndParams(params);
8806
8821
  let requestedType = undefined;
8807
- [requestedType, params] = this.handleMarketTypeAndParams('fetchLedger', undefined, params);
8822
+ if (uta) {
8823
+ requestedType = 'UNIFIED';
8824
+ }
8825
+ [requestedType, params] = this.handleMarketTypeAndParams('fetchLedger', undefined, params, requestedType);
8808
8826
  let marginMode = undefined;
8809
8827
  [marginMode, params] = this.handleMarginModeAndParams('fetchLedger', params);
8810
8828
  if (uta && (requestedType === 'margin')) {
@@ -8985,12 +9003,25 @@ export default class kucoin extends Exchange {
8985
9003
  // "dayRatio": "0.001"
8986
9004
  // }
8987
9005
  //
9006
+ // fetchCrossBorrowRate
9007
+ // {
9008
+ // "currentRateHourly": "0.00000353",
9009
+ // "currentRateDaily": "0.00008466",
9010
+ // "borrowLimitTotal": "600.00000000000000000000",
9011
+ // "borrowLimitTotalHold": "0.00000000000000000000",
9012
+ // "borrowLimitHold": "0.00000000000000000000",
9013
+ // "interestFreeBorrowLimit": "0.60000000000000000000"
9014
+ // }
9015
+ //
8988
9016
  const timestampId = this.safeString2(info, 'createdAt', 'timestamp');
8989
- const timestamp = this.parseToInt(timestampId.slice(0, 13));
9017
+ let timestamp = this.milliseconds();
9018
+ if (timestampId !== undefined) {
9019
+ timestamp = this.parseToInt(timestampId.slice(0, 13));
9020
+ }
8990
9021
  const currencyId = this.safeString(info, 'currency');
8991
9022
  return {
8992
9023
  'currency': this.safeCurrencyCode(currencyId, currency),
8993
- 'rate': this.safeNumber2(info, 'dailyIntRate', 'dayRatio'),
9024
+ 'rate': this.safeNumberN(info, ['dailyIntRate', 'dayRatio', 'currentRateDaily']),
8994
9025
  'period': 86400000,
8995
9026
  'timestamp': timestamp,
8996
9027
  'datetime': this.iso8601(timestamp),
@@ -9325,6 +9356,38 @@ export default class kucoin extends Exchange {
9325
9356
  }
9326
9357
  return borrowRateHistories;
9327
9358
  }
9359
+ /**
9360
+ * @method
9361
+ * @name kucoin#fetchCrossBorrowRate
9362
+ * @description fetch the rate of interest to borrow a currency for margin trading
9363
+ * @see https://www.kucoin.com/docs-new/rest/ua/get-borrowing-rates-and-limits
9364
+ * @param {string} code unified currency code
9365
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
9366
+ * @returns {object} a [borrow rate structure]{@link https://docs.ccxt.com/?id=borrow-rate-structure}
9367
+ */
9368
+ async fetchCrossBorrowRate(code, params = {}) {
9369
+ await this.loadMarkets();
9370
+ const currency = this.currency(code);
9371
+ const request = {
9372
+ 'currency': currency['id'],
9373
+ };
9374
+ const response = await this.utaPrivateGetAccountInterestLimits(this.extend(request, params));
9375
+ //
9376
+ // {
9377
+ // "code": "200000",
9378
+ // "data": {
9379
+ // "currentRateHourly": "0.00000353",
9380
+ // "currentRateDaily": "0.00008466",
9381
+ // "borrowLimitTotal": "600.00000000000000000000",
9382
+ // "borrowLimitTotalHold": "0.00000000000000000000",
9383
+ // "borrowLimitHold": "0.00000000000000000000",
9384
+ // "interestFreeBorrowLimit": "0.60000000000000000000"
9385
+ // }
9386
+ // }
9387
+ //
9388
+ const data = this.safeDict(response, 'data', {});
9389
+ return this.parseBorrowRate(data, currency);
9390
+ }
9328
9391
  /**
9329
9392
  * @method
9330
9393
  * @name kucoin#borrowCrossMargin
@@ -9564,13 +9627,16 @@ export default class kucoin extends Exchange {
9564
9627
  * @method
9565
9628
  * @name kucoin#setLeverage
9566
9629
  * @description set the level of leverage for a market
9567
- * @see https://www.kucoin.com/docs-new/rest/margin-trading/debit/modify-leverage
9568
- * @see https://www.kucoin.com/docs-new/rest/futures-trading/positions/modify-cross-margin-leverage
9569
- * @see https://www.kucoin.com/docs-new/rest/ua/modify-leverage-uta
9630
+ * @see https://www.kucoin.com/docs-new/rest/margin-trading/debit/modify-leverage // margin
9631
+ * @see https://www.kucoin.com/docs-new/rest/futures-trading/positions/modify-cross-margin-leverage // contract
9632
+ * @see https://www.kucoin.com/docs-new/rest/ua/modify-cross-margin-leverage-uta // margin uta
9633
+ * @see https://www.kucoin.com/docs-new/rest/ua/modify-leverage-uta // contract uta
9570
9634
  * @param {int } [leverage] New leverage multiplier. Must be greater than 1 and up to two decimal places, and cannot be less than the user's current debt leverage or greater than the system's maximum leverage
9571
9635
  * @param {string} [symbol] unified market symbol
9572
9636
  * @param {object} [params] extra parameters specific to the exchange API endpoint
9573
- * @param {boolean} [params.uta] *contract markets only* set to true for the unified trading account (uta)
9637
+ * @param {boolean} [params.uta] set to true for the unified trading account (uta)
9638
+ * @param {string} [params.marginMode] *spot non-uta only* 'cross' or 'isolated' default is 'cross'
9639
+ * @param {string} [params.code] *uta margin only* the unified currency code for the margin to set the leverage for
9574
9640
  * @returns {object} response from the exchange
9575
9641
  */
9576
9642
  async setLeverage(leverage, symbol = undefined, params = {}) {
@@ -9587,26 +9653,41 @@ export default class kucoin extends Exchange {
9587
9653
  return await this.setContractLeverage(leverage, symbol, params);
9588
9654
  }
9589
9655
  }
9656
+ const request = {
9657
+ 'leverage': this.numberToString(leverage),
9658
+ };
9659
+ let marginMode = undefined;
9660
+ [marginMode, params] = this.handleMarginModeAndParams('setLeverage', params);
9590
9661
  let uta = await this.isUTAEnabled();
9591
9662
  [uta, params] = this.handleOptionAndParams(params, 'setLeverage', 'uta', uta);
9663
+ let response = undefined;
9592
9664
  if (uta) {
9593
- throw new NotSupported(this.id + ' setLeverage with params["uta"] is supported for contract markets only');
9594
- }
9595
- let marginMode = undefined;
9596
- [marginMode, params] = this.handleMarginModeAndParams('setLeverage', params);
9597
- if (marginMode === undefined) {
9598
- throw new ArgumentsRequired(this.id + ' setLeverage requires a marginMode parameter');
9599
- }
9600
- const request = {};
9601
- if (marginMode === 'isolated' && symbol === undefined) {
9602
- throw new ArgumentsRequired(this.id + ' setLeverage requires a symbol parameter for isolated margin');
9665
+ if (marginMode === 'isolated') {
9666
+ throw new NotSupported(this.id + ' unified trading account does not support isolated margin');
9667
+ }
9668
+ request['accountMode'] = 'unified';
9669
+ let code = undefined;
9670
+ [code, params] = this.handleOptionAndParams2(params, 'setLeverage', 'currency', 'code');
9671
+ if (code === undefined) {
9672
+ throw new ArgumentsRequired(this.id + ' setLeverage requires a currency code in the params["code"] for unified trading account');
9673
+ }
9674
+ request['currency'] = this.currencyId(code);
9675
+ response = await this.utaPrivatePostAccountModeAccountModifyLeverageMarginCross(this.extend(request, params));
9603
9676
  }
9604
- if (symbol !== undefined) {
9605
- request['symbol'] = market['id'];
9677
+ else {
9678
+ if (marginMode === undefined) {
9679
+ throw new ArgumentsRequired(this.id + ' setLeverage requires a marginMode parameter');
9680
+ }
9681
+ if (marginMode === 'isolated' && symbol === undefined) {
9682
+ throw new ArgumentsRequired(this.id + ' setLeverage requires a symbol parameter for isolated margin');
9683
+ }
9684
+ if (symbol !== undefined) {
9685
+ request['symbol'] = market['id'];
9686
+ }
9687
+ request['isIsolated'] = (marginMode === 'isolated');
9688
+ response = await this.privatePostPositionUpdateUserLeverage(this.extend(request, params));
9606
9689
  }
9607
- request['leverage'] = leverage.toString();
9608
- request['isIsolated'] = (marginMode === 'isolated');
9609
- return await this.privatePostPositionUpdateUserLeverage(this.extend(request, params));
9690
+ return response;
9610
9691
  }
9611
9692
  /**
9612
9693
  * @method
@@ -9662,13 +9743,14 @@ export default class kucoin extends Exchange {
9662
9743
  * @method
9663
9744
  * @name kucoin#fetchFundingInterval
9664
9745
  * @description fetch the current funding rate interval
9746
+ * @see https://www.kucoin.com/docs-new/rest/ua/get-current-funding-rate
9665
9747
  * @see https://www.kucoin.com/docs-new/rest/futures-trading/funding-fees/get-current-funding-rate
9666
9748
  * @param {string} symbol unified market symbol
9667
9749
  * @param {object} [params] extra parameters specific to the exchange API endpoint
9668
9750
  * @returns {object} a [funding rate structure]{@link https://docs.ccxt.com/?id=funding-rate-structure}
9669
9751
  */
9670
9752
  async fetchFundingInterval(symbol, params = {}) {
9671
- return await this.fetchFundingRate(symbol, this.extend(params, { 'uta': false }));
9753
+ return await this.fetchFundingRate(symbol, params);
9672
9754
  }
9673
9755
  /**
9674
9756
  * @method
@@ -9695,11 +9777,14 @@ export default class kucoin extends Exchange {
9695
9777
  // {
9696
9778
  // "code": "200000",
9697
9779
  // "data": {
9698
- // "symbol": ".XBTUSDTMFPI8H",
9699
- // "nextFundingRate": 7.4E-5,
9700
- // "fundingTime": 1762444800000,
9701
- // "fundingRateCap": 0.003,
9702
- // "fundingRateFloor": -0.003
9780
+ // "symbol": ".ETHUSDTMFPI8H",
9781
+ // "nextFundingRate": -3.4E-5,
9782
+ // "fundingTime": 1776700800000,
9783
+ // "fundingRateCap": 0.00375,
9784
+ // "fundingRateFloor": -0.00375,
9785
+ // "currentGranularity": 28800000,
9786
+ // "newGranularity": 28800000,
9787
+ // "newGranularityStartTime": 1750147200000
9703
9788
  // }
9704
9789
  // }
9705
9790
  //
@@ -9712,13 +9797,13 @@ export default class kucoin extends Exchange {
9712
9797
  // "data": {
9713
9798
  // "symbol": ".ETHUSDTMFPI8H",
9714
9799
  // "granularity": 28800000,
9715
- // "timePoint": 1771747200000,
9716
- // "value": 3.0E-6,
9800
+ // "timePoint": 1776672000000,
9801
+ // "value": -3.2E-5,
9717
9802
  // "dailyInterestRate": 3.0E-4,
9718
9803
  // "fundingRateCap": 0.00375,
9719
9804
  // "fundingRateFloor": -0.00375,
9720
9805
  // "period": 1,
9721
- // "fundingTime": 1771776000000
9806
+ // "fundingTime": 1776700800000
9722
9807
  // }
9723
9808
  // }
9724
9809
  //
@@ -9730,29 +9815,34 @@ export default class kucoin extends Exchange {
9730
9815
  parseFundingRate(data, market = undefined) {
9731
9816
  // uta
9732
9817
  // {
9733
- // "symbol": ".XBTUSDTMFPI8H",
9734
- // "nextFundingRate": 7.4E-5,
9735
- // "fundingTime": 1762444800000,
9736
- // "fundingRateCap": 0.003,
9737
- // "fundingRateFloor": -0.003
9818
+ // "symbol": ".ETHUSDTMFPI8H",
9819
+ // "nextFundingRate": -3.4E-5,
9820
+ // "fundingTime": 1776700800000,
9821
+ // "fundingRateCap": 0.00375,
9822
+ // "fundingRateFloor": -0.00375,
9823
+ // "currentGranularity": 28800000,
9824
+ // "newGranularity": 28800000,
9825
+ // "newGranularityStartTime": 1750147200000
9738
9826
  // }
9739
9827
  //
9740
9828
  // futures
9741
9829
  // {
9742
9830
  // "symbol": ".ETHUSDTMFPI8H",
9743
9831
  // "granularity": 28800000,
9744
- // "timePoint": 1771747200000,
9745
- // "value": 3.0E-6,
9832
+ // "timePoint": 1776672000000,
9833
+ // "value": -3.2E-5,
9746
9834
  // "dailyInterestRate": 3.0E-4,
9747
9835
  // "fundingRateCap": 0.00375,
9748
9836
  // "fundingRateFloor": -0.00375,
9749
9837
  // "period": 1,
9750
- // "fundingTime": 1771776000000
9838
+ // "fundingTime": 1776700800000
9751
9839
  // }
9752
9840
  //
9753
9841
  const fundingTimestamp = this.safeInteger(data, 'fundingTime');
9754
9842
  const previousFundingTimestamp = this.safeInteger(data, 'timePoint');
9843
+ const nextFundingTimestamp = this.safeInteger(data, 'newGranularityStartTime');
9755
9844
  const marketId = this.safeString(data, 'symbol');
9845
+ const granularity = this.safeString2(data, 'granularity', 'currentGranularity');
9756
9846
  return {
9757
9847
  'info': data,
9758
9848
  'symbol': this.safeSymbol(marketId, market, undefined, 'contract'),
@@ -9765,13 +9855,13 @@ export default class kucoin extends Exchange {
9765
9855
  'fundingRate': this.safeNumber2(data, 'nextFundingRate', 'value'),
9766
9856
  'fundingTimestamp': fundingTimestamp,
9767
9857
  'fundingDatetime': this.iso8601(fundingTimestamp),
9768
- 'nextFundingRate': this.safeNumber(data, 'predictedValue'),
9769
- 'nextFundingTimestamp': undefined,
9770
- 'nextFundingDatetime': undefined,
9858
+ 'nextFundingRate': undefined,
9859
+ 'nextFundingTimestamp': nextFundingTimestamp,
9860
+ 'nextFundingDatetime': this.iso8601(nextFundingTimestamp),
9771
9861
  'previousFundingRate': undefined,
9772
9862
  'previousFundingTimestamp': previousFundingTimestamp,
9773
9863
  'previousFundingDatetime': this.iso8601(previousFundingTimestamp),
9774
- 'interval': this.parseFundingInterval(this.safeString(data, 'granularity')),
9864
+ 'interval': this.parseFundingInterval(granularity),
9775
9865
  };
9776
9866
  }
9777
9867
  parseFundingInterval(interval) {
@@ -9896,65 +9986,103 @@ export default class kucoin extends Exchange {
9896
9986
  * @param {int} [since] the earliest time in ms to fetch funding history for
9897
9987
  * @param {int} [limit] the maximum number of funding history structures to retrieve
9898
9988
  * @param {object} [params] extra parameters specific to the exchange API endpoint
9989
+ * @param {boolean} [params.uta] set to true for the unified trading account (uta), defaults to false
9899
9990
  * @returns {object} a [funding history structure]{@link https://docs.ccxt.com/?id=funding-history-structure}
9900
9991
  */
9901
9992
  async fetchFundingHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
9902
- if (symbol === undefined) {
9993
+ await this.loadMarkets();
9994
+ let uta = await this.isUTAEnabled();
9995
+ [uta, params] = this.handleOptionAndParams(params, 'fetchFundingHistory', 'uta', uta);
9996
+ let request = {};
9997
+ let market = undefined;
9998
+ if (symbol !== undefined) {
9999
+ market = this.market(symbol);
10000
+ request['symbol'] = market['id'];
10001
+ }
10002
+ else if (!uta) {
9903
10003
  throw new ArgumentsRequired(this.id + ' fetchFundingHistory() requires a symbol argument');
9904
10004
  }
9905
- await this.loadMarkets();
9906
- const market = this.market(symbol);
9907
- const request = {
9908
- 'symbol': market['id'],
9909
- };
9910
10005
  if (since !== undefined) {
9911
10006
  request['startAt'] = since;
9912
10007
  }
9913
- if (limit !== undefined) {
9914
- // * Since is ignored if limit is defined
9915
- request['maxCount'] = limit;
10008
+ let dataList = [];
10009
+ if (uta) {
10010
+ if (limit !== undefined) {
10011
+ request['pageSize'] = limit;
10012
+ }
10013
+ [request, params] = this.handleUntilOption('endAt', request, params);
10014
+ const response = await this.utaPrivateGetPositionFundingHistory(this.extend(request, params));
10015
+ //
10016
+ // {
10017
+ // "code": "200000",
10018
+ // "data": {
10019
+ // "lastId": 2125247170385112,
10020
+ // "items": [
10021
+ // {
10022
+ // "symbol": "DOGEUSDTM",
10023
+ // "marginMode": "CROSS",
10024
+ // "fundingRate": "0.000172",
10025
+ // "markPrice": "0.09326",
10026
+ // "size": "-1",
10027
+ // "positionValue": "-9.326",
10028
+ // "fundingFee": "0.00160407",
10029
+ // "settleCurrency": "USDT",
10030
+ // "settlementTime": 1775030400000
10031
+ // }
10032
+ // ]
10033
+ // }
10034
+ // }
10035
+ const data = this.safeDict(response, 'data');
10036
+ dataList = this.safeList(data, 'items', []);
10037
+ }
10038
+ else {
10039
+ if (limit !== undefined) {
10040
+ // * Since is ignored if limit is defined
10041
+ request['maxCount'] = limit;
10042
+ }
10043
+ const response = await this.futuresPrivateGetFundingHistory(this.extend(request, params));
10044
+ //
10045
+ // {
10046
+ // "code": "200000",
10047
+ // "data": {
10048
+ // "dataList": [
10049
+ // {
10050
+ // "id": 239471298749817,
10051
+ // "symbol": "ETHUSDTM",
10052
+ // "timePoint": 1638532800000,
10053
+ // "fundingRate": 0.000100,
10054
+ // "markPrice": 4612.8300000000,
10055
+ // "positionQty": 12,
10056
+ // "positionCost": 553.5396000000,
10057
+ // "funding": -0.0553539600,
10058
+ // "settleCurrency": "USDT"
10059
+ // },
10060
+ // ...
10061
+ // ],
10062
+ // "hasMore": true
10063
+ // }
10064
+ // }
10065
+ //
10066
+ const data = this.safeValue(response, 'data');
10067
+ dataList = this.safeList(data, 'dataList', []);
9916
10068
  }
9917
- const response = await this.futuresPrivateGetFundingHistory(this.extend(request, params));
9918
- //
9919
- // {
9920
- // "code": "200000",
9921
- // "data": {
9922
- // "dataList": [
9923
- // {
9924
- // "id": 239471298749817,
9925
- // "symbol": "ETHUSDTM",
9926
- // "timePoint": 1638532800000,
9927
- // "fundingRate": 0.000100,
9928
- // "markPrice": 4612.8300000000,
9929
- // "positionQty": 12,
9930
- // "positionCost": 553.5396000000,
9931
- // "funding": -0.0553539600,
9932
- // "settleCurrency": "USDT"
9933
- // },
9934
- // ...
9935
- // ],
9936
- // "hasMore": true
9937
- // }
9938
- // }
9939
- //
9940
- const data = this.safeValue(response, 'data');
9941
- const dataList = this.safeList(data, 'dataList', []);
9942
10069
  const fees = [];
9943
10070
  for (let i = 0; i < dataList.length; i++) {
9944
10071
  const listItem = dataList[i];
9945
- const timestamp = this.safeInteger(listItem, 'timePoint');
10072
+ const timestamp = this.safeInteger2(listItem, 'timePoint', 'settlementTime');
10073
+ const marketId = this.safeString(listItem, 'symbol');
9946
10074
  fees.push({
9947
10075
  'info': listItem,
9948
- 'symbol': symbol,
10076
+ 'symbol': this.safeSymbol(marketId, market),
9949
10077
  'code': this.safeCurrencyCode(this.safeString(listItem, 'settleCurrency')),
9950
10078
  'timestamp': timestamp,
9951
10079
  'datetime': this.iso8601(timestamp),
9952
10080
  'id': this.safeNumber(listItem, 'id'),
9953
- 'amount': this.safeNumber(listItem, 'funding'),
10081
+ 'amount': this.safeNumber2(listItem, 'funding', 'fundingFee'),
9954
10082
  'fundingRate': this.safeNumber(listItem, 'fundingRate'),
9955
10083
  'markPrice': this.safeNumber(listItem, 'markPrice'),
9956
- 'positionQty': this.safeNumber(listItem, 'positionQty'),
9957
- 'positionCost': this.safeNumber(listItem, 'positionCost'),
10084
+ 'positionQty': this.safeNumber2(listItem, 'positionQty', 'size'),
10085
+ 'positionCost': this.safeNumber2(listItem, 'positionCost', 'positionValue'),
9958
10086
  });
9959
10087
  }
9960
10088
  return fees;
@@ -10448,7 +10576,7 @@ export default class kucoin extends Exchange {
10448
10576
  * @param {string[]} [params.clientOrderIds] client order ids
10449
10577
  * @param {boolean} [params.uta] set to true to use the unified trading account (uta) endpoint, defaults to false for the contract orders
10450
10578
  * @param {string} [params.accountMode] *for uta endpoint only* 'unified' or 'classic' (default is 'unified')
10451
- * @param {string} [params.marginMode] *for margin orders only* 'cross' or 'isolated'
10579
+ * @param {string} [params.marginMode] *for margin orders only* 'cross' or 'isolated' (unified accountMode supports cross margin only)
10452
10580
  * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
10453
10581
  */
10454
10582
  async cancelOrders(ids, symbol = undefined, params = {}) {
@@ -10502,7 +10630,8 @@ export default class kucoin extends Exchange {
10502
10630
  request['accountMode'] = accountMode;
10503
10631
  let marginMode = undefined;
10504
10632
  [marginMode, params] = this.handleMarginModeAndParams('fetchOrder', params);
10505
- const tradeType = this.handleTradeType(isContractMarket, marginMode, params);
10633
+ const isUnified = (accountMode === 'unified');
10634
+ const tradeType = this.handleTradeType(isContractMarket, marginMode, isUnified, params);
10506
10635
  request['tradeType'] = tradeType;
10507
10636
  request['cancelOrderList'] = ordersRequests;
10508
10637
  response = await this.utaPrivatePostAccountModeOrderCancelBatch(this.extend(request, params));
@@ -11168,7 +11297,7 @@ export default class kucoin extends Exchange {
11168
11297
  endpoint += '?' + this.rawencode(query);
11169
11298
  }
11170
11299
  else {
11171
- if (endpoint === '/api/ua/v1/classic/order/place') {
11300
+ if ((endpoint === '/api/ua/v1/classic/order/place') || (endpoint === '/api/ua/v1/classic/order/place/batch') || (endpoint === '/api/ua/v1/classic/order/cancel') || (endpoint === '/api/ua/v1/classic/order/cancel/batch')) {
11172
11301
  endpoint += '?tradeType=' + tradeType;
11173
11302
  }
11174
11303
  body = this.json(query);