ccxt 4.5.32 → 4.5.34

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 (1048) hide show
  1. package/README.md +20 -6
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +4 -4
  4. package/dist/cjs/src/abstract/{btcalpha.js → alp.js} +1 -1
  5. package/dist/cjs/src/abstract/alpaca.js +1 -1
  6. package/dist/cjs/src/abstract/apex.js +1 -1
  7. package/dist/cjs/src/abstract/arkham.js +1 -1
  8. package/dist/cjs/src/abstract/ascendex.js +1 -1
  9. package/dist/cjs/src/abstract/aster.js +1 -1
  10. package/dist/cjs/src/abstract/backpack.js +1 -1
  11. package/dist/cjs/src/abstract/bigone.js +1 -1
  12. package/dist/cjs/src/abstract/binance.js +1 -1
  13. package/dist/cjs/src/abstract/bingx.js +1 -1
  14. package/dist/cjs/src/abstract/bit2c.js +1 -1
  15. package/dist/cjs/src/abstract/bitbank.js +1 -1
  16. package/dist/cjs/src/abstract/bitbns.js +1 -1
  17. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  18. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  19. package/dist/cjs/src/abstract/bitget.js +1 -1
  20. package/dist/cjs/src/abstract/bithumb.js +1 -1
  21. package/dist/cjs/src/abstract/bitmart.js +1 -1
  22. package/dist/cjs/src/abstract/bitmex.js +1 -1
  23. package/dist/cjs/src/abstract/bitopro.js +1 -1
  24. package/dist/cjs/src/abstract/bitrue.js +1 -1
  25. package/dist/cjs/src/abstract/bitso.js +1 -1
  26. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  27. package/dist/cjs/src/abstract/bitteam.js +1 -1
  28. package/dist/cjs/src/abstract/bittrade.js +1 -1
  29. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  30. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  31. package/dist/cjs/src/abstract/blofin.js +1 -1
  32. package/dist/cjs/src/abstract/btcbox.js +1 -1
  33. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  34. package/dist/cjs/src/abstract/btcturk.js +1 -1
  35. package/dist/cjs/src/abstract/bullish.js +1 -1
  36. package/dist/cjs/src/abstract/bybit.js +1 -1
  37. package/dist/cjs/src/abstract/bydfi.js +1 -1
  38. package/dist/cjs/src/abstract/cex.js +1 -1
  39. package/dist/cjs/src/abstract/coinbase.js +1 -1
  40. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  41. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  42. package/dist/cjs/src/abstract/coincatch.js +1 -1
  43. package/dist/cjs/src/abstract/coincheck.js +1 -1
  44. package/dist/cjs/src/abstract/coinex.js +1 -1
  45. package/dist/cjs/src/abstract/coinmate.js +1 -1
  46. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  47. package/dist/cjs/src/abstract/coinone.js +1 -1
  48. package/dist/cjs/src/abstract/coinsph.js +1 -1
  49. package/dist/cjs/src/abstract/coinspot.js +1 -1
  50. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  51. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  52. package/dist/cjs/src/abstract/deepcoin.js +1 -1
  53. package/dist/cjs/src/abstract/defx.js +1 -1
  54. package/dist/cjs/src/abstract/delta.js +1 -1
  55. package/dist/cjs/src/abstract/deribit.js +1 -1
  56. package/dist/cjs/src/abstract/derive.js +1 -1
  57. package/dist/cjs/src/abstract/digifinex.js +1 -1
  58. package/dist/cjs/src/abstract/dydx.js +1 -1
  59. package/dist/cjs/src/abstract/exmo.js +1 -1
  60. package/dist/cjs/src/abstract/foxbit.js +1 -1
  61. package/dist/cjs/src/abstract/gate.js +1 -1
  62. package/dist/cjs/src/abstract/gemini.js +1 -1
  63. package/dist/cjs/src/abstract/hashkey.js +1 -1
  64. package/dist/cjs/src/abstract/hibachi.js +1 -1
  65. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  66. package/dist/cjs/src/abstract/hollaex.js +1 -1
  67. package/dist/cjs/src/abstract/htx.js +1 -1
  68. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  69. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  70. package/dist/cjs/src/abstract/indodax.js +1 -1
  71. package/dist/cjs/src/abstract/kraken.js +1 -1
  72. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  73. package/dist/cjs/src/abstract/kucoin.js +1 -1
  74. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  75. package/dist/cjs/src/abstract/latoken.js +1 -1
  76. package/dist/cjs/src/abstract/lbank.js +1 -1
  77. package/dist/cjs/src/abstract/luno.js +1 -1
  78. package/dist/cjs/src/abstract/mercado.js +1 -1
  79. package/dist/cjs/src/abstract/mexc.js +1 -1
  80. package/dist/cjs/src/abstract/modetrade.js +1 -1
  81. package/dist/cjs/src/abstract/ndax.js +1 -1
  82. package/dist/cjs/src/abstract/novadax.js +1 -1
  83. package/dist/cjs/src/abstract/okx.js +1 -1
  84. package/dist/cjs/src/abstract/onetrading.js +1 -1
  85. package/dist/cjs/src/abstract/oxfun.js +1 -1
  86. package/dist/cjs/src/abstract/p2b.js +1 -1
  87. package/dist/cjs/src/abstract/paradex.js +1 -1
  88. package/dist/cjs/src/abstract/paymium.js +1 -1
  89. package/dist/cjs/src/abstract/phemex.js +1 -1
  90. package/dist/cjs/src/abstract/poloniex.js +1 -1
  91. package/dist/cjs/src/abstract/probit.js +1 -1
  92. package/dist/cjs/src/abstract/timex.js +1 -1
  93. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  94. package/dist/cjs/src/abstract/toobit.js +1 -1
  95. package/dist/cjs/src/abstract/upbit.js +1 -1
  96. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  97. package/dist/cjs/src/abstract/whitebit.js +1 -1
  98. package/dist/cjs/src/abstract/woo.js +1 -1
  99. package/dist/cjs/src/abstract/woofipro.js +1 -1
  100. package/dist/cjs/src/abstract/xt.js +1 -1
  101. package/dist/cjs/src/abstract/yobit.js +1 -1
  102. package/dist/cjs/src/abstract/zaif.js +1 -1
  103. package/dist/cjs/src/abstract/zebpay.js +1 -1
  104. package/dist/cjs/src/abstract/zonda.js +1 -1
  105. package/dist/cjs/src/{btcalpha.js → alp.js} +46 -46
  106. package/dist/cjs/src/alpaca.js +1 -1
  107. package/dist/cjs/src/apex.js +1 -1
  108. package/dist/cjs/src/arkham.js +1 -1
  109. package/dist/cjs/src/ascendex.js +3 -3
  110. package/dist/cjs/src/aster.js +18 -24
  111. package/dist/cjs/src/backpack.js +3 -3
  112. package/dist/cjs/src/base/Precise.js +0 -6
  113. package/dist/cjs/src/base/errors.js +0 -6
  114. package/dist/cjs/src/base/functions/crypto.js +1 -1
  115. package/dist/cjs/src/base/functions/encode.js +1 -1
  116. package/dist/cjs/src/base/functions/misc.js +0 -1
  117. package/dist/cjs/src/base/functions/number.js +0 -6
  118. package/dist/cjs/src/base/functions/platform.js +0 -6
  119. package/dist/cjs/src/base/functions/rsa.js +0 -1
  120. package/dist/cjs/src/base/functions/string.js +0 -6
  121. package/dist/cjs/src/base/functions/throttle.js +1 -1
  122. package/dist/cjs/src/base/functions/time.js +0 -6
  123. package/dist/cjs/src/base/functions/totp.js +0 -1
  124. package/dist/cjs/src/base/functions/type.js +0 -6
  125. package/dist/cjs/src/base/functions.js +1 -1
  126. package/dist/cjs/src/base/ws/Cache.js +0 -6
  127. package/dist/cjs/src/base/ws/Client.js +0 -1
  128. package/dist/cjs/src/base/ws/Future.js +1 -1
  129. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  130. package/dist/cjs/src/base/ws/OrderBookSide.js +0 -6
  131. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  132. package/dist/cjs/src/bequant.js +1 -1
  133. package/dist/cjs/src/bigone.js +1 -1
  134. package/dist/cjs/src/binance.js +9 -5
  135. package/dist/cjs/src/binancecoinm.js +1 -1
  136. package/dist/cjs/src/binanceus.js +1 -1
  137. package/dist/cjs/src/binanceusdm.js +1 -1
  138. package/dist/cjs/src/bingx.js +3 -2
  139. package/dist/cjs/src/bit2c.js +1 -1
  140. package/dist/cjs/src/bitbank.js +1 -1
  141. package/dist/cjs/src/bitbns.js +1 -1
  142. package/dist/cjs/src/bitfinex.js +7 -12
  143. package/dist/cjs/src/bitflyer.js +1 -1
  144. package/dist/cjs/src/bitget.js +8 -6
  145. package/dist/cjs/src/bithumb.js +1 -1
  146. package/dist/cjs/src/bitmart.js +2 -2
  147. package/dist/cjs/src/bitmex.js +2 -2
  148. package/dist/cjs/src/bitopro.js +1 -1
  149. package/dist/cjs/src/bitrue.js +1 -1
  150. package/dist/cjs/src/bitso.js +2 -2
  151. package/dist/cjs/src/bitstamp.js +2 -2
  152. package/dist/cjs/src/bitteam.js +1 -1
  153. package/dist/cjs/src/bittrade.js +1 -1
  154. package/dist/cjs/src/blockchaincom.js +1 -1
  155. package/dist/cjs/src/blofin.js +2 -2
  156. package/dist/cjs/src/btcbox.js +1 -1
  157. package/dist/cjs/src/btcmarkets.js +1 -1
  158. package/dist/cjs/src/btcturk.js +1 -1
  159. package/dist/cjs/src/bullish.js +1 -1
  160. package/dist/cjs/src/bybit.js +59 -30
  161. package/dist/cjs/src/bydfi.js +1 -1
  162. package/dist/cjs/src/cex.js +2 -2
  163. package/dist/cjs/src/coinbase.js +7 -6
  164. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  165. package/dist/cjs/src/coinbaseexchange.js +1 -1
  166. package/dist/cjs/src/coincatch.js +4 -4
  167. package/dist/cjs/src/coincheck.js +1 -1
  168. package/dist/cjs/src/coinex.js +3 -3
  169. package/dist/cjs/src/coinmate.js +1 -1
  170. package/dist/cjs/src/coinmetro.js +2 -2
  171. package/dist/cjs/src/coinone.js +1 -1
  172. package/dist/cjs/src/coinsph.js +0 -1
  173. package/dist/cjs/src/coinspot.js +1 -1
  174. package/dist/cjs/src/cryptocom.js +5 -2
  175. package/dist/cjs/src/cryptomus.js +1 -1
  176. package/dist/cjs/src/deepcoin.js +2 -2
  177. package/dist/cjs/src/defx.js +2 -2
  178. package/dist/cjs/src/delta.js +4 -4
  179. package/dist/cjs/src/deribit.js +1 -1
  180. package/dist/cjs/src/derive.js +1 -1
  181. package/dist/cjs/src/digifinex.js +2 -2
  182. package/dist/cjs/src/dydx.js +2 -2
  183. package/dist/cjs/src/exmo.js +3 -3
  184. package/dist/cjs/src/fmfwio.js +1 -1
  185. package/dist/cjs/src/foxbit.js +2 -2
  186. package/dist/cjs/src/gate.js +28 -5
  187. package/dist/cjs/src/gateio.js +1 -1
  188. package/dist/cjs/src/gemini.js +1 -1
  189. package/dist/cjs/src/hashkey.js +2 -2
  190. package/dist/cjs/src/hibachi.js +2 -2
  191. package/dist/cjs/src/hitbtc.js +2 -3
  192. package/dist/cjs/src/hollaex.js +1 -1
  193. package/dist/cjs/src/htx.js +28 -3
  194. package/dist/cjs/src/huobi.js +1 -1
  195. package/dist/cjs/src/hyperliquid.js +6 -5
  196. package/dist/cjs/src/independentreserve.js +1 -1
  197. package/dist/cjs/src/indodax.js +1 -1
  198. package/dist/cjs/src/kraken.js +2 -2
  199. package/dist/cjs/src/krakenfutures.js +54 -10
  200. package/dist/cjs/src/kucoin.js +2 -2
  201. package/dist/cjs/src/kucoinfutures.js +2 -2
  202. package/dist/cjs/src/latoken.js +1 -1
  203. package/dist/cjs/src/lbank.js +1 -1
  204. package/dist/cjs/src/luno.js +2 -2
  205. package/dist/cjs/src/mercado.js +1 -1
  206. package/dist/cjs/src/mexc.js +3 -3
  207. package/dist/cjs/src/modetrade.js +2 -2
  208. package/dist/cjs/src/myokx.js +1 -1
  209. package/dist/cjs/src/ndax.js +2 -2
  210. package/dist/cjs/src/novadax.js +1 -1
  211. package/dist/cjs/src/okx.js +5 -5
  212. package/dist/cjs/src/okxus.js +1 -1
  213. package/dist/cjs/src/onetrading.js +1 -1
  214. package/dist/cjs/src/oxfun.js +1 -1
  215. package/dist/cjs/src/p2b.js +1 -1
  216. package/dist/cjs/src/paradex.js +2 -2
  217. package/dist/cjs/src/paymium.js +1 -1
  218. package/dist/cjs/src/phemex.js +1 -1
  219. package/dist/cjs/src/poloniex.js +3 -3
  220. package/dist/cjs/src/pro/alpaca.js +1 -1
  221. package/dist/cjs/src/pro/apex.js +6 -5
  222. package/dist/cjs/src/pro/arkham.js +2 -2
  223. package/dist/cjs/src/pro/ascendex.js +1 -1
  224. package/dist/cjs/src/pro/aster.js +907 -35
  225. package/dist/cjs/src/pro/backpack.js +3 -2
  226. package/dist/cjs/src/pro/bequant.js +1 -1
  227. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  228. package/dist/cjs/src/pro/binanceus.js +1 -1
  229. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  230. package/dist/cjs/src/pro/bingx.js +1 -1
  231. package/dist/cjs/src/pro/bitfinex.js +1 -1
  232. package/dist/cjs/src/pro/bitget.js +20 -7
  233. package/dist/cjs/src/pro/bithumb.js +1 -1
  234. package/dist/cjs/src/pro/bitmart.js +1 -1
  235. package/dist/cjs/src/pro/bitmex.js +1 -1
  236. package/dist/cjs/src/pro/bitrue.js +1 -1
  237. package/dist/cjs/src/pro/bitstamp.js +1 -1
  238. package/dist/cjs/src/pro/bitvavo.js +1 -1
  239. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  240. package/dist/cjs/src/pro/blofin.js +1 -1
  241. package/dist/cjs/src/pro/bullish.js +1 -1
  242. package/dist/cjs/src/pro/bybit.js +1 -1
  243. package/dist/cjs/src/pro/bydfi.js +1 -1
  244. package/dist/cjs/src/pro/cex.js +1 -1
  245. package/dist/cjs/src/pro/coinbase.js +1 -1
  246. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  247. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  248. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  249. package/dist/cjs/src/pro/coincatch.js +1 -1
  250. package/dist/cjs/src/pro/coincheck.js +1 -1
  251. package/dist/cjs/src/pro/coinex.js +1 -1
  252. package/dist/cjs/src/pro/coinone.js +1 -1
  253. package/dist/cjs/src/pro/cryptocom.js +1 -1
  254. package/dist/cjs/src/pro/deepcoin.js +1 -1
  255. package/dist/cjs/src/pro/defx.js +1 -1
  256. package/dist/cjs/src/pro/deribit.js +1 -1
  257. package/dist/cjs/src/pro/dydx.js +1 -1
  258. package/dist/cjs/src/pro/exmo.js +1 -1
  259. package/dist/cjs/src/pro/gate.js +1 -1
  260. package/dist/cjs/src/pro/gateio.js +1 -1
  261. package/dist/cjs/src/pro/gemini.js +1 -1
  262. package/dist/cjs/src/pro/hashkey.js +1 -1
  263. package/dist/cjs/src/pro/hitbtc.js +1 -1
  264. package/dist/cjs/src/pro/hollaex.js +1 -1
  265. package/dist/cjs/src/pro/htx.js +1 -1
  266. package/dist/cjs/src/pro/huobi.js +1 -1
  267. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  268. package/dist/cjs/src/pro/independentreserve.js +1 -1
  269. package/dist/cjs/src/pro/kraken.js +1 -1
  270. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  271. package/dist/cjs/src/pro/kucoin.js +1 -1
  272. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  273. package/dist/cjs/src/pro/lbank.js +0 -1
  274. package/dist/cjs/src/pro/luno.js +1 -1
  275. package/dist/cjs/src/pro/mexc.js +1 -1
  276. package/dist/cjs/src/pro/myokx.js +1 -1
  277. package/dist/cjs/src/pro/ndax.js +1 -1
  278. package/dist/cjs/src/pro/okx.js +3 -3
  279. package/dist/cjs/src/pro/okxus.js +1 -1
  280. package/dist/cjs/src/pro/onetrading.js +1 -1
  281. package/dist/cjs/src/pro/oxfun.js +1 -1
  282. package/dist/cjs/src/pro/p2b.js +1 -1
  283. package/dist/cjs/src/pro/paradex.js +143 -3
  284. package/dist/cjs/src/pro/phemex.js +1 -1
  285. package/dist/cjs/src/pro/poloniex.js +1 -1
  286. package/dist/cjs/src/pro/probit.js +1 -1
  287. package/dist/cjs/src/pro/toobit.js +1 -1
  288. package/dist/cjs/src/pro/upbit.js +1 -1
  289. package/dist/cjs/src/pro/whitebit.js +1 -1
  290. package/dist/cjs/src/pro/xt.js +1 -1
  291. package/dist/cjs/src/probit.js +1 -1
  292. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +1 -0
  293. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -1
  294. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -1
  295. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -1
  296. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -1
  297. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -1
  298. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -1
  299. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -1
  300. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -1
  301. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -1
  302. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -1
  303. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -1
  304. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -1
  305. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -1
  306. package/dist/cjs/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -1
  307. package/dist/cjs/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  308. package/dist/cjs/src/static_dependencies/dydx-v4-client/onboarding.js +0 -1
  309. package/dist/cjs/src/static_dependencies/dydx-v4-client/registry.js +0 -1
  310. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +0 -6
  311. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  312. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  313. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +0 -1
  314. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +0 -1
  315. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +0 -1
  316. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +0 -1
  317. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +0 -1
  318. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -1
  319. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +0 -1
  320. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +0 -1
  321. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +0 -1
  322. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +0 -1
  323. package/dist/cjs/src/static_dependencies/ethers/fragments.js +0 -6
  324. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  325. package/dist/cjs/src/static_dependencies/ethers/index.js +10 -1
  326. package/dist/cjs/src/static_dependencies/ethers/interface.js +0 -6
  327. package/dist/cjs/src/static_dependencies/ethers/typed.js +0 -6
  328. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +13 -1
  329. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +6 -1
  330. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +9 -1
  331. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +0 -6
  332. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  333. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +7 -1
  334. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +5 -1
  335. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +0 -6
  336. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +8 -1
  337. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  338. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -1
  339. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -1
  340. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  341. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  342. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  343. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  344. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -1
  345. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  346. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  347. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  348. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  349. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  350. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  351. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  352. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +0 -6
  353. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  354. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  355. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  356. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -1
  357. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  358. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  359. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  360. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  361. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  362. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  363. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  364. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  365. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +0 -6
  366. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +0 -1
  367. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +0 -6
  368. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +0 -6
  369. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +0 -1
  370. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +0 -1
  371. package/dist/cjs/src/static_dependencies/noble-hashes/pbkdf2.js +0 -1
  372. package/dist/cjs/src/static_dependencies/noble-hashes/ripemd160.js +0 -1
  373. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +0 -1
  374. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +0 -1
  375. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +0 -1
  376. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +0 -1
  377. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  378. package/dist/cjs/src/static_dependencies/node-fetch/body.js +5 -1
  379. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +0 -1
  380. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +0 -6
  381. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -1
  382. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +5 -1
  383. package/dist/cjs/src/static_dependencies/node-fetch/index.js +7 -1
  384. package/dist/cjs/src/static_dependencies/node-fetch/request.js +7 -1
  385. package/dist/cjs/src/static_dependencies/node-fetch/response.js +5 -1
  386. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  387. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  388. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +0 -6
  389. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +0 -1
  390. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +0 -1
  391. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -1
  392. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -1
  393. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  394. package/dist/cjs/src/static_dependencies/qs/formats.js +0 -6
  395. package/dist/cjs/src/static_dependencies/qs/index.js +0 -1
  396. package/dist/cjs/src/static_dependencies/qs/parse.js +0 -1
  397. package/dist/cjs/src/static_dependencies/qs/stringify.js +0 -1
  398. package/dist/cjs/src/static_dependencies/qs/utils.js +0 -6
  399. package/dist/cjs/src/static_dependencies/scure-base/index.js +0 -6
  400. package/dist/cjs/src/static_dependencies/scure-bip32/index.js +19 -1
  401. package/dist/cjs/src/static_dependencies/scure-bip39/index.js +1 -1
  402. package/dist/cjs/src/static_dependencies/scure-bip39/wordlists/english.js +0 -6
  403. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  404. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  405. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +0 -6
  406. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  407. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  408. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +0 -6
  409. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +0 -6
  410. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +0 -6
  411. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  412. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  413. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  414. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -1
  415. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -1
  416. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  417. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  418. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  419. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -1
  420. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  421. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -1
  422. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -1
  423. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  424. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -1
  425. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -1
  426. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -1
  427. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  428. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +4 -1
  429. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +0 -1
  430. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +3 -1
  431. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +0 -1
  432. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +0 -1
  433. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +0 -1
  434. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +0 -1
  435. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  436. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +0 -6
  437. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  438. package/dist/cjs/src/timex.js +0 -1
  439. package/dist/cjs/src/tokocrypto.js +1 -1
  440. package/dist/cjs/src/toobit.js +2 -2
  441. package/dist/cjs/src/upbit.js +1 -1
  442. package/dist/cjs/src/wavesexchange.js +1 -1
  443. package/dist/cjs/src/whitebit.js +4 -4
  444. package/dist/cjs/src/woo.js +4 -4
  445. package/dist/cjs/src/woofipro.js +2 -2
  446. package/dist/cjs/src/xt.js +3 -3
  447. package/dist/cjs/src/yobit.js +1 -1
  448. package/dist/cjs/src/zaif.js +1 -1
  449. package/dist/cjs/src/zebpay.js +3 -3
  450. package/dist/cjs/src/zonda.js +2 -2
  451. package/js/ccxt.d.ts +5 -5
  452. package/js/ccxt.js +4 -10
  453. package/js/src/abstract/alp.js +5 -0
  454. package/js/src/abstract/alpaca.js +0 -6
  455. package/js/src/abstract/apex.js +0 -6
  456. package/js/src/abstract/arkham.js +0 -6
  457. package/js/src/abstract/ascendex.js +0 -6
  458. package/js/src/abstract/aster.d.ts +6 -8
  459. package/js/src/abstract/aster.js +0 -6
  460. package/js/src/abstract/backpack.js +0 -6
  461. package/js/src/abstract/bequant.js +0 -6
  462. package/js/src/abstract/bigone.js +0 -6
  463. package/js/src/abstract/binance.d.ts +4 -0
  464. package/js/src/abstract/binance.js +0 -6
  465. package/js/src/abstract/binancecoinm.d.ts +4 -0
  466. package/js/src/abstract/binancecoinm.js +0 -6
  467. package/js/src/abstract/binanceus.d.ts +4 -0
  468. package/js/src/abstract/binanceus.js +0 -6
  469. package/js/src/abstract/binanceusdm.d.ts +4 -0
  470. package/js/src/abstract/binanceusdm.js +0 -6
  471. package/js/src/abstract/bingx.d.ts +1 -0
  472. package/js/src/abstract/bingx.js +0 -6
  473. package/js/src/abstract/bit2c.js +0 -6
  474. package/js/src/abstract/bitbank.js +0 -6
  475. package/js/src/abstract/bitbns.js +0 -6
  476. package/js/src/abstract/bitfinex.js +0 -6
  477. package/js/src/abstract/bitflyer.js +0 -6
  478. package/js/src/abstract/bitget.js +0 -6
  479. package/js/src/abstract/bithumb.js +0 -6
  480. package/js/src/abstract/bitmart.js +0 -6
  481. package/js/src/abstract/bitmex.js +0 -6
  482. package/js/src/abstract/bitopro.js +0 -6
  483. package/js/src/abstract/bitrue.js +0 -6
  484. package/js/src/abstract/bitso.js +0 -6
  485. package/js/src/abstract/bitstamp.js +0 -6
  486. package/js/src/abstract/bitteam.js +0 -6
  487. package/js/src/abstract/bittrade.js +0 -6
  488. package/js/src/abstract/bitvavo.js +0 -6
  489. package/js/src/abstract/blockchaincom.js +0 -6
  490. package/js/src/abstract/blofin.js +0 -6
  491. package/js/src/abstract/btcbox.js +0 -6
  492. package/js/src/abstract/btcmarkets.js +0 -6
  493. package/js/src/abstract/btcturk.js +0 -6
  494. package/js/src/abstract/bullish.js +0 -6
  495. package/js/src/abstract/bybit.d.ts +15 -0
  496. package/js/src/abstract/bybit.js +0 -6
  497. package/js/src/abstract/bydfi.js +0 -6
  498. package/js/src/abstract/cex.js +0 -6
  499. package/js/src/abstract/coinbase.js +0 -6
  500. package/js/src/abstract/coinbaseadvanced.js +0 -6
  501. package/js/src/abstract/coinbaseexchange.js +0 -6
  502. package/js/src/abstract/coinbaseinternational.js +0 -6
  503. package/js/src/abstract/coincatch.js +0 -6
  504. package/js/src/abstract/coincheck.js +0 -6
  505. package/js/src/abstract/coinex.js +0 -6
  506. package/js/src/abstract/coinmate.js +0 -6
  507. package/js/src/abstract/coinmetro.js +0 -6
  508. package/js/src/abstract/coinone.js +0 -6
  509. package/js/src/abstract/coinsph.js +0 -6
  510. package/js/src/abstract/coinspot.js +0 -6
  511. package/js/src/abstract/cryptocom.d.ts +3 -0
  512. package/js/src/abstract/cryptocom.js +0 -6
  513. package/js/src/abstract/cryptomus.js +0 -6
  514. package/js/src/abstract/deepcoin.js +0 -6
  515. package/js/src/abstract/defx.js +0 -6
  516. package/js/src/abstract/delta.js +0 -6
  517. package/js/src/abstract/deribit.js +0 -6
  518. package/js/src/abstract/derive.js +0 -6
  519. package/js/src/abstract/digifinex.js +0 -6
  520. package/js/src/abstract/dydx.js +0 -6
  521. package/js/src/abstract/exmo.js +0 -6
  522. package/js/src/abstract/fmfwio.js +0 -6
  523. package/js/src/abstract/foxbit.js +0 -6
  524. package/js/src/abstract/gate.d.ts +13 -0
  525. package/js/src/abstract/gate.js +0 -6
  526. package/js/src/abstract/gateio.d.ts +13 -0
  527. package/js/src/abstract/gateio.js +0 -6
  528. package/js/src/abstract/gemini.js +0 -6
  529. package/js/src/abstract/hashkey.js +0 -6
  530. package/js/src/abstract/hibachi.js +0 -6
  531. package/js/src/abstract/hitbtc.js +0 -6
  532. package/js/src/abstract/hollaex.js +0 -6
  533. package/js/src/abstract/htx.d.ts +25 -0
  534. package/js/src/abstract/htx.js +0 -6
  535. package/js/src/abstract/huobi.d.ts +25 -0
  536. package/js/src/abstract/huobi.js +0 -6
  537. package/js/src/abstract/hyperliquid.js +0 -6
  538. package/js/src/abstract/independentreserve.js +0 -6
  539. package/js/src/abstract/indodax.js +0 -6
  540. package/js/src/abstract/kraken.js +0 -6
  541. package/js/src/abstract/krakenfutures.d.ts +1 -0
  542. package/js/src/abstract/krakenfutures.js +0 -6
  543. package/js/src/abstract/kucoin.js +0 -6
  544. package/js/src/abstract/kucoinfutures.js +0 -6
  545. package/js/src/abstract/latoken.js +0 -6
  546. package/js/src/abstract/lbank.js +0 -6
  547. package/js/src/abstract/luno.js +0 -6
  548. package/js/src/abstract/mercado.js +0 -6
  549. package/js/src/abstract/mexc.js +0 -6
  550. package/js/src/abstract/modetrade.js +0 -6
  551. package/js/src/abstract/myokx.js +0 -6
  552. package/js/src/abstract/ndax.js +0 -6
  553. package/js/src/abstract/novadax.js +0 -6
  554. package/js/src/abstract/okx.js +0 -6
  555. package/js/src/abstract/okxus.js +0 -6
  556. package/js/src/abstract/onetrading.js +0 -6
  557. package/js/src/abstract/oxfun.js +0 -6
  558. package/js/src/abstract/p2b.js +0 -6
  559. package/js/src/abstract/paradex.js +0 -6
  560. package/js/src/abstract/paymium.js +0 -6
  561. package/js/src/abstract/phemex.js +0 -6
  562. package/js/src/abstract/poloniex.js +0 -6
  563. package/js/src/abstract/probit.js +0 -6
  564. package/js/src/abstract/timex.js +0 -6
  565. package/js/src/abstract/tokocrypto.js +0 -6
  566. package/js/src/abstract/toobit.js +0 -6
  567. package/js/src/abstract/upbit.js +0 -6
  568. package/js/src/abstract/wavesexchange.js +0 -6
  569. package/js/src/abstract/whitebit.js +0 -6
  570. package/js/src/abstract/woo.js +0 -6
  571. package/js/src/abstract/woofipro.js +0 -6
  572. package/js/src/abstract/xt.js +0 -6
  573. package/js/src/abstract/yobit.js +0 -6
  574. package/js/src/abstract/zaif.js +0 -6
  575. package/js/src/abstract/zebpay.js +0 -6
  576. package/js/src/abstract/zonda.js +0 -6
  577. package/js/src/{btcalpha.d.ts → alp.d.ts} +37 -37
  578. package/js/src/{btcalpha.js → alp.js} +44 -50
  579. package/js/src/alpaca.js +0 -6
  580. package/js/src/apex.js +0 -6
  581. package/js/src/arkham.js +0 -6
  582. package/js/src/ascendex.d.ts +2 -2
  583. package/js/src/ascendex.js +2 -8
  584. package/js/src/aster.js +17 -29
  585. package/js/src/backpack.js +2 -8
  586. package/js/src/base/Exchange.js +0 -6
  587. package/js/src/base/Precise.js +0 -6
  588. package/js/src/base/errorHierarchy.js +0 -6
  589. package/js/src/base/errors.js +0 -6
  590. package/js/src/base/functions/crypto.js +0 -6
  591. package/js/src/base/functions/encode.js +0 -6
  592. package/js/src/base/functions/generic.js +0 -6
  593. package/js/src/base/functions/misc.js +0 -6
  594. package/js/src/base/functions/number.js +0 -6
  595. package/js/src/base/functions/platform.js +0 -6
  596. package/js/src/base/functions/rsa.js +0 -6
  597. package/js/src/base/functions/string.js +0 -6
  598. package/js/src/base/functions/throttle.js +0 -6
  599. package/js/src/base/functions/time.js +0 -6
  600. package/js/src/base/functions/totp.js +0 -6
  601. package/js/src/base/functions/type.js +0 -6
  602. package/js/src/base/functions.js +0 -6
  603. package/js/src/base/types.js +0 -6
  604. package/js/src/base/ws/Cache.js +0 -6
  605. package/js/src/base/ws/Client.js +0 -6
  606. package/js/src/base/ws/Future.js +0 -6
  607. package/js/src/base/ws/OrderBook.js +0 -6
  608. package/js/src/base/ws/OrderBookSide.js +0 -6
  609. package/js/src/base/ws/WsClient.js +0 -6
  610. package/js/src/base/ws/functions.js +0 -6
  611. package/js/src/bequant.js +0 -6
  612. package/js/src/bigone.js +0 -6
  613. package/js/src/binance.d.ts +4 -4
  614. package/js/src/binance.js +8 -10
  615. package/js/src/binancecoinm.js +0 -6
  616. package/js/src/binanceus.js +0 -6
  617. package/js/src/binanceusdm.js +0 -6
  618. package/js/src/bingx.d.ts +1 -1
  619. package/js/src/bingx.js +2 -7
  620. package/js/src/bit2c.js +0 -6
  621. package/js/src/bitbank.js +0 -6
  622. package/js/src/bitbns.js +0 -6
  623. package/js/src/bitfinex.d.ts +1 -2
  624. package/js/src/bitfinex.js +6 -17
  625. package/js/src/bitflyer.js +0 -6
  626. package/js/src/bitget.d.ts +3 -3
  627. package/js/src/bitget.js +7 -11
  628. package/js/src/bithumb.js +0 -6
  629. package/js/src/bitmart.d.ts +1 -1
  630. package/js/src/bitmart.js +1 -7
  631. package/js/src/bitmex.d.ts +1 -1
  632. package/js/src/bitmex.js +1 -7
  633. package/js/src/bitopro.js +0 -6
  634. package/js/src/bitrue.js +0 -6
  635. package/js/src/bitso.d.ts +1 -1
  636. package/js/src/bitso.js +1 -7
  637. package/js/src/bitstamp.d.ts +1 -1
  638. package/js/src/bitstamp.js +1 -7
  639. package/js/src/bitteam.js +0 -6
  640. package/js/src/bittrade.js +0 -6
  641. package/js/src/bitvavo.js +0 -6
  642. package/js/src/blockchaincom.js +0 -6
  643. package/js/src/blofin.d.ts +1 -1
  644. package/js/src/blofin.js +1 -7
  645. package/js/src/btcbox.js +0 -6
  646. package/js/src/btcmarkets.js +0 -6
  647. package/js/src/btcturk.js +0 -6
  648. package/js/src/bullish.js +0 -6
  649. package/js/src/bybit.d.ts +1 -1
  650. package/js/src/bybit.js +58 -35
  651. package/js/src/bydfi.js +0 -6
  652. package/js/src/cex.d.ts +1 -1
  653. package/js/src/cex.js +1 -7
  654. package/js/src/coinbase.d.ts +1 -1
  655. package/js/src/coinbase.js +7 -12
  656. package/js/src/coinbaseadvanced.js +0 -6
  657. package/js/src/coinbaseexchange.d.ts +1 -1
  658. package/js/src/coinbaseexchange.js +1 -7
  659. package/js/src/coinbaseinternational.js +0 -6
  660. package/js/src/coincatch.d.ts +3 -3
  661. package/js/src/coincatch.js +3 -9
  662. package/js/src/coincheck.js +0 -6
  663. package/js/src/coinex.d.ts +2 -2
  664. package/js/src/coinex.js +2 -8
  665. package/js/src/coinmate.js +0 -6
  666. package/js/src/coinmetro.d.ts +1 -1
  667. package/js/src/coinmetro.js +1 -7
  668. package/js/src/coinone.js +0 -6
  669. package/js/src/coinsph.js +0 -6
  670. package/js/src/coinspot.js +0 -6
  671. package/js/src/cryptocom.d.ts +1 -1
  672. package/js/src/cryptocom.js +4 -7
  673. package/js/src/cryptomus.js +0 -6
  674. package/js/src/deepcoin.d.ts +1 -1
  675. package/js/src/deepcoin.js +1 -7
  676. package/js/src/defx.d.ts +1 -1
  677. package/js/src/defx.js +1 -7
  678. package/js/src/delta.d.ts +3 -3
  679. package/js/src/delta.js +3 -9
  680. package/js/src/deribit.js +0 -6
  681. package/js/src/derive.js +0 -6
  682. package/js/src/digifinex.d.ts +1 -1
  683. package/js/src/digifinex.js +1 -7
  684. package/js/src/dydx.d.ts +1 -1
  685. package/js/src/dydx.js +1 -7
  686. package/js/src/exmo.d.ts +2 -2
  687. package/js/src/exmo.js +2 -8
  688. package/js/src/fmfwio.js +0 -6
  689. package/js/src/foxbit.js +1 -7
  690. package/js/src/gate.d.ts +3 -3
  691. package/js/src/gate.js +27 -10
  692. package/js/src/gateio.js +0 -6
  693. package/js/src/gemini.js +0 -6
  694. package/js/src/hashkey.d.ts +1 -1
  695. package/js/src/hashkey.js +1 -7
  696. package/js/src/hibachi.d.ts +1 -1
  697. package/js/src/hibachi.js +1 -7
  698. package/js/src/hitbtc.d.ts +2 -2
  699. package/js/src/hitbtc.js +2 -8
  700. package/js/src/hollaex.js +0 -6
  701. package/js/src/htx.d.ts +1 -1
  702. package/js/src/htx.js +27 -8
  703. package/js/src/huobi.js +0 -6
  704. package/js/src/hyperliquid.d.ts +3 -3
  705. package/js/src/hyperliquid.js +5 -10
  706. package/js/src/independentreserve.js +0 -6
  707. package/js/src/indodax.js +0 -6
  708. package/js/src/kraken.d.ts +1 -1
  709. package/js/src/kraken.js +1 -7
  710. package/js/src/krakenfutures.d.ts +23 -0
  711. package/js/src/krakenfutures.js +53 -15
  712. package/js/src/kucoin.d.ts +1 -1
  713. package/js/src/kucoin.js +1 -7
  714. package/js/src/kucoinfutures.d.ts +1 -1
  715. package/js/src/kucoinfutures.js +1 -7
  716. package/js/src/latoken.js +0 -6
  717. package/js/src/lbank.js +0 -6
  718. package/js/src/luno.d.ts +1 -1
  719. package/js/src/luno.js +1 -7
  720. package/js/src/mercado.js +0 -6
  721. package/js/src/mexc.d.ts +2 -2
  722. package/js/src/mexc.js +2 -8
  723. package/js/src/modetrade.d.ts +1 -1
  724. package/js/src/modetrade.js +1 -7
  725. package/js/src/myokx.js +0 -6
  726. package/js/src/ndax.d.ts +1 -1
  727. package/js/src/ndax.js +1 -7
  728. package/js/src/novadax.js +0 -6
  729. package/js/src/okx.d.ts +3 -3
  730. package/js/src/okx.js +4 -10
  731. package/js/src/okxus.js +0 -6
  732. package/js/src/onetrading.js +0 -6
  733. package/js/src/oxfun.js +0 -6
  734. package/js/src/p2b.js +0 -6
  735. package/js/src/paradex.js +1 -7
  736. package/js/src/paymium.js +0 -6
  737. package/js/src/phemex.d.ts +1 -1
  738. package/js/src/phemex.js +1 -7
  739. package/js/src/poloniex.d.ts +2 -2
  740. package/js/src/poloniex.js +2 -8
  741. package/js/src/pro/alpaca.js +0 -6
  742. package/js/src/pro/apex.js +5 -10
  743. package/js/src/pro/arkham.js +1 -7
  744. package/js/src/pro/ascendex.js +0 -6
  745. package/js/src/pro/aster.d.ts +68 -2
  746. package/js/src/pro/aster.js +907 -41
  747. package/js/src/pro/backpack.js +2 -7
  748. package/js/src/pro/bequant.js +0 -6
  749. package/js/src/pro/binance.js +0 -6
  750. package/js/src/pro/binancecoinm.js +0 -6
  751. package/js/src/pro/binanceus.js +0 -6
  752. package/js/src/pro/binanceusdm.js +0 -6
  753. package/js/src/pro/bingx.js +0 -6
  754. package/js/src/pro/bitfinex.js +0 -6
  755. package/js/src/pro/bitget.js +19 -12
  756. package/js/src/pro/bithumb.js +0 -6
  757. package/js/src/pro/bitmart.js +0 -6
  758. package/js/src/pro/bitmex.js +0 -6
  759. package/js/src/pro/bitopro.js +0 -6
  760. package/js/src/pro/bitrue.js +0 -6
  761. package/js/src/pro/bitstamp.js +0 -6
  762. package/js/src/pro/bittrade.js +0 -6
  763. package/js/src/pro/bitvavo.js +0 -6
  764. package/js/src/pro/blockchaincom.js +0 -6
  765. package/js/src/pro/blofin.js +0 -6
  766. package/js/src/pro/bullish.js +0 -6
  767. package/js/src/pro/bybit.js +0 -6
  768. package/js/src/pro/bydfi.js +0 -6
  769. package/js/src/pro/cex.js +0 -6
  770. package/js/src/pro/coinbase.js +0 -6
  771. package/js/src/pro/coinbaseadvanced.js +0 -6
  772. package/js/src/pro/coinbaseexchange.js +0 -6
  773. package/js/src/pro/coinbaseinternational.js +0 -6
  774. package/js/src/pro/coincatch.js +0 -6
  775. package/js/src/pro/coincheck.js +0 -6
  776. package/js/src/pro/coinex.js +0 -6
  777. package/js/src/pro/coinone.js +0 -6
  778. package/js/src/pro/cryptocom.js +0 -6
  779. package/js/src/pro/deepcoin.js +0 -6
  780. package/js/src/pro/defx.js +0 -6
  781. package/js/src/pro/deribit.js +0 -6
  782. package/js/src/pro/derive.js +0 -6
  783. package/js/src/pro/dydx.js +0 -6
  784. package/js/src/pro/exmo.js +0 -6
  785. package/js/src/pro/gate.js +0 -6
  786. package/js/src/pro/gateio.js +0 -6
  787. package/js/src/pro/gemini.js +0 -6
  788. package/js/src/pro/hashkey.js +0 -6
  789. package/js/src/pro/hitbtc.js +0 -6
  790. package/js/src/pro/hollaex.js +0 -6
  791. package/js/src/pro/htx.js +0 -6
  792. package/js/src/pro/huobi.js +0 -6
  793. package/js/src/pro/hyperliquid.js +0 -6
  794. package/js/src/pro/independentreserve.js +0 -6
  795. package/js/src/pro/kraken.js +0 -6
  796. package/js/src/pro/krakenfutures.js +0 -6
  797. package/js/src/pro/kucoin.js +0 -6
  798. package/js/src/pro/kucoinfutures.js +0 -6
  799. package/js/src/pro/lbank.js +0 -6
  800. package/js/src/pro/luno.js +0 -6
  801. package/js/src/pro/mexc.js +0 -6
  802. package/js/src/pro/modetrade.js +0 -6
  803. package/js/src/pro/myokx.js +0 -6
  804. package/js/src/pro/ndax.js +0 -6
  805. package/js/src/pro/okx.d.ts +1 -1
  806. package/js/src/pro/okx.js +2 -8
  807. package/js/src/pro/okxus.js +0 -6
  808. package/js/src/pro/onetrading.js +0 -6
  809. package/js/src/pro/oxfun.js +0 -6
  810. package/js/src/pro/p2b.js +0 -6
  811. package/js/src/pro/paradex.d.ts +17 -1
  812. package/js/src/pro/paradex.js +143 -9
  813. package/js/src/pro/phemex.js +0 -6
  814. package/js/src/pro/poloniex.js +0 -6
  815. package/js/src/pro/probit.js +0 -6
  816. package/js/src/pro/toobit.js +0 -6
  817. package/js/src/pro/upbit.js +0 -6
  818. package/js/src/pro/whitebit.js +0 -6
  819. package/js/src/pro/woo.js +0 -6
  820. package/js/src/pro/woofipro.js +0 -6
  821. package/js/src/pro/xt.js +0 -6
  822. package/js/src/probit.js +0 -6
  823. package/js/src/protobuf/mexc/compiled.cjs +0 -6
  824. package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -6
  825. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.js +0 -6
  826. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -6
  827. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -6
  828. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -6
  829. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -6
  830. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -6
  831. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.js +0 -6
  832. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -6
  833. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.js +0 -6
  834. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.js +0 -6
  835. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.js +0 -6
  836. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.js +0 -6
  837. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.js +0 -6
  838. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -6
  839. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -6
  840. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -6
  841. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -6
  842. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -6
  843. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.js +0 -6
  844. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.js +0 -6
  845. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -6
  846. package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -6
  847. package/js/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  848. package/js/src/static_dependencies/dydx-v4-client/long/index.cjs +0 -6
  849. package/js/src/static_dependencies/dydx-v4-client/onboarding.js +0 -6
  850. package/js/src/static_dependencies/dydx-v4-client/registry.js +0 -6
  851. package/js/src/static_dependencies/ethers/abi-coder.js +0 -6
  852. package/js/src/static_dependencies/ethers/address/address.js +0 -6
  853. package/js/src/static_dependencies/ethers/address/checks.js +0 -6
  854. package/js/src/static_dependencies/ethers/address/contract-address.js +0 -6
  855. package/js/src/static_dependencies/ethers/address/index.js +0 -6
  856. package/js/src/static_dependencies/ethers/bytes32.js +0 -6
  857. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  858. package/js/src/static_dependencies/ethers/coders/address.js +0 -6
  859. package/js/src/static_dependencies/ethers/coders/anonymous.js +0 -6
  860. package/js/src/static_dependencies/ethers/coders/array.js +0 -6
  861. package/js/src/static_dependencies/ethers/coders/boolean.js +0 -6
  862. package/js/src/static_dependencies/ethers/coders/bytes.js +0 -6
  863. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -6
  864. package/js/src/static_dependencies/ethers/coders/null.js +0 -6
  865. package/js/src/static_dependencies/ethers/coders/number.js +0 -6
  866. package/js/src/static_dependencies/ethers/coders/string.js +0 -6
  867. package/js/src/static_dependencies/ethers/coders/tuple.js +0 -6
  868. package/js/src/static_dependencies/ethers/fragments.js +0 -6
  869. package/js/src/static_dependencies/ethers/hash/index.js +0 -6
  870. package/js/src/static_dependencies/ethers/hash/solidity.js +0 -6
  871. package/js/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  872. package/js/src/static_dependencies/ethers/index.js +0 -6
  873. package/js/src/static_dependencies/ethers/interface.js +0 -6
  874. package/js/src/static_dependencies/ethers/typed.js +0 -6
  875. package/js/src/static_dependencies/ethers/utils/base58.js +0 -6
  876. package/js/src/static_dependencies/ethers/utils/base64-browser.js +0 -6
  877. package/js/src/static_dependencies/ethers/utils/base64.js +0 -6
  878. package/js/src/static_dependencies/ethers/utils/data.js +0 -6
  879. package/js/src/static_dependencies/ethers/utils/errors.js +0 -6
  880. package/js/src/static_dependencies/ethers/utils/events.js +0 -6
  881. package/js/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  882. package/js/src/static_dependencies/ethers/utils/index.js +0 -6
  883. package/js/src/static_dependencies/ethers/utils/maths.js +0 -6
  884. package/js/src/static_dependencies/ethers/utils/properties.js +0 -6
  885. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +0 -6
  886. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +0 -6
  887. package/js/src/static_dependencies/ethers/utils/rlp.js +0 -6
  888. package/js/src/static_dependencies/ethers/utils/units.js +0 -6
  889. package/js/src/static_dependencies/ethers/utils/utf8.js +0 -6
  890. package/js/src/static_dependencies/ethers/utils/uuid.js +0 -6
  891. package/js/src/static_dependencies/fflake/browser.js +0 -6
  892. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -6
  893. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -6
  894. package/js/src/static_dependencies/jsencrypt/index.js +0 -6
  895. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -6
  896. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  897. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  898. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  899. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +0 -6
  900. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -6
  901. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -6
  902. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  903. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -6
  904. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -6
  905. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  906. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -6
  907. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  908. package/js/src/static_dependencies/messagepack/msgpack.js +0 -6
  909. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -6
  910. package/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -6
  911. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -6
  912. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -6
  913. package/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -6
  914. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -6
  915. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +0 -6
  916. package/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  917. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -6
  918. package/js/src/static_dependencies/noble-curves/bn.js +0 -6
  919. package/js/src/static_dependencies/noble-curves/ed25519.js +0 -6
  920. package/js/src/static_dependencies/noble-curves/ed448.js +0 -6
  921. package/js/src/static_dependencies/noble-curves/index.js +0 -6
  922. package/js/src/static_dependencies/noble-curves/jubjub.js +0 -6
  923. package/js/src/static_dependencies/noble-curves/p256.js +0 -6
  924. package/js/src/static_dependencies/noble-curves/p384.js +0 -6
  925. package/js/src/static_dependencies/noble-curves/p521.js +0 -6
  926. package/js/src/static_dependencies/noble-curves/pasta.js +0 -6
  927. package/js/src/static_dependencies/noble-curves/secp256k1.js +0 -6
  928. package/js/src/static_dependencies/noble-hashes/_assert.js +0 -6
  929. package/js/src/static_dependencies/noble-hashes/_blake2.js +0 -6
  930. package/js/src/static_dependencies/noble-hashes/_sha2.js +0 -6
  931. package/js/src/static_dependencies/noble-hashes/_u64.js +0 -6
  932. package/js/src/static_dependencies/noble-hashes/argon2.js +0 -6
  933. package/js/src/static_dependencies/noble-hashes/blake2b.js +0 -6
  934. package/js/src/static_dependencies/noble-hashes/blake2s.js +0 -6
  935. package/js/src/static_dependencies/noble-hashes/blake3.js +0 -6
  936. package/js/src/static_dependencies/noble-hashes/crypto.js +0 -6
  937. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +0 -6
  938. package/js/src/static_dependencies/noble-hashes/eskdf.js +0 -6
  939. package/js/src/static_dependencies/noble-hashes/hkdf.js +0 -6
  940. package/js/src/static_dependencies/noble-hashes/hmac.js +0 -6
  941. package/js/src/static_dependencies/noble-hashes/index.js +0 -6
  942. package/js/src/static_dependencies/noble-hashes/md5.js +0 -6
  943. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +0 -6
  944. package/js/src/static_dependencies/noble-hashes/ripemd160.js +0 -6
  945. package/js/src/static_dependencies/noble-hashes/scrypt.js +0 -6
  946. package/js/src/static_dependencies/noble-hashes/sha1.js +0 -6
  947. package/js/src/static_dependencies/noble-hashes/sha256.js +0 -6
  948. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +0 -6
  949. package/js/src/static_dependencies/noble-hashes/sha3.js +0 -6
  950. package/js/src/static_dependencies/noble-hashes/sha512.js +0 -6
  951. package/js/src/static_dependencies/noble-hashes/utils.js +0 -6
  952. package/js/src/static_dependencies/node-fetch/body.js +0 -6
  953. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -6
  954. package/js/src/static_dependencies/node-fetch/errors/base.js +0 -6
  955. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -6
  956. package/js/src/static_dependencies/node-fetch/headers.js +0 -6
  957. package/js/src/static_dependencies/node-fetch/index.js +0 -6
  958. package/js/src/static_dependencies/node-fetch/request.js +0 -6
  959. package/js/src/static_dependencies/node-fetch/response.js +0 -6
  960. package/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  961. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  962. package/js/src/static_dependencies/node-fetch/utils/is.js +0 -6
  963. package/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -6
  964. package/js/src/static_dependencies/proxies/agent-base/helpers.js +0 -6
  965. package/js/src/static_dependencies/proxies/agent-base/index.js +0 -6
  966. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -6
  967. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -6
  968. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  969. package/js/src/static_dependencies/qs/formats.js +0 -6
  970. package/js/src/static_dependencies/qs/index.js +0 -6
  971. package/js/src/static_dependencies/qs/parse.js +0 -6
  972. package/js/src/static_dependencies/qs/stringify.js +0 -6
  973. package/js/src/static_dependencies/qs/utils.js +0 -6
  974. package/js/src/static_dependencies/scure-base/index.js +0 -6
  975. package/js/src/static_dependencies/scure-bip32/index.js +0 -6
  976. package/js/src/static_dependencies/scure-bip39/index.js +0 -6
  977. package/js/src/static_dependencies/scure-bip39/wordlists/english.js +0 -6
  978. package/js/src/static_dependencies/scure-starknet/index.js +0 -6
  979. package/js/src/static_dependencies/starknet/constants.js +0 -6
  980. package/js/src/static_dependencies/starknet/index.js +0 -6
  981. package/js/src/static_dependencies/starknet/types/cairoEnum.js +0 -6
  982. package/js/src/static_dependencies/starknet/types/calldata.js +0 -6
  983. package/js/src/static_dependencies/starknet/types/index.js +0 -6
  984. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  985. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  986. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +0 -6
  987. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +0 -6
  988. package/js/src/static_dependencies/starknet/types/lib/index.js +0 -6
  989. package/js/src/static_dependencies/starknet/types/typedData.js +0 -6
  990. package/js/src/static_dependencies/starknet/utils/address.js +0 -6
  991. package/js/src/static_dependencies/starknet/utils/assert.js +0 -6
  992. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +0 -6
  993. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +0 -6
  994. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +0 -6
  995. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -6
  996. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -6
  997. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  998. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  999. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  1000. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +0 -6
  1001. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -6
  1002. package/js/src/static_dependencies/starknet/utils/calldata/index.js +0 -6
  1003. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -6
  1004. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +0 -6
  1005. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -6
  1006. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  1007. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -6
  1008. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -6
  1009. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -6
  1010. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +0 -6
  1011. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +0 -6
  1012. package/js/src/static_dependencies/starknet/utils/encode.js +0 -6
  1013. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +0 -6
  1014. package/js/src/static_dependencies/starknet/utils/hash/index.js +0 -6
  1015. package/js/src/static_dependencies/starknet/utils/merkle.js +0 -6
  1016. package/js/src/static_dependencies/starknet/utils/num.js +0 -6
  1017. package/js/src/static_dependencies/starknet/utils/selector.js +0 -6
  1018. package/js/src/static_dependencies/starknet/utils/shortString.js +0 -6
  1019. package/js/src/static_dependencies/starknet/utils/starknetId.js +0 -6
  1020. package/js/src/static_dependencies/starknet/utils/typedData.js +0 -6
  1021. package/js/src/static_dependencies/starknet/utils/uint256.js +0 -6
  1022. package/js/src/static_dependencies/starknet/utils/url.js +0 -6
  1023. package/js/src/static_dependencies/watchable/src/index.js +0 -6
  1024. package/js/src/static_dependencies/watchable/src/types.js +0 -6
  1025. package/js/src/static_dependencies/watchable/src/unpromise.js +0 -6
  1026. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  1027. package/js/src/timex.js +0 -6
  1028. package/js/src/tokocrypto.js +0 -6
  1029. package/js/src/toobit.d.ts +1 -1
  1030. package/js/src/toobit.js +1 -7
  1031. package/js/src/upbit.js +0 -6
  1032. package/js/src/wavesexchange.js +0 -6
  1033. package/js/src/whitebit.js +3 -9
  1034. package/js/src/woo.d.ts +3 -3
  1035. package/js/src/woo.js +3 -9
  1036. package/js/src/woofipro.d.ts +1 -1
  1037. package/js/src/woofipro.js +1 -7
  1038. package/js/src/xt.d.ts +2 -2
  1039. package/js/src/xt.js +2 -8
  1040. package/js/src/yobit.js +0 -6
  1041. package/js/src/zaif.js +0 -6
  1042. package/js/src/zebpay.d.ts +2 -2
  1043. package/js/src/zebpay.js +2 -8
  1044. package/js/src/zonda.d.ts +1 -1
  1045. package/js/src/zonda.js +1 -7
  1046. package/package.json +1 -1
  1047. package/js/src/abstract/btcalpha.js +0 -11
  1048. /package/js/src/abstract/{btcalpha.d.ts → alp.d.ts} +0 -0
@@ -1,31 +1,29 @@
1
- // ----------------------------------------------------------------------------
2
-
3
- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
- // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
- // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
-
7
1
  // ---------------------------------------------------------------------------
8
2
  import asterRest from '../aster.js';
3
+ import { Precise } from '../base/Precise.js';
9
4
  import { ArgumentsRequired } from '../base/errors.js';
10
- import { ArrayCache, ArrayCacheByTimestamp } from '../base/ws/Cache.js';
5
+ import { ArrayCache, ArrayCacheByTimestamp, ArrayCacheBySymbolById, ArrayCacheBySymbolBySide } from '../base/ws/Cache.js';
11
6
  // ---------------------------------------------------------------------------
12
7
  export default class aster extends asterRest {
13
8
  describe() {
14
9
  return this.deepExtend(super.describe(), {
15
10
  'has': {
16
11
  'ws': true,
17
- 'watchBalance': false,
12
+ 'watchBalance': true,
18
13
  'watchBidsAsks': true,
19
- 'watchTicker': true,
20
- 'watchTickers': true,
21
14
  'watchMarkPrice': true,
22
15
  'watchMarkPrices': true,
23
16
  'watchTrades': true,
24
17
  'watchTradesForSymbols': true,
18
+ 'watchOrders': true,
25
19
  'watchOrderBook': true,
26
20
  'watchOrderBookForSymbols': true,
27
21
  'watchOHLCV': true,
28
22
  'watchOHLCVForSymbols': true,
23
+ 'watchPositions': true,
24
+ 'watchTicker': true,
25
+ 'watchTickers': true,
26
+ 'watchMyTrades': true,
29
27
  'unWatchTicker': true,
30
28
  'unWatchTickers': true,
31
29
  'unWatchMarkPrice': true,
@@ -41,12 +39,40 @@ export default class aster extends asterRest {
41
39
  'urls': {
42
40
  'api': {
43
41
  'ws': {
44
- 'spot': 'wss://sstream.asterdex.com/stream',
45
- 'swap': 'wss://fstream.asterdex.com/stream',
42
+ 'public': {
43
+ 'spot': 'wss://sstream.asterdex.com/stream',
44
+ 'swap': 'wss://fstream.asterdex.com/stream',
45
+ },
46
+ 'private': {
47
+ 'spot': 'wss://sstream.asterdex.com/ws',
48
+ 'swap': 'wss://fstream.asterdex.com/ws',
49
+ },
46
50
  },
47
51
  },
48
52
  },
49
- 'options': {},
53
+ 'options': {
54
+ 'listenKey': {
55
+ 'spot': undefined,
56
+ 'swap': undefined,
57
+ },
58
+ 'lastAuthenticatedTime': {
59
+ 'spot': 0,
60
+ 'swap': 0,
61
+ },
62
+ 'listenKeyRefreshRate': {
63
+ 'spot': 3600000,
64
+ 'swap': 3600000,
65
+ },
66
+ 'watchBalance': {
67
+ 'fetchBalanceSnapshot': false,
68
+ 'awaitBalanceSnapshot': true, // whether to wait for the balance snapshot before providing updates
69
+ },
70
+ 'wallet': 'wb',
71
+ 'watchPositions': {
72
+ 'fetchPositionsSnapshot': true,
73
+ 'awaitPositionsSnapshot': true, // whether to wait for the positions snapshot before providing updates
74
+ },
75
+ },
50
76
  'streaming': {},
51
77
  'exceptions': {},
52
78
  });
@@ -115,7 +141,7 @@ export default class aster extends asterRest {
115
141
  if (symbolsLength === 0) {
116
142
  throw new ArgumentsRequired(this.id + ' ' + methodName + '() requires a non-empty array of symbols');
117
143
  }
118
- const url = this.urls['api']['ws'][type];
144
+ const url = this.urls['api']['ws']['public'][type];
119
145
  const subscriptionArgs = [];
120
146
  const messageHashes = [];
121
147
  const request = {
@@ -158,7 +184,7 @@ export default class aster extends asterRest {
158
184
  if (symbolsLength === 0) {
159
185
  throw new ArgumentsRequired(this.id + ' ' + methodName + '() requires a non-empty array of symbols');
160
186
  }
161
- const url = this.urls['api']['ws'][type];
187
+ const url = this.urls['api']['ws']['public'][type];
162
188
  const subscriptionArgs = [];
163
189
  const messageHashes = [];
164
190
  const request = {
@@ -226,7 +252,7 @@ export default class aster extends asterRest {
226
252
  if (symbolsLength === 0) {
227
253
  throw new ArgumentsRequired(this.id + ' ' + methodName + '() requires a non-empty array of symbols');
228
254
  }
229
- const url = this.urls['api']['ws'][type];
255
+ const url = this.urls['api']['ws']['public'][type];
230
256
  const subscriptionArgs = [];
231
257
  const messageHashes = [];
232
258
  const request = {
@@ -271,7 +297,7 @@ export default class aster extends asterRest {
271
297
  if (symbolsLength === 0) {
272
298
  throw new ArgumentsRequired(this.id + ' ' + methodName + '() requires a non-empty array of symbols');
273
299
  }
274
- const url = this.urls['api']['ws'][type];
300
+ const url = this.urls['api']['ws']['public'][type];
275
301
  const subscriptionArgs = [];
276
302
  const messageHashes = [];
277
303
  const request = {
@@ -397,7 +423,7 @@ export default class aster extends asterRest {
397
423
  if (symbolsLength === 0) {
398
424
  throw new ArgumentsRequired(this.id + ' watchBidsAsks() requires a non-empty array of symbols');
399
425
  }
400
- const url = this.urls['api']['ws'][type];
426
+ const url = this.urls['api']['ws']['public'][type];
401
427
  const subscriptionArgs = [];
402
428
  const messageHashes = [];
403
429
  const request = {
@@ -437,7 +463,7 @@ export default class aster extends asterRest {
437
463
  if (symbolsLength === 0) {
438
464
  throw new ArgumentsRequired(this.id + ' unWatchBidsAsks() requires a non-empty array of symbols');
439
465
  }
440
- const url = this.urls['api']['ws'][type];
466
+ const url = this.urls['api']['ws']['public'][type];
441
467
  const subscriptionArgs = [];
442
468
  const messageHashes = [];
443
469
  const request = {
@@ -548,7 +574,7 @@ export default class aster extends asterRest {
548
574
  if (symbolsLength === 0) {
549
575
  throw new ArgumentsRequired(this.id + ' ' + methodName + '() requires a non-empty array of symbols');
550
576
  }
551
- const url = this.urls['api']['ws'][type];
577
+ const url = this.urls['api']['ws']['public'][type];
552
578
  const subscriptionArgs = [];
553
579
  const messageHashes = [];
554
580
  const request = {
@@ -591,7 +617,7 @@ export default class aster extends asterRest {
591
617
  if (symbolsLength === 0) {
592
618
  throw new ArgumentsRequired(this.id + ' ' + methodName + '() requires a non-empty array of symbols');
593
619
  }
594
- const url = this.urls['api']['ws'][type];
620
+ const url = this.urls['api']['ws']['public'][type];
595
621
  const subscriptionArgs = [];
596
622
  const messageHashes = [];
597
623
  const request = {
@@ -643,30 +669,158 @@ export default class aster extends asterRest {
643
669
  client.resolve(stored, messageHash);
644
670
  }
645
671
  parseWsTrade(trade, market = undefined) {
672
+ //
673
+ // public watchTrades
674
+ //
675
+ // {
676
+ // "e": "trade", // event type
677
+ // "E": 1579481530911, // event time
678
+ // "s": "ETHBTC", // symbol
679
+ // "t": 158410082, // trade id
680
+ // "p": "0.01914100", // price
681
+ // "q": "0.00700000", // quantity
682
+ // "b": 586187049, // buyer order id
683
+ // "a": 586186710, // seller order id
684
+ // "T": 1579481530910, // trade time
685
+ // "m": false, // is the buyer the market maker
686
+ // "M": true // binance docs say it should be ignored
687
+ // }
688
+ //
689
+ // {
690
+ // "e": "aggTrade", // Event type
691
+ // "E": 123456789, // Event time
692
+ // "s": "BNBBTC", // Symbol
693
+ // "a": 12345, // Aggregate trade ID
694
+ // "p": "0.001", // Price
695
+ // "q": "100", // Quantity
696
+ // "f": 100, // First trade ID
697
+ // "l": 105, // Last trade ID
698
+ // "T": 123456785, // Trade time
699
+ // "m": true, // Is the buyer the market maker?
700
+ // "M": true // Ignore
701
+ // }
702
+ //
703
+ // private watchMyTrades spot
704
+ //
705
+ // {
706
+ // "e": "executionReport",
707
+ // "E": 1611063861489,
708
+ // "s": "BNBUSDT",
709
+ // "c": "m4M6AD5MF3b1ERe65l4SPq",
710
+ // "S": "BUY",
711
+ // "o": "MARKET",
712
+ // "f": "GTC",
713
+ // "q": "2.00000000",
714
+ // "p": "0.00000000",
715
+ // "P": "0.00000000",
716
+ // "F": "0.00000000",
717
+ // "g": -1,
718
+ // "C": '',
719
+ // "x": "TRADE",
720
+ // "X": "PARTIALLY_FILLED",
721
+ // "r": "NONE",
722
+ // "i": 1296882607,
723
+ // "l": "0.33200000",
724
+ // "z": "0.33200000",
725
+ // "L": "46.86600000",
726
+ // "n": "0.00033200",
727
+ // "N": "BNB",
728
+ // "T": 1611063861488,
729
+ // "t": 109747654,
730
+ // "I": 2696953381,
731
+ // "w": false,
732
+ // "m": false,
733
+ // "M": true,
734
+ // "O": 1611063861488,
735
+ // "Z": "15.55951200",
736
+ // "Y": "15.55951200",
737
+ // "Q": "0.00000000"
738
+ // }
739
+ //
740
+ // private watchMyTrades future/delivery
741
+ //
742
+ // {
743
+ // "s": "BTCUSDT",
744
+ // "c": "pb2jD6ZQHpfzSdUac8VqMK",
745
+ // "S": "SELL",
746
+ // "o": "MARKET",
747
+ // "f": "GTC",
748
+ // "q": "0.001",
749
+ // "p": "0",
750
+ // "ap": "33468.46000",
751
+ // "sp": "0",
752
+ // "x": "TRADE",
753
+ // "X": "FILLED",
754
+ // "i": 13351197194,
755
+ // "l": "0.001",
756
+ // "z": "0.001",
757
+ // "L": "33468.46",
758
+ // "n": "0.00027086",
759
+ // "N": "BNB",
760
+ // "T": 1612095165362,
761
+ // "t": 458032604,
762
+ // "b": "0",
763
+ // "a": "0",
764
+ // "m": false,
765
+ // "R": false,
766
+ // "wt": "CONTRACT_PRICE",
767
+ // "ot": "MARKET",
768
+ // "ps": "BOTH",
769
+ // "cp": false,
770
+ // "rp": "0.00335000",
771
+ // "pP": false,
772
+ // "si": 0,
773
+ // "ss": 0
774
+ // }
775
+ //
776
+ const id = this.safeString2(trade, 't', 'a');
646
777
  const timestamp = this.safeInteger(trade, 'T');
647
- const symbol = market['symbol'];
648
- const amountString = this.safeString(trade, 'q');
649
- const priceString = this.safeString(trade, 'p');
650
- const isMaker = this.safeBool(trade, 'm');
778
+ const price = this.safeString2(trade, 'L', 'p');
779
+ const amount = this.safeString2(trade, 'q', 'l');
780
+ let cost = this.safeString(trade, 'Y');
781
+ if (cost === undefined) {
782
+ if ((price !== undefined) && (amount !== undefined)) {
783
+ cost = Precise.stringMul(price, amount);
784
+ }
785
+ }
786
+ const marketId = this.safeString(trade, 's');
787
+ const defaultType = (market === undefined) ? this.safeString(this.options, 'defaultType', 'spot') : market['type'];
788
+ const symbol = this.safeSymbol(marketId, market, undefined, defaultType);
789
+ let side = this.safeStringLower(trade, 'S');
651
790
  let takerOrMaker = undefined;
652
- if (isMaker !== undefined) {
653
- takerOrMaker = isMaker ? 'maker' : 'taker';
791
+ const orderId = this.safeString(trade, 'i');
792
+ if ('m' in trade) {
793
+ if (side === undefined) {
794
+ side = trade['m'] ? 'sell' : 'buy'; // this is reversed intentionally
795
+ }
796
+ takerOrMaker = trade['m'] ? 'maker' : 'taker';
797
+ }
798
+ let fee = undefined;
799
+ const feeCost = this.safeString(trade, 'n');
800
+ if (feeCost !== undefined) {
801
+ const feeCurrencyId = this.safeString(trade, 'N');
802
+ const feeCurrencyCode = this.safeCurrencyCode(feeCurrencyId);
803
+ fee = {
804
+ 'cost': feeCost,
805
+ 'currency': feeCurrencyCode,
806
+ };
654
807
  }
808
+ const type = this.safeStringLower(trade, 'o');
655
809
  return this.safeTrade({
656
- 'id': this.safeString(trade, 'a'),
657
810
  'info': trade,
658
811
  'timestamp': timestamp,
659
812
  'datetime': this.iso8601(timestamp),
660
813
  'symbol': symbol,
661
- 'order': undefined,
662
- 'type': undefined,
663
- 'side': undefined,
814
+ 'id': id,
815
+ 'order': orderId,
816
+ 'type': type,
664
817
  'takerOrMaker': takerOrMaker,
665
- 'price': priceString,
666
- 'amount': amountString,
667
- 'cost': undefined,
668
- 'fee': undefined,
669
- }, market);
818
+ 'side': side,
819
+ 'price': price,
820
+ 'amount': amount,
821
+ 'cost': cost,
822
+ 'fee': fee,
823
+ });
670
824
  }
671
825
  /**
672
826
  * @method
@@ -721,7 +875,7 @@ export default class aster extends asterRest {
721
875
  if (symbolsLength === 0) {
722
876
  throw new ArgumentsRequired(this.id + ' ' + methodName + '() requires a non-empty array of symbols');
723
877
  }
724
- const url = this.urls['api']['ws'][type];
878
+ const url = this.urls['api']['ws']['public'][type];
725
879
  const subscriptionArgs = [];
726
880
  const messageHashes = [];
727
881
  const request = {
@@ -734,7 +888,7 @@ export default class aster extends asterRest {
734
888
  for (let i = 0; i < symbols.length; i++) {
735
889
  const symbol = symbols[i];
736
890
  const market = this.market(symbol);
737
- subscriptionArgs.push(this.safeStringLower(market, 'id') + '@depth' + limit);
891
+ subscriptionArgs.push(this.safeStringLower(market, 'id') + '@depth' + limit.toString());
738
892
  messageHashes.push('orderbook:' + market['symbol']);
739
893
  }
740
894
  const orderbook = await this.watchMultiple(url, messageHashes, this.extend(request, params), [type]);
@@ -763,7 +917,7 @@ export default class aster extends asterRest {
763
917
  if (symbolsLength === 0) {
764
918
  throw new ArgumentsRequired(this.id + ' ' + methodName + '() requires a non-empty array of symbols');
765
919
  }
766
- const url = this.urls['api']['ws'][type];
920
+ const url = this.urls['api']['ws']['public'][type];
767
921
  const subscriptionArgs = [];
768
922
  const messageHashes = [];
769
923
  const request = {
@@ -888,7 +1042,7 @@ export default class aster extends asterRest {
888
1042
  const marketSymbols = this.marketSymbols(symbols, undefined, false, true, true);
889
1043
  const firstMarket = this.market(marketSymbols[0]);
890
1044
  const type = this.safeString(firstMarket, 'type', 'swap');
891
- const url = this.urls['api']['ws'][type];
1045
+ const url = this.urls['api']['ws']['public'][type];
892
1046
  const subscriptionArgs = [];
893
1047
  const messageHashes = [];
894
1048
  const request = {
@@ -935,7 +1089,7 @@ export default class aster extends asterRest {
935
1089
  const marketSymbols = this.marketSymbols(symbols, undefined, false, true, true);
936
1090
  const firstMarket = this.market(marketSymbols[0]);
937
1091
  const type = this.safeString(firstMarket, 'type', 'swap');
938
- const url = this.urls['api']['ws'][type];
1092
+ const url = this.urls['api']['ws']['public'][type];
939
1093
  const subscriptionArgs = [];
940
1094
  const messageHashes = [];
941
1095
  const request = {
@@ -1019,6 +1173,704 @@ export default class aster extends asterRest {
1019
1173
  this.safeNumber(ohlcv, 'v'),
1020
1174
  ];
1021
1175
  }
1176
+ async authenticate(type = 'spot', params = {}) {
1177
+ const time = this.milliseconds();
1178
+ const lastAuthenticatedTimeOptions = this.safeDict(this.options, 'lastAuthenticatedTime', {});
1179
+ const lastAuthenticatedTime = this.safeInteger(lastAuthenticatedTimeOptions, type, 0);
1180
+ const listenKeyRefreshRateOptions = this.safeDict(this.options, 'listenKeyRefreshRate', {});
1181
+ const listenKeyRefreshRate = this.safeInteger(listenKeyRefreshRateOptions, type, 3600000); // 1 hour
1182
+ if (time - lastAuthenticatedTime > listenKeyRefreshRate) {
1183
+ let response = undefined;
1184
+ if (type === 'spot') {
1185
+ response = await this.sapiPrivatePostV1ListenKey(params);
1186
+ }
1187
+ else {
1188
+ response = await this.fapiPrivatePostV1ListenKey(params);
1189
+ }
1190
+ this.options['listenKey'][type] = this.safeString(response, 'listenKey');
1191
+ this.options['lastAuthenticatedTime'][type] = time;
1192
+ params = this.extend({ 'type': type }, params);
1193
+ this.delay(listenKeyRefreshRate, this.keepAliveListenKey, params);
1194
+ }
1195
+ }
1196
+ async keepAliveListenKey(params = {}) {
1197
+ const type = this.safeString(params, 'type', 'spot');
1198
+ const listenKeyOptions = this.safeDict(this.options, 'listenKey', {});
1199
+ const listenKey = this.safeString(listenKeyOptions, type);
1200
+ if (listenKey === undefined) {
1201
+ return;
1202
+ }
1203
+ try {
1204
+ await this.sapiPrivatePutV1ListenKey(); // extend the expiry
1205
+ }
1206
+ catch (error) {
1207
+ const url = this.urls['api']['ws']['private'][type] + '/' + listenKey;
1208
+ const client = this.client(url);
1209
+ const messageHashes = Object.keys(client.futures);
1210
+ for (let i = 0; i < messageHashes.length; i++) {
1211
+ const messageHash = messageHashes[i];
1212
+ client.reject(error, messageHash);
1213
+ }
1214
+ this.options['listenKey'][type] = undefined;
1215
+ this.options['lastAuthenticatedTime'][type] = 0;
1216
+ return;
1217
+ }
1218
+ // whether or not to schedule another listenKey keepAlive request
1219
+ const listenKeyRefreshOptions = this.safeDict(this.options, 'listenKeyRefresh', {});
1220
+ const listenKeyRefreshRate = this.safeInteger(listenKeyRefreshOptions, 'listenKeyRefreshRate', 3600000);
1221
+ this.delay(listenKeyRefreshRate, this.keepAliveListenKey, params);
1222
+ }
1223
+ getPrivateUrl(type = 'spot') {
1224
+ const listenKeyOptions = this.safeDict(this.options, 'listenKey', {});
1225
+ const listenKey = this.safeString(listenKeyOptions, type);
1226
+ const url = this.urls['api']['ws']['private'][type] + '/' + listenKey;
1227
+ return url;
1228
+ }
1229
+ /**
1230
+ * @method
1231
+ * @name aster#watchBalance
1232
+ * @description query for balance and get the amount of funds available for trading or funds locked in orders
1233
+ * @see https://github.com/asterdex/api-docs/blob/master/aster-finance-spot-api.md#payload-account_update
1234
+ * @see https://github.com/asterdex/api-docs/blob/master/aster-finance-futures-api.md#event-balance-and-position-update
1235
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1236
+ * @param {string} [params.type] 'spot' or 'swap', default is 'spot'
1237
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
1238
+ */
1239
+ async watchBalance(params = {}) {
1240
+ await this.loadMarkets();
1241
+ let type = undefined;
1242
+ [type, params] = this.handleMarketTypeAndParams('watchBalance', undefined, params, type);
1243
+ await this.authenticate(type, params);
1244
+ const url = this.getPrivateUrl(type);
1245
+ const client = this.client(url);
1246
+ this.setBalanceCache(client, type);
1247
+ const options = this.safeDict(this.options, 'watchBalance');
1248
+ const fetchBalanceSnapshot = this.safeBool(options, 'fetchBalanceSnapshot', false);
1249
+ const awaitBalanceSnapshot = this.safeBool(options, 'awaitBalanceSnapshot', true);
1250
+ if (fetchBalanceSnapshot && awaitBalanceSnapshot) {
1251
+ await client.future(type + ':fetchBalanceSnapshot');
1252
+ }
1253
+ const messageHash = type + ':balance';
1254
+ const message = undefined;
1255
+ return await this.watch(url, messageHash, message, type);
1256
+ }
1257
+ setBalanceCache(client, type) {
1258
+ if ((type in client.subscriptions) && (type in this.balance)) {
1259
+ return;
1260
+ }
1261
+ const options = this.safeValue(this.options, 'watchBalance');
1262
+ const fetchBalanceSnapshot = this.safeBool(options, 'fetchBalanceSnapshot', false);
1263
+ if (fetchBalanceSnapshot) {
1264
+ const messageHash = type + ':fetchBalanceSnapshot';
1265
+ if (!(messageHash in client.futures)) {
1266
+ client.future(messageHash);
1267
+ this.spawn(this.loadBalanceSnapshot, client, messageHash, type);
1268
+ }
1269
+ }
1270
+ else {
1271
+ this.balance[type] = {};
1272
+ }
1273
+ }
1274
+ async loadBalanceSnapshot(client, messageHash, type) {
1275
+ const params = {
1276
+ 'type': type,
1277
+ };
1278
+ const response = await this.fetchBalance(params);
1279
+ this.balance[type] = this.extend(response, this.safeValue(this.balance, type, {}));
1280
+ // don't remove the future from the .futures cache
1281
+ if (messageHash in client.futures) {
1282
+ const future = client.futures[messageHash];
1283
+ future.resolve();
1284
+ client.resolve(this.balance[type], type + ':balance');
1285
+ }
1286
+ }
1287
+ handleBalance(client, message) {
1288
+ //
1289
+ // spot balance update
1290
+ // {
1291
+ // "B": [
1292
+ // {
1293
+ // "a": "USDT",
1294
+ // "f": "16.29445191",
1295
+ // "l": "0"
1296
+ // },
1297
+ // {
1298
+ // "a": "ETH",
1299
+ // "f": "0.00199920",
1300
+ // "l": "0"
1301
+ // }
1302
+ // ],
1303
+ // "e": "outboundAccountPosition",
1304
+ // "T": 1768547778317,
1305
+ // "u": 1768547778317,
1306
+ // "E": 1768547778321,
1307
+ // "m": "ORDER"
1308
+ // }
1309
+ //
1310
+ // swap balance and position update
1311
+ // {
1312
+ // "e": "ACCOUNT_UPDATE",
1313
+ // "T": 1768551627708,
1314
+ // "E": 1768551627710,
1315
+ // "a": {
1316
+ // "B": [
1317
+ // {
1318
+ // "a": "USDT",
1319
+ // "wb": "39.41184271",
1320
+ // "cw": "39.41184271",
1321
+ // "bc": "0"
1322
+ // }
1323
+ // ],
1324
+ // "P": [
1325
+ // {
1326
+ // "s": "ETHUSDT",
1327
+ // "pa": "0",
1328
+ // "ep": "0.00000000",
1329
+ // "cr": "-0.59070000",
1330
+ // "up": "0",
1331
+ // "mt": "isolated",
1332
+ // "iw": "0",
1333
+ // "ps": "BOTH",
1334
+ // "ma": "USDT"
1335
+ // }
1336
+ // ],
1337
+ // "m": "ORDER"
1338
+ // }
1339
+ // }
1340
+ //
1341
+ const subscriptions = client.subscriptions;
1342
+ const subscriptionsKeys = Object.keys(subscriptions);
1343
+ const accountType = this.getAccountTypeFromSubscriptions(subscriptionsKeys);
1344
+ const messageHash = accountType + ':balance';
1345
+ if (this.balance[accountType] === undefined) {
1346
+ this.balance[accountType] = {};
1347
+ }
1348
+ this.balance[accountType]['info'] = message;
1349
+ message = this.safeDict(message, 'a', message);
1350
+ const B = this.safeList(message, 'B', []);
1351
+ const wallet = this.safeString(this.options, 'wallet', 'wb');
1352
+ for (let i = 0; i < B.length; i++) {
1353
+ const entry = B[i];
1354
+ const currencyId = this.safeString(entry, 'a');
1355
+ const code = this.safeCurrencyCode(currencyId);
1356
+ const account = this.account();
1357
+ account['free'] = this.safeString(entry, 'f');
1358
+ account['used'] = this.safeString(entry, 'l');
1359
+ account['total'] = this.safeString(entry, wallet);
1360
+ this.balance[accountType][code] = account;
1361
+ }
1362
+ const timestamp = this.safeInteger(message, 'E');
1363
+ this.balance[accountType]['timestamp'] = timestamp;
1364
+ this.balance[accountType]['datetime'] = this.iso8601(timestamp);
1365
+ this.balance[accountType] = this.safeBalance(this.balance[accountType]);
1366
+ client.resolve(this.balance[accountType], messageHash);
1367
+ }
1368
+ /**
1369
+ * @method
1370
+ * @name aster#watchPositions
1371
+ * @description watch all open positions
1372
+ * @see https://github.com/asterdex/api-docs/blob/master/aster-finance-futures-api.md#event-balance-and-position-update
1373
+ * @param {string[]|undefined} symbols list of unified market symbols
1374
+ * @param {number} [since] since timestamp
1375
+ * @param {number} [limit] limit
1376
+ * @param {object} params extra parameters specific to the exchange API endpoint
1377
+ * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
1378
+ */
1379
+ async watchPositions(symbols = undefined, since = undefined, limit = undefined, params = {}) {
1380
+ await this.loadMarkets();
1381
+ const type = 'swap';
1382
+ await this.authenticate(type, params);
1383
+ const url = this.getPrivateUrl(type);
1384
+ const client = this.client(url);
1385
+ this.setPositionsCache(client);
1386
+ const messageHashes = [];
1387
+ const messageHash = 'positions';
1388
+ symbols = this.marketSymbols(symbols, 'swap', true, true);
1389
+ if (symbols === undefined) {
1390
+ messageHashes.push(messageHash);
1391
+ }
1392
+ else {
1393
+ for (let i = 0; i < symbols.length; i++) {
1394
+ const symbol = symbols[i];
1395
+ messageHashes.push(messageHash + '::' + symbol);
1396
+ }
1397
+ }
1398
+ const fetchPositionsSnapshot = this.handleOption('watchPositions', 'fetchPositionsSnapshot', true);
1399
+ const awaitPositionsSnapshot = this.handleOption('watchPositions', 'awaitPositionsSnapshot', true);
1400
+ const cache = this.positions;
1401
+ if (fetchPositionsSnapshot && awaitPositionsSnapshot && cache === undefined) {
1402
+ const snapshot = await client.future('fetchPositionsSnapshot');
1403
+ return this.filterBySymbolsSinceLimit(snapshot, symbols, since, limit, true);
1404
+ }
1405
+ const newPositions = await this.watchMultiple(url, messageHashes, undefined, [type]);
1406
+ if (this.newUpdates) {
1407
+ return newPositions;
1408
+ }
1409
+ return this.filterBySymbolsSinceLimit(cache, symbols, since, limit, true);
1410
+ }
1411
+ setPositionsCache(client) {
1412
+ if (this.positions !== undefined) {
1413
+ return;
1414
+ }
1415
+ const fetchPositionsSnapshot = this.handleOption('watchPositions', 'fetchPositionsSnapshot', false);
1416
+ if (fetchPositionsSnapshot) {
1417
+ const messageHash = 'fetchPositionsSnapshot';
1418
+ if (!(messageHash in client.futures)) {
1419
+ client.future(messageHash);
1420
+ this.spawn(this.loadPositionsSnapshot, client, messageHash);
1421
+ }
1422
+ }
1423
+ else {
1424
+ this.positions = new ArrayCacheBySymbolBySide();
1425
+ }
1426
+ }
1427
+ async loadPositionsSnapshot(client, messageHash) {
1428
+ const positions = await this.fetchPositions();
1429
+ this.positions = new ArrayCacheBySymbolBySide();
1430
+ const cache = this.positions;
1431
+ for (let i = 0; i < positions.length; i++) {
1432
+ const position = positions[i];
1433
+ const contracts = this.safeNumber(position, 'contracts', 0);
1434
+ if (contracts > 0) {
1435
+ cache.append(position);
1436
+ }
1437
+ }
1438
+ // don't remove the future from the .futures cache
1439
+ if (messageHash in client.futures) {
1440
+ const future = client.futures[messageHash];
1441
+ future.resolve(cache);
1442
+ client.resolve(cache, 'positions');
1443
+ }
1444
+ }
1445
+ handlePositions(client, message) {
1446
+ //
1447
+ // {
1448
+ // "e": "ACCOUNT_UPDATE",
1449
+ // "T": 1768551627708,
1450
+ // "E": 1768551627710,
1451
+ // "a": {
1452
+ // "B": [
1453
+ // {
1454
+ // "a": "USDT",
1455
+ // "wb": "39.41184271",
1456
+ // "cw": "39.41184271",
1457
+ // "bc": "0"
1458
+ // }
1459
+ // ],
1460
+ // "P": [
1461
+ // {
1462
+ // "s": "ETHUSDT",
1463
+ // "pa": "0",
1464
+ // "ep": "0.00000000",
1465
+ // "cr": "-0.59070000",
1466
+ // "up": "0",
1467
+ // "mt": "isolated",
1468
+ // "iw": "0",
1469
+ // "ps": "BOTH",
1470
+ // "ma": "USDT"
1471
+ // }
1472
+ // ],
1473
+ // "m": "ORDER"
1474
+ // }
1475
+ // }
1476
+ //
1477
+ const messageHash = 'positions';
1478
+ const messageHashes = this.findMessageHashes(client, messageHash);
1479
+ if (!this.isEmpty(messageHashes)) {
1480
+ if (this.positions === undefined) {
1481
+ this.positions = new ArrayCacheBySymbolBySide();
1482
+ }
1483
+ const cache = this.positions;
1484
+ const data = this.safeDict(message, 'a', {});
1485
+ const rawPositions = this.safeList(data, 'P', []);
1486
+ const newPositions = [];
1487
+ for (let i = 0; i < rawPositions.length; i++) {
1488
+ const rawPosition = rawPositions[i];
1489
+ const position = this.parseWsPosition(rawPosition);
1490
+ const timestamp = this.safeInteger(message, 'E');
1491
+ position['timestamp'] = timestamp;
1492
+ position['datetime'] = this.iso8601(timestamp);
1493
+ newPositions.push(position);
1494
+ cache.append(position);
1495
+ const symbol = position['symbol'];
1496
+ const symbolMessageHash = messageHash + '::' + symbol;
1497
+ client.resolve(position, symbolMessageHash);
1498
+ }
1499
+ client.resolve(newPositions, 'positions');
1500
+ }
1501
+ }
1502
+ parseWsPosition(position, market = undefined) {
1503
+ //
1504
+ // {
1505
+ // "s": "BTCUSDT", // Symbol
1506
+ // "pa": "0", // Position Amount
1507
+ // "ep": "0.00000", // Entry Price
1508
+ // "cr": "200", // (Pre-fee) Accumulated Realized
1509
+ // "up": "0", // Unrealized PnL
1510
+ // "mt": "isolated", // Margin Type
1511
+ // "iw": "0.00000000", // Isolated Wallet (if isolated position)
1512
+ // "ps": "BOTH" // Position Side
1513
+ // }
1514
+ //
1515
+ const marketId = this.safeString(position, 's');
1516
+ const contracts = this.safeString(position, 'pa');
1517
+ const contractsAbs = Precise.stringAbs(this.safeString(position, 'pa'));
1518
+ let positionSide = this.safeStringLower(position, 'ps');
1519
+ let hedged = true;
1520
+ if (positionSide === 'both') {
1521
+ hedged = false;
1522
+ if (!Precise.stringEq(contracts, '0')) {
1523
+ if (Precise.stringLt(contracts, '0')) {
1524
+ positionSide = 'short';
1525
+ }
1526
+ else {
1527
+ positionSide = 'long';
1528
+ }
1529
+ }
1530
+ }
1531
+ return this.safePosition({
1532
+ 'info': position,
1533
+ 'id': undefined,
1534
+ 'symbol': this.safeSymbol(marketId, undefined, undefined, 'swap'),
1535
+ 'notional': undefined,
1536
+ 'marginMode': this.safeString(position, 'mt'),
1537
+ 'liquidationPrice': undefined,
1538
+ 'entryPrice': this.safeNumber(position, 'ep'),
1539
+ 'unrealizedPnl': this.safeNumber(position, 'up'),
1540
+ 'percentage': undefined,
1541
+ 'contracts': this.parseNumber(contractsAbs),
1542
+ 'contractSize': undefined,
1543
+ 'markPrice': undefined,
1544
+ 'side': positionSide,
1545
+ 'hedged': hedged,
1546
+ 'timestamp': undefined,
1547
+ 'datetime': undefined,
1548
+ 'maintenanceMargin': undefined,
1549
+ 'maintenanceMarginPercentage': undefined,
1550
+ 'collateral': undefined,
1551
+ 'initialMargin': undefined,
1552
+ 'initialMarginPercentage': undefined,
1553
+ 'leverage': undefined,
1554
+ 'marginRatio': undefined,
1555
+ });
1556
+ }
1557
+ /**
1558
+ * @method
1559
+ * @name aster#watchOrders
1560
+ * @description watches information on multiple orders made by the user
1561
+ * @see https://github.com/asterdex/api-docs/blob/master/aster-finance-spot-api.md#payload-order-update
1562
+ * @see https://github.com/asterdex/api-docs/blob/master/aster-finance-futures-api.md#event-order-update
1563
+ * @param {string} [symbol] unified market symbol of the market orders were made in
1564
+ * @param {int} [since] the earliest time in ms to fetch orders for
1565
+ * @param {int} [limit] the maximum number of order structures to retrieve
1566
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1567
+ * @param {string} [params.type] 'spot' or 'swap', default is 'spot' if symbol is not provided
1568
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
1569
+ */
1570
+ async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1571
+ await this.loadMarkets();
1572
+ let market = undefined;
1573
+ if (symbol !== undefined) {
1574
+ market = this.market(symbol);
1575
+ symbol = market['symbol'];
1576
+ }
1577
+ let messageHash = 'orders';
1578
+ let type = undefined;
1579
+ [type, params] = this.handleMarketTypeAndParams('watchOrders', market, params, type);
1580
+ await this.authenticate(type, params);
1581
+ if (market !== undefined) {
1582
+ messageHash += '::' + symbol;
1583
+ }
1584
+ const url = this.getPrivateUrl(type);
1585
+ const client = this.client(url);
1586
+ this.setBalanceCache(client, type);
1587
+ const orders = await this.watchMultiple(url, [messageHash], undefined, [type]);
1588
+ if (this.newUpdates) {
1589
+ limit = orders.getLimit(symbol, limit);
1590
+ }
1591
+ return this.filterBySymbolSinceLimit(orders, symbol, since, limit, true);
1592
+ }
1593
+ /**
1594
+ * @method
1595
+ * @name aster#watchMyTrades
1596
+ * @description watches information on multiple trades made by the user
1597
+ * @see https://github.com/asterdex/api-docs/blob/master/aster-finance-spot-api.md#payload-order-update
1598
+ * @see https://github.com/asterdex/api-docs/blob/master/aster-finance-futures-api.md#event-order-update
1599
+ * @param {string} [symbol] unified market symbol of the market orders were made in
1600
+ * @param {int} [since] the earliest time in ms to fetch orders for
1601
+ * @param {int} [limit] the maximum number of order structures to retrieve
1602
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1603
+ * @param {string} [params.type] 'spot' or 'swap', default is 'spot' if symbol is not provided
1604
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=trade-structure}
1605
+ */
1606
+ async watchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1607
+ await this.loadMarkets();
1608
+ let market = undefined;
1609
+ if (symbol !== undefined) {
1610
+ market = this.market(symbol);
1611
+ symbol = market['symbol'];
1612
+ }
1613
+ let messageHash = 'myTrades';
1614
+ let type = undefined;
1615
+ [type, params] = this.handleMarketTypeAndParams('watchOrders', market, params, type);
1616
+ await this.authenticate(type, params);
1617
+ if (market !== undefined) {
1618
+ messageHash += '::' + symbol;
1619
+ }
1620
+ const url = this.getPrivateUrl(type);
1621
+ const client = this.client(url);
1622
+ this.setBalanceCache(client, type);
1623
+ const trades = await this.watchMultiple(url, [messageHash], undefined, [type]);
1624
+ if (this.newUpdates) {
1625
+ limit = trades.getLimit(symbol, limit);
1626
+ }
1627
+ return this.filterBySymbolSinceLimit(trades, symbol, since, limit, true);
1628
+ }
1629
+ handleOrderUpdate(client, message) {
1630
+ const rawOrder = this.safeDict(message, 'o', message);
1631
+ const e = this.safeString(message, 'e');
1632
+ if ((e === 'ORDER_TRADE_UPDATE') || (e === 'ALGO_UPDATE')) {
1633
+ message = this.safeDict(message, 'o', message);
1634
+ }
1635
+ this.handleOrder(client, rawOrder);
1636
+ this.handleMyTrade(client, message);
1637
+ }
1638
+ handleMyTrade(client, message) {
1639
+ const messageHash = 'myTrades';
1640
+ const executionType = this.safeString(message, 'x');
1641
+ if (executionType === 'TRADE') {
1642
+ const isSwap = client.url.indexOf('fstream') >= 0;
1643
+ const type = isSwap ? 'swap' : 'spot';
1644
+ const fakeMarket = this.safeMarketStructure({ 'type': type });
1645
+ const trade = this.parseWsTrade(message, fakeMarket);
1646
+ const orderId = this.safeString(trade, 'order');
1647
+ let tradeFee = this.safeDict(trade, 'fee', {});
1648
+ tradeFee = this.extend({}, tradeFee);
1649
+ const symbol = this.safeString(trade, 'symbol');
1650
+ if (orderId !== undefined && tradeFee !== undefined && symbol !== undefined) {
1651
+ const cachedOrders = this.orders;
1652
+ if (cachedOrders !== undefined) {
1653
+ const orders = this.safeValue(cachedOrders.hashmap, symbol, {});
1654
+ const order = this.safeValue(orders, orderId);
1655
+ if (order !== undefined) {
1656
+ // accumulate order fees
1657
+ const fees = this.safeValue(order, 'fees');
1658
+ const fee = this.safeValue(order, 'fee');
1659
+ if (!this.isEmpty(fees)) {
1660
+ let insertNewFeeCurrency = true;
1661
+ for (let i = 0; i < fees.length; i++) {
1662
+ const orderFee = fees[i];
1663
+ if (orderFee['currency'] === tradeFee['currency']) {
1664
+ const feeCost = this.sum(tradeFee['cost'], orderFee['cost']);
1665
+ order['fees'][i]['cost'] = parseFloat(this.currencyToPrecision(tradeFee['currency'], feeCost));
1666
+ insertNewFeeCurrency = false;
1667
+ break;
1668
+ }
1669
+ }
1670
+ if (insertNewFeeCurrency) {
1671
+ order['fees'].push(tradeFee);
1672
+ }
1673
+ }
1674
+ else if (fee !== undefined) {
1675
+ if (fee['currency'] === tradeFee['currency']) {
1676
+ const feeCost = this.sum(fee['cost'], tradeFee['cost']);
1677
+ order['fee']['cost'] = parseFloat(this.currencyToPrecision(tradeFee['currency'], feeCost));
1678
+ }
1679
+ else if (fee['currency'] === undefined) {
1680
+ order['fee'] = tradeFee;
1681
+ }
1682
+ else {
1683
+ order['fees'] = [fee, tradeFee];
1684
+ order['fee'] = undefined;
1685
+ }
1686
+ }
1687
+ else {
1688
+ order['fee'] = tradeFee;
1689
+ }
1690
+ // save this trade in the order
1691
+ const orderTrades = this.safeList(order, 'trades', []);
1692
+ orderTrades.push(trade);
1693
+ order['trades'] = orderTrades;
1694
+ // don't append twice cause it breaks newUpdates mode
1695
+ // this order already exists in the cache
1696
+ }
1697
+ }
1698
+ }
1699
+ if (this.myTrades === undefined) {
1700
+ const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
1701
+ this.myTrades = new ArrayCacheBySymbolById(limit);
1702
+ }
1703
+ const myTrades = this.myTrades;
1704
+ myTrades.append(trade);
1705
+ client.resolve(this.myTrades, messageHash);
1706
+ const messageHashSymbol = messageHash + ':' + symbol;
1707
+ client.resolve(this.myTrades, messageHashSymbol);
1708
+ }
1709
+ }
1710
+ handleOrder(client, message) {
1711
+ //
1712
+ // spot
1713
+ // {
1714
+ // "e": "executionReport", // Event type
1715
+ // "E": 1499405658658, // Event time
1716
+ // "s": "ETHBTC", // Symbol
1717
+ // "c": "mUvoqJxFIILMdfAW5iGSOW", // Client order ID
1718
+ // "S": "BUY", // Side
1719
+ // "o": "LIMIT", // Order type
1720
+ // "f": "GTC", // Time in force
1721
+ // "q": "1.00000000", // Order quantity
1722
+ // "p": "0.10264410", // Order price
1723
+ // "P": "0.00000000", // Stop price
1724
+ // "F": "0.00000000", // Iceberg quantity
1725
+ // "g": -1, // OrderListId
1726
+ // "C": null, // Original client order ID; This is the ID of the order being canceled
1727
+ // "x": "NEW", // Current execution type
1728
+ // "X": "NEW", // Current order status
1729
+ // "r": "NONE", // Order reject reason; will be an error code.
1730
+ // "i": 4293153, // Order ID
1731
+ // "l": "0.00000000", // Last executed quantity
1732
+ // "z": "0.00000000", // Cumulative filled quantity
1733
+ // "L": "0.00000000", // Last executed price
1734
+ // "n": "0", // Commission amount
1735
+ // "N": null, // Commission asset
1736
+ // "T": 1499405658657, // Transaction time
1737
+ // "t": -1, // Trade ID
1738
+ // "I": 8641984, // Ignore
1739
+ // "w": true, // Is the order on the book?
1740
+ // "m": false, // Is this trade the maker side?
1741
+ // "M": false, // Ignore
1742
+ // "O": 1499405658657, // Order creation time
1743
+ // "Z": "0.00000000", // Cumulative quote asset transacted quantity
1744
+ // "Y": "0.00000000" // Last quote asset transacted quantity (i.e. lastPrice * lastQty),
1745
+ // "Q": "0.00000000" // Quote Order Qty
1746
+ // }
1747
+ //
1748
+ // swap
1749
+ // {
1750
+ // "s":"BTCUSDT", // Symbol
1751
+ // "c":"TEST", // Client Order Id
1752
+ // // special client order id:
1753
+ // // starts with "autoclose-": liquidation order
1754
+ // // "adl_autoclose": ADL auto close order
1755
+ // "S":"SELL", // Side
1756
+ // "o":"TRAILING_STOP_MARKET", // Order Type
1757
+ // "f":"GTC", // Time in Force
1758
+ // "q":"0.001", // Original Quantity
1759
+ // "p":"0", // Original Price
1760
+ // "ap":"0", // Average Price
1761
+ // "sp":"7103.04", // Stop Price. Please ignore with TRAILING_STOP_MARKET order
1762
+ // "x":"NEW", // Execution Type
1763
+ // "X":"NEW", // Order Status
1764
+ // "i":8886774, // Order Id
1765
+ // "l":"0", // Order Last Filled Quantity
1766
+ // "z":"0", // Order Filled Accumulated Quantity
1767
+ // "L":"0", // Last Filled Price
1768
+ // "N":"USDT", // Commission Asset, will not push if no commission
1769
+ // "n":"0", // Commission, will not push if no commission
1770
+ // "T":1568879465651, // Order Trade Time
1771
+ // "t":0, // Trade Id
1772
+ // "b":"0", // Bids Notional
1773
+ // "a":"9.91", // Ask Notional
1774
+ // "m":false, // Is this trade the maker side?
1775
+ // "R":false, // Is this reduce only
1776
+ // "wt":"CONTRACT_PRICE", // Stop Price Working Type
1777
+ // "ot":"TRAILING_STOP_MARKET", // Original Order Type
1778
+ // "ps":"LONG", // Position Side
1779
+ // "cp":false, // If Close-All, pushed with conditional order
1780
+ // "AP":"7476.89", // Activation Price, only puhed with TRAILING_STOP_MARKET order
1781
+ // "cr":"5.0", // Callback Rate, only puhed with TRAILING_STOP_MARKET order
1782
+ // "rp":"0" // Realized Profit of the trade
1783
+ // }
1784
+ //
1785
+ const messageHash = 'orders';
1786
+ const messageHashes = this.findMessageHashes(client, messageHash);
1787
+ if (!this.isEmpty(messageHashes)) {
1788
+ const market = this.getMarketFromOrder(client, message);
1789
+ if (this.orders === undefined) {
1790
+ const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
1791
+ this.orders = new ArrayCacheBySymbolById(limit);
1792
+ }
1793
+ const cache = this.orders;
1794
+ const parsed = this.parseWsOrder(message, market);
1795
+ const symbol = market['symbol'];
1796
+ const symbolMessageHash = messageHash + '::' + symbol;
1797
+ cache.append(parsed);
1798
+ client.resolve(cache, symbolMessageHash);
1799
+ client.resolve(cache, messageHash);
1800
+ }
1801
+ }
1802
+ parseWsOrder(order, market = undefined) {
1803
+ const executionType = this.safeString(order, 'x');
1804
+ const marketId = this.safeString(order, 's');
1805
+ market = this.safeMarket(marketId, market);
1806
+ let timestamp = this.safeInteger(order, 'O');
1807
+ const T = this.safeInteger(order, 'T');
1808
+ let lastTradeTimestamp = undefined;
1809
+ if (executionType === 'NEW' || executionType === 'AMENDMENT' || executionType === 'CANCELED') {
1810
+ if (timestamp === undefined) {
1811
+ timestamp = T;
1812
+ }
1813
+ }
1814
+ else if (executionType === 'TRADE') {
1815
+ lastTradeTimestamp = T;
1816
+ }
1817
+ const lastUpdateTimestamp = T;
1818
+ let fee = undefined;
1819
+ const feeCost = this.safeString(order, 'n');
1820
+ if ((feeCost !== undefined) && (Precise.stringGt(feeCost, '0'))) {
1821
+ const feeCurrencyId = this.safeString(order, 'N');
1822
+ const feeCurrency = this.safeCurrencyCode(feeCurrencyId);
1823
+ fee = {
1824
+ 'cost': feeCost,
1825
+ 'currency': feeCurrency,
1826
+ };
1827
+ }
1828
+ const rawStatus = this.safeString(order, 'X');
1829
+ const status = this.parseOrderStatus(rawStatus);
1830
+ let clientOrderId = this.safeString2(order, 'C', 'caid');
1831
+ if ((clientOrderId === undefined) || (clientOrderId.length === 0)) {
1832
+ clientOrderId = this.safeString(order, 'c');
1833
+ }
1834
+ const stopPrice = this.safeStringN(order, ['P', 'sp', 'tp']);
1835
+ let timeInForce = this.safeString(order, 'f');
1836
+ if (timeInForce === 'GTX') {
1837
+ // GTX means "Good Till Crossing" and is an equivalent way of saying Post Only
1838
+ timeInForce = 'PO';
1839
+ }
1840
+ return this.safeOrder({
1841
+ 'info': order,
1842
+ 'symbol': market['symbol'],
1843
+ 'id': this.safeString2(order, 'i', 'aid'),
1844
+ 'clientOrderId': clientOrderId,
1845
+ 'timestamp': timestamp,
1846
+ 'datetime': this.iso8601(timestamp),
1847
+ 'lastTradeTimestamp': lastTradeTimestamp,
1848
+ 'lastUpdateTimestamp': lastUpdateTimestamp,
1849
+ 'type': this.parseOrderType(this.safeStringLower(order, 'o')),
1850
+ 'timeInForce': timeInForce,
1851
+ 'postOnly': undefined,
1852
+ 'reduceOnly': this.safeBool(order, 'R'),
1853
+ 'side': this.safeStringLower(order, 'S'),
1854
+ 'price': this.safeString(order, 'p'),
1855
+ 'stopPrice': stopPrice,
1856
+ 'triggerPrice': stopPrice,
1857
+ 'amount': this.safeString(order, 'q'),
1858
+ 'cost': this.safeString(order, 'Z'),
1859
+ 'average': this.safeString(order, 'ap'),
1860
+ 'filled': this.safeString(order, 'z'),
1861
+ 'remaining': undefined,
1862
+ 'status': status,
1863
+ 'fee': fee,
1864
+ 'trades': undefined,
1865
+ });
1866
+ }
1867
+ getMarketFromOrder(client, order) {
1868
+ const marketId = this.safeString(order, 's');
1869
+ const subscriptions = client.subscriptions;
1870
+ const subscriptionsKeys = Object.keys(subscriptions);
1871
+ const marketType = this.getAccountTypeFromSubscriptions(subscriptionsKeys);
1872
+ return this.safeMarket(marketId, undefined, undefined, marketType);
1873
+ }
1022
1874
  handleMessage(client, message) {
1023
1875
  const stream = this.safeString(message, 'stream');
1024
1876
  if (stream !== undefined) {
@@ -1041,5 +1893,19 @@ export default class aster extends asterRest {
1041
1893
  method.call(this, client, message);
1042
1894
  }
1043
1895
  }
1896
+ else {
1897
+ // private messages
1898
+ const event = this.safeString(message, 'e');
1899
+ if (event === 'outboundAccountPosition') {
1900
+ this.handleBalance(client, message);
1901
+ }
1902
+ else if (event === 'ACCOUNT_UPDATE') {
1903
+ this.handleBalance(client, message);
1904
+ this.handlePositions(client, message);
1905
+ }
1906
+ else if ((event === 'ORDER_TRADE_UPDATE') || (event === 'executionReport')) {
1907
+ this.handleOrderUpdate(client, message);
1908
+ }
1909
+ }
1044
1910
  }
1045
1911
  }