ccxt 4.4.77 → 4.4.78

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 (936) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.min.js +7 -7
  3. package/dist/cjs/ccxt.js +8 -4
  4. package/dist/cjs/src/abstract/ace.js +1 -1
  5. package/dist/cjs/src/abstract/alpaca.js +1 -1
  6. package/dist/cjs/src/abstract/apex.js +9 -0
  7. package/dist/cjs/src/abstract/ascendex.js +1 -1
  8. package/dist/cjs/src/abstract/bigone.js +1 -1
  9. package/dist/cjs/src/abstract/binance.js +1 -1
  10. package/dist/cjs/src/abstract/bingx.js +1 -1
  11. package/dist/cjs/src/abstract/bit2c.js +1 -1
  12. package/dist/cjs/src/abstract/bitbank.js +1 -1
  13. package/dist/cjs/src/abstract/bitbns.js +1 -1
  14. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  15. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  16. package/dist/cjs/src/abstract/bitget.js +1 -1
  17. package/dist/cjs/src/abstract/bithumb.js +1 -1
  18. package/dist/cjs/src/abstract/bitmart.js +1 -1
  19. package/dist/cjs/src/abstract/bitmex.js +1 -1
  20. package/dist/cjs/src/abstract/bitopro.js +1 -1
  21. package/dist/cjs/src/abstract/bitrue.js +1 -1
  22. package/dist/cjs/src/abstract/bitso.js +1 -1
  23. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  24. package/dist/cjs/src/abstract/bitteam.js +1 -1
  25. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  26. package/dist/cjs/src/abstract/bl3p.js +1 -1
  27. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  28. package/dist/cjs/src/abstract/blofin.js +1 -1
  29. package/dist/cjs/src/abstract/btcalpha.js +1 -1
  30. package/dist/cjs/src/abstract/btcbox.js +1 -1
  31. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  32. package/dist/cjs/src/abstract/btcturk.js +1 -1
  33. package/dist/cjs/src/abstract/bybit.js +1 -1
  34. package/dist/cjs/src/abstract/cex.js +1 -1
  35. package/dist/cjs/src/abstract/coinbase.js +1 -1
  36. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  37. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  38. package/dist/cjs/src/abstract/coincatch.js +1 -1
  39. package/dist/cjs/src/abstract/coincheck.js +1 -1
  40. package/dist/cjs/src/abstract/coinex.js +1 -1
  41. package/dist/cjs/src/abstract/coinlist.js +1 -1
  42. package/dist/cjs/src/abstract/coinmate.js +1 -1
  43. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  44. package/dist/cjs/src/abstract/coinone.js +1 -1
  45. package/dist/cjs/src/abstract/coinsph.js +1 -1
  46. package/dist/cjs/src/abstract/coinspot.js +1 -1
  47. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  48. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  49. package/dist/cjs/src/abstract/defx.js +1 -1
  50. package/dist/cjs/src/abstract/delta.js +1 -1
  51. package/dist/cjs/src/abstract/deribit.js +1 -1
  52. package/dist/cjs/src/abstract/derive.js +1 -1
  53. package/dist/cjs/src/abstract/digifinex.js +1 -1
  54. package/dist/cjs/src/abstract/ellipx.js +1 -1
  55. package/dist/cjs/src/abstract/exmo.js +1 -1
  56. package/dist/cjs/src/abstract/gate.js +1 -1
  57. package/dist/cjs/src/abstract/gemini.js +1 -1
  58. package/dist/cjs/src/abstract/hashkey.js +1 -1
  59. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  60. package/dist/cjs/src/abstract/hollaex.js +1 -1
  61. package/dist/cjs/src/abstract/htx.js +1 -1
  62. package/dist/cjs/src/abstract/huobijp.js +1 -1
  63. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  64. package/dist/cjs/src/abstract/idex.js +1 -1
  65. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  66. package/dist/cjs/src/abstract/indodax.js +1 -1
  67. package/dist/cjs/src/abstract/kraken.js +1 -1
  68. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  69. package/dist/cjs/src/abstract/kucoin.js +1 -1
  70. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  71. package/dist/cjs/src/abstract/kuna.js +1 -1
  72. package/dist/cjs/src/abstract/latoken.js +1 -1
  73. package/dist/cjs/src/abstract/lbank.js +1 -1
  74. package/dist/cjs/src/abstract/luno.js +1 -1
  75. package/dist/cjs/src/abstract/mercado.js +1 -1
  76. package/dist/cjs/src/abstract/mexc.js +1 -1
  77. package/dist/cjs/src/abstract/ndax.js +1 -1
  78. package/dist/cjs/src/abstract/novadax.js +1 -1
  79. package/dist/cjs/src/abstract/oceanex.js +1 -1
  80. package/dist/cjs/src/abstract/okcoin.js +1 -1
  81. package/dist/cjs/src/abstract/okx.js +1 -1
  82. package/dist/cjs/src/abstract/onetrading.js +1 -1
  83. package/dist/cjs/src/abstract/oxfun.js +1 -1
  84. package/dist/cjs/src/abstract/p2b.js +1 -1
  85. package/dist/cjs/src/abstract/paradex.js +1 -1
  86. package/dist/cjs/src/abstract/paymium.js +1 -1
  87. package/dist/cjs/src/abstract/phemex.js +1 -1
  88. package/dist/cjs/src/abstract/poloniex.js +1 -1
  89. package/dist/cjs/src/abstract/probit.js +1 -1
  90. package/dist/cjs/src/abstract/timex.js +1 -1
  91. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  92. package/dist/cjs/src/abstract/tradeogre.js +1 -1
  93. package/dist/cjs/src/abstract/upbit.js +1 -1
  94. package/dist/cjs/src/abstract/vertex.js +1 -1
  95. package/dist/cjs/src/abstract/wavesexchange.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/zonda.js +1 -1
  103. package/dist/cjs/src/ace.js +1 -1
  104. package/dist/cjs/src/alpaca.js +1 -1
  105. package/dist/cjs/src/apex.js +1949 -0
  106. package/dist/cjs/src/ascendex.js +1 -1
  107. package/dist/cjs/src/base/Exchange.js +42 -2
  108. package/dist/cjs/src/base/Precise.js +6 -0
  109. package/dist/cjs/src/base/errors.js +6 -0
  110. package/dist/cjs/src/base/functions/crypto.js +1 -1
  111. package/dist/cjs/src/base/functions/encode.js +1 -1
  112. package/dist/cjs/src/base/functions/misc.js +1 -0
  113. package/dist/cjs/src/base/functions/number.js +6 -0
  114. package/dist/cjs/src/base/functions/platform.js +6 -0
  115. package/dist/cjs/src/base/functions/rsa.js +1 -0
  116. package/dist/cjs/src/base/functions/string.js +6 -0
  117. package/dist/cjs/src/base/functions/throttle.js +1 -1
  118. package/dist/cjs/src/base/functions/time.js +6 -0
  119. package/dist/cjs/src/base/functions/totp.js +1 -0
  120. package/dist/cjs/src/base/functions/type.js +6 -0
  121. package/dist/cjs/src/base/functions.js +1 -1
  122. package/dist/cjs/src/base/ws/Cache.js +6 -0
  123. package/dist/cjs/src/base/ws/Client.js +1 -0
  124. package/dist/cjs/src/base/ws/Future.js +1 -1
  125. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  126. package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
  127. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  128. package/dist/cjs/src/bequant.js +1 -1
  129. package/dist/cjs/src/bigone.js +1 -1
  130. package/dist/cjs/src/binance.js +2 -2
  131. package/dist/cjs/src/binancecoinm.js +1 -1
  132. package/dist/cjs/src/binanceus.js +1 -1
  133. package/dist/cjs/src/binanceusdm.js +1 -1
  134. package/dist/cjs/src/bingx.js +1 -1
  135. package/dist/cjs/src/bit2c.js +1 -1
  136. package/dist/cjs/src/bitbank.js +1 -1
  137. package/dist/cjs/src/bitbns.js +1 -1
  138. package/dist/cjs/src/bitfinex.js +1 -1
  139. package/dist/cjs/src/bitflyer.js +1 -1
  140. package/dist/cjs/src/bitget.js +139 -71
  141. package/dist/cjs/src/bithumb.js +1 -1
  142. package/dist/cjs/src/bitmart.js +1 -1
  143. package/dist/cjs/src/bitmex.js +5 -5
  144. package/dist/cjs/src/bitopro.js +1 -1
  145. package/dist/cjs/src/bitrue.js +1 -1
  146. package/dist/cjs/src/bitso.js +1 -1
  147. package/dist/cjs/src/bitstamp.js +1 -1
  148. package/dist/cjs/src/bitteam.js +1 -1
  149. package/dist/cjs/src/bl3p.js +1 -1
  150. package/dist/cjs/src/blockchaincom.js +1 -1
  151. package/dist/cjs/src/blofin.js +1 -1
  152. package/dist/cjs/src/btcalpha.js +1 -1
  153. package/dist/cjs/src/btcbox.js +1 -1
  154. package/dist/cjs/src/btcmarkets.js +1 -1
  155. package/dist/cjs/src/btcturk.js +1 -1
  156. package/dist/cjs/src/bybit.js +1 -1
  157. package/dist/cjs/src/cex.js +2 -2
  158. package/dist/cjs/src/coinbase.js +32 -3
  159. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  160. package/dist/cjs/src/coincatch.js +69 -1
  161. package/dist/cjs/src/coincheck.js +1 -1
  162. package/dist/cjs/src/coinex.js +1 -1
  163. package/dist/cjs/src/coinlist.js +1 -0
  164. package/dist/cjs/src/coinmate.js +1 -1
  165. package/dist/cjs/src/coinmetro.js +1 -1
  166. package/dist/cjs/src/coinone.js +1 -1
  167. package/dist/cjs/src/coinsph.js +1 -0
  168. package/dist/cjs/src/coinspot.js +1 -1
  169. package/dist/cjs/src/cryptocom.js +1 -1
  170. package/dist/cjs/src/cryptomus.js +1 -1
  171. package/dist/cjs/src/defx.js +1 -1
  172. package/dist/cjs/src/delta.js +1 -1
  173. package/dist/cjs/src/deribit.js +1 -1
  174. package/dist/cjs/src/derive.js +1 -1
  175. package/dist/cjs/src/digifinex.js +1 -1
  176. package/dist/cjs/src/ellipx.js +1 -1
  177. package/dist/cjs/src/exmo.js +1 -1
  178. package/dist/cjs/src/fmfwio.js +1 -1
  179. package/dist/cjs/src/gate.js +1 -1
  180. package/dist/cjs/src/gateio.js +1 -1
  181. package/dist/cjs/src/gemini.js +1 -1
  182. package/dist/cjs/src/hashkey.js +1 -1
  183. package/dist/cjs/src/hitbtc.js +4 -0
  184. package/dist/cjs/src/hollaex.js +1 -1
  185. package/dist/cjs/src/htx.js +1 -1
  186. package/dist/cjs/src/huobi.js +1 -1
  187. package/dist/cjs/src/huobijp.js +1 -1
  188. package/dist/cjs/src/hyperliquid.js +14 -5
  189. package/dist/cjs/src/idex.js +1 -1
  190. package/dist/cjs/src/independentreserve.js +1 -1
  191. package/dist/cjs/src/indodax.js +1 -1
  192. package/dist/cjs/src/kraken.js +1 -1
  193. package/dist/cjs/src/krakenfutures.js +1 -1
  194. package/dist/cjs/src/kucoin.js +1 -1
  195. package/dist/cjs/src/kucoinfutures.js +1 -1
  196. package/dist/cjs/src/kuna.js +1 -1
  197. package/dist/cjs/src/latoken.js +1 -1
  198. package/dist/cjs/src/lbank.js +1 -1
  199. package/dist/cjs/src/luno.js +1 -1
  200. package/dist/cjs/src/mercado.js +1 -1
  201. package/dist/cjs/src/mexc.js +51 -58
  202. package/dist/cjs/src/myokx.js +1 -1
  203. package/dist/cjs/src/ndax.js +1 -1
  204. package/dist/cjs/src/novadax.js +1 -1
  205. package/dist/cjs/src/oceanex.js +1 -1
  206. package/dist/cjs/src/okcoin.js +1 -1
  207. package/dist/cjs/src/okx.js +1 -1
  208. package/dist/cjs/src/onetrading.js +1 -1
  209. package/dist/cjs/src/oxfun.js +1 -1
  210. package/dist/cjs/src/p2b.js +1 -1
  211. package/dist/cjs/src/paradex.js +1 -1
  212. package/dist/cjs/src/paymium.js +1 -1
  213. package/dist/cjs/src/phemex.js +2 -1
  214. package/dist/cjs/src/poloniex.js +2 -2
  215. package/dist/cjs/src/pro/alpaca.js +1 -1
  216. package/dist/cjs/src/pro/apex.js +1043 -0
  217. package/dist/cjs/src/pro/ascendex.js +1 -1
  218. package/dist/cjs/src/pro/bequant.js +1 -1
  219. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  220. package/dist/cjs/src/pro/binanceus.js +1 -1
  221. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  222. package/dist/cjs/src/pro/bingx.js +1 -1
  223. package/dist/cjs/src/pro/bitfinex.js +1 -1
  224. package/dist/cjs/src/pro/bitget.js +1 -1
  225. package/dist/cjs/src/pro/bithumb.js +1 -1
  226. package/dist/cjs/src/pro/bitmart.js +1 -1
  227. package/dist/cjs/src/pro/bitmex.js +1 -1
  228. package/dist/cjs/src/pro/bitrue.js +1 -1
  229. package/dist/cjs/src/pro/bitstamp.js +1 -1
  230. package/dist/cjs/src/pro/bitvavo.js +1 -1
  231. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  232. package/dist/cjs/src/pro/blofin.js +1 -1
  233. package/dist/cjs/src/pro/bybit.js +1 -1
  234. package/dist/cjs/src/pro/cex.js +1 -1
  235. package/dist/cjs/src/pro/coinbase.js +5 -9
  236. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  237. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  238. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  239. package/dist/cjs/src/pro/coincatch.js +1 -1
  240. package/dist/cjs/src/pro/coincheck.js +1 -1
  241. package/dist/cjs/src/pro/coinex.js +1 -1
  242. package/dist/cjs/src/pro/coinone.js +1 -1
  243. package/dist/cjs/src/pro/cryptocom.js +1 -1
  244. package/dist/cjs/src/pro/defx.js +1 -1
  245. package/dist/cjs/src/pro/deribit.js +1 -1
  246. package/dist/cjs/src/pro/exmo.js +1 -1
  247. package/dist/cjs/src/pro/gate.js +28 -3
  248. package/dist/cjs/src/pro/gateio.js +1 -1
  249. package/dist/cjs/src/pro/gemini.js +1 -1
  250. package/dist/cjs/src/pro/hashkey.js +1 -1
  251. package/dist/cjs/src/pro/hitbtc.js +1 -1
  252. package/dist/cjs/src/pro/hollaex.js +3 -3
  253. package/dist/cjs/src/pro/htx.js +1 -1
  254. package/dist/cjs/src/pro/huobi.js +1 -1
  255. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  256. package/dist/cjs/src/pro/idex.js +1 -1
  257. package/dist/cjs/src/pro/independentreserve.js +1 -1
  258. package/dist/cjs/src/pro/kraken.js +1 -1
  259. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  260. package/dist/cjs/src/pro/kucoin.js +1 -1
  261. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  262. package/dist/cjs/src/pro/lbank.js +1 -0
  263. package/dist/cjs/src/pro/luno.js +1 -1
  264. package/dist/cjs/src/pro/mexc.js +1 -1
  265. package/dist/cjs/src/pro/myokx.js +1 -1
  266. package/dist/cjs/src/pro/ndax.js +1 -1
  267. package/dist/cjs/src/pro/okcoin.js +1 -1
  268. package/dist/cjs/src/pro/okx.js +1 -1
  269. package/dist/cjs/src/pro/onetrading.js +1 -1
  270. package/dist/cjs/src/pro/oxfun.js +1 -1
  271. package/dist/cjs/src/pro/p2b.js +3 -3
  272. package/dist/cjs/src/pro/paradex.js +1 -1
  273. package/dist/cjs/src/pro/phemex.js +1 -1
  274. package/dist/cjs/src/pro/poloniex.js +1 -1
  275. package/dist/cjs/src/pro/probit.js +1 -1
  276. package/dist/cjs/src/pro/tradeogre.js +283 -0
  277. package/dist/cjs/src/pro/upbit.js +1 -1
  278. package/dist/cjs/src/pro/whitebit.js +1 -1
  279. package/dist/cjs/src/pro/xt.js +1 -1
  280. package/dist/cjs/src/probit.js +2 -1
  281. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +6 -0
  282. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  283. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  284. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
  285. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  286. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
  287. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  288. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
  289. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
  290. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  291. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
  292. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  293. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  294. package/dist/cjs/src/static_dependencies/ethers/fragments.js +6 -0
  295. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  296. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
  297. package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
  298. package/dist/cjs/src/static_dependencies/ethers/typed.js +6 -0
  299. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  300. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  301. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  302. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
  303. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  304. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
  305. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  306. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  307. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  308. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  309. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
  310. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  311. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  312. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  313. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  314. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  315. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  316. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  317. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  318. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  319. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  320. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  321. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  322. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  323. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  324. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  325. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  326. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  327. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
  328. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  329. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  330. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  331. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  332. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  333. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  334. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  335. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  336. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
  337. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
  338. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
  339. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
  340. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
  341. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
  342. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
  343. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
  344. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
  345. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
  346. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  347. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  348. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  349. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  350. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  351. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  352. package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
  353. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  354. package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
  355. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  356. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  357. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  358. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  359. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  360. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
  361. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
  362. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  363. package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
  364. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  365. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  366. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  367. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  368. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  369. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  370. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  371. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
  372. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  373. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  374. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  375. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  376. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  377. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  378. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  379. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  380. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
  381. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  382. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  383. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  384. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  385. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
  386. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
  387. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
  388. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  389. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
  390. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  391. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  392. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  393. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  394. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  395. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  396. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  397. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
  398. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +2645 -0
  399. package/dist/cjs/src/timex.js +1 -0
  400. package/dist/cjs/src/tokocrypto.js +1 -1
  401. package/dist/cjs/src/tradeogre.js +3 -2
  402. package/dist/cjs/src/upbit.js +236 -48
  403. package/dist/cjs/src/vertex.js +1 -1
  404. package/dist/cjs/src/wavesexchange.js +1 -1
  405. package/dist/cjs/src/whitebit.js +2 -1
  406. package/dist/cjs/src/woo.js +4 -2
  407. package/dist/cjs/src/woofipro.js +1 -1
  408. package/dist/cjs/src/xt.js +10 -1
  409. package/dist/cjs/src/yobit.js +1 -1
  410. package/dist/cjs/src/zaif.js +1 -1
  411. package/dist/cjs/src/zonda.js +1 -1
  412. package/js/ccxt.d.ts +11 -5
  413. package/js/ccxt.js +14 -4
  414. package/js/src/abstract/alpaca.js +6 -0
  415. package/js/src/abstract/apex.d.ts +34 -0
  416. package/js/src/abstract/apex.js +11 -0
  417. package/js/src/abstract/ascendex.js +6 -0
  418. package/js/src/abstract/bequant.js +6 -0
  419. package/js/src/abstract/bigone.js +6 -0
  420. package/js/src/abstract/binance.js +6 -0
  421. package/js/src/abstract/binancecoinm.js +6 -0
  422. package/js/src/abstract/binanceus.js +6 -0
  423. package/js/src/abstract/binanceusdm.js +6 -0
  424. package/js/src/abstract/bingx.js +6 -0
  425. package/js/src/abstract/bit2c.js +6 -0
  426. package/js/src/abstract/bitbank.js +6 -0
  427. package/js/src/abstract/bitbns.js +6 -0
  428. package/js/src/abstract/bitfinex.js +6 -0
  429. package/js/src/abstract/bitflyer.js +6 -0
  430. package/js/src/abstract/bitget.js +6 -0
  431. package/js/src/abstract/bithumb.js +6 -0
  432. package/js/src/abstract/bitmart.js +6 -0
  433. package/js/src/abstract/bitmex.js +6 -0
  434. package/js/src/abstract/bitopro.js +6 -0
  435. package/js/src/abstract/bitrue.js +6 -0
  436. package/js/src/abstract/bitso.js +6 -0
  437. package/js/src/abstract/bitstamp.js +6 -0
  438. package/js/src/abstract/bitteam.js +6 -0
  439. package/js/src/abstract/bitvavo.js +6 -0
  440. package/js/src/abstract/bl3p.js +6 -0
  441. package/js/src/abstract/blockchaincom.js +6 -0
  442. package/js/src/abstract/blofin.js +6 -0
  443. package/js/src/abstract/btcalpha.js +6 -0
  444. package/js/src/abstract/btcbox.js +6 -0
  445. package/js/src/abstract/btcmarkets.js +6 -0
  446. package/js/src/abstract/btcturk.js +6 -0
  447. package/js/src/abstract/bybit.js +6 -0
  448. package/js/src/abstract/cex.js +6 -0
  449. package/js/src/abstract/coinbase.js +6 -0
  450. package/js/src/abstract/coinbaseadvanced.js +6 -0
  451. package/js/src/abstract/coinbaseexchange.js +6 -0
  452. package/js/src/abstract/coinbaseinternational.js +6 -0
  453. package/js/src/abstract/coincatch.js +6 -0
  454. package/js/src/abstract/coincheck.js +6 -0
  455. package/js/src/abstract/coinex.js +6 -0
  456. package/js/src/abstract/coinlist.js +6 -0
  457. package/js/src/abstract/coinmate.js +6 -0
  458. package/js/src/abstract/coinmetro.js +6 -0
  459. package/js/src/abstract/coinone.js +6 -0
  460. package/js/src/abstract/coinsph.js +6 -0
  461. package/js/src/abstract/coinspot.js +6 -0
  462. package/js/src/abstract/cryptocom.js +6 -0
  463. package/js/src/abstract/cryptomus.js +6 -0
  464. package/js/src/abstract/defx.js +6 -0
  465. package/js/src/abstract/delta.js +6 -0
  466. package/js/src/abstract/deribit.js +6 -0
  467. package/js/src/abstract/derive.js +6 -0
  468. package/js/src/abstract/digifinex.js +6 -0
  469. package/js/src/abstract/ellipx.js +6 -0
  470. package/js/src/abstract/exmo.js +6 -0
  471. package/js/src/abstract/fmfwio.js +6 -0
  472. package/js/src/abstract/gate.js +6 -0
  473. package/js/src/abstract/gateio.js +6 -0
  474. package/js/src/abstract/gemini.js +6 -0
  475. package/js/src/abstract/hashkey.js +6 -0
  476. package/js/src/abstract/hitbtc.js +6 -0
  477. package/js/src/abstract/hollaex.js +6 -0
  478. package/js/src/abstract/htx.js +6 -0
  479. package/js/src/abstract/huobi.js +6 -0
  480. package/js/src/abstract/huobijp.js +6 -0
  481. package/js/src/abstract/hyperliquid.js +6 -0
  482. package/js/src/abstract/idex.js +6 -0
  483. package/js/src/abstract/independentreserve.js +6 -0
  484. package/js/src/abstract/indodax.js +6 -0
  485. package/js/src/abstract/kraken.js +6 -0
  486. package/js/src/abstract/krakenfutures.js +6 -0
  487. package/js/src/abstract/kucoin.js +6 -0
  488. package/js/src/abstract/kucoinfutures.js +6 -0
  489. package/js/src/abstract/kuna.js +6 -0
  490. package/js/src/abstract/latoken.js +6 -0
  491. package/js/src/abstract/lbank.js +6 -0
  492. package/js/src/abstract/luno.js +6 -0
  493. package/js/src/abstract/mercado.js +6 -0
  494. package/js/src/abstract/mexc.js +6 -0
  495. package/js/src/abstract/myokx.js +6 -0
  496. package/js/src/abstract/ndax.js +6 -0
  497. package/js/src/abstract/novadax.js +6 -0
  498. package/js/src/abstract/oceanex.js +6 -0
  499. package/js/src/abstract/okcoin.js +6 -0
  500. package/js/src/abstract/okx.js +6 -0
  501. package/js/src/abstract/onetrading.js +6 -0
  502. package/js/src/abstract/oxfun.js +6 -0
  503. package/js/src/abstract/p2b.js +6 -0
  504. package/js/src/abstract/paradex.js +6 -0
  505. package/js/src/abstract/paymium.js +6 -0
  506. package/js/src/abstract/phemex.js +6 -0
  507. package/js/src/abstract/poloniex.js +6 -0
  508. package/js/src/abstract/probit.js +6 -0
  509. package/js/src/abstract/timex.js +6 -0
  510. package/js/src/abstract/tokocrypto.js +6 -0
  511. package/js/src/abstract/tradeogre.js +6 -0
  512. package/js/src/abstract/upbit.js +6 -0
  513. package/js/src/abstract/vertex.js +6 -0
  514. package/js/src/abstract/wavesexchange.js +6 -0
  515. package/js/src/abstract/whitebit.js +6 -0
  516. package/js/src/abstract/woo.js +6 -0
  517. package/js/src/abstract/woofipro.js +6 -0
  518. package/js/src/abstract/xt.js +6 -0
  519. package/js/src/abstract/yobit.js +6 -0
  520. package/js/src/abstract/zaif.js +6 -0
  521. package/js/src/abstract/zonda.js +6 -0
  522. package/js/src/alpaca.js +6 -0
  523. package/js/src/apex.d.ts +333 -0
  524. package/js/src/apex.js +1951 -0
  525. package/js/src/ascendex.d.ts +3 -3
  526. package/js/src/ascendex.js +6 -0
  527. package/js/src/base/Exchange.d.ts +2 -0
  528. package/js/src/base/Exchange.js +48 -1
  529. package/js/src/base/Precise.js +6 -0
  530. package/js/src/base/errorHierarchy.js +6 -0
  531. package/js/src/base/errors.js +6 -0
  532. package/js/src/base/functions/crypto.js +6 -0
  533. package/js/src/base/functions/encode.js +6 -0
  534. package/js/src/base/functions/generic.js +6 -0
  535. package/js/src/base/functions/misc.js +6 -0
  536. package/js/src/base/functions/number.js +6 -0
  537. package/js/src/base/functions/platform.js +6 -0
  538. package/js/src/base/functions/rsa.js +6 -0
  539. package/js/src/base/functions/string.js +6 -0
  540. package/js/src/base/functions/throttle.js +6 -0
  541. package/js/src/base/functions/time.js +6 -0
  542. package/js/src/base/functions/totp.js +6 -0
  543. package/js/src/base/functions/type.js +6 -0
  544. package/js/src/base/functions.js +6 -0
  545. package/js/src/base/types.js +6 -0
  546. package/js/src/base/ws/Cache.js +6 -0
  547. package/js/src/base/ws/Client.js +6 -0
  548. package/js/src/base/ws/Future.js +6 -0
  549. package/js/src/base/ws/OrderBook.js +6 -0
  550. package/js/src/base/ws/OrderBookSide.js +6 -0
  551. package/js/src/base/ws/WsClient.js +6 -0
  552. package/js/src/base/ws/functions.js +6 -0
  553. package/js/src/bequant.js +6 -0
  554. package/js/src/bigone.js +6 -0
  555. package/js/src/binance.d.ts +7 -7
  556. package/js/src/binance.js +7 -1
  557. package/js/src/binancecoinm.js +6 -0
  558. package/js/src/binanceus.js +6 -0
  559. package/js/src/binanceusdm.js +6 -0
  560. package/js/src/bingx.js +6 -0
  561. package/js/src/bit2c.js +6 -0
  562. package/js/src/bitbank.js +6 -0
  563. package/js/src/bitbns.js +6 -0
  564. package/js/src/bitfinex.d.ts +3 -3
  565. package/js/src/bitfinex.js +6 -0
  566. package/js/src/bitflyer.d.ts +2 -2
  567. package/js/src/bitflyer.js +6 -0
  568. package/js/src/bitget.d.ts +2 -0
  569. package/js/src/bitget.js +144 -70
  570. package/js/src/bithumb.js +6 -0
  571. package/js/src/bitmart.d.ts +4 -4
  572. package/js/src/bitmart.js +6 -0
  573. package/js/src/bitmex.d.ts +3 -3
  574. package/js/src/bitmex.js +10 -4
  575. package/js/src/bitopro.js +6 -0
  576. package/js/src/bitrue.js +6 -0
  577. package/js/src/bitso.js +6 -0
  578. package/js/src/bitstamp.js +6 -0
  579. package/js/src/bitteam.js +6 -0
  580. package/js/src/bitvavo.js +6 -0
  581. package/js/src/bl3p.js +6 -0
  582. package/js/src/blockchaincom.js +6 -0
  583. package/js/src/blofin.js +6 -0
  584. package/js/src/btcalpha.js +6 -0
  585. package/js/src/btcbox.js +6 -0
  586. package/js/src/btcmarkets.js +6 -0
  587. package/js/src/btcturk.js +6 -0
  588. package/js/src/bybit.js +6 -0
  589. package/js/src/cex.js +7 -1
  590. package/js/src/coinbase.d.ts +6 -4
  591. package/js/src/coinbase.js +38 -3
  592. package/js/src/coinbaseadvanced.js +6 -0
  593. package/js/src/coinbaseexchange.d.ts +1 -1
  594. package/js/src/coinbaseexchange.js +6 -0
  595. package/js/src/coinbaseinternational.js +6 -0
  596. package/js/src/coincatch.d.ts +11 -0
  597. package/js/src/coincatch.js +74 -0
  598. package/js/src/coincheck.js +6 -0
  599. package/js/src/coinex.js +6 -0
  600. package/js/src/coinlist.js +6 -0
  601. package/js/src/coinmate.js +6 -0
  602. package/js/src/coinmetro.js +6 -0
  603. package/js/src/coinone.js +6 -0
  604. package/js/src/coinsph.js +6 -0
  605. package/js/src/coinspot.js +6 -0
  606. package/js/src/cryptocom.d.ts +4 -4
  607. package/js/src/cryptocom.js +6 -0
  608. package/js/src/cryptomus.js +6 -0
  609. package/js/src/defx.js +6 -0
  610. package/js/src/delta.js +6 -0
  611. package/js/src/deribit.d.ts +4 -4
  612. package/js/src/deribit.js +6 -0
  613. package/js/src/derive.d.ts +3 -3
  614. package/js/src/derive.js +6 -0
  615. package/js/src/digifinex.d.ts +4 -4
  616. package/js/src/digifinex.js +6 -0
  617. package/js/src/ellipx.js +6 -0
  618. package/js/src/exmo.js +6 -0
  619. package/js/src/fmfwio.js +6 -0
  620. package/js/src/gate.js +6 -0
  621. package/js/src/gateio.js +6 -0
  622. package/js/src/gemini.js +6 -0
  623. package/js/src/hashkey.js +6 -0
  624. package/js/src/hitbtc.js +9 -0
  625. package/js/src/hollaex.js +6 -0
  626. package/js/src/htx.d.ts +4 -4
  627. package/js/src/htx.js +6 -0
  628. package/js/src/huobi.js +6 -0
  629. package/js/src/huobijp.js +6 -0
  630. package/js/src/hyperliquid.d.ts +1 -0
  631. package/js/src/hyperliquid.js +19 -4
  632. package/js/src/idex.js +6 -0
  633. package/js/src/independentreserve.js +6 -0
  634. package/js/src/indodax.js +6 -0
  635. package/js/src/kraken.d.ts +3 -3
  636. package/js/src/kraken.js +6 -0
  637. package/js/src/krakenfutures.d.ts +2 -2
  638. package/js/src/krakenfutures.js +6 -0
  639. package/js/src/kucoin.js +6 -0
  640. package/js/src/kucoinfutures.d.ts +5 -5
  641. package/js/src/kucoinfutures.js +6 -0
  642. package/js/src/kuna.js +6 -0
  643. package/js/src/latoken.js +6 -0
  644. package/js/src/lbank.js +6 -0
  645. package/js/src/luno.js +6 -0
  646. package/js/src/mercado.js +6 -0
  647. package/js/src/mexc.d.ts +1 -0
  648. package/js/src/mexc.js +56 -57
  649. package/js/src/myokx.js +6 -0
  650. package/js/src/ndax.js +6 -0
  651. package/js/src/novadax.js +6 -0
  652. package/js/src/oceanex.js +6 -0
  653. package/js/src/okcoin.js +6 -0
  654. package/js/src/okx.js +6 -0
  655. package/js/src/onetrading.js +6 -0
  656. package/js/src/oxfun.d.ts +3 -3
  657. package/js/src/oxfun.js +6 -0
  658. package/js/src/p2b.js +6 -0
  659. package/js/src/paradex.js +6 -0
  660. package/js/src/paymium.js +6 -0
  661. package/js/src/phemex.d.ts +3 -3
  662. package/js/src/phemex.js +8 -1
  663. package/js/src/poloniex.d.ts +3 -3
  664. package/js/src/poloniex.js +7 -1
  665. package/js/src/pro/alpaca.js +6 -0
  666. package/js/src/pro/apex.d.ts +160 -0
  667. package/js/src/pro/apex.js +1044 -0
  668. package/js/src/pro/ascendex.js +6 -0
  669. package/js/src/pro/bequant.js +6 -0
  670. package/js/src/pro/binance.js +6 -0
  671. package/js/src/pro/binancecoinm.js +6 -0
  672. package/js/src/pro/binanceus.js +6 -0
  673. package/js/src/pro/binanceusdm.js +6 -0
  674. package/js/src/pro/bingx.js +6 -0
  675. package/js/src/pro/bitfinex.js +6 -0
  676. package/js/src/pro/bitget.js +6 -0
  677. package/js/src/pro/bithumb.js +6 -0
  678. package/js/src/pro/bitmart.js +6 -0
  679. package/js/src/pro/bitmex.js +6 -0
  680. package/js/src/pro/bitopro.js +6 -0
  681. package/js/src/pro/bitrue.js +6 -0
  682. package/js/src/pro/bitstamp.js +6 -0
  683. package/js/src/pro/bitvavo.js +6 -0
  684. package/js/src/pro/blockchaincom.js +6 -0
  685. package/js/src/pro/blofin.js +6 -0
  686. package/js/src/pro/bybit.js +6 -0
  687. package/js/src/pro/cex.js +6 -0
  688. package/js/src/pro/coinbase.js +10 -8
  689. package/js/src/pro/coinbaseadvanced.js +6 -0
  690. package/js/src/pro/coinbaseexchange.js +6 -0
  691. package/js/src/pro/coinbaseinternational.js +6 -0
  692. package/js/src/pro/coincatch.js +6 -0
  693. package/js/src/pro/coincheck.js +6 -0
  694. package/js/src/pro/coinex.js +6 -0
  695. package/js/src/pro/coinone.js +6 -0
  696. package/js/src/pro/cryptocom.js +6 -0
  697. package/js/src/pro/defx.js +6 -0
  698. package/js/src/pro/deribit.js +6 -0
  699. package/js/src/pro/derive.js +6 -0
  700. package/js/src/pro/exmo.js +6 -0
  701. package/js/src/pro/gate.js +33 -2
  702. package/js/src/pro/gateio.js +6 -0
  703. package/js/src/pro/gemini.js +6 -0
  704. package/js/src/pro/hashkey.js +6 -0
  705. package/js/src/pro/hitbtc.js +6 -0
  706. package/js/src/pro/hollaex.js +8 -2
  707. package/js/src/pro/htx.js +6 -0
  708. package/js/src/pro/huobi.js +6 -0
  709. package/js/src/pro/huobijp.js +6 -0
  710. package/js/src/pro/hyperliquid.js +6 -0
  711. package/js/src/pro/idex.js +6 -0
  712. package/js/src/pro/independentreserve.js +6 -0
  713. package/js/src/pro/kraken.js +6 -0
  714. package/js/src/pro/krakenfutures.js +6 -0
  715. package/js/src/pro/kucoin.js +6 -0
  716. package/js/src/pro/kucoinfutures.js +6 -0
  717. package/js/src/pro/lbank.js +6 -0
  718. package/js/src/pro/luno.js +6 -0
  719. package/js/src/pro/mexc.js +6 -0
  720. package/js/src/pro/myokx.js +6 -0
  721. package/js/src/pro/ndax.js +6 -0
  722. package/js/src/pro/okcoin.js +6 -0
  723. package/js/src/pro/okx.js +6 -0
  724. package/js/src/pro/onetrading.js +6 -0
  725. package/js/src/pro/oxfun.js +6 -0
  726. package/js/src/pro/p2b.js +8 -2
  727. package/js/src/pro/paradex.js +6 -0
  728. package/js/src/pro/phemex.js +6 -0
  729. package/js/src/pro/poloniex.js +6 -0
  730. package/js/src/pro/probit.js +6 -0
  731. package/js/src/pro/tradeogre.d.ts +49 -0
  732. package/js/src/pro/tradeogre.js +284 -0
  733. package/js/src/pro/upbit.js +6 -0
  734. package/js/src/pro/vertex.js +6 -0
  735. package/js/src/pro/whitebit.js +6 -0
  736. package/js/src/pro/woo.js +6 -0
  737. package/js/src/pro/woofipro.js +6 -0
  738. package/js/src/pro/xt.js +6 -0
  739. package/js/src/probit.js +7 -0
  740. package/js/src/static_dependencies/ethers/abi-coder.js +6 -0
  741. package/js/src/static_dependencies/ethers/address/address.js +6 -0
  742. package/js/src/static_dependencies/ethers/address/checks.js +6 -0
  743. package/js/src/static_dependencies/ethers/address/contract-address.js +6 -0
  744. package/js/src/static_dependencies/ethers/address/index.js +6 -0
  745. package/js/src/static_dependencies/ethers/bytes32.js +6 -0
  746. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  747. package/js/src/static_dependencies/ethers/coders/address.js +6 -0
  748. package/js/src/static_dependencies/ethers/coders/anonymous.js +6 -0
  749. package/js/src/static_dependencies/ethers/coders/array.js +6 -0
  750. package/js/src/static_dependencies/ethers/coders/boolean.js +6 -0
  751. package/js/src/static_dependencies/ethers/coders/bytes.js +6 -0
  752. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +6 -0
  753. package/js/src/static_dependencies/ethers/coders/null.js +6 -0
  754. package/js/src/static_dependencies/ethers/coders/number.js +6 -0
  755. package/js/src/static_dependencies/ethers/coders/string.js +6 -0
  756. package/js/src/static_dependencies/ethers/coders/tuple.js +6 -0
  757. package/js/src/static_dependencies/ethers/fragments.js +6 -0
  758. package/js/src/static_dependencies/ethers/hash/index.js +6 -0
  759. package/js/src/static_dependencies/ethers/hash/solidity.js +6 -0
  760. package/js/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  761. package/js/src/static_dependencies/ethers/index.js +6 -0
  762. package/js/src/static_dependencies/ethers/interface.js +6 -0
  763. package/js/src/static_dependencies/ethers/typed.js +6 -0
  764. package/js/src/static_dependencies/ethers/utils/base58.js +6 -0
  765. package/js/src/static_dependencies/ethers/utils/base64-browser.js +6 -0
  766. package/js/src/static_dependencies/ethers/utils/base64.js +6 -0
  767. package/js/src/static_dependencies/ethers/utils/data.js +6 -0
  768. package/js/src/static_dependencies/ethers/utils/errors.js +6 -0
  769. package/js/src/static_dependencies/ethers/utils/events.js +6 -0
  770. package/js/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  771. package/js/src/static_dependencies/ethers/utils/index.js +6 -0
  772. package/js/src/static_dependencies/ethers/utils/maths.js +6 -0
  773. package/js/src/static_dependencies/ethers/utils/properties.js +6 -0
  774. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +6 -0
  775. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +6 -0
  776. package/js/src/static_dependencies/ethers/utils/rlp.js +6 -0
  777. package/js/src/static_dependencies/ethers/utils/units.js +6 -0
  778. package/js/src/static_dependencies/ethers/utils/utf8.js +6 -0
  779. package/js/src/static_dependencies/ethers/utils/uuid.js +6 -0
  780. package/js/src/static_dependencies/fflake/browser.js +6 -0
  781. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +6 -0
  782. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +6 -0
  783. package/js/src/static_dependencies/jsencrypt/index.js +6 -0
  784. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +6 -0
  785. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  786. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  787. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  788. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +6 -0
  789. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +6 -0
  790. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +6 -0
  791. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  792. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +6 -0
  793. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +6 -0
  794. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  795. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +6 -0
  796. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  797. package/js/src/static_dependencies/messagepack/msgpack.js +6 -0
  798. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +6 -0
  799. package/js/src/static_dependencies/noble-curves/abstract/curve.js +6 -0
  800. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +6 -0
  801. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +6 -0
  802. package/js/src/static_dependencies/noble-curves/abstract/modular.js +6 -0
  803. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +6 -0
  804. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +6 -0
  805. package/js/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  806. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +6 -0
  807. package/js/src/static_dependencies/noble-curves/bn.js +6 -0
  808. package/js/src/static_dependencies/noble-curves/ed25519.js +6 -0
  809. package/js/src/static_dependencies/noble-curves/ed448.js +6 -0
  810. package/js/src/static_dependencies/noble-curves/index.js +6 -0
  811. package/js/src/static_dependencies/noble-curves/jubjub.js +6 -0
  812. package/js/src/static_dependencies/noble-curves/p256.js +6 -0
  813. package/js/src/static_dependencies/noble-curves/p384.js +6 -0
  814. package/js/src/static_dependencies/noble-curves/p521.js +6 -0
  815. package/js/src/static_dependencies/noble-curves/pasta.js +6 -0
  816. package/js/src/static_dependencies/noble-curves/secp256k1.js +6 -0
  817. package/js/src/static_dependencies/noble-hashes/_assert.js +6 -0
  818. package/js/src/static_dependencies/noble-hashes/_blake2.js +6 -0
  819. package/js/src/static_dependencies/noble-hashes/_sha2.js +6 -0
  820. package/js/src/static_dependencies/noble-hashes/_u64.js +6 -0
  821. package/js/src/static_dependencies/noble-hashes/argon2.js +6 -0
  822. package/js/src/static_dependencies/noble-hashes/blake2b.js +6 -0
  823. package/js/src/static_dependencies/noble-hashes/blake2s.js +6 -0
  824. package/js/src/static_dependencies/noble-hashes/blake3.js +6 -0
  825. package/js/src/static_dependencies/noble-hashes/crypto.js +6 -0
  826. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +6 -0
  827. package/js/src/static_dependencies/noble-hashes/eskdf.js +6 -0
  828. package/js/src/static_dependencies/noble-hashes/hkdf.js +6 -0
  829. package/js/src/static_dependencies/noble-hashes/hmac.js +6 -0
  830. package/js/src/static_dependencies/noble-hashes/index.js +6 -0
  831. package/js/src/static_dependencies/noble-hashes/md5.js +6 -0
  832. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +6 -0
  833. package/js/src/static_dependencies/noble-hashes/ripemd160.js +6 -0
  834. package/js/src/static_dependencies/noble-hashes/scrypt.js +6 -0
  835. package/js/src/static_dependencies/noble-hashes/sha1.js +6 -0
  836. package/js/src/static_dependencies/noble-hashes/sha256.js +6 -0
  837. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +6 -0
  838. package/js/src/static_dependencies/noble-hashes/sha3.js +6 -0
  839. package/js/src/static_dependencies/noble-hashes/sha512.js +6 -0
  840. package/js/src/static_dependencies/noble-hashes/utils.js +6 -0
  841. package/js/src/static_dependencies/node-fetch/body.js +6 -0
  842. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +6 -0
  843. package/js/src/static_dependencies/node-fetch/errors/base.js +6 -0
  844. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +6 -0
  845. package/js/src/static_dependencies/node-fetch/headers.js +6 -0
  846. package/js/src/static_dependencies/node-fetch/index.js +6 -0
  847. package/js/src/static_dependencies/node-fetch/request.js +6 -0
  848. package/js/src/static_dependencies/node-fetch/response.js +6 -0
  849. package/js/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  850. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  851. package/js/src/static_dependencies/node-fetch/utils/is.js +6 -0
  852. package/js/src/static_dependencies/node-fetch/utils/referrer.js +6 -0
  853. package/js/src/static_dependencies/proxies/agent-base/helpers.js +6 -0
  854. package/js/src/static_dependencies/proxies/agent-base/index.js +6 -0
  855. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +6 -0
  856. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +6 -0
  857. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  858. package/js/src/static_dependencies/qs/formats.cjs +6 -0
  859. package/js/src/static_dependencies/qs/index.cjs +6 -0
  860. package/js/src/static_dependencies/qs/parse.cjs +6 -0
  861. package/js/src/static_dependencies/qs/stringify.cjs +6 -0
  862. package/js/src/static_dependencies/qs/utils.cjs +6 -0
  863. package/js/src/static_dependencies/scure-base/index.js +6 -0
  864. package/js/src/static_dependencies/scure-starknet/index.js +6 -0
  865. package/js/src/static_dependencies/starknet/constants.js +6 -0
  866. package/js/src/static_dependencies/starknet/index.js +6 -0
  867. package/js/src/static_dependencies/starknet/types/cairoEnum.js +6 -0
  868. package/js/src/static_dependencies/starknet/types/calldata.js +6 -0
  869. package/js/src/static_dependencies/starknet/types/index.js +6 -0
  870. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  871. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  872. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +6 -0
  873. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +6 -0
  874. package/js/src/static_dependencies/starknet/types/lib/index.js +6 -0
  875. package/js/src/static_dependencies/starknet/types/typedData.js +6 -0
  876. package/js/src/static_dependencies/starknet/utils/address.js +6 -0
  877. package/js/src/static_dependencies/starknet/utils/assert.js +6 -0
  878. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +6 -0
  879. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +6 -0
  880. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +6 -0
  881. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +6 -0
  882. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +6 -0
  883. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  884. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  885. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  886. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +6 -0
  887. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +6 -0
  888. package/js/src/static_dependencies/starknet/utils/calldata/index.js +6 -0
  889. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +6 -0
  890. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +6 -0
  891. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +6 -0
  892. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  893. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +6 -0
  894. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +6 -0
  895. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +6 -0
  896. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +6 -0
  897. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +6 -0
  898. package/js/src/static_dependencies/starknet/utils/encode.js +6 -0
  899. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +6 -0
  900. package/js/src/static_dependencies/starknet/utils/hash/index.js +6 -0
  901. package/js/src/static_dependencies/starknet/utils/merkle.js +6 -0
  902. package/js/src/static_dependencies/starknet/utils/num.js +6 -0
  903. package/js/src/static_dependencies/starknet/utils/selector.js +6 -0
  904. package/js/src/static_dependencies/starknet/utils/shortString.js +6 -0
  905. package/js/src/static_dependencies/starknet/utils/starknetId.js +6 -0
  906. package/js/src/static_dependencies/starknet/utils/typedData.js +6 -0
  907. package/js/src/static_dependencies/starknet/utils/uint256.js +6 -0
  908. package/js/src/static_dependencies/starknet/utils/url.js +6 -0
  909. package/js/src/static_dependencies/watchable/src/index.js +6 -0
  910. package/js/src/static_dependencies/watchable/src/types.js +6 -0
  911. package/js/src/static_dependencies/watchable/src/unpromise.js +6 -0
  912. package/js/src/static_dependencies/zklink/zklink-sdk-web.d.ts +1279 -0
  913. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +4282 -0
  914. package/js/src/timex.js +6 -0
  915. package/js/src/tokocrypto.js +6 -0
  916. package/js/src/tradeogre.js +8 -1
  917. package/js/src/upbit.d.ts +34 -4
  918. package/js/src/upbit.js +241 -47
  919. package/js/src/vertex.d.ts +3 -3
  920. package/js/src/vertex.js +6 -0
  921. package/js/src/wavesexchange.js +6 -0
  922. package/js/src/whitebit.js +7 -0
  923. package/js/src/woo.d.ts +4 -4
  924. package/js/src/woo.js +9 -1
  925. package/js/src/woofipro.d.ts +4 -4
  926. package/js/src/woofipro.js +6 -0
  927. package/js/src/xt.d.ts +4 -4
  928. package/js/src/xt.js +15 -0
  929. package/js/src/yobit.js +6 -0
  930. package/js/src/zaif.js +6 -0
  931. package/js/src/zonda.js +6 -0
  932. package/package.json +2 -2
  933. package/js/src/abstract/ace.d.ts +0 -18
  934. package/js/src/abstract/ace.js +0 -5
  935. package/js/src/ace.d.ts +0 -158
  936. package/js/src/ace.js +0 -1175
@@ -5,6 +5,7 @@ var errors = require('./base/errors.js');
5
5
  var Precise = require('./base/Precise.js');
6
6
  var number = require('./base/functions/number.js');
7
7
 
8
+ // ----------------------------------------------------------------------------
8
9
  /**
9
10
  * @class timex
10
11
  * @augments Exchange
@@ -6,7 +6,7 @@ var errors = require('./base/errors.js');
6
6
  var Precise = require('./base/Precise.js');
7
7
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class tokocrypto
@@ -4,7 +4,7 @@ var tradeogre$1 = require('./abstract/tradeogre.js');
4
4
  var errors = require('./base/errors.js');
5
5
  var number = require('./base/functions/number.js');
6
6
 
7
- // ---------------------------------------------------------------------------
7
+ // ----------------------------------------------------------------------------
8
8
  // ---------------------------------------------------------------------------
9
9
  /**
10
10
  * @class tradeogre
@@ -18,7 +18,7 @@ class tradeogre extends tradeogre$1 {
18
18
  'countries': [],
19
19
  'rateLimit': 100,
20
20
  'version': 'v2',
21
- 'pro': false,
21
+ 'pro': true,
22
22
  'has': {
23
23
  'CORS': undefined,
24
24
  'spot': true,
@@ -529,6 +529,7 @@ class tradeogre extends tradeogre$1 {
529
529
  'asks': rawAsks,
530
530
  };
531
531
  const orderbook = this.parseOrderBook(rawOrderbook, symbol);
532
+ orderbook['nonce'] = this.safeInteger(response, 's');
532
533
  return orderbook;
533
534
  }
534
535
  parseBidsAsks(bidasks, priceKey = 0, amountKey = 1, countOrIdKey = 2) {
@@ -8,7 +8,7 @@ var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
8
8
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
9
9
  var rsa = require('./base/functions/rsa.js');
10
10
 
11
- // ---------------------------------------------------------------------------
11
+ // ----------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  /**
14
14
  * @class upbit
@@ -38,6 +38,7 @@ class upbit extends upbit$1 {
38
38
  'createMarketOrderWithCost': false,
39
39
  'createMarketSellOrderWithCost': false,
40
40
  'createOrder': true,
41
+ 'editOrder': true,
41
42
  'fetchBalance': true,
42
43
  'fetchCanceledOrders': true,
43
44
  'fetchClosedOrders': true,
@@ -68,7 +69,7 @@ class upbit extends upbit$1 {
68
69
  'fetchTickers': true,
69
70
  'fetchTrades': true,
70
71
  'fetchTradingFee': true,
71
- 'fetchTradingFees': false,
72
+ 'fetchTradingFees': true,
72
73
  'fetchTransactions': false,
73
74
  'fetchWithdrawal': true,
74
75
  'fetchWithdrawals': true,
@@ -268,8 +269,6 @@ class upbit extends upbit$1 {
268
269
  },
269
270
  'options': {
270
271
  'createMarketBuyOrderRequiresPrice': true,
271
- 'fetchTickersMaxLength': 4096,
272
- 'fetchOrderBooksMaxLength': 4096,
273
272
  'tradingFeesByQuoteCurrency': {
274
273
  'KRW': 0.0005,
275
274
  },
@@ -624,11 +623,6 @@ class upbit extends upbit$1 {
624
623
  let ids = undefined;
625
624
  if (symbols === undefined) {
626
625
  ids = this.ids.join(',');
627
- // max URL length is 2083 symbols, including http schema, hostname, tld, etc...
628
- if (ids.length > this.options['fetchOrderBooksMaxLength']) {
629
- const numIds = this.ids.length;
630
- throw new errors.ExchangeError(this.id + ' fetchOrderBooks() has ' + numIds.toString() + ' symbols (' + ids.length.toString() + ' characters) exceeding max URL length (' + this.options['fetchOrderBooksMaxLength'].toString() + ' characters), you are required to specify a list of symbols in the first argument to fetchOrderBooks');
631
- }
632
626
  }
633
627
  else {
634
628
  ids = this.marketIds(symbols);
@@ -768,11 +762,6 @@ class upbit extends upbit$1 {
768
762
  let ids = undefined;
769
763
  if (symbols === undefined) {
770
764
  ids = this.ids.join(',');
771
- // max URL length is 2083 symbols, including http schema, hostname, tld, etc...
772
- if (ids.length > this.options['fetchTickersMaxLength']) {
773
- const numIds = this.ids.length;
774
- throw new errors.ExchangeError(this.id + ' fetchTickers() has ' + numIds.toString() + ' symbols exceeding max URL length, you are required to specify a list of symbols in the first argument to fetchTickers');
775
- }
776
765
  }
777
766
  else {
778
767
  ids = this.marketIds(symbols);
@@ -1014,6 +1003,29 @@ class upbit extends upbit$1 {
1014
1003
  'tierBased': false,
1015
1004
  };
1016
1005
  }
1006
+ /**
1007
+ * @method
1008
+ * @name upbit#fetchTradingFees
1009
+ * @description fetch the trading fees for markets
1010
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1011
+ * @returns {object} a [trading fee structure]{@link https://docs.ccxt.com/#/?id=trading-fee-structure}
1012
+ */
1013
+ async fetchTradingFees(params = {}) {
1014
+ await this.loadMarkets();
1015
+ const fetchMarketResponse = await this.fetchMarkets(params);
1016
+ const response = {};
1017
+ for (let i = 0; i < fetchMarketResponse.length; i++) {
1018
+ const element = {};
1019
+ element['maker'] = this.safeNumber(fetchMarketResponse[i], 'maker');
1020
+ element['taker'] = this.safeNumber(fetchMarketResponse[i], 'taker');
1021
+ element['symbol'] = this.safeString(fetchMarketResponse[i], 'symbol');
1022
+ element['percentage'] = true;
1023
+ element['tierBased'] = false;
1024
+ element['info'] = fetchMarketResponse[i];
1025
+ response[this.safeString(fetchMarketResponse[i], 'symbol')] = element;
1026
+ }
1027
+ return response;
1028
+ }
1017
1029
  parseOHLCV(ohlcv, market = undefined) {
1018
1030
  //
1019
1031
  // {
@@ -1109,6 +1121,30 @@ class upbit extends upbit$1 {
1109
1121
  //
1110
1122
  return this.parseOHLCVs(response, market, timeframe, since, limit);
1111
1123
  }
1124
+ calcOrderPrice(symbol, amount, price = undefined, params = {}) {
1125
+ let quoteAmount = undefined;
1126
+ const createMarketBuyOrderRequiresPrice = this.safeValue(this.options, 'createMarketBuyOrderRequiresPrice');
1127
+ const cost = this.safeString(params, 'cost');
1128
+ if (cost !== undefined) {
1129
+ quoteAmount = this.costToPrecision(symbol, cost);
1130
+ }
1131
+ else if (createMarketBuyOrderRequiresPrice) {
1132
+ if (price === undefined || amount === undefined) {
1133
+ throw new errors.InvalidOrder(this.id + ' createOrder() requires the price and amount argument for market buy orders to calculate the total cost to spend (amount * price), alternatively set the createMarketBuyOrderRequiresPrice option or param to false and pass the cost to spend (quote quantity) in the amount argument');
1134
+ }
1135
+ const amountString = this.numberToString(amount);
1136
+ const priceString = this.numberToString(price);
1137
+ const costRequest = Precise["default"].stringMul(amountString, priceString);
1138
+ quoteAmount = this.costToPrecision(symbol, costRequest);
1139
+ }
1140
+ else {
1141
+ if (amount === undefined) {
1142
+ throw new errors.ArgumentsRequired(this.id + ' When createMarketBuyOrderRequiresPrice is false, "amount" is required and should be the total quote amount to spend.');
1143
+ }
1144
+ quoteAmount = this.costToPrecision(symbol, amount);
1145
+ }
1146
+ return quoteAmount;
1147
+ }
1112
1148
  /**
1113
1149
  * @method
1114
1150
  * @name upbit#createOrder
@@ -1116,13 +1152,14 @@ class upbit extends upbit$1 {
1116
1152
  * @see https://docs.upbit.com/reference/%EC%A3%BC%EB%AC%B8%ED%95%98%EA%B8%B0
1117
1153
  * @see https://global-docs.upbit.com/reference/order
1118
1154
  * @param {string} symbol unified symbol of the market to create an order in
1119
- * @param {string} type 'market' or 'limit'
1155
+ * @param {string} type supports 'market' and 'limit'. if params.ordType is set to best, a best-type order will be created regardless of the value of type.
1120
1156
  * @param {string} side 'buy' or 'sell'
1121
1157
  * @param {float} amount how much you want to trade in units of the base currency
1122
1158
  * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1123
1159
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1124
- * @param {float} [params.cost] for market buy orders, the quote quantity that can be used as an alternative for the amount
1125
- * @param {string} [params.timeInForce] 'IOC' or 'FOK'
1160
+ * @param {float} [params.cost] for market buy and best buy orders, the quote quantity that can be used as an alternative for the amount
1161
+ * @param {string} [params.ordType] this field can be used to place a ‘best’ type order
1162
+ * @param {string} [params.timeInForce] 'IOC' or 'FOK'. only for limit or best type orders. this field is required when the order type is 'best'.
1126
1163
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1127
1164
  */
1128
1165
  async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
@@ -1136,58 +1173,69 @@ class upbit extends upbit$1 {
1136
1173
  orderSide = 'ask';
1137
1174
  }
1138
1175
  else {
1139
- throw new errors.InvalidOrder(this.id + ' createOrder() allows buy or sell side only!');
1176
+ throw new errors.InvalidOrder(this.id + ' createOrder() supports only buy or sell in the side argument.');
1140
1177
  }
1141
1178
  const request = {
1142
1179
  'market': market['id'],
1143
1180
  'side': orderSide,
1144
1181
  };
1145
1182
  if (type === 'limit') {
1183
+ if (price === undefined || amount === undefined) {
1184
+ throw new errors.ArgumentsRequired(this.id + ' the limit type order in createOrder() is required price and amount.');
1185
+ }
1186
+ request['ord_type'] = 'limit';
1146
1187
  request['price'] = this.priceToPrecision(symbol, price);
1188
+ request['volume'] = this.amountToPrecision(symbol, amount);
1147
1189
  }
1148
- if ((type === 'market') && (side === 'buy')) {
1149
- // for market buy it requires the amount of quote currency to spend
1150
- let quoteAmount = undefined;
1151
- let createMarketBuyOrderRequiresPrice = true;
1152
- [createMarketBuyOrderRequiresPrice, params] = this.handleOptionAndParams(params, 'createOrder', 'createMarketBuyOrderRequiresPrice', true);
1153
- const cost = this.safeNumber(params, 'cost');
1154
- params = this.omit(params, 'cost');
1155
- if (cost !== undefined) {
1156
- quoteAmount = this.costToPrecision(symbol, cost);
1157
- }
1158
- else if (createMarketBuyOrderRequiresPrice) {
1159
- if (price === undefined) {
1160
- throw new errors.InvalidOrder(this.id + ' createOrder() requires the price argument for market buy orders to calculate the total cost to spend (amount * price), alternatively set the createMarketBuyOrderRequiresPrice option or param to false and pass the cost to spend (quote quantity) in the amount argument');
1161
- }
1162
- else {
1163
- const amountString = this.numberToString(amount);
1164
- const priceString = this.numberToString(price);
1165
- const costRequest = Precise["default"].stringMul(amountString, priceString);
1166
- quoteAmount = this.costToPrecision(symbol, costRequest);
1167
- }
1190
+ else if (type === 'market') {
1191
+ if (side === 'buy') {
1192
+ request['ord_type'] = 'price';
1193
+ const orderPrice = this.calcOrderPrice(symbol, amount, price, params);
1194
+ request['price'] = orderPrice;
1168
1195
  }
1169
1196
  else {
1170
- quoteAmount = this.costToPrecision(symbol, amount);
1197
+ if (amount === undefined) {
1198
+ throw new errors.ArgumentsRequired(this.id + ' the market sell type order in createOrder() is required amount.');
1199
+ }
1200
+ request['ord_type'] = 'market';
1201
+ request['volume'] = this.amountToPrecision(symbol, amount);
1171
1202
  }
1172
- request['ord_type'] = 'price';
1173
- request['price'] = quoteAmount;
1174
1203
  }
1175
1204
  else {
1176
- request['ord_type'] = type;
1177
- request['volume'] = this.amountToPrecision(symbol, amount);
1205
+ throw new errors.InvalidOrder(this.id + ' createOrder() supports only limit or market types in the type argument.');
1178
1206
  }
1179
- const clientOrderId = this.safeString2(params, 'clientOrderId', 'identifier');
1207
+ const customType = this.safeString2(params, 'ordType', 'ord_type');
1208
+ if (customType === 'best') {
1209
+ params = this.omit(params, ['ordType', 'ord_type']);
1210
+ request['ord_type'] = 'best';
1211
+ if (side === 'buy') {
1212
+ const orderPrice = this.calcOrderPrice(symbol, amount, price, params);
1213
+ request['price'] = orderPrice;
1214
+ }
1215
+ else {
1216
+ if (amount === undefined) {
1217
+ throw new errors.ArgumentsRequired(this.id + ' the best sell type order in createOrder() is required amount.');
1218
+ }
1219
+ request['volume'] = this.amountToPrecision(symbol, amount);
1220
+ }
1221
+ }
1222
+ const clientOrderId = this.safeString(params, 'clientOrderId');
1180
1223
  if (clientOrderId !== undefined) {
1181
1224
  request['identifier'] = clientOrderId;
1182
1225
  }
1183
- if (type !== 'market') {
1226
+ if (request['ord_type'] !== 'market' && request['ord_type'] !== 'price') {
1184
1227
  const timeInForce = this.safeStringLower2(params, 'timeInForce', 'time_in_force');
1185
- params = this.omit(params, 'timeInForce');
1228
+ params = this.omit(params, ['timeInForce']);
1186
1229
  if (timeInForce !== undefined) {
1187
1230
  request['time_in_force'] = timeInForce;
1188
1231
  }
1232
+ else {
1233
+ if (request['ord_type'] === 'best') {
1234
+ throw new errors.ArgumentsRequired(this.id + ' the best type order in createOrder() is required timeInForce.');
1235
+ }
1236
+ }
1189
1237
  }
1190
- params = this.omit(params, ['clientOrderId', 'identifier']);
1238
+ params = this.omit(params, ['clientOrderId', 'cost']);
1191
1239
  const response = await this.privatePostOrders(this.extend(request, params));
1192
1240
  //
1193
1241
  // {
@@ -1248,6 +1296,125 @@ class upbit extends upbit$1 {
1248
1296
  //
1249
1297
  return this.parseOrder(response);
1250
1298
  }
1299
+ /**
1300
+ * @method
1301
+ * @name upbit#editOrder
1302
+ * @see https://docs.upbit.com/reference/%EC%B7%A8%EC%86%8C-%ED%9B%84-%EC%9E%AC%EC%A3%BC%EB%AC%B8
1303
+ * @description canceled existing order and create new order. It's only generated same side and symbol as the canceled order. it returns the data of the canceled order, except for `new_order_uuid` and `new_identifier`. to get the details of the new order, use `fetchOrder(new_order_uuid)`.
1304
+ * @param {string} id the uuid of the previous order you want to edit.
1305
+ * @param {string} symbol the symbol of the new order. it must be the same as the symbol of the previous order.
1306
+ * @param {string} type the type of the new order. only limit or market is accepted. if params.newOrdType is set to best, a best-type order will be created regardless of the value of type.
1307
+ * @param {string} side the side of the new order. it must be the same as the side of the previous order.
1308
+ * @param {number} amount the amount of the asset you want to buy or sell. It could be overridden by specifying the new_volume parameter in params.
1309
+ * @param {number} price the price of the asset you want to buy or sell. It could be overridden by specifying the new_price parameter in params.
1310
+ * @param {object} [params] extra parameters specific to the exchange API endpoint.
1311
+ * @param {string} [params.clientOrderId] to identify the previous order, either the id or this field is required in this method.
1312
+ * @param {float} [params.cost] for market buy and best buy orders, the quote quantity that can be used as an alternative for the amount.
1313
+ * @param {string} [params.newTimeInForce] 'IOC' or 'FOK'. only for limit or best type orders. this field is required when the order type is 'best'.
1314
+ * @param {string} [params.newClientOrderId] the order ID that the user can define.
1315
+ * @param {string} [params.newOrdType] this field only accepts limit, price, market, or best. You can refer to the Upbit developer documentation for details on how to use this field.
1316
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1317
+ */
1318
+ async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
1319
+ await this.loadMarkets();
1320
+ const request = {};
1321
+ const prevClientOrderId = this.safeString(params, 'clientOrderId');
1322
+ params = this.omit(params, 'clientOrderId');
1323
+ if (id !== undefined) {
1324
+ request['prev_order_uuid'] = id;
1325
+ }
1326
+ else if (prevClientOrderId !== undefined) {
1327
+ request['prev_order_identifier'] = prevClientOrderId;
1328
+ }
1329
+ else {
1330
+ throw new errors.ArgumentsRequired(this.id + ' editOrder() is required id or clientOrderId.');
1331
+ }
1332
+ if (type === 'limit') {
1333
+ if (price === undefined || amount === undefined) {
1334
+ throw new errors.ArgumentsRequired(this.id + ' editOrder() is required price and amount to create limit type order.');
1335
+ }
1336
+ request['new_ord_type'] = 'limit';
1337
+ request['new_price'] = this.priceToPrecision(symbol, price);
1338
+ request['new_volume'] = this.amountToPrecision(symbol, amount);
1339
+ }
1340
+ else if (type === 'market') {
1341
+ if (side === 'buy') {
1342
+ request['new_ord_type'] = 'price';
1343
+ const orderPrice = this.calcOrderPrice(symbol, amount, price, params);
1344
+ request['new_price'] = orderPrice;
1345
+ }
1346
+ else {
1347
+ if (amount === undefined) {
1348
+ throw new errors.ArgumentsRequired(this.id + ' editOrder() is required amount to create market sell type order.');
1349
+ }
1350
+ request['new_ord_type'] = 'market';
1351
+ request['new_volume'] = this.amountToPrecision(symbol, amount);
1352
+ }
1353
+ }
1354
+ else {
1355
+ throw new errors.InvalidOrder(this.id + ' editOrder() supports only limit or market types in the type argument.');
1356
+ }
1357
+ const customType = this.safeString2(params, 'newOrdType', 'new_ord_type');
1358
+ if (customType === 'best') {
1359
+ params = this.omit(params, ['newOrdType', 'new_ord_type']);
1360
+ request['new_ord_type'] = 'best';
1361
+ if (side === 'buy') {
1362
+ const orderPrice = this.calcOrderPrice(symbol, amount, price, params);
1363
+ request['new_price'] = orderPrice;
1364
+ }
1365
+ else {
1366
+ if (amount === undefined) {
1367
+ throw new errors.ArgumentsRequired(this.id + ' editOrder() is required amount to create best sell order.');
1368
+ }
1369
+ request['new_volume'] = this.amountToPrecision(symbol, amount);
1370
+ }
1371
+ }
1372
+ const clientOrderId = this.safeString(params, 'newClientOrderId');
1373
+ if (clientOrderId !== undefined) {
1374
+ request['new_identifier'] = clientOrderId;
1375
+ }
1376
+ if (request['new_ord_type'] !== 'market' && request['new_ord_type'] !== 'price') {
1377
+ const timeInForce = this.safeStringLower2(params, 'newTimeInForce', 'new_time_in_force');
1378
+ params = this.omit(params, ['newTimeInForce', 'new_time_in_force']);
1379
+ if (timeInForce !== undefined) {
1380
+ request['new_time_in_force'] = timeInForce;
1381
+ }
1382
+ else {
1383
+ if (request['new_ord_type'] === 'best') {
1384
+ throw new errors.ArgumentsRequired(this.id + ' the best type order is required timeInForce.');
1385
+ }
1386
+ }
1387
+ }
1388
+ params = this.omit(params, ['newClientOrderId', 'cost']);
1389
+ // console.log ('check the each request params: ', request);
1390
+ const response = await this.privatePostOrdersCancelAndNew(this.extend(request, params));
1391
+ // {
1392
+ // uuid: '63b38774-27db-4439-ac20-1be16a24d18e', //previous order data
1393
+ // side: 'bid', //previous order data
1394
+ // ord_type: 'limit', //previous order data
1395
+ // price: '100000000', //previous order data
1396
+ // state: 'wait', //previous order data
1397
+ // market: 'KRW-BTC', //previous order data
1398
+ // created_at: '2025-04-01T15:30:47+09:00', //previous order data
1399
+ // volume: '0.00008', //previous order data
1400
+ // remaining_volume: '0.00008', //previous order data
1401
+ // reserved_fee: '4', //previous order data
1402
+ // remaining_fee: '4', //previous order data
1403
+ // paid_fee: '0', //previous order data
1404
+ // locked: '8004', //previous order data
1405
+ // executed_volume: '0', //previous order data
1406
+ // trades_count: '0', //previous order data
1407
+ // identifier: '21', //previous order data
1408
+ // new_order_uuid: 'cb1cce56-6237-4a78-bc11-4cfffc1bb4c2', // new order data
1409
+ // new_order_identifier: '22' // new order data
1410
+ // }
1411
+ const result = {};
1412
+ result['uuid'] = this.safeString(response, 'new_order_uuid');
1413
+ result['identifier'] = this.safeString(response, 'new_order_identifier');
1414
+ result['side'] = this.safeString(response, 'side');
1415
+ result['market'] = this.safeString(response, 'market');
1416
+ return this.parseOrder(result);
1417
+ }
1251
1418
  /**
1252
1419
  * @method
1253
1420
  * @name upbit#fetchDeposits
@@ -1568,6 +1735,26 @@ class upbit extends upbit$1 {
1568
1735
  // "time_in_force": "ioc"
1569
1736
  // }
1570
1737
  //
1738
+ // {
1739
+ // uuid: '63b38774-27db-4439-ac20-1be16a24d18e',
1740
+ // side: 'bid',
1741
+ // ord_type: 'limit',
1742
+ // price: '100000000',
1743
+ // state: 'wait',
1744
+ // market: 'KRW-BTC',
1745
+ // created_at: '2025-04-01T15:30:47+09:00',
1746
+ // volume: '0.00008',
1747
+ // remaining_volume: '0.00008',
1748
+ // reserved_fee: '4',
1749
+ // remaining_fee: '4',
1750
+ // paid_fee: '0',
1751
+ // locked: '8004',
1752
+ // executed_volume: '0',
1753
+ // trades_count: '0',
1754
+ // identifier: '21',
1755
+ // new_order_uuid: 'cb1cce56-6237-4a78-bc11-4cfffc1bb4c2',
1756
+ // new_order_identifier: '22'
1757
+ // }
1571
1758
  const id = this.safeString(order, 'uuid');
1572
1759
  let side = this.safeString(order, 'side');
1573
1760
  if (side === 'bid') {
@@ -1576,6 +1763,7 @@ class upbit extends upbit$1 {
1576
1763
  else {
1577
1764
  side = 'sell';
1578
1765
  }
1766
+ const identifier = this.safeString(order, 'identifier');
1579
1767
  let type = this.safeString(order, 'ord_type');
1580
1768
  const timestamp = this.parse8601(this.safeString(order, 'created_at'));
1581
1769
  const status = this.parseOrderStatus(this.safeString(order, 'state'));
@@ -1632,7 +1820,7 @@ class upbit extends upbit$1 {
1632
1820
  return this.safeOrder({
1633
1821
  'info': order,
1634
1822
  'id': id,
1635
- 'clientOrderId': undefined,
1823
+ 'clientOrderId': identifier,
1636
1824
  'timestamp': timestamp,
1637
1825
  'datetime': this.iso8601(timestamp),
1638
1826
  'lastTradeTimestamp': lastTradeTimestamp,
@@ -8,7 +8,7 @@ var sha3 = require('./static_dependencies/noble-hashes/sha3.js');
8
8
  var secp256k1 = require('./static_dependencies/noble-curves/secp256k1.js');
9
9
  var crypto = require('./base/functions/crypto.js');
10
10
 
11
- // ---------------------------------------------------------------------------
11
+ // ----------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  /**
14
14
  * @class vertex
@@ -6,7 +6,7 @@ var Precise = require('./base/Precise.js');
6
6
  var ed25519 = require('./static_dependencies/noble-curves/ed25519.js');
7
7
  var number = require('./base/functions/number.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class wavesexchange
@@ -6,7 +6,7 @@ var Precise = require('./base/Precise.js');
6
6
  var number = require('./base/functions/number.js');
7
7
  var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class whitebit
@@ -577,6 +577,7 @@ class whitebit extends whitebit$1 {
577
577
  'deposit': canDeposit,
578
578
  'withdraw': canWithdraw,
579
579
  'fee': undefined,
580
+ 'networks': undefined,
580
581
  'precision': undefined,
581
582
  'limits': {
582
583
  'amount': {
@@ -6,7 +6,7 @@ var Precise = require('./base/Precise.js');
6
6
  var number = require('./base/functions/number.js');
7
7
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class woo
@@ -571,6 +571,7 @@ class woo extends woo$1 {
571
571
  linear = true;
572
572
  inverse = false;
573
573
  }
574
+ const active = this.safeString(market, 'is_trading') === '1';
574
575
  return {
575
576
  'id': marketId,
576
577
  'symbol': symbol,
@@ -586,7 +587,7 @@ class woo extends woo$1 {
586
587
  'swap': swap,
587
588
  'future': false,
588
589
  'option': false,
589
- 'active': this.safeString(market, 'is_trading') === '1',
590
+ 'active': active,
590
591
  'contract': contract,
591
592
  'linear': linear,
592
593
  'inverse': inverse,
@@ -930,6 +931,7 @@ class woo extends woo$1 {
930
931
  'networks': resultingNetworks,
931
932
  'deposit': undefined,
932
933
  'withdraw': undefined,
934
+ 'type': 'crypto',
933
935
  'limits': {
934
936
  'deposit': {
935
937
  'min': undefined,
@@ -9,7 +9,7 @@ var ed25519 = require('./static_dependencies/noble-curves/ed25519.js');
9
9
  var sha3 = require('./static_dependencies/noble-hashes/sha3.js');
10
10
  var secp256k1 = require('./static_dependencies/noble-curves/secp256k1.js');
11
11
 
12
- // ---------------------------------------------------------------------------
12
+ // ----------------------------------------------------------------------------
13
13
  // ---------------------------------------------------------------------------
14
14
  /**
15
15
  * @class woofipro
@@ -6,7 +6,7 @@ var number = require('./base/functions/number.js');
6
6
  var errors = require('./base/errors.js');
7
7
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class xt
@@ -950,6 +950,14 @@ class xt extends xt$1 {
950
950
  },
951
951
  };
952
952
  }
953
+ const typeRaw = this.safeString(entry, 'type');
954
+ let type = undefined;
955
+ if (typeRaw === 'FT') {
956
+ type = 'crypto';
957
+ }
958
+ else {
959
+ type = 'other';
960
+ }
953
961
  result[code] = {
954
962
  'info': entry,
955
963
  'id': currencyId,
@@ -961,6 +969,7 @@ class xt extends xt$1 {
961
969
  'deposit': deposit,
962
970
  'withdraw': withdraw,
963
971
  'networks': networks,
972
+ 'type': type,
964
973
  'limits': {
965
974
  'amount': {
966
975
  'min': undefined,
@@ -6,7 +6,7 @@ var Precise = require('./base/Precise.js');
6
6
  var number = require('./base/functions/number.js');
7
7
  var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class yobit
@@ -6,7 +6,7 @@ var Precise = require('./base/Precise.js');
6
6
  var number = require('./base/functions/number.js');
7
7
  var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class zaif
@@ -6,7 +6,7 @@ var number = require('./base/functions/number.js');
6
6
  var Precise = require('./base/Precise.js');
7
7
  var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class zonda