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
package/js/src/ace.js DELETED
@@ -1,1175 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- import Exchange from './abstract/ace.js';
3
- import { BadRequest, AuthenticationError, InsufficientFunds, InvalidOrder, ArgumentsRequired } from './base/errors.js';
4
- import { Precise } from './base/Precise.js';
5
- import { TICK_SIZE } from './base/functions/number.js';
6
- import { sha256 } from './static_dependencies/noble-hashes/sha256.js';
7
- // ---------------------------------------------------------------------------
8
- /**
9
- * @class ace
10
- * @augments Exchange
11
- */
12
- export default class ace extends Exchange {
13
- describe() {
14
- return this.deepExtend(super.describe(), {
15
- 'id': 'ace',
16
- 'name': 'ACE',
17
- 'countries': ['TW'],
18
- 'version': 'v2',
19
- 'rateLimit': 100,
20
- 'pro': false,
21
- 'has': {
22
- 'CORS': undefined,
23
- 'spot': true,
24
- 'margin': false,
25
- 'swap': false,
26
- 'future': false,
27
- 'option': false,
28
- 'addMargin': false,
29
- 'borrowCrossMargin': false,
30
- 'borrowIsolatedMargin': false,
31
- 'borrowMargin': false,
32
- 'cancelAllOrders': false,
33
- 'cancelOrder': true,
34
- 'cancelOrders': false,
35
- 'closeAllPositions': false,
36
- 'closePosition': false,
37
- 'createOrder': true,
38
- 'createOrderWithTakeProfitAndStopLoss': false,
39
- 'createOrderWithTakeProfitAndStopLossWs': false,
40
- 'createReduceOnlyOrder': false,
41
- 'editOrder': false,
42
- 'fetchBalance': true,
43
- 'fetchBorrowInterest': false,
44
- 'fetchBorrowRate': false,
45
- 'fetchBorrowRateHistories': false,
46
- 'fetchBorrowRateHistory': false,
47
- 'fetchBorrowRates': false,
48
- 'fetchBorrowRatesPerSymbol': false,
49
- 'fetchClosedOrders': false,
50
- 'fetchCrossBorrowRate': false,
51
- 'fetchCrossBorrowRates': false,
52
- 'fetchCurrencies': false,
53
- 'fetchDepositAddress': false,
54
- 'fetchDeposits': false,
55
- 'fetchFundingHistory': false,
56
- 'fetchFundingInterval': false,
57
- 'fetchFundingIntervals': false,
58
- 'fetchFundingRate': false,
59
- 'fetchFundingRateHistory': false,
60
- 'fetchFundingRates': false,
61
- 'fetchGreeks': false,
62
- 'fetchIndexOHLCV': false,
63
- 'fetchIsolatedBorrowRate': false,
64
- 'fetchIsolatedBorrowRates': false,
65
- 'fetchIsolatedPositions': false,
66
- 'fetchLeverage': false,
67
- 'fetchLeverages': false,
68
- 'fetchLeverageTiers': false,
69
- 'fetchLiquidations': false,
70
- 'fetchLongShortRatio': false,
71
- 'fetchLongShortRatioHistory': false,
72
- 'fetchMarginAdjustmentHistory': false,
73
- 'fetchMarginMode': false,
74
- 'fetchMarginModes': false,
75
- 'fetchMarketLeverageTiers': false,
76
- 'fetchMarkets': true,
77
- 'fetchMarkOHLCV': false,
78
- 'fetchMarkPrices': false,
79
- 'fetchMyLiquidations': false,
80
- 'fetchMySettlementHistory': false,
81
- 'fetchMyTrades': true,
82
- 'fetchOHLCV': true,
83
- 'fetchOpenInterest': false,
84
- 'fetchOpenInterestHistory': false,
85
- 'fetchOpenInterests': false,
86
- 'fetchOpenOrders': true,
87
- 'fetchOption': false,
88
- 'fetchOptionChain': false,
89
- 'fetchOrder': true,
90
- 'fetchOrderBook': true,
91
- 'fetchOrders': false,
92
- 'fetchOrderTrades': true,
93
- 'fetchPosition': false,
94
- 'fetchPositionHistory': false,
95
- 'fetchPositionMode': false,
96
- 'fetchPositions': false,
97
- 'fetchPositionsForSymbol': false,
98
- 'fetchPositionsHistory': false,
99
- 'fetchPositionsRisk': false,
100
- 'fetchPremiumIndexOHLCV': false,
101
- 'fetchSettlementHistory': false,
102
- 'fetchTicker': true,
103
- 'fetchTickers': true,
104
- 'fetchTime': false,
105
- 'fetchTrades': false,
106
- 'fetchTradingFee': false,
107
- 'fetchTradingFees': false,
108
- 'fetchTransactionFees': false,
109
- 'fetchTransactions': false,
110
- 'fetchTransfer': false,
111
- 'fetchTransfers': false,
112
- 'fetchVolatilityHistory': false,
113
- 'fetchWithdrawal': false,
114
- 'fetchWithdrawals': false,
115
- 'reduceMargin': false,
116
- 'repayCrossMargin': false,
117
- 'repayIsolatedMargin': false,
118
- 'setLeverage': false,
119
- 'setMargin': false,
120
- 'setMarginMode': false,
121
- 'setPositionMode': false,
122
- 'transfer': false,
123
- 'withdraw': false,
124
- 'ws': false,
125
- },
126
- 'timeframes': {
127
- '1m': 1,
128
- '5m': 5,
129
- '10m': 10,
130
- '30m': 10,
131
- '1h': 60,
132
- '2h': 120,
133
- '4h': 240,
134
- '8h': 480,
135
- '12h': 720,
136
- '1d': 24,
137
- '1w': 70,
138
- '1M': 31,
139
- },
140
- 'urls': {
141
- 'logo': 'https://github.com/user-attachments/assets/115f1e4a-0fd0-4b76-85d5-a49ebf64d1c8',
142
- 'api': {
143
- 'public': 'https://ace.io/polarisex',
144
- 'private': 'https://ace.io/polarisex/open',
145
- },
146
- 'www': 'https://ace.io/',
147
- 'doc': [
148
- 'https://github.com/ace-exchange/ace-offical-api-docs',
149
- ],
150
- 'fees': 'https://helpcenter.ace.io/hc/zh-tw/articles/360018609132-%E8%B2%BB%E7%8E%87%E8%AA%AA%E6%98%8E',
151
- },
152
- 'requiredCredentials': {
153
- 'apiKey': true,
154
- 'secret': true,
155
- },
156
- 'api': {
157
- 'public': {
158
- 'get': [
159
- 'oapi/v2/list/tradePrice',
160
- 'oapi/v2/list/marketPair',
161
- 'open/v2/public/getOrderBook',
162
- ],
163
- },
164
- 'private': {
165
- 'post': [
166
- 'v2/coin/customerAccount',
167
- 'v2/kline/getKline',
168
- 'v2/order/order',
169
- 'v2/order/cancel',
170
- 'v2/order/getOrderList',
171
- 'v2/order/showOrderStatus',
172
- 'v2/order/showOrderHistory',
173
- 'v2/order/getTradeList',
174
- ],
175
- },
176
- },
177
- 'fees': {
178
- 'trading': {
179
- 'percentage': true,
180
- 'maker': this.parseNumber('0.0005'),
181
- 'taker': this.parseNumber('0.001'),
182
- },
183
- },
184
- 'options': {
185
- 'brokerId': 'ccxt',
186
- },
187
- 'features': {
188
- 'spot': {
189
- 'sandbox': false,
190
- 'createOrder': {
191
- 'marginMode': false,
192
- 'triggerPrice': false,
193
- 'triggerPriceType': undefined,
194
- 'triggerDirection': false,
195
- 'stopLossPrice': false,
196
- 'takeProfitPrice': false,
197
- 'attachedStopLossTakeProfit': undefined,
198
- 'timeInForce': {
199
- 'IOC': false,
200
- 'FOK': false,
201
- 'PO': false,
202
- 'GTD': false,
203
- },
204
- 'hedged': false,
205
- 'leverage': false,
206
- 'marketBuyRequiresPrice': false,
207
- 'marketBuyByCost': false,
208
- 'selfTradePrevention': false,
209
- 'trailing': false,
210
- 'iceberg': false,
211
- },
212
- 'createOrders': undefined,
213
- 'fetchMyTrades': {
214
- 'marginMode': false,
215
- 'limit': 500,
216
- 'daysBack': undefined,
217
- 'untilDays': undefined,
218
- 'symbolRequired': true,
219
- },
220
- 'fetchOrder': {
221
- 'marginMode': false,
222
- 'trigger': false,
223
- 'trailing': false,
224
- 'symbolRequired': false,
225
- },
226
- 'fetchOpenOrders': {
227
- 'marginMode': false,
228
- 'limit': undefined,
229
- 'trigger': false,
230
- 'trailing': false,
231
- 'symbolRequired': false,
232
- },
233
- 'fetchOrders': undefined,
234
- 'fetchClosedOrders': undefined,
235
- 'fetchOHLCV': {
236
- 'limit': 2000,
237
- },
238
- },
239
- 'swap': {
240
- 'linear': undefined,
241
- 'inverse': undefined,
242
- },
243
- 'future': {
244
- 'linear': undefined,
245
- 'inverse': undefined,
246
- },
247
- },
248
- 'precisionMode': TICK_SIZE,
249
- 'exceptions': {
250
- 'exact': {
251
- '2003': InvalidOrder,
252
- '2004': InvalidOrder,
253
- '2005': InvalidOrder,
254
- '2021': InsufficientFunds,
255
- '2036': InvalidOrder,
256
- '2039': InvalidOrder,
257
- '2053': InvalidOrder,
258
- '2061': BadRequest,
259
- '2063': InvalidOrder,
260
- '9996': BadRequest,
261
- '10012': AuthenticationError,
262
- '20182': AuthenticationError,
263
- '20183': InvalidOrder,
264
- },
265
- 'broad': {},
266
- },
267
- 'commonCurrencies': {},
268
- });
269
- }
270
- /**
271
- * @method
272
- * @name ace#fetchMarkets
273
- * @description retrieves data on all markets for ace
274
- * @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#oapi-api---market-pair
275
- * @param {object} [params] extra parameters specific to the exchange API endpoint
276
- * @returns {object[]} an array of objects representing market data
277
- */
278
- async fetchMarkets(params = {}) {
279
- const response = await this.publicGetOapiV2ListMarketPair();
280
- //
281
- // [
282
- // {
283
- // "symbol":"BTC/USDT",
284
- // "base":"btc",
285
- // "baseCurrencyId": "122"
286
- // "quote":"usdt",
287
- // "basePrecision":"8",
288
- // "quotePrecision":"5",
289
- // "minLimitBaseAmount":"0.1",
290
- // "maxLimitBaseAmount":"480286"
291
- // }
292
- // ]
293
- //
294
- return this.parseMarkets(response);
295
- }
296
- parseMarket(market) {
297
- //
298
- // {
299
- // "symbol": "ADA/TWD",
300
- // "base": "ADA",
301
- // "baseCurrencyId": "122",
302
- // "quote": "TWD",
303
- // "quoteCurrencyId": "1",
304
- // "basePrecision": "2",
305
- // "quotePrecision": "3",
306
- // "minLimitBaseAmount": "1.0",
307
- // "maxLimitBaseAmount": "150000.0"
308
- // }
309
- //
310
- const baseId = this.safeString(market, 'baseCurrencyId');
311
- const base = this.safeCurrencyCode(this.safeString(market, 'base'));
312
- const quoteId = this.safeString(market, 'quoteCurrencyId');
313
- const quote = this.safeCurrencyCode(this.safeString(market, 'quote'));
314
- const symbol = base + '/' + quote;
315
- return {
316
- 'id': this.safeString(market, 'symbol'),
317
- 'uppercaseId': undefined,
318
- 'symbol': symbol,
319
- 'base': base,
320
- 'baseId': baseId,
321
- 'quote': quote,
322
- 'quoteId': quoteId,
323
- 'settle': undefined,
324
- 'settleId': undefined,
325
- 'type': 'spot',
326
- 'spot': true,
327
- 'margin': false,
328
- 'swap': false,
329
- 'future': false,
330
- 'option': false,
331
- 'contract': false,
332
- 'linear': undefined,
333
- 'inverse': undefined,
334
- 'contractSize': undefined,
335
- 'expiry': undefined,
336
- 'expiryDatetime': undefined,
337
- 'strike': undefined,
338
- 'optionType': undefined,
339
- 'limits': {
340
- 'amount': {
341
- 'min': this.safeNumber(market, 'minLimitBaseAmount'),
342
- 'max': this.safeNumber(market, 'maxLimitBaseAmount'),
343
- },
344
- 'price': {
345
- 'min': undefined,
346
- 'max': undefined,
347
- },
348
- 'cost': {
349
- 'min': undefined,
350
- 'max': undefined,
351
- },
352
- 'leverage': {
353
- 'min': undefined,
354
- 'max': undefined,
355
- },
356
- },
357
- 'precision': {
358
- 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'quotePrecision'))),
359
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'basePrecision'))),
360
- },
361
- 'active': undefined,
362
- 'created': undefined,
363
- 'info': market,
364
- };
365
- }
366
- parseTicker(ticker, market = undefined) {
367
- //
368
- // {
369
- // "base_volume":229196.34035399999,
370
- // "last_price":11881.06,
371
- // "quote_volume":19.2909
372
- // }
373
- //
374
- const marketId = this.safeString(ticker, 'id');
375
- const symbol = this.safeSymbol(marketId, market);
376
- return this.safeTicker({
377
- 'symbol': symbol,
378
- 'timestamp': undefined,
379
- 'datetime': undefined,
380
- 'high': undefined,
381
- 'low': undefined,
382
- 'bid': undefined,
383
- 'bidVolume': undefined,
384
- 'ask': undefined,
385
- 'askVolume': undefined,
386
- 'vwap': undefined,
387
- 'open': undefined,
388
- 'close': this.safeString(ticker, 'last_price'),
389
- 'last': this.safeString(ticker, 'last_price'),
390
- 'previousClose': undefined,
391
- 'change': undefined,
392
- 'percentage': undefined,
393
- 'average': undefined,
394
- 'baseVolume': this.safeString(ticker, 'base_volume'),
395
- 'quoteVolume': this.safeString(ticker, 'quote_volume'),
396
- 'info': ticker,
397
- }, market);
398
- }
399
- /**
400
- * @method
401
- * @name ace#fetchTicker
402
- * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
403
- * @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#oapi-api---trade-data
404
- * @param {string} symbol unified symbol of the market to fetch the ticker for
405
- * @param {object} [params] extra parameters specific to the exchange API endpoint
406
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
407
- */
408
- async fetchTicker(symbol, params = {}) {
409
- await this.loadMarkets();
410
- const market = this.market(symbol);
411
- const response = await this.publicGetOapiV2ListTradePrice(params);
412
- const marketId = market['id'];
413
- const ticker = this.safeDict(response, marketId, {});
414
- //
415
- // {
416
- // "BTC/USDT":{
417
- // "base_volume":229196.34035399999,
418
- // "last_price":11881.06,
419
- // "quote_volume":19.2909
420
- // }
421
- // }
422
- //
423
- return this.parseTicker(ticker, market);
424
- }
425
- /**
426
- * @method
427
- * @name ace#fetchTickers
428
- * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
429
- * @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#oapi-api---trade-data
430
- * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
431
- * @param {object} [params] extra parameters specific to the exchange API endpoint
432
- * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
433
- */
434
- async fetchTickers(symbols = undefined, params = {}) {
435
- await this.loadMarkets();
436
- const response = await this.publicGetOapiV2ListTradePrice();
437
- //
438
- // {
439
- // "BTC/USDT":{
440
- // "base_volume":229196.34035399999,
441
- // "last_price":11881.06,
442
- // "quote_volume":19.2909
443
- // }
444
- // }
445
- //
446
- const tickers = [];
447
- const pairs = Object.keys(response);
448
- for (let i = 0; i < pairs.length; i++) {
449
- const marketId = pairs[i];
450
- const market = this.safeMarket(marketId);
451
- const rawTicker = this.safeDict(response, marketId, {});
452
- const ticker = this.parseTicker(rawTicker, market);
453
- tickers.push(ticker);
454
- }
455
- return this.filterByArrayTickers(tickers, 'symbol', symbols);
456
- }
457
- /**
458
- * @method
459
- * @name ace#fetchOrderBook
460
- * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
461
- * @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#open-api---order-books
462
- * @param {string} symbol unified symbol of the market to fetch the order book for
463
- * @param {int} [limit] the maximum amount of order book entries to return
464
- * @param {object} [params] extra parameters specific to the exchange API endpoint
465
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
466
- */
467
- async fetchOrderBook(symbol, limit = undefined, params = {}) {
468
- await this.loadMarkets();
469
- const market = this.market(symbol);
470
- const request = {
471
- 'quoteCurrencyId': market['quoteId'],
472
- 'baseCurrencyId': market['baseId'],
473
- };
474
- if (limit !== undefined) {
475
- request['depth'] = limit;
476
- }
477
- const response = await this.publicGetOpenV2PublicGetOrderBook(this.extend(request, params));
478
- //
479
- // {
480
- // "attachment": {
481
- // "baseCurrencyId": "2",
482
- // "quoteCurrencyId": "14",
483
- // "baseCurrencyName": "BTC",
484
- // "quoteCurrencyName": "USDT",
485
- // "bids": [
486
- // [
487
- // "0.0009",
488
- // "19993.53"
489
- // ],
490
- // [
491
- // "0.001",
492
- // "19675.33"
493
- // ],
494
- // [
495
- // "0.001",
496
- // "19357.13"
497
- // ]
498
- // ],
499
- // "asks": [
500
- // [
501
- // "0.001",
502
- // "20629.92"
503
- // ],
504
- // [
505
- // "0.001",
506
- // "20948.13"
507
- // ]
508
- // ]
509
- // },
510
- // "message": null,
511
- // "parameters": null,
512
- // "status": 200
513
- // }
514
- //
515
- const orderBook = this.safeDict(response, 'attachment');
516
- return this.parseOrderBook(orderBook, market['symbol'], undefined, 'bids', 'asks', 1, 0);
517
- }
518
- parseOHLCV(ohlcv, market = undefined) {
519
- //
520
- // {
521
- // "changeRate": 0,
522
- // "volume": 0,
523
- // "closePrice": 101000.0,
524
- // "lowPrice": 101000.0,
525
- // "highPrice": 101000.0,
526
- // "highPrice": 1573195740000L,
527
- // "openPrice": 101000.0,
528
- // "current": 101000.0,
529
- // "currentTime": "2019-11-08 14:49:00",
530
- // "createTime": "2019-11-08 14:49:00"
531
- // }
532
- //
533
- const dateTime = this.safeString(ohlcv, 'createTime');
534
- let timestamp = this.parse8601(dateTime);
535
- if (timestamp !== undefined) {
536
- timestamp = timestamp - 28800000; // 8 hours
537
- }
538
- return [
539
- timestamp,
540
- this.safeNumber(ohlcv, 'openPrice'),
541
- this.safeNumber(ohlcv, 'highPrice'),
542
- this.safeNumber(ohlcv, 'lowPrice'),
543
- this.safeNumber(ohlcv, 'closePrice'),
544
- this.safeNumber(ohlcv, 'volume'),
545
- ];
546
- }
547
- /**
548
- * @method
549
- * @name ace#fetchOHLCV
550
- * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
551
- * @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#open-api---klinecandlestick-data
552
- * @param {string} symbol unified symbol of the market to fetch OHLCV data for
553
- * @param {string} timeframe the length of time each candle represents
554
- * @param {int} [since] timestamp in ms of the earliest candle to fetch
555
- * @param {int} [limit] the maximum amount of candles to fetch
556
- * @param {object} [params] extra parameters specific to the exchange API endpoint
557
- * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
558
- */
559
- async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
560
- await this.loadMarkets();
561
- const market = this.market(symbol);
562
- const request = {
563
- 'duration': this.timeframes[timeframe],
564
- 'quoteCurrencyId': market['quoteId'],
565
- 'baseCurrencyId': market['baseId'],
566
- };
567
- if (limit !== undefined) {
568
- request['limit'] = limit;
569
- }
570
- if (since !== undefined) {
571
- request['startTime'] = since;
572
- }
573
- const response = await this.privatePostV2KlineGetKline(this.extend(request, params));
574
- const data = this.safeList(response, 'attachment', []);
575
- //
576
- // {
577
- // "attachment":[
578
- // {
579
- // "changeRate": 0,
580
- // "closePrice": 101000.0,
581
- // "volume": 0,
582
- // "lowPrice": 101000.0,
583
- // "highPrice": 101000.0,
584
- // "highPrice": 1573195740000L,
585
- // "openPrice": 101000.0,
586
- // "current": 101000.0,
587
- // "currentTime": "2019-11-08 14:49:00",
588
- // "createTime": "2019-11-08 14:49:00"
589
- // }
590
- // ]
591
- // }
592
- //
593
- return this.parseOHLCVs(data, market, timeframe, since, limit);
594
- }
595
- parseOrderStatus(status) {
596
- const statuses = {
597
- '0': 'open',
598
- '1': 'open',
599
- '2': 'closed',
600
- '4': 'canceled',
601
- '5': 'canceled',
602
- };
603
- return this.safeString(statuses, status, undefined);
604
- }
605
- parseOrder(order, market = undefined) {
606
- //
607
- // createOrder
608
- // "15697850529570392100421100482693"
609
- //
610
- // fetchOpenOrders
611
- // {
612
- // "uid": 0,
613
- // "orderNo": "16113081376560890227301101413941",
614
- // "orderTime": "2021-01-22 17:35:37",
615
- // "orderTimeStamp": 1611308137656,
616
- // "baseCurrencyId": 1,
617
- // "baseCurrencyName": "TWD",
618
- // "quoteCurrencyId": 14,
619
- // "quoteCurrencyName": "USDT",
620
- // "buyOrSell": "1",
621
- // "num": "6.0000000000000000",
622
- // "price": "32.5880000000000000",
623
- // "remainNum": "2.0000000000000000",
624
- // "tradeNum": "4.0000000000000000",
625
- // "tradePrice": "31.19800000000000000000",
626
- // "tradeAmount": "124.7920000000000000",
627
- // "tradeRate": "0.66666666666666666667",
628
- // "status": 1,
629
- // "type": 1
630
- // }
631
- //
632
- let id;
633
- let timestamp = undefined;
634
- let symbol = undefined;
635
- let price = undefined;
636
- let amount = undefined;
637
- let side = undefined;
638
- let type = undefined;
639
- let status = undefined;
640
- let filled = undefined;
641
- let remaining = undefined;
642
- let average = undefined;
643
- if (typeof order === 'string') {
644
- id = order;
645
- }
646
- else {
647
- id = this.safeString(order, 'orderNo');
648
- timestamp = this.safeInteger(order, 'orderTimeStamp');
649
- if (timestamp === undefined) {
650
- const dateTime = this.safeString(order, 'orderTime');
651
- if (dateTime !== undefined) {
652
- timestamp = this.parse8601(dateTime);
653
- timestamp = timestamp - 28800000; // 8 hours
654
- }
655
- }
656
- const orderSide = this.safeString(order, 'buyOrSell');
657
- if (orderSide !== undefined) {
658
- side = (orderSide === '1') ? 'buy' : 'sell';
659
- }
660
- amount = this.safeString(order, 'num');
661
- price = this.safeString(order, 'price');
662
- const quoteId = this.safeString(order, 'quoteCurrencyName');
663
- const baseId = this.safeString(order, 'baseCurrencyName');
664
- if (quoteId !== undefined && baseId !== undefined) {
665
- symbol = baseId + '/' + quoteId;
666
- }
667
- const orderType = this.safeString(order, 'type');
668
- if (orderType !== undefined) {
669
- type = (orderType === '1') ? 'limit' : 'market';
670
- }
671
- filled = this.safeString(order, 'tradeNum');
672
- remaining = this.safeString(order, 'remainNum');
673
- status = this.parseOrderStatus(this.safeString(order, 'status'));
674
- average = this.safeString(order, 'averagePrice');
675
- }
676
- return this.safeOrder({
677
- 'id': id,
678
- 'clientOrderId': undefined,
679
- 'timestamp': timestamp,
680
- 'datetime': this.iso8601(timestamp),
681
- 'lastTradeTimestamp': undefined,
682
- 'symbol': symbol,
683
- 'type': type,
684
- 'timeInForce': undefined,
685
- 'postOnly': undefined,
686
- 'side': side,
687
- 'price': price,
688
- 'triggerPrice': undefined,
689
- 'amount': amount,
690
- 'cost': undefined,
691
- 'average': average,
692
- 'filled': filled,
693
- 'remaining': remaining,
694
- 'status': status,
695
- 'fee': undefined,
696
- 'trades': undefined,
697
- 'info': order,
698
- }, market);
699
- }
700
- /**
701
- * @method
702
- * @name ace#createOrder
703
- * @description create a trade order
704
- * @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#open-api---new-order
705
- * @param {string} symbol unified symbol of the market to create an order in
706
- * @param {string} type 'market' or 'limit'
707
- * @param {string} side 'buy' or 'sell'
708
- * @param {float} amount how much of currency you want to trade in units of base currency
709
- * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
710
- * @param {object} [params] extra parameters specific to the exchange API endpoint
711
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
712
- */
713
- async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
714
- await this.loadMarkets();
715
- const market = this.market(symbol);
716
- const orderType = type.toUpperCase();
717
- const orderSide = side.toUpperCase();
718
- const request = {
719
- 'baseCurrencyId': market['baseId'],
720
- 'quoteCurrencyId': market['quoteId'],
721
- 'type': (orderType === 'LIMIT') ? 1 : 2,
722
- 'buyOrSell': (orderSide === 'BUY') ? 1 : 2,
723
- 'num': this.amountToPrecision(symbol, amount),
724
- };
725
- if (type === 'limit') {
726
- request['price'] = this.priceToPrecision(symbol, price);
727
- }
728
- const response = await this.privatePostV2OrderOrder(this.extend(request, params));
729
- //
730
- // {
731
- // "attachment": "15697850529570392100421100482693",
732
- // "message": null,
733
- // "parameters": null,
734
- // "status": 200
735
- // }
736
- //
737
- const data = this.safeDict(response, 'attachment');
738
- return this.parseOrder(data, market);
739
- }
740
- /**
741
- * @method
742
- * @name ace#cancelOrder
743
- * @description cancels an open order
744
- * @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#open-api---cancel-order
745
- * @param {string} id order id
746
- * @param {string} symbol unified symbol of the market the order was made in
747
- * @param {object} [params] extra parameters specific to the exchange API endpoint
748
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
749
- */
750
- async cancelOrder(id, symbol = undefined, params = {}) {
751
- await this.loadMarkets();
752
- const request = {
753
- 'orderNo': id,
754
- };
755
- const response = await this.privatePostV2OrderCancel(this.extend(request, params));
756
- //
757
- // {
758
- // "attachment": 200,
759
- // "message": null,
760
- // "parameters": null,
761
- // "status": 200
762
- // }
763
- //
764
- return response;
765
- }
766
- /**
767
- * @method
768
- * @name ace#fetchOrder
769
- * @description fetches information on an order made by the user
770
- * @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#open-api---order-status
771
- * @param {string} id the order id
772
- * @param {string} symbol unified symbol of the market the order was made in
773
- * @param {object} [params] extra parameters specific to the exchange API endpoint
774
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
775
- */
776
- async fetchOrder(id, symbol = undefined, params = {}) {
777
- await this.loadMarkets();
778
- const request = {
779
- 'orderNo': id,
780
- };
781
- const response = await this.privatePostV2OrderShowOrderStatus(this.extend(request, params));
782
- //
783
- // {
784
- // "attachment": {
785
- // "buyOrSell": 1,
786
- // "averagePrice": "490849.75000000",
787
- // "num": "0.00000000",
788
- // "orderTime": "2022-11-29 18:03:06.318",
789
- // "price": "490849.75000000",
790
- // "status": 4,
791
- // "tradeNum": "0.02697000",
792
- // "remainNum": "0.97303000",
793
- // "baseCurrencyId": 2,
794
- // "baseCurrencyName": "BTC",
795
- // "quoteCurrencyId": 1,
796
- // "quoteCurrencyName": "TWD",
797
- // "orderNo": "16697161898600391472461100244406"
798
- // },
799
- // "message": null,
800
- // "parameters": null,
801
- // "status": 200
802
- // }
803
- //
804
- const data = this.safeDict(response, 'attachment');
805
- return this.parseOrder(data, undefined);
806
- }
807
- /**
808
- * @method
809
- * @name ace#fetchOpenOrders
810
- * @description fetch all unfilled currently open orders
811
- * @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#open-api---order-list
812
- * @param {string} symbol unified market symbol of the market orders were made in
813
- * @param {int} [since] the earliest time in ms to fetch orders for
814
- * @param {int} [limit] the maximum number of order structures to retrieve
815
- * @param {object} [params] extra parameters specific to the exchange API endpoint
816
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
817
- */
818
- async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
819
- if (symbol === undefined) {
820
- throw new ArgumentsRequired(this.id + ' fetchOpenOrders() requires a symbol argument');
821
- }
822
- await this.loadMarkets();
823
- const market = this.market(symbol);
824
- const request = {
825
- 'quoteCurrencyId': market['quoteId'],
826
- 'baseCurrencyId': market['baseId'],
827
- // 'start': 0,
828
- };
829
- if (limit !== undefined) {
830
- request['size'] = limit;
831
- }
832
- const response = await this.privatePostV2OrderGetOrderList(this.extend(request, params));
833
- const orders = this.safeList(response, 'attachment');
834
- //
835
- // {
836
- // "attachment": [
837
- // {
838
- // "uid": 0,
839
- // "orderNo": "16113081376560890227301101413941",
840
- // "orderTime": "2021-01-22 17:35:37",
841
- // "orderTimeStamp": 1611308137656,
842
- // "baseCurrencyId": 1,
843
- // "baseCurrencyName": "TWD",
844
- // "quoteCurrencyId": 14,
845
- // "quoteCurrencyName": "USDT",
846
- // "buyOrSell": "1",
847
- // "num": "6.0000000000000000",
848
- // "price": "32.5880000000000000",
849
- // "remainNum": "2.0000000000000000",
850
- // "tradeNum": "4.0000000000000000",
851
- // "tradePrice": "31.19800000000000000000",
852
- // "tradeAmount": "124.7920000000000000",
853
- // "tradeRate": "0.66666666666666666667",
854
- // "status": 1,
855
- // "type": 1
856
- // }
857
- // ],
858
- // "message": null,
859
- // "parameters": null,
860
- // "status": 200
861
- // }
862
- //
863
- return this.parseOrders(orders, market, since, limit);
864
- }
865
- parseTrade(trade, market = undefined) {
866
- //
867
- // fetchOrderTrades
868
- // {
869
- // "amount": 0.0030965,
870
- // "tradeNo": "15681920522485652100751000417788",
871
- // "price": "0.03096500",
872
- // "num": "0.10000000",
873
- // "bi": 1,
874
- // "time": "2019-09-11 16:54:12.248"
875
- // }
876
- //
877
- // fetchMyTrades
878
- // {
879
- // "buyOrSell": 1,
880
- // "orderNo": "16708156853695560053601100247906",
881
- // "num": "1",
882
- // "price": "16895",
883
- // "orderAmount": "16895",
884
- // "tradeNum": "0.1",
885
- // "tradePrice": "16895",
886
- // "tradeAmount": "1689.5",
887
- // "fee": "0",
888
- // "feeSave": "0",
889
- // "status": 1,
890
- // "isSelf": false,
891
- // "tradeNo": "16708186395087940051961000274150",
892
- // "tradeTime": "2022-12-12 12:17:19",
893
- // "tradeTimestamp": 1670818639508,
894
- // "quoteCurrencyId": 14,
895
- // "quoteCurrencyName": "USDT",
896
- // "baseCurrencyId": 2,
897
- // "baseCurrencyName": "BTC"
898
- // }
899
- const id = this.safeString(trade, 'tradeNo');
900
- const price = this.safeString(trade, 'price');
901
- const amount = this.safeString(trade, 'num');
902
- let timestamp = this.safeInteger(trade, 'tradeTimestamp');
903
- if (timestamp === undefined) {
904
- const datetime = this.safeString2(trade, 'time', 'tradeTime');
905
- timestamp = this.parse8601(datetime);
906
- timestamp = timestamp - 28800000; // 8 hours normalize timestamp
907
- }
908
- let symbol = market['symbol'];
909
- const quoteId = this.safeString(trade, 'quoteCurrencyName');
910
- const baseId = this.safeString(trade, 'baseCurrencyName');
911
- if (quoteId !== undefined && baseId !== undefined) {
912
- symbol = baseId + '/' + quoteId;
913
- }
914
- let side = undefined;
915
- const tradeSide = this.safeInteger(trade, 'buyOrSell');
916
- if (tradeSide !== undefined) {
917
- side = (tradeSide === 1) ? 'buy' : 'sell';
918
- }
919
- const feeString = this.safeString(trade, 'fee');
920
- let fee = undefined;
921
- if (feeString !== undefined) {
922
- const feeSaveString = this.safeString(trade, 'feeSave');
923
- fee = {
924
- 'cost': Precise.stringSub(feeString, feeSaveString),
925
- 'currency': quoteId,
926
- };
927
- }
928
- return this.safeTrade({
929
- 'info': trade,
930
- 'id': id,
931
- 'order': this.safeString(trade, 'orderNo'),
932
- 'symbol': symbol,
933
- 'side': side,
934
- 'type': undefined,
935
- 'takerOrMaker': undefined,
936
- 'price': price,
937
- 'amount': amount,
938
- 'cost': undefined,
939
- 'fee': fee,
940
- 'timestamp': timestamp,
941
- 'datetime': this.iso8601(timestamp),
942
- }, market);
943
- }
944
- /**
945
- * @method
946
- * @name ace#fetchOrderTrades
947
- * @description fetch all the trades made from a single order
948
- * @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#open-api---order-history
949
- * @param {string} id order id
950
- * @param {string} symbol unified market symbol
951
- * @param {int} [since] the earliest time in ms to fetch trades for
952
- * @param {int} [limit] the maximum number of trades to retrieve
953
- * @param {object} [params] extra parameters specific to the exchange API endpoint
954
- * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
955
- */
956
- async fetchOrderTrades(id, symbol = undefined, since = undefined, limit = undefined, params = {}) {
957
- await this.loadMarkets();
958
- const market = this.safeMarket(symbol);
959
- const request = {
960
- 'orderNo': id,
961
- };
962
- const response = await this.privatePostV2OrderShowOrderHistory(this.extend(request, params));
963
- //
964
- // {
965
- // "attachment": {
966
- // "order": {
967
- // "buyOrSell": 1,
968
- // "averagePrice": "491343.74000000",
969
- // "num": "1.00000000",
970
- // "orderTime": "2022-11-29 18:32:22.232",
971
- // "price": "491343.74000000",
972
- // "status": 1,
973
- // "tradeNum": "0.01622200",
974
- // "remainNum": "0.98377800",
975
- // "baseCurrencyId": 2,
976
- // "baseCurrencyName": "BTC",
977
- // "quoteCurrencyId": 1,
978
- // "quoteCurrencyName": "TWD",
979
- // "orderNo": "16697179457740441472471100214402"
980
- // },
981
- // "trades": [
982
- // {
983
- // "price": "491343.74000000",
984
- // "num": "0.01622200",
985
- // "time": "2022-11-29 18:32:25.789",
986
- // "tradeNo": "16697179457897791471461000223437",
987
- // "amount": "7970.57815028"
988
- // }
989
- // ]
990
- // },
991
- // "message": null,
992
- // "parameters": null,
993
- // "status": 200
994
- // }
995
- //
996
- const data = this.safeDict(response, 'attachment');
997
- const trades = this.safeList(data, 'trades', []);
998
- return this.parseTrades(trades, market, since, limit);
999
- }
1000
- /**
1001
- * @method
1002
- * @name ace#fetchMyTrades
1003
- * @description fetch all trades made by the user
1004
- * @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#open-api---trade-list
1005
- * @param {string} symbol unified symbol of the market to fetch trades for
1006
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
1007
- * @param {int} [limit] the maximum amount of trades to fetch
1008
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1009
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
1010
- */
1011
- async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1012
- await this.loadMarkets();
1013
- const market = this.safeMarket(symbol);
1014
- const request = {
1015
- // 'buyOrSell': 1,
1016
- // 'start': 0,
1017
- };
1018
- if (market['id'] !== undefined) {
1019
- request['quoteCurrencyId'] = market['quoteId'];
1020
- request['baseCurrencyId'] = market['baseId'];
1021
- }
1022
- if (limit !== undefined) {
1023
- request['size'] = limit; // default 10, max 500
1024
- }
1025
- const response = await this.privatePostV2OrderGetTradeList(this.extend(request, params));
1026
- //
1027
- // {
1028
- // "attachment": [
1029
- // {
1030
- // "buyOrSell": 1,
1031
- // "orderNo": "16708156853695560053601100247906",
1032
- // "num": "1",
1033
- // "price": "16895",
1034
- // "orderAmount": "16895",
1035
- // "tradeNum": "0.1",
1036
- // "tradePrice": "16895",
1037
- // "tradeAmount": "1689.5",
1038
- // "fee": "0",
1039
- // "feeSave": "0",
1040
- // "status": 1,
1041
- // "isSelf": false,
1042
- // "tradeNo": "16708186395087940051961000274150",
1043
- // "tradeTime": "2022-12-12 12:17:19",
1044
- // "tradeTimestamp": 1670818639508,
1045
- // "quoteCurrencyId": 14,
1046
- // "quoteCurrencyName": "USDT",
1047
- // "baseCurrencyId": 2,
1048
- // "baseCurrencyName": "BTC"
1049
- // }
1050
- // ],
1051
- // "message": null,
1052
- // "parameters": null,
1053
- // "status": 200
1054
- // }
1055
- //
1056
- const trades = this.safeList(response, 'attachment', []);
1057
- return this.parseTrades(trades, market, since, limit);
1058
- }
1059
- parseBalance(response) {
1060
- //
1061
- // [
1062
- // {
1063
- // "currencyId": 4,
1064
- // "amount": 6.896,
1065
- // "cashAmount": 6.3855,
1066
- // "uid": 123,
1067
- // "currencyName": "BTC"
1068
- // }
1069
- // ]
1070
- //
1071
- const result = {
1072
- 'info': response,
1073
- };
1074
- for (let i = 0; i < response.length; i++) {
1075
- const balance = response[i];
1076
- const currencyId = this.safeString(balance, 'currencyName');
1077
- const code = this.safeCurrencyCode(currencyId);
1078
- const amount = this.safeString(balance, 'amount');
1079
- const available = this.safeString(balance, 'cashAmount');
1080
- const account = {
1081
- 'free': available,
1082
- 'total': amount,
1083
- };
1084
- result[code] = account;
1085
- }
1086
- return this.safeBalance(result);
1087
- }
1088
- /**
1089
- * @method
1090
- * @name ace#fetchBalance
1091
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
1092
- * @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#open-api---account-balance
1093
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1094
- * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
1095
- */
1096
- async fetchBalance(params = {}) {
1097
- await this.loadMarkets();
1098
- const response = await this.privatePostV2CoinCustomerAccount(params);
1099
- const balances = this.safeList(response, 'attachment', []);
1100
- //
1101
- // {
1102
- // "attachment":[
1103
- // {
1104
- // "currencyId": 4,
1105
- // "amount": 6.896,
1106
- // "cashAmount": 6.3855,
1107
- // "uid": 123,
1108
- // "currencyName": "BTC"
1109
- // }
1110
- // ],
1111
- // "message": null,
1112
- // "parameters": null,
1113
- // "status": "200"
1114
- // }
1115
- //
1116
- return this.parseBalance(balances);
1117
- }
1118
- sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
1119
- let url = '/' + this.implodeParams(path, params);
1120
- const query = this.omit(params, this.extractParams(path));
1121
- if (headers === undefined) {
1122
- headers = {};
1123
- }
1124
- if (api === 'private') {
1125
- this.checkRequiredCredentials();
1126
- const nonce = this.milliseconds();
1127
- let auth = 'ACE_SIGN' + this.secret;
1128
- const data = this.extend({
1129
- 'apiKey': this.apiKey,
1130
- 'timeStamp': this.numberToString(nonce),
1131
- }, params);
1132
- const sortedData = this.keysort(data);
1133
- const values = Object.values(sortedData);
1134
- const stringifiedValues = [];
1135
- for (let i = 0; i < values.length; i++) {
1136
- const value = values[i];
1137
- const strValue = value.toString();
1138
- stringifiedValues.push(strValue);
1139
- }
1140
- auth += stringifiedValues.join('');
1141
- const signature = this.hash(this.encode(auth), sha256, 'hex');
1142
- data['signKey'] = signature;
1143
- headers = {
1144
- 'Content-Type': 'application/x-www-form-urlencoded',
1145
- };
1146
- if (method === 'POST') {
1147
- const brokerId = this.safeString(this.options, 'brokerId');
1148
- if (brokerId !== undefined) {
1149
- headers['Referer'] = brokerId;
1150
- }
1151
- }
1152
- body = this.urlencode(data);
1153
- }
1154
- else if (api === 'public' && method === 'GET') {
1155
- if (Object.keys(query).length) {
1156
- url += '?' + this.urlencode(query);
1157
- }
1158
- }
1159
- url = this.urls['api'][api] + url;
1160
- return { 'url': url, 'method': method, 'body': body, 'headers': headers };
1161
- }
1162
- handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
1163
- if (response === undefined) {
1164
- return undefined; // fallback to the default error handler
1165
- }
1166
- const feedback = this.id + ' ' + body;
1167
- const status = this.safeNumber(response, 'status', 200);
1168
- if (status > 200) {
1169
- const statusStr = status.toString();
1170
- this.throwExactlyMatchedException(this.exceptions['exact'], statusStr, feedback);
1171
- this.throwBroadlyMatchedException(this.exceptions['broad'], statusStr, feedback);
1172
- }
1173
- return undefined;
1174
- }
1175
- }